function.c (assign_stack_local_1): Truncate constant added to frame_pointer_rtx or...
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2003-02-26  Alexandre Oliva  <aoliva@redhat.com>
2
3         * function.c (assign_stack_local_1): Truncate constant added to
4         frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
5
6 2003-02-26  David Edelsohn  <edelsohn@gnu.org>
7
8         * config.gcc: Add power4 to PowerPC with_cpu list.
9
10 Wed Feb 26 19:46:25 CET 2003  Jan Hubicka  <jh@suse.cz>
11
12         * objc-act.c: (mark_referenced_methods): Fix compilation problem.
13
14 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15
16         * gcov-dump.c (print_prefix): Fix signedness warning.
17         * gcov-io.h (struct counter_section, struct counter_section_data): New.
18         (struct function_info): n_arc_counts field removed, n_counter_sections,
19         counter_sections fields added.
20         (struct gcov_info): arc_counts, n_arc_counts fields removed,
21         n_counter_sections, counter_sections fields added.
22         * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
23         profile sections.
24         * profile.h (MAX_COUNTER_SECTIONS): New.
25         (struct section_info): New.
26         (struct profile_info): count_instrumented_edges,
27         count_edges_instrumented_now fields removed, n_sections, section_info
28         fields added.
29         (find_counters_section): Declare.
30         * profile.c (struct function_list): count_edges field removed,
31         n_counter_sections, counter_sections fields added.
32         (set_purpose, label_for_tag, build_counter_section_fields,
33         build_counter_section_value, build_counter_section_data_fields,
34         build_counter_section_data_value, build_function_info_fields,
35         build_function_info_value, build_gcov_info_fields,
36         build_gcov_info_value): New static functions.
37         (find_counters_section): New function.
38         (instrument_edges, get_exec_counts, compute_branch_probabilities,
39         branch_prob, create_profiler): Modified to support multiple profile
40         sections.
41
42 2003-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
43
44         * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
45         is 8 * STACK_BOUNDARY.
46         * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
47
48 2003-02-26  Michael Matz  <matz@suse.de>
49
50         * ra-colorize.c (merge_moves): Fix list handling.
51
52 2003-02-26  Nick Clifton  <nickc@redhat.com>
53
54         * config/arm/arm.c (is_load_address): Rename to...
55         (arm_memory_load_p) ... this and make it check for SUBREGs and
56         constant loads that will be converted into loads from the
57         minipool.
58         (is_cirrus_insn): Rename to ...
59         (arm_cirrus_insn_p): ... this, for consistency.  Replace test
60         of CIRRUS_NO with CIRRUS_NOT.
61         (cirrus_reorg): Use renamed functions.
62         (note_invalid_constants): Change from a void function to bool.
63         Add an extra parameter, saying whether the fixups should be
64         pushed.  Return true if fixups are needed.
65         (arm_reorg): Use renamed functions.  Use INSN_P.  Replace test
66         of CIRRUS_NO with CIRRUS_NOT.
67         * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
68         other floating point co-processors can also affect this.
69         * config/arm/arm.md ("type" attribute): Add mav_farith and
70         mav_dmult.  Replace references to "cirrus_type" attribute with
71         "type".
72         * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
73         ("cirrus_type" attribute): Delete - use "type" instead.
74         ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
75         'normal'.        
76
77 Tue Feb 25 22:46:27 CET 2003  Jan Hubicka  <jh@suse.cz>
78
79         * objc-act.c: Include cgraph.h
80         (mark_referenced_methods): New function.
81         (objc_init): Call it.
82         * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
83
84         * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
85         mode.
86
87         * optabs.c (expand_fix): Do not widen the input operand.
88
89         * expr.c (emit_group_store):  Fix crash when converting single
90         register into complex register.
91
92         * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
93         * alias.c: Include timevar.h
94         (init_alias_analysis):  Set timevar
95         * jump.c: Include timevar.h
96         (rebuild_jump_labels):  Set timevar
97         * regcalss.c: Include timevar.h
98         (reg_scan):  Set timevar
99         * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
100
101 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
102
103         * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
104
105         * Makefile.in (loop-unroll.o): New.
106         * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
107         (unroll_and_peel_loops): Declare.
108         * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
109         flag_old_unroll_loops.
110         * loop.c (loop_invariant_p): Ditto.
111         * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
112         flag_old_unroll_all_loops.
113         * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
114         (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
115         * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
116         (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
117         PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
118         PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
119         PARAM_MAX_ONCE_PEELED_INSNS): New.
120         * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
121         (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
122         instead of old one.
123         (flag_peel_loops): New.
124         (lang_independent_options): The new flags added.
125         (rest_of_compilation): Call new unroller.
126         (process_options): Setup flags for coexistence of old and new unroller.
127         * doc/invoke.texi: Document new options.
128         * doc/passes.texi: Document new unroller pass.
129
130 2003-02-26  David Billinghurst <David.Billinghurst@riotinto.com>
131
132         * fixinc/fixincl.x: Regenerate
133
134 2003-02-26  Josef Zlomek  <zlomekj@suse.cz>
135
136         * function.c (assign_parms): Set reg_attrs for parameters passed in
137         registers.
138
139 2003-02-26  Alan Modra  <amodra@bigpond.net.au>
140
141         PR target/9681
142         * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
143
144 2003-02-25  David Edelsohn  <edelsohn@gnu.org>
145
146         * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
147         pseudo-op.
148
149 2003-02-25  Roger Sayle  <roger@eyesopen.com>
150
151         * combine.c (combine_simplify_rtx, simplfy_comparison):  Use CC0_P.
152         * cse.c (invalidate_skipped_set):  Likewise.
153         * integrate.c (subst_constants):  Likewise.
154         * jump.c (reversed_comparison_code_parts):  Likewise.
155         * loop.c (canonicalize_condition):  Likewise.
156         * simplify-rtx.c (simplify_relational_operation):  Likewise.
157
158 2003-02-25  Roger Sayle  <roger@eyesopen.com>
159
160         * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
161         (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit):  Use
162         the appropriate macro to define built-in function.
163         (fmod,fmodf,fmodl): New built-in functions.
164
165         * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
166
167 2003-02-25  Richard Henderson  <rth@redhat.com>
168
169         * config/i386/i386.c (function_arg): Pass variable sized
170         structures correctly on the stack.
171
172 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
173
174         * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
175         does not reduce the cost of SET.
176
177 2003-02-25  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
178
179         PR target/9732
180         * config/rs6000/rs6000.c (first_reg_to_save): Handle
181         PIC_OFFSET_TABLE_REGNUM for -fPIC too.
182         (rs6000_emit_prologue): Likewise.
183         (rs6000_emit_epilogue): Likewise.
184         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
185         PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
186
187 2003-02-25  Richard Henderson  <rth@redhat.com>
188
189         * real.c (real_to_integer2): Force overflow result only for
190         unsigned overflow.
191
192 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
193
194         * gcse.c (cprop_jump): Revert the 2003-02-23 change.
195
196 2003-02-25  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
197             Richard Henderson  <rth@redhat.com>
198
199         * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
200         there is no similar load.
201
202 2003-02-25  Vladimir Makarov  <vmakarov@redhat.com>
203             Richard Henderson  <rth@redhat.com>
204
205         * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
206         sched-rgn.c.
207         (add_forward_dependence): New function prototype.
208
209         * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
210         sched-init.h.
211         (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
212         them to haifa-sched.c.
213
214         * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
215         haifa_classify_insn): Move them from sched-rgn.c.
216
217         * sched-deps.c (add_dependence): Return flag of creating a new
218         entry.
219         (add_forward_dependence): New function.
220         (compute_forward_dependences): Use the function.
221         
222         * sched-ebb.c (earliest_block_with_similiar_load): New function.
223         (add_deps_for_risky_insns): New function.
224         (schedule_ebb): Call the function.
225
226 2003-02-20  Aldy Hernandez  <aldyh@redhat.com>
227
228         * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
229         TARGET_VECTOR_OPAQUE_P.  Document accordingly.
230
231         * testsuite/gcc.dg/20030218-1.c: Check that initialization of
232         opaque types fail.
233
234         * c-typeck.c (comptypes): Change call to vector_types_compatible
235         to vector_opaque_p.
236         (convert_for_assignment): Call vector_opaque_p instead of
237         vector_types_compatible.
238         (really_start_incremental_init): Disallow initialization of opaque
239         types.
240
241         * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
242         Define TARGET_VECTOR_OPAQUE_P.
243         (TARGET_INITIALIZER): Same.
244
245         * target.h (struct gcc_target): Remove vector_types_compatible.
246         Add vector_opaque_p.
247
248         * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
249         Remove.
250         (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
251         a vector type.  Change return type to bool.
252         (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
253         (TARGET_VECTOR_OPAQUE_P): Define.
254
255         * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
256         target hook.
257         Include target.h.
258         (cp_parser_init_declarator): Fix typo in function comments.
259
260 Tue Feb 25 12:35:34 CET 2003  Jan Hubicka  <jh@suse.cz>
261
262         * Makefile.in (lcm.o):  Add dependency on function.h
263         * lcm.c (function.h): Include.
264         * i386.c (machine_function, ix86_stack_locals,
265         * ix86_save_varrargs_registers) : Move to
266         ...
267         * i386.h (machine_function, ix86_stack_locals,
268         ix86_save_varrargs_registers): ... here; add optimize_mode_switching
269         (ix86_optimize_mode_switching): New.
270         * i386.md (fix patterns): Set ix86_optimize_mode_switching
271
272 2003-02-25  Nick Clifton  <nickc@redhat.com>
273
274         * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo.  Name
275         of fourth arg is 'fndecl' not 'indirect'.  Update comment
276         describing the function's parameters.
277
278 Mon Feb 24 22:08:22 CET 2003  Jan Hubicka  <jh@suse.cz>
279
280         * combine.c (simplify_shift_const):  Fix previous patch.
281
282 2003-02-24  Jeff Law  <law@redhat.com>
283
284         * i386.md (testdi_1_rex64): Discourage reload from using the %eax
285         alternative.
286         (testsi_1, testhi_1, testqi_1): Likewise.
287
288 2003-02-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
289
290         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
291         __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
292         * doc/extend.texi (Tru64 Pragmas): Reflect this.
293
294         * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
295         extern_prefix support for Tru64 UNIX V5 <sys/stat.h>. 
296         * fixinc/fixincl.x: Regenerate.
297         * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
298         testcase.
299         Fixes PR c/5059, c/6126, other/9671.
300         
301 2003-02-24  Roger Sayle  <roger@eyesopen.com>
302
303         * gcc.c (do_spec_1) ['{']:  Handle pending argument upon return
304         from handle_braces in "%{...}".
305
306 2003-02-24  Kaz Kojima  <kkojima@gcc.gnu.org>
307
308         * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
309         (prepare_move_operands): Handle TLS operands.
310         (tls_symbolic_operand): New.
311         (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
312         (legitimize_pic_address): Do nothing for the TLS symbol.
313         (sh_encode_section_info): Handle TLS case.
314         (sh_strip_name_encoding): Drop TLS encoding.
315         * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
316         * config/sh/sh.h (SH_TLS_ENCODING): Define.
317         (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
318         (ASM_OUTPUT_LABELREF): Drop TLS encoding.
319         (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
320         * config/sh/sh.md: Define TLS UNSPEC constants.
321         (type): Add tls_load.
322         ("tls_global_dynamic", "tls_local_dynamic"): New insns.
323         ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
324         ("tls_initial_exec"): New insn.
325         ("sym2TPOFF", "symTPOFF2reg"): New expanders.
326         ("load_gbr"): New insn.
327
328         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
329         * configure: Regenerate.
330
331 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
332
333         * calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
334         2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
335         * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
336         (enum block_op_methods): Reorder for better store_expr optimization.
337         * expr.c (store_expr): Test bit 1 of "want_value" for call param
338         stores, test bit 0 for original want_value meaning.  Pass
339         BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set.  Adjust
340         recursive calls, and calls to expand_param.
341         (expand_expr): Handle EXPAND_STACK_PARM modifier.  When cse
342         expected, set target to 0 rather than to subtarget.  Formatting.
343
344 2003-02-23  Kazu Hirata  <kazu@cs.umass.edu>
345
346         * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
347
348 2003-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
349
350         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
351         new default behavior.
352         * ggc-common.c: Include sys/resource.h.
353         (ggc_rlimit_bound): New function.
354         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
355         defaults to account for rlimits.
356
357 2003-02-22  Richard Henderson  <rth@redhat.com>
358
359         * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
360
361 2003-02-22  Kelley Cook <kelley@dwhoops.info>
362
363         * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
364         (ix86_tune_string): Rename from ix86_cpu_string.
365
366 2003-02-22  Kelley Cook <kelleycook@comcast.net>
367
368         * config/i386/i386.c: Replace "mcpu" with "mtune".
369         * config/i386/i386.h (TARGET_OPTIONS): Likewise.
370         (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
371         * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
372         with "mtune".  Note that "mcpu" is a deprecated synonym for "mtune".
373
374 2003-02-23  Andreas Schwab  <schwab@suse.de>
375
376         * config.gcc: Delete references to m68k/t-linux and
377         m68k/t-linux-aout.
378         * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
379
380 Sat Feb 22 20:22:19 CET 2003  Jan Hubicka  <jh@suse.cz>
381
382         * toplev.c (rest_of_compilation):  Apply fotgotten hunk
383         of track scheduling patch.
384
385 Sat Feb 22 19:29:28 CET 2003  Jan Hubicka  <jh@suse.cz>
386
387         * config/linux.h (TARGET_HAS_F_SETLKW): Define.
388         * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
389
390 Sat Feb 22 12:42:16 CET 2003  Jan Hubicka  <jh@suse.cz>
391
392         * c-decl.c (c_expand_body_1): Fix.
393
394 Sat Feb 22 03:13:36 CET 2003  Jan Hubicka  <jh@suse.cz>
395
396         * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
397
398         * cfgcleanup.c (try_forward_edges):  Don't check loop structures
399         when not optimizing.
400         (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
401         when not expensive.
402         * toplev.c (rest_of_compilation):  Duplicate loop headers only when
403         optimizing;  Delete trivially dead insns early; fix optimize check.
404
405         * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
406         dependency on cgraph.h
407         * c-decl.c: Include cgraph.h
408         (finish_function): Update call of tree_inlinable_function_p.
409         * c-objc-common.c: Include cgraph.h
410         * cgraph.h: New file.
411         * cgraphunit.c: New file.
412         * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
413         (cgraph_nodes, cgraph_n_nodes): Globalize.
414         (cgraph_finalize_function, cgraph_finalize_compilation_unit
415         cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
416         Move into cgraphunit.c
417         * tree-inline.c: Include cgraph.h
418         * tree-inline.c: Include cgraph.h
419
420 2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
421
422         * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
423         for copying a register.
424
425 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
426
427         PR other/3782
428         * toplev.c (process_options): If flag_detailed_statistics is set,
429         then set time_report as well.
430
431         PR c/8828
432         * jump.c (never_reached_warning): Don't fall through BARRRIER
433         insns.  Update comments to reflect what the function really does.
434
435 2003-02-21  Roger Sayle  <roger@eyesopen.com>
436
437         * fold-const.c (omit_one_operand): No longer static.
438         * tree.h (omit_one_operand): Prototype here.
439         (div_and_round_double): Keep fold-const.c prototypes together.
440         * builtins.c (builtin_mathfn_code): Handle binary built-in
441         funtions, such as "pow" and "atan2".
442         (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
443         Simplify optimizations using "type" the builtin's return type.
444
445 2003-02-22  Hans-Peter Nilsson  <hp@axis.com>
446
447         * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
448         Fix functionalization typo.
449
450         * regmove.c (optimize_reg_copy_1): Do not replace a hard register
451         in an asm.
452
453 2003-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
454
455         * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
456         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
457         documentation.
458         * ggc-common.c: Include params.h
459         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
460         init_ggc_heuristics): New functions.
461         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
462         init_ggc_heuristics): Prototype.
463         * toplev.c (print_version):  Output GGC heuristics.
464         (parse_options_and_default_flags): Call init_ggc_heuristics.
465
466 Sat Feb 22 02:35:07 CET 2003  Jan Hubicka  <jh@suse.cz>
467
468         * i386.c (def_builtin):  Special case 64bit builtins.
469         (MASK_SSE164, MASK_SSE264): New constants.
470         (builtin_description): Add 64bit builtins.
471         (ix86_init_mmx_sse_builtins): Likewise.
472         * i386.h (enum ix86_builtins): Likewise.
473         * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
474         sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
475         (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
476         * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
477         * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
478         _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
479         _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
480
481 Sat Feb 22 00:48:22 CET 2003  Jan Hubicka  <jh@suse.cz>
482
483         * i386.c (builtin_description): Add __builtin_ia32_paddq and
484         __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
485          and __builtin_ia32_psubq128.
486         * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
487         * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
488         (mmx_adddi3, mmx_subdi3): New.
489         * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
490         * xmmintrin.h (_mm_movepi64_pi64): New.
491         (_mm_add_epi64, _mm_sub_epi64): fix.
492         (_mm_mul_pu16): Rename to...
493         (_mm_mul_su32): ... this one.
494
495         * builtins.c (expand_builtin_expect):  Do not predict
496         flag_guess_branch_prob is not set.
497         * c-semantics.c (expand_stmt): Likewise.
498         * predict.c (predict_insn): Likewise.
499         * stmt.c (expand_continue_loop): Likewise.
500         * toplev.c (rest_of_compilation): Do not call
501         note_prediction_to_br_prob and note_prediction_to_br_prob
502         when not optimizing.
503
504 Fri Feb 21 23:10:13 CET 2003  Jan Hubicka  <jh@suse.cz>
505
506         * cfgrtl.c (commit_edge_insertions):  Call
507         find_many_sub_basic_block only when some code has been emitted.
508         (commit_edge_insertions_watch_calls): Bring into sync with
509         commit_edge_insertions
510
511 Fri Feb 21 20:41:29 2003  J"orn Rennecke <joern.rennecke@superh.com>
512
513         * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
514
515         * sh.md (binary_sf_op): Use extra constant operand instead of
516         negating constant operand 4.
517         * sh.c (sh_expand_binop_v2sf): Supply it.
518
519 2003-02-21  Zack Weinberg  <zack@codesourcery.com>
520
521         * cpphash.h (struct lexer_state): Add directive_wants_padding.
522         * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
523         for directives of type INCL.
524         (glue_header_name, parse_include): Use get_token_no_padding.
525         * cppmacro.c (replace_args): If directive_wants_padding,
526         provide padding tokens.
527
528 2003-02-21  Kazu Hirata  <kazu@cs.umass.edu>
529
530         * config/h8300/h8300.md (a peephole2): New.
531
532 Fri Feb 21 11:05:44 CET 2003  Jan Hubicka  <jh@suse.cz>
533
534         * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
535         (commit_edge_insertions): Call find_many_sub_basic_blocks
536
537         * reg-stack.c (convert_regs): Cleax aux for blocks.
538
539 Fri Feb 21 10:29:52 CET 2003  Jan Hubicka  <jh@suse.cz>
540
541         * toplev.c (parse_options_and_default_flags): Undo accidental commit.
542
543 2003-02-21  Glen Nakamura  <glen@imodulo.com>
544
545         PR optimization/8613
546         * builtins.c (expand_builtin): Emit postincrements before expanding
547         builtin functions.
548
549 2003-02-21  Ben Elliston  <bje@redhat.com>
550
551         PR other/5634
552         * doc/install.texi (Configuration): Explain using $HOME instead of
553         the ~ metacharacter when referring to home directories.
554
555 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
556
557         * configure.in (TARGET_SYSTEM_ROOT): Set default to
558         ${exec_prefix}/${target_alias}/sys-root.  Match explicit
559         '${exec_prefix}' (in addition to the expansion thereof) as
560         relocatable.
561         * configure: Rebuilt.
562
563 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
564
565         * config/h8300/h8300.md (addhi3_incdec): Change the name to
566         *addhi3_incdec.
567         (addsi3_incdec): Change the name to *addsi3_incdec.
568
569 2003-02-20  Roger Sayle  <roger@eyesopen.com>
570
571         * explow.c (force_reg): Avoid useless REG_EQUAL notes.
572
573 2003-02-20  Toon Moene  <toon@moene.indiv.nluug.nl>
574
575         PR fortran/9038
576         * c-opts.c (sanitize_cpp_opts): Add Fortran front end
577         options to be ignored.
578         (c_common_decode_option): Ignore them when preprocessing.
579
580 Thu Feb 20 21:41:19 CET 2003  Jan Hubicka  <jh@suse.cz>
581
582         * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
583         global variables.
584         (lang_independent_options):  Add -fsched2-use-superblocks
585         -fsced2-use-traces.
586         (rest_of_compilation): Deal with it.
587         * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
588         * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
589         Declare.
590         * rtl.h (reg_to_stack):  Update prototype.
591         * reg-stack.c (reg_to_stack): Return when something has changed;
592         update liveness when executing after superblock scheduling.
593
594         * combine.c (simplify_shift_const):  Simplify few special cases
595         into constants.
596
597 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
598
599         * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
600         (add.,subf.,neg.): Change attribute to fast_compare.
601         All DFA descriptions updated.
602
603 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
604
605         Change base class access representation.
606         * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
607         TREE_VIA_PRIVATE): Remove.
608         (BINFO_BASEACCESSES): New binfo elt.
609         (BINFO_BASEACCESS): New accessor.
610         (BINFO_ELTS): Increase.
611         (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
612         (access_public_node, access_protected_node,
613         access_private_node): New global nodes.
614         * tree.c (build_common_tree_nodes_2): Initialize access nodes.
615         * dbxout.c (dbxout_type): Adjust.
616         * dwarf2out.c (gen_inheritance_die): Add access parameter.
617         (gen_member_die): Adjust.
618         * dwarfout.c (output_inheritance_die): ARG is array of two trees.
619         (output_type): Adjust.
620         * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
621
622         Change base class access representation. Share virtual base
623         binfos.
624         * cp/call.c (build_special_member_call): Remove binfo_for_vbase
625         call.
626         * cp/class.c (build_base_path): Likewise.
627         (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
628         (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
629         (make_new_vtable): Adjust.
630         (force_canonical_binfo_r): Delete.
631         (force_canonical_binfo): Delete.
632         (mark_primary_virtual_base): Delete.
633         (dfs_unshared_virtual_bases): Delete.
634         (mark_primary_bases): Adjust.
635         (maybe_warn_about_overly_private_class): Adjust.
636         (dfs_base_derived_from): Delete.
637         (base_derived_from): Follow the inheritance chain.
638         (struct find_final_overrider_data): Add vpath member.
639         (dfs_find_final_overrider): Adjust.
640         (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
641         (find_final_overrider): Adjust.
642         (update_vtable_entry_for_fn): Adjust.
643         (modify_all_vtables): Adjust.
644         (walk_subobject_offsets): Adjust.
645         (layout_nonempty_base_or_field): Adjust.
646         (layout_empty_base): Remove last parameter. Adjust.
647         (build_base_field): Adjust.
648         (build_base_fields): Adjust.
649         (propagate_binfo_offsets): Remove last parameter. Adjust.
650         (dfs_set_offset_for_unshared_vbases): Delete.
651         (layout_virtual_bases): Adjust.
652         (finish_struct_1): Adjust.
653         (init_class_processing): Don't init access nodes.
654         (dfs_get_primary_binfo): Delete.
655         (get_primary_binfo): Adjust.
656         (dump_class_hierarchy_r): Remove most derived arg, add IGO
657         parameter. Adjust.
658         (dump_class_hierarchy): Adjust.
659         (finish_vtbls): Adjust.
660         (get_original_base): Delete.
661         (build_vtt_inits): Adjust.
662         (dfs_build_secondary_vptr_vtt_inits): Adjust.
663         (dfs_ctor_vtable_bases_queue_p): Adjust.
664         (build_ctor_vtbl_group): Adjust.
665         (dfs_accumulate_vtbl_inits): Adjust.
666         (build_vtbl_initializer): Adjust.
667         (build_vbase_offset_vtbl_entries): Adjust.
668         (add_vcall_offset_vtbl_entries_1): Adjust.
669         * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
670         (access_*_node): Remove.
671         (CANONICAL_BINFO): Delete.
672         (BINFO_UNSHARED_MARKED): Remove.
673         (BINFO_MARKED): Set LANG_FLAG_0 directly.
674         (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
675         (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
676         (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
677         Delete.
678         (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
679         (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
680         (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
681         Delete.
682         (BINFO_DEPENDENT_BASE_P): New.
683         (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
684         index.
685         (markedp, unmarkedp): Adjust.
686         (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
687         dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
688         find_vbase_instance, binfo_for_vbase): Delete.
689         (copied_binfo, original_binfo): Declare.
690         (finish_base_specifier): Add virtual_p arg.
691         (unshare_base_binfos): Delete.
692         (copy_base_binfos): Declare.
693         (reverse_path): Delete.
694         * cp/decl.c (xref_basetypes): Access and virtuality passed
695         differently. Don't copy direct base binfos here. Call
696         copy_base_binfos.
697         * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
698         (initialize_vtbl_ptrs): Adjust.
699         (expand_member_init): Adjust.
700         * cp/parser.c (cp_parser_base_specifier): Adjust.
701         * cp/pt.c (instantiate_class_template): Adjust.
702         (get_template_base_recursive): Adjust.
703         * cp/rtti.c (get_pseudo_ti_init): Adjust.
704         (get_pseudo_ti_desc): Adjust.
705         * cp/tree.c (unshare_base_binfos): Rename to ...
706         (copy_base_binfos): ... here, reimplement.
707         (make_binfo): Set BINFO_DEPENDENT_BASE_P.
708         (reverse_path): Remove.
709         * cp/typeck.c (get_delta_difference): Adjust error messages.
710         * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
711         * cp/search.c (lookup_base_r): Adjust.
712         (dynamic_cast_base_recurse): Adjust.
713         (canonical_binfo): Remove.
714         (dfs_canonical_queue): Remove.
715         (dfs_assert_unmarked_p): Remove.
716         (assert_canonical_unmarked): Remove.
717         (shared_marked_p, shared_unmarked_p): Remove.
718         (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
719         (dfs_access_in_type): Adjust.
720         (access_in_type): Adjust.
721         (dfs_accessible_queue_p): Adjust.
722         (dfs_accessible_p): Adjust.
723         (is_subobject_of_p_1, is_subobject_of_p): Remove.
724         (struct lookup_field_info): Remove from_dep_base_p field.
725         (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
726         (lookup_field_r): Remove dependent base code.
727         (lookup_member): Likewise.
728         (dfs_walk, dfs_walk_real): Add access arg to queue fn.
729         (dfs_unmarked_real_bases_queue_p): Remove.
730         (dfs_marked_real_bases_queue_p): Remove.
731         (dfs_skip_vbases): Remove.
732         (dfs_get_pure_virtuals): Adjust.
733         (markedp, unmarkedp): Adjust.
734         (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
735         (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
736         (dfs_unmark): Adjust.
737         (dfs_get_vbase_types):Remove.
738         (dfs_build_inheritance_graph_order): Remove.
739         (get_vbase_types): Remove
740         (dfs_find_vbase_instance): Remove.
741         (find_vbase_instance): Remove.
742         (dfs_debug_unmarkedp): Adjust.
743         (dependent_base_p): Remove.
744         (dfs_push_type_decls): Adjust.
745         (dfs_push_decls): Adjust.
746         (dfs_no_overlap_yet): Adjust.
747         (copied_binfo): New function.
748         (original_binfo): New function.
749         (binfo_for_vbase): Remove.
750
751         Change base class access representation.
752         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
753         (add_interface_do): Likewise.
754
755 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
756
757         * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
758         * config/rs6000/power4.md (power4-store,power4-vecstore): New
759         insn reservations.
760         (power4-fpstore): Compact.
761
762 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
763
764         * config/h8300/h8300.md (*iorsi3_w): New.
765
766 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
767
768         * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
769         * rtl.c (reg_note_name): Likewise.
770         * rtl.h (enum reg_note): Likewise.
771         * doc/invoke.texi: Likewise.
772         * doc/rtl.texi: Likewise.
773
774 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
775
776         * bb-reorder.c (find_traces_1_round): Fix comment typo.
777
778 2003-02-19  Roger Sayle  <roger@eyesopen.com>
779
780         * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
781         addition in the presence of signaling NaNs.
782
783 2003-02-19  Krister Walfridsson  <cato@df.lth.se>
784
785         * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
786
787 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
788
789         * config/h8300/h8300.c (output_logical_op): Optimize or.l when
790         ORing with 0xffff??00 with the highest bit of the ?? part set.
791         (compute_logical_op_length): Update.
792         (compute_logical_op_cc): Likewise.
793
794 2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
795
796         * bb-reorder.c (find_traces_1_round): Fixed condition for small
797         destination block with multiple predecessors.
798         (connect_traces): Check whether the block is a start of trace.
799
800 Wed Feb 19 19:00:24 CET 2003  Jan Hubicka  <jh@suse.cz>
801
802         * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
803         * function.c (assign_params): Likewise.
804         * arm-protos.h (arm_init_cumulative_args): Update prototype.
805         * arm.c (arm_init_cumulative_args): Update function.
806         * arm.h (INIT_CUMULATIVE_ARGS): Update.
807         * avr-protos.h (init_cumulative_args): Update prototype.
808         * avr.c (init_cumulative_args): Update function.
809         * avr.h (INIT_CUMULATIVE_ARGS): Update.
810         * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
811         * d30v.c (d30v_init_cumulative_args): Update function.
812         * d30v.h (INIT_CUMULATIVE_ARGS): Update.
813         * frv-protos.h (frv_init_cumulative_args): Update prototype.
814         * frv.c (frv_init_cumulative_args): Update function.
815         * frv.h (INIT_CUMULATIVE_ARGS): Update.
816         * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
817         * pa.h (INIT_CUMULATIVE_ARGS): Update.
818         * sparc-protos.h (init_cumulative_args): Update prototype.
819         * sparc.c (init_cumulative_args): Update function.
820         * sparc.h (INIT_CUMULATIVE_ARGS): Update.
821         * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
822
823 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
824
825         * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
826         (*ashiftsi_sextqi_7): Likewise.
827
828 2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
829
830         * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
831         ISO C99 and C++.
832
833         * fixinc/inclhack.def (irix___restrict): Don't change __restrict
834         for C++ on IRIX 6.5.1[89].
835         * fixinc/tests/base/internal/sgimacros.h: New file.
836
837         * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
838         * fixinc/tests/base/internal/wchar_core.h: New file.
839
840         * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
841         socklen_t definition.
842         * fixinc/fixincl.x: Regenerate.
843         * fixinc/tests/base/sys/socket.h: New file.
844         Fixes PR libgcj/9652.
845
846 Wed Feb 19 17:22:51 CET 2003  Jan Hubicka  <jh@suse.cz>
847
848         * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
849
850 2003-02-19  David Edelsohn  <edelsohn@gnu.org>
851
852         * config/rs6000/rs6000.c (rs6000_override_options): Initialize
853         align_jumps_max_skip and align_loops_max_skip.
854
855 2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
856
857         * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
858         test size if named section.
859
860 2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
861
862         * expr.c (expand_expr): Use gen_int_mode for the argument
863         to gen_rtx_MULT.
864
865 Wed Feb 19 14:22:42 CET 2003  Jan Hubicka  <jh@suse.cz>
866
867         * i386.md (cosxf2):  Fix conditional.
868
869 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
870
871         * config/h8300/h8300.md (extendqisi2): Change to an expander.
872         (*extendqisi2_h8300): New.
873         (*extendqisi2_h8300hs): Likewise.
874
875 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
876
877         * config/h8300/h8300-protos.h: Update the prototype for
878         split_adds_subs.  Remove the prototypes for
879         const_int_le_2_operand and const_int_le_6_operand.
880         * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
881         (const_int_le_2_operand): Remove.
882         (const_int_le_6_operand): Likewise.
883         * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
884         for const_int_le_2_operand and const_int_le_6_operand.
885         * config/h8300/h8300.md: Update all uses of split_adds_subs.
886         (a peephole2): New.
887
888 Tue Feb 18 23:50:59 CET 2003  Jan Hubicka  <jh@suse.cz>
889
890         * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
891         (cgraph_expand_function): Rewrite.
892
893 2003-02-18  Matt Austern <austern@apple.com>
894
895         * toplev.c, langhooks.c, langhooks-def.h: Move
896         write_global_declarations from toplev.c to langhooks.c.
897
898 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
899
900         * config/h8300/h8300.c (general_operand_src): Always check
901         MODE.
902         (general_operand_dst): Likewise.
903
904 2003-02-18  Roger Sayle  <roger@eyesopen.com>
905
906         * convert.c (convert_to_real): Also optimize (float)log(x) into
907         logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
908
909 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
910
911         * config/sh/sh.c (unspec_caller_rtx_p): New.
912         (sh_cannot_copy_insn_p): New.
913         (TARGET_CANNOT_COPY_INSN_P): New.
914
915 2003-02-18  Richard Henderson  <rth@redhat.com>
916
917         * c-common.c (handle_used_attribute): Accept static data too.
918
919 2003-02-18  Nick Clifton  <nickc@redhat.com>
920             Aldy Hernandez  <aldyh@redhat.com>
921
922         * testsuite/gcc.dg/20030218-1.c: New.
923
924         * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
925
926         * target-def.h (TARGET_INITIALIZER): Add
927         TARGET_VECTOR_TYPES_COMPATIBLE.
928         (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
929
930         * target.h (struct gcc_target): Add field vector_types_compatible.
931
932         * c-typeck.c (comptypes): Take into account
933         TARGET_VECTOR_TYPES_COMPATIBLE.
934         (convert_for_assignment): Same.
935
936         * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
937         (rs6000_spe_vector_types_compatible): New.
938         (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
939
940 2003-02-19  Andreas Schwab  <schwab@suse.de>
941
942         * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
943         * toplev.c: Include langhooks-def.h.
944
945 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
946
947         * config/mips/mips.h (enum processor_type): Sort entries
948         alphabetically.
949         * config/mips/mips.md (define_attr cpu): Sync with processor_type
950         enum values, including adding entries that were missing.
951
952 Tue Feb 18 20:15:54 2003  J"orn Rennecke <joern.rennecke@superh.com>
953
954         * sh.c (calc_live_regs): Also check GET_CODE when checking if
955         initial value for PR_REG is still the PR_REG register.
956
957 2003-02-18  Jim Wilson  <wilson@redhat.com>
958
959         * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
960         instruction in output template.
961         (bsp_value): Change output template from string to C code, add %,
962         before actual instruction.
963         (flushrs): Mark as not predicable.
964
965 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
966
967         * inclhack.def (netbsd_bogus_semicolon): New fix.
968         * fixincl.x: Rebuilt.
969         * tests/base/ctype.h: Update.
970
971 2003-02-18  Roger Sayle  <roger@eyesopen.com>
972
973         * fold-const.c (negate_expr_p): New function to determine whether
974         an expression can be negated cheaply.
975         (fold) [MINUS_EXPR]: Use it to determine whether to transform
976         -A - B into -B - A for floating point types.
977
978 2003-02-18  Roger Sayle  <roger@eyesopen.com>
979
980         * sbitmap.c (sbitmap_resize): New function.
981         * sbitmap.h (sbitmap_resize): Prototype here.
982         * recog.c (split_all_insns): Use sbitmap_resize.
983
984 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
985
986         * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
987         insn length.
988         (extendqisi2): Likewise.
989         (*extendhisi2_h8300): Likewise.
990
991 2003-02-18  Matt Austern <austern@apple.com>
992
993         * langhooks.h, langhooks-def.h: introduce new langhook,
994         final_write_globals, with write_global_declarations as default.
995         * toplev.c: Move invocation of wrapup_global_declarations from
996         compile_file to new function, write_global_declarations.  Change
997         compile_file to use final_write_globals hook.  Change
998         wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
999         conditional.
1000
1001 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1002
1003         * pa.md: Correct and enhance comment.
1004
1005 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
1006
1007         * gcc.c (validate_switches): Don't scan past closing '}'.
1008
1009 2003-02-18  Ben Elliston  <bje@redhat.com>
1010
1011         PR c++/1607
1012         * doc/extend.texi (Function Attributes): Document the effect of
1013         the C++ "this" parameter on the counting of arguments for the
1014         "format" and "format_arg" attributes.
1015
1016 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
1017
1018         * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
1019         (__ev_stdw): Same.
1020         (__ev_stdh): Same.
1021
1022 Mon Feb 17 16:16:54 CET 2003  Jan Hubicka  <jh@suse.cz>
1023
1024         * recog.c (split_all_insns):  Fix memory overflow.
1025
1026 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
1027
1028         * config/h8300/h8300.md (cmpqi): Remove mode from compare.
1029         (cmphi): Likewise.
1030         (*cmphi_h8300): Likewise.
1031         (*cmphi_h8300hs): Likewise.
1032         (cmpsi): Likewise.
1033         (7 peephole2): Likewise.
1034
1035 Sun Feb 16 23:07:52 CET 2003  Jan Hubicka  <jh@suse.cz>
1036
1037         * c-typeck.c (build_c_cast):  Fold constant variables into
1038         initial values.
1039
1040 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1041
1042         * doc/install.texi (Specific): Fix link for m68k-att-sysv.
1043         (Binaries): Ditto for Sinix/Reliant Unix.
1044
1045 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
1046
1047         * arm.c (arm_reload_in_hi): Ensure that the scratch register does
1048         not overlap the final result register.
1049
1050 2003-02-16 Arend Bayer <arend.bayer@web.de>
1051            Richard Henderson  <rth@redhat.com>
1052
1053         PR c/8068
1054         * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
1055         rearrange mult arguments for less recursion.
1056         (extract_muldiv): New.  Prevent runaway recursion.
1057
1058 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
1059
1060         * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
1061         MASK_ALIGN_DOUBLE.
1062
1063 2003-02-15  Roger Sayle  <roger@eyesopen.com>
1064
1065         * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
1066         to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
1067         (ext_80387_constants_table): Global table of 80387 special constants
1068         guarded by ext_80387_constants_init flag when not initialized.
1069         (init_ext_80387_constants): New function to initialize this table.
1070         (standard_80387_constant_p): Extend to recognize extra 80387
1071         constants, in XFmode, on processors where this is a win.
1072         (standard_80387_constant_opcode): New function to return the
1073         opcode associated with standard_80387_constant_p.
1074         (standard_80387_constant_rtx): New function to return the XFmode
1075         CONST_DOUBLE associated with standard_80387_constant_p.
1076         (ix86_rtx_costs): Give the new constants the same cost as 1.0.
1077
1078         * config/i386/i386-protos.h (standard_80387_constant_opcode):
1079         Prototype here.
1080         (standard_80387_constant_rtx): Likewise.
1081
1082         * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
1083         *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
1084         *movtf_integer): Simplify using new standard_80387_constant_opcode.
1085
1086 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
1087
1088         * doc/invoke.texi (Optimize Options): Correct @option syntax.
1089
1090 2003-02-15  Richard Henderson  <rth@redhat.com>
1091
1092         * Makefile.in (cfglayout.o): Depend on TARGET_H.
1093         * cfglayout.c: Include target.h.
1094         (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
1095         * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
1096         * target.h (struct gcc_target): Add cannot_copy_insn_p.
1097
1098         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
1099         (TARGET_CANNOT_COPY_INSN_P): New.
1100         (override_options): Revert 2003-02-08 hack.
1101
1102 2003-02-15  Richard Henderson  <rth@redhat.com>
1103
1104         * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
1105         (bypass_conditional_jumps): Accept computed_jump_p insns as well.
1106
1107 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
1108
1109         * config/rs6000/rs6000.h (processor_type): Add PPC440.
1110         * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1111         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1112         TARGET_SCHED_VARIABLE_ISSUE): Define.
1113         (rs6000_use_dfa_pipeline_interface): New function.
1114         (rs6000_multipass_dfa_lookahead): New Function.
1115         (rs6000_variable_issue): New function.
1116         (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
1117         (rs6000_issue_rate): Add PPC440.
1118         * config/rs6000/rs6000.md (unspec list): Correct typo.
1119         (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
1120         store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
1121         cmp, delayed_cr, mfcr, mtcr.
1122         (automata_option): Set "ndfa".
1123         (extendMMNN2): Update attributes.
1124         (movcc_internal1): Discourage move to non-cr0.  Update
1125         attributes.
1126         (movMM_update): Update attributes.
1127         (cmpMM_internal): Update attributes.
1128         (sCC CR materialization): Update attributes.
1129         (branch patterns): Do not discourage non-cr0.
1130         (cr logical patterns): Prefer destructive register allocation.
1131         Update attributes.
1132         (movesi_from_cr): Update attribute.
1133         (mtcrf_operation): Update attribute.
1134         (mtcrfsi): Update attribute.
1135         * config/rs6000/40x.md: New file.
1136         * config/rs6000/603.md: New file.
1137         * config/rs6000/6xx.md: New file.
1138         * config/rs6000/7450.md: New file.
1139         * config/rs6000/7xx.md: New file.
1140         * config/rs6000/mpc.md: New file.
1141         * config/rs6000/power4.md: New file.
1142         * config/rs6000/rios1.md: New file.
1143         * config/rs6000/rios2.md: New file.
1144         * config/rs6000/rs64.md: New file.
1145         [Some DFA descriptions based on work by Michael Hayes]
1146
1147 2003-02-15  Richard Henderson  <rth@redhat.com>
1148
1149         * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
1150         successors with multiple predecessors.
1151         (connect_traces): Try harder to copy traces of length 1.
1152
1153         * function.h (struct function): Add computed_goto_common_label,
1154         computed_goto_common_reg.
1155         * function.c (free_after_compilation): Zap them.
1156         * stmt.c (expand_computed_goto): Use them to produce one
1157         indirect branch per function.
1158
1159 2003-02-15  Richard Henderson  <rth@redhat.com>
1160
1161         * cfgcleanup.c: Include params.h.
1162         (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
1163         too many outgoing edges from a block.
1164         * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
1165         * params.def (max-crossjump-edges): New.
1166         * doc/invoke.texi: Document it.
1167
1168 2003-02-15  Richard Henderson  <rth@redhat.com>
1169
1170         * recog.c (split_all_insns): Include new blocks in life update;
1171         do a global life update.
1172
1173 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
1174
1175         * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
1176         Update copyright.
1177         * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
1178         -mno-cygwin case.
1179
1180 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1181
1182         PR optimization/7702
1183         * reload1.c (reload_cse_simplify_set): Honor
1184         CANNOT_CHANGE_MODE_CLASS.
1185
1186 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
1187
1188         * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
1189         function.
1190         * config/mn10300/mn10300-protos.h: Declare it.
1191         * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
1192         attribute cc of instructions that may use clr.
1193
1194 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
1195
1196         * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
1197         (x - (x & y)) is found.
1198
1199 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1200
1201         * configure.in: Fix typo.
1202         * configure: Regenerate.
1203
1204 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
1205
1206         * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
1207
1208 2003-02-13  Adam Nemet  <anemet@lnxw.com>
1209
1210         PR opt/2391
1211         * combine.c: Fix spelling in comment.
1212         (cached_nonzero_bits): New function.
1213         (cached_num_sign_bit_copies): New function.
1214         (nonzero_bits_with_known): New macro.
1215         (num_sign_bit_copies_with_known): New macro.
1216         (nonzero_bits1): Rename from nonzero_bits.  Add three new
1217         arguments.  Change calls from nonzero_bits to
1218         nonzero_bits_with_known.
1219         (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
1220         three new arguments.  Change calls from num_sign_bit_copies to
1221         num_sign_bit_copies_with_known.
1222         (nonzero_bits): New macro.
1223         (num_sign_bit_copies): New macro.
1224         (update_table_tick): Don't traverse identical subexpression more
1225         than once.
1226         (get_last_value_validate): Likewise.
1227
1228 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
1229
1230         * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
1231         * function.h (struct emit_status): Length of regno_pointer_align
1232         and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
1233         not regno_pointer_align_length (i.e. length actually used, not
1234         length as allocated)
1235
1236         * config/i386/i386.c (struct stack_local_entry): New.
1237         (struct machine_function): Replace huge array with alist.
1238         (assign_386_stack_local): Change to match.
1239
1240 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
1241
1242         * inclhack.def (hpux_long_double): Tighten select and add bypass
1243         regexp.
1244         * fixincl.x: Rebuilt.
1245
1246 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
1247
1248         * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
1249         edge and block ends with a jump insn it must be simple jump.
1250
1251 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
1252
1253         * Makefile.in (PREPROCESSOR_DEFINES): Add
1254         @TARGET_SYSTEM_ROOT_DEFINE@.
1255         * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
1256         is specified or if building a cross compiler.
1257         (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
1258         if the sysroot is under $exec_prefix.
1259         * configure: Regenerated.
1260         * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
1261         defined.
1262         (struct default_include): Add add_sysroot field.
1263         (cpp_SYSROOT): Declare.
1264         * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
1265         field.
1266         (cpp_SYSROOT): New variable.
1267         * cppinit.c (cpp_create_reader): Initialize
1268         CPP_OPTION (pfile, sysroot).
1269         (init_standard_includes): Handle add_sysroot.  Do not
1270         add unrelocated copies of relocated directories.
1271         (COMMAND_LINE_OPTIONS): Add -isysroot.
1272         (cpp_handle_option): Handle -isysroot.
1273         * cpplib.h (struct cpp_options): Add sysroot member.
1274         * gcc.c (The Specs Language): Update description of %I.
1275         (target_system_root_changed): New variable.
1276         (process_command): Conditionalize make_relative_prefix call
1277         on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
1278         target_system_root_changed.
1279         (do_spec_1): Add -isysroot to %I.
1280         * doc/invoke.texi (Spec Files): Update description of %I.
1281         * doc/install.texi (--with-sysroot): Update comment about
1282         relocation.
1283
1284 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
1285
1286         * config/h8300/h8300.md (a peephole2): New.
1287
1288 2003-02-13  Robert Lipe <robertlipe@usa.net>
1289             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1290
1291         * doc/install.texi (Specific): Update three SCO-related URLs.
1292
1293 2003-02-13  Andreas Schwab  <schwab@suse.de>
1294
1295         * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
1296         Parenthesize properly.
1297         (NPREDECESORS): Parenthesize properly.
1298
1299 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1300
1301         * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
1302
1303 2003-02-12  Roger Sayle  <roger@eyesopen.com>
1304
1305         * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
1306         (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
1307
1308         * reg-stack.c (subst_stack_regs_pat): Add support for binary
1309         UNSPEC instructions (e.g. "fpatan").
1310
1311 2003-02-12  Mike Stump  <mrs@apple.com>
1312
1313         * varray.c (element_size): Remove.
1314         (uses_ggc): Remove.
1315         (element): Add.
1316         (varray_init): Use new interface.
1317         (varray_grow): Use new interface.
1318         (varray_clear): Use new interface.
1319
1320 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
1321
1322         * config/rs6000/spe.h: Add casts to the arguments of the following
1323         macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
1324         evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
1325         evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
1326         __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
1327         __ev_get_u16, __ev_get_s16.
1328
1329 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1330
1331         * config/h8300/h8300.md (a peephole2): New.
1332
1333 Wed Feb 12 22:47:18 CET 2003  Jan Hubicka  <jh@suse.cz>
1334
1335         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
1336         (OBJS): Add callgraph.o
1337         (callgraph.o): New.
1338         * c-decl.c (expand_body_1): Break out from ...
1339         (expand_body): This one;  change calling convention
1340         (finish_function): Move some of expand_body logic here.
1341         (c_expand_deferred_function): Update call of expand_body
1342         (c_expand_stmt): Use c_expand_body_1.
1343         * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
1344         * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
1345         * c-tree.h (c_expand_body): Declare.
1346         * callgraph.c: New file.
1347         * flags.h (flag_unit_at_a_time): Declare.
1348         * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
1349         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
1350         LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
1351         * langhooks.h (struct lang_hooks_for_callgraph): New.
1352         (struct lang_hooks): Add callgraph field.
1353         * toplev.c (flag_unit_at_a_time): New.
1354         (lang_independent_options): Add flag_unit_at_a_time.
1355         (process_options): Disable unit-at-a-time mode for frontends not
1356         supporting callgraph.
1357         * tree-inline.c (typedef struct inline_data): Add "decl"
1358         (expand_call_inline): Update callgraph.
1359         (optimize_inline_calls): Set id.decl.
1360         * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
1361         cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
1362         cgraph_calls_p): Declare.
1363         * invoke.texi (-funit-at-a-time): Document
1364
1365 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
1366
1367         * config/rs6000/spe.h: Fix misc formatting.
1368         (__ev_create_ufix32_fs): Cast ev argument.
1369         (__ev_create_sfix32_fs): Same.
1370         (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
1371         (__ev_get_ufix32_fs_internal): Same.
1372
1373 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
1374
1375         * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
1376         * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
1377
1378 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
1379
1380         * cpplib.c (do_include_common): Move warnings for
1381         #include_next and #import out to callers.  Use early-return
1382         instead of nested ifs.  Don't do check_eol here.
1383         (parse_include): Do check_eol here with the rest of the
1384         parsing stuff.
1385         (do_include_next, do_import): Now handle warnings.
1386
1387 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1388
1389         * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
1390
1391 Wed Feb 12 15:19:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1392
1393         * predict.c (estimate_probability):  Fix roundoff error.
1394
1395 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1396
1397         * config/h8300/h8300.md (a peephole2): Don't handle 65535.
1398         (two peephole2): New.
1399
1400 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1401
1402         * config/h8300/h8300.md (several peephole2): Replace
1403         find_regno_note with peep2_reg_dead_p.
1404
1405 2003-02-11  Richard Henderson  <rth@redhat.com>
1406
1407         * gcse.c (lookup_set): Remove unused argument PAT.  Update
1408         both callers.
1409
1410 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
1411
1412         * diagnostic.c (real_abort): New.
1413         (diagnostic_report_diagnostic): Call real_abort on error.
1414         * diagnostic.h (diagnostic_abort_on_error): New.
1415         (struct diagnostic_context): Add abort_on_error field.
1416         * toplev.c (setup_core_dumping): New.
1417         (decode_d_option): Handle 'H' case.
1418         * doc/invoke.texi (Debugging Options): Document -dH.
1419
1420 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
1421
1422         * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
1423         which refers to obsolete directories.
1424
1425 2003-02-11  Richard Henderson  <rth@redhat.com>
1426
1427         * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
1428
1429 Mon Oct 21 17:07:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
1430
1431         * i386.c (contains_128bit_aligned_vector_p): New function.
1432         (ix86_function_arg_boundary): Properly align vector modes.
1433
1434 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
1435
1436         * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
1437         * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
1438         as a SET pattern.
1439
1440 2003-02-11  Roger Sayle  <roger@eyesopen.com>
1441
1442         * builtins.c:  Fix failure caused by commiting wrong patch.
1443
1444 2003-02-11  Dale Johannesen  <dalej@apple.com>
1445         * ra-build.c (compare_and_free_webs):  Relax checking.
1446         * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
1447         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
1448
1449 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1450
1451         PR optimization/9651
1452         * rtlanal.c (may_trap_p): Handle FIX.
1453
1454 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
1455
1456         * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
1457         * doc/invoke.texi: Extra alias.
1458
1459 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
1460
1461         * config/rs6000/host-darwin.c: Fix comment.
1462
1463 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
1464
1465         * config/rs6000/rs6000.md (divmodsi4): Use register_operand
1466         predicate for mod result.
1467
1468 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1469
1470         * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
1471         hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
1472         * fixincl.x: Rebuilt.
1473         * tests/base/stdlib.h: Update.
1474         * tests/base/ctype.h: New file.
1475
1476 Tue Feb 11 20:44:45 CET 2003  Jan Hubicka  <jh@suse.cz>
1477
1478         * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
1479
1480 2003-02-11  Richard Henderson  <rth@redhat.com>
1481
1482         * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
1483         appropriated as globals.
1484         (ix86_expand_clrstr): Similarly.
1485         * config/i386/i386.md (cmpstrsi): Similarly.
1486
1487 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1488
1489         * config/h8300/h8300.md (a peephole2): Add a case of 255.
1490
1491 2003-02-11  Roger Sayle  <roger@eyesopen.com>
1492
1493         * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
1494         (pow_optab, atan2_optab): Define corresponding macros.
1495         * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
1496         * genopinit.c (optabs): Implement pow_optab and atan2_optab
1497         using pow?f3 and atan2?f3 patterns.
1498         * builtins.c (expand_errno_check): New function to update errno
1499         if necessary, split out from expand_builtin_mathfn.
1500         (expand_builtin_mathfn): Use expand_errno_check.
1501         (expand_builtin_mathfn_2): New function to handle expanding binary
1502         math functions, reusing the code in expand_errno_check.
1503         (expand_builtin): Handle the pow and atan2 math built-ins,
1504         BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
1505         expand_builtin_mathfn_2.
1506
1507         * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
1508
1509 Tue Feb 11 19:03:22 MET 2003  Jan Hubicka  <jh@suse.cz>
1510
1511         * combine.c (combine_simplify_rtx): Fix folding of
1512         nested float_truncates.
1513
1514 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1515
1516         * config/h8300/h8300.md (a peephole2): Fix a typo.
1517
1518 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
1519
1520         * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
1521         register number.
1522
1523 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1524
1525         * config/h8300/h8300-protos.h: Add a prototype for
1526         gtuleu_operator.
1527         * config/h8300/h8300.c (gtuleu_operator): New.
1528         * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
1529         * config/h8300/h8300.md (a peephole2): New.
1530
1531 Tue Feb 11 13:32:12 CET 2003  Jan Hubicka  <jh@suse.cz>
1532
1533         * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
1534
1535 Tue Feb 11 10:02:54 CET 2003  Jan Hubicka  <jh@suse.cz>
1536
1537         * predict.c (choose_function_section): Choose sections correctly.
1538
1539 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1540
1541         * reload1.c (first_label_num): New.
1542         (reload): Index offsets_known_at and offsets_at using difference of
1543         label number and first label number.  Don't use offset pointers.
1544         (set_label_offsets, set_initial_label_offsets): Likewise.
1545
1546 2003-02-10  Roger Sayle  <roger@eyesopen.com>
1547
1548         * mips-tfile.c (init_file): Add missing initializers in the
1549         "#ifdef __alpha" case.
1550         (file_offset, max_file_offset): Declare as unsigned long.
1551         (write_varray): Cast to "unsigned long" in comparisons against
1552         either file_offset or max_file_offset.
1553         (write_object): Likewise.
1554         (read_seek): Likewise.
1555         (copy_object): Likewise. Declare "ifd" as int to match its use
1556         in add_ext_symbol, and avoid signed/unsigned conditional warning.
1557
1558 2003-02-10  Nick Clifton  <nickc@redhat.com>
1559             Aldy Hernandez  <aldyh@redhat.com>
1560
1561         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
1562         override options which have been specified on the command line.
1563
1564 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1565
1566         * config/h8300/h8300.md (abssf2): New.
1567         (*abssf2_h8300): Likewise.
1568         (*abssf2_h8300hs): Likewise.
1569
1570 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
1571
1572         * tree.c (build_tree_list):  Fix parameter names in comment.
1573
1574 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
1575
1576         * config/rs6000/ppc64-fp.c: New file.
1577         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
1578
1579 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
1580
1581         * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
1582         * bb-reorder.c (make_reorder_chain): Deleted.
1583         (make_reorder_chain_1): Deleted.
1584         (find_traces): New function.
1585         (rotate_loop): New function.
1586         (mark_bb_visited): New function.
1587         (find_traces_1_round): New function.
1588         (copy_bb): New function.
1589         (bb_to_key): New function.
1590         (better_edge_p): New function.
1591         (connect_traces): New function.
1592         (copy_bb_p): New function.
1593         (get_uncond_jump_length): New function.
1594         (reorder_basic_blocks): Use new functions (Software Trace Cache).
1595         * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
1596         boundaries.
1597
1598 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
1599
1600         * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
1601
1602 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
1603
1604         * tree.h (struct tree_decl): Remove unused live_range_rtl field.
1605         (DECL_LIVE_RANGE_RTL): Remove.
1606
1607 2003-02-10  Nick Clifton  <nickc@redhat.com>
1608
1609         * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
1610         config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
1611         config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
1612         config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
1613         config/arm/freebsd.h, config/arm/linux-elf.h,
1614         config/arm/linux-gas.h, config/arm/netbsd-elf.h,
1615         config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
1616         config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
1617         config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
1618         config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
1619         config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
1620         config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
1621         and reformat as appropriate.
1622
1623 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1624
1625         * config/h8300/clzsi2.c: Remove.
1626         * config/h8300/ctzsi2.c: Likewise.
1627         * config/h8300/paritysi2.c: Likewise.
1628         * config/h8300/popcountsi2.c: Likewise.
1629         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
1630         ctzsi2, paritysi2, and popcountsi2.
1631
1632 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1633             Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1634
1635         PR c/7741
1636         * c-decl.c (duplicate_decls): Discard the initializer of the
1637         new decl when the types are conflicting.
1638
1639 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
1640
1641         * Makefile.in (sreal.o): Added.
1642         (predict.o): Depends on sreal.h instead of real.h.
1643         * sreal.c: New file.
1644         * sreal.h: New file.
1645         * predict.c: Use sreal.c instead of real.c.
1646
1647 2003-02-10  Nick Clifton  <nickc@redhat.com>
1648
1649         * Contributed support for the Cirrus EP9312 "Maverick"
1650         floating point co-processor.  Written by Aldy Hernandez
1651         <aldyh@redhat.com>.
1652         (config/arm/arm.c): Add Cirrus support.
1653         (config/arm/arm.h): Likewise.
1654         (config/arm/aout.h): Likewise.
1655         (config/arm/arm.md): Likewise.
1656         (config/arm/arm-protos.h): Likewise.
1657         (config.gcc): Likewise.
1658         (doc/invoke.texi): Describe new -mcpu value and new
1659         -mcirrus-fix-invalid-insns switch,
1660         (cirrus.md): New file.
1661
1662 Mon Feb 10 11:40:18 CET 2003  Jan Hubicka  <jh@suse.cz>
1663
1664         * combine.c (combine_simplify_rtx): Simplify using
1665         (float_truncate (float x)) is (float x)
1666         (float_extend (float_extend x)) is (float_extend x).
1667
1668 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
1669
1670         * calls.c (try_to_integrate): Tidy stack_usage_map access.
1671         (emit_library_call_value_1): Likewise.  Formatting.
1672         (store_one_arg): Likewise.
1673
1674 2003-02-09  Nick Clifton  <nickc@redhat.com>
1675             Aldy Hernandez  <aldyh@redhat.com>
1676
1677         * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
1678         spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
1679         spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
1680         spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
1681         spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
1682         docs.  Add range test for immediate value.
1683
1684 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
1685
1686         Rename spe_evxor to xorv2si3.
1687         (xorv4hi3): New.
1688         (xorv1di3): New.
1689
1690 2003-02-10  Glen Nakamura  <glen@imodulo.com>
1691
1692         * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
1693         tag.
1694
1695 Mon Feb 10 00:29:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1696
1697         * i386.c (vector_move_operand): New predicate.
1698         (ix86_expand_vector_move): Be happy about 0.
1699         * i386.h (PREDICATE_CODES): Add sse-move_operand.
1700         * i386.md (mov*_internal): Add 'C' alternative.
1701
1702 Sun Feb  9 23:58:33 CET 2003  Jan Hubicka  <jh@suse.cz>
1703
1704         * i386.md (floathi*): Deal with SSE.
1705
1706 Sun Feb  9 23:54:59 CET 2003  Jan Hubicka  <jh@suse.cz>
1707
1708         * simplify-rtx.c (simplify_unary_operation,
1709         simplify_binary_operation):  Deal with vector modes
1710         (simplify_ternary_operation):  Deal with no-op VEC_MERGE.
1711
1712 2002-02-09  Richard Sandiford  <rsandifo@redhat.com>
1713
1714         * toplev.c (rest_of_compilation): Recompute register usage after
1715         split_all_insns.
1716
1717 2003-02-09  Richard Henderson  <rth@redhat.com>
1718
1719         * libgcc-std.ver (__clztf2): New.
1720         (__ctztf2, __popcounttf2, __paritytf2): New.
1721         * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
1722         __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
1723         adjust code to match the different type sizes.
1724         * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
1725         __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
1726
1727         * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
1728         TImode; select word_mode and twice that.
1729         (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
1730         select the modes from float, double, and long double.
1731         (init_optabs): Remove duplicate initializations.
1732
1733 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
1734
1735         * doc/install.texi: Squeeze and streamline section on
1736         testing and regression checking.
1737
1738 Sun Feb  9 13:33:34 CET 2003  Jan Hubicka  <jh@suse.cz>
1739
1740         * i386.md (ahi?v*3): Set third operand type to TImode.
1741         * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
1742
1743         * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
1744         integer mode.
1745
1746         * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
1747         Change code so they are arithmetic expressions now.
1748         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
1749         simplify_ternary_operation): Deal with VEC_* expressions.
1750
1751         * i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
1752
1753 Sat Feb  8 00:21:22 CET 2003  Jan Hubicka  <jh@suse.cz>
1754
1755         * cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
1756         * reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
1757         possibly got duplicated.
1758
1759 2003-02-08  Richard Henderson  <rth@redhat.com>
1760
1761         * config/alpha/alpha.c (override_options): Turn off explicit
1762         relocs until post-peep2 code duplication resolved.
1763
1764 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1765
1766         * optabs.c (expand_unop): Widen clz properly when clz is done
1767         via libcall.
1768
1769 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1770
1771         * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
1772         * config/h8300/crti.asm: Likewise.
1773         * config/h8300/crtn.asm: Likewise.
1774         * config/h8300/ctzsi2.c: Likewise.
1775         * config/h8300/fixunssfsi.c: Likewise.
1776         * config/h8300/h8300-protos.h: Likewise.
1777         * config/h8300/h8300.c: Likewise.
1778         * config/h8300/h8300.h: Likewise.
1779         * config/h8300/h8300.md: Likewise.
1780         * config/h8300/paritysi2.c: Likewise.
1781         * config/h8300/popcountsi2.c: Likewise.
1782         * config/h8300/rtems.h: Likewise.
1783
1784 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1785
1786         * doc/invoke.texi: Documentation for my previous commit.
1787         * doc/passes.texi: Ditto.
1788
1789 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1790
1791         * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
1792         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1793         Declare.
1794         (DLTHE_FLAG_UPDATE_FREQ): New.
1795         * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
1796         loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
1797         rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
1798         fix_bb_placement, fix_bb_placements, place_new_loop,
1799         scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
1800         New static functions.
1801         (fix_loop_placement, can_duplicate_loop_p,
1802         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1803         New functions.
1804
1805         * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
1806         unswitch_loops): Declare.
1807         * loop-init.c: New file.
1808         * loop-unswitch.c: New file.
1809         * Makefile.in (loop-init.o, loop-unswitch.o): New.
1810         * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
1811         * toplev.c (DFI_loop2): New dump.
1812         (flag_unswitch_loops): New.
1813         (lang_independent_options): Add it.
1814         (rest_of_compilation): Call new loop optimizer.
1815         (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
1816
1817 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1818
1819         * config/h8300/clzsi2.c: New.
1820         * config/h8300/ctzsi2.c: Likewise.
1821         * config/h8300/paritysi2.c: Likewise.
1822         * config/h8300/popcountsi2.c: Likewise.
1823         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
1824
1825 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
1826
1827         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
1828         * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
1829         (ctzsi2): New pattern.
1830         (ffssi2): Use clz instead of unspec.
1831         (clzdi2): Rename from cntlzd2.
1832         (ctzdi2): New pattern.
1833         (ffsdi2): Use clz instead of unspec.
1834
1835 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
1836
1837         * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
1838         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
1839         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1840         * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
1841
1842 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
1843
1844         * doc/trouble.texi: Document pitfalls of two-stage name lookup.
1845
1846 2003-02-07  Richard Henderson  <rth@redhat.com>
1847
1848         PR 9226
1849         * gcse.c (local_cprop_find_used_regs): New.
1850         (local_cprop_pass): Use it.
1851
1852 2003-02-07  Fred Fish  <fnf@intrinsity.com>
1853
1854         * mips-tfile.c (parse_def): Parenthesize assignments to fix
1855         precedence bugs.
1856
1857 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
1858
1859         * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
1860
1861 2003-02-07  Roger Sayle  <roger@eyesopen.com>
1862
1863         * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
1864         (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
1865         (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
1866         * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
1867         builtin functions (and their __builtin_* variants).
1868         * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
1869         (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
1870         when not optimizing.
1871
1872         * doc/extend.texi: Document new pow and atan2 builtins, and
1873         their float and long double variants.  Realphabetize builtins.
1874
1875 Fri Feb  7 23:24:28 CET 2003  Jan Hubicka  <jh@suse.cz>
1876
1877         * i386.md (sse2_nandv2di3): Fix.
1878
1879 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
1880
1881         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
1882         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
1883         definition.
1884         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
1885         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
1886
1887 Fri Feb  7 22:22:40 CET 2003  Jan Hubicka  <jh@suse.cz>
1888
1889         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
1890
1891 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
1892
1893         * cfg.c (dump_flow_info): Add back accidently deleted line.
1894
1895 2003-02-07  Andrey Petrov <petrov@netbsd.org>
1896
1897         * optabs.c (expand_float): Search wider integer modes first.
1898
1899 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
1900
1901         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
1902         based on preprocessor flag.
1903
1904 2003-02-07  Roger Sayle  <roger@eyesopen.com>
1905             Richard Henderson  <rth@redhat.com>
1906
1907         * gcse.c (implicit_sets): New.
1908         (compute_hash_table_work): Include them in hash table.
1909         (find_implicit_sets, fis_get_condition): New.
1910         (one_cprop_pass): Allocate and free implicit_sets; call
1911         find_implicit_sets before building hash table.
1912
1913 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
1914
1915         * config/t-netbsd (USER_H): Revert previous change.
1916
1917 2003-02-07  Gabor Greif  <ggreif@lucent.com>
1918
1919         * doc/c-tree.texi (Namespaces): Fix typo.
1920
1921 Fri Feb  7 02:18:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1922
1923         * regrename.c (do_replace, find_oldest_value_reg,
1924         copyprop_hardreg_forward_1): Update register attributes.
1925
1926 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
1927
1928         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
1929         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
1930         variables starting with underscore.
1931         (struct unit_usage): New structure.
1932         (unit_usages, cycle_alt_unit_usages): New global variables.
1933         (check_unit_distribution_in_reserv): Remove it.
1934         (store_alt_unit_usage): New function.
1935         (check_regexp_units_distribution): Rewrite it.
1936
1937 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1938
1939         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
1940         target_cpu_default.
1941         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
1942         if not MASK_NO_SPACE_REGS.
1943         (output_call): Adjust return pointer, don't load new space register
1944         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
1945         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
1946         TARGET_NO_SPACE_REGS is true.
1947         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
1948         conditions.
1949         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
1950         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
1951         true.  Use bve when TARGET_64BIT is true.
1952
1953 2003-02-06  Richard Henderson  <rth@redhat.com>
1954
1955         * combine.c (nonzero_bits): Fix double break.
1956
1957 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
1958             Richard Henderson <rth@redhat.com>
1959
1960         PR c/9530
1961         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
1962         from functions that return a float to functions that don't.
1963
1964 Thu Feb  6 00:18:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1965
1966         * i386.c (x86_inter_unit_moves): New variable.
1967         (ix86_secondary_memory_needed): Fix 64bit case, honor
1968         TARGET_INTER_UNIT_MOVES
1969         * i386.h (x86_inter_unit_moves): Declare.
1970         (TARGET_INTER_UNIT_MOVES): New macro.
1971         * i386.md (movsi_1): Cleanup constraints; disable
1972         when not doing inter-unit moves.
1973         (movsi_1_nointernunit): New.
1974         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
1975         (movdi_1_rex64_nointerunit): New.
1976         (mivsf_1): disable when not doing inter-unit moves.
1977         (movsf_1_nointerunit): New.
1978
1979         * basic-block.h (inside_basic_block_p):  Declare.
1980         * cfgbuild.c (inside_basic_block_p): Make global.
1981         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
1982         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
1983         update CFG.
1984         (fix_basic_block_boundaries, add_missing_bbs): New.
1985         (rank): Use profile.
1986         (scheudle_ebbs): Rely on CFG; update coments.
1987
1988 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
1989
1990         * Makefile.in (host_hook_obj): New.
1991         (OBJS): Add $(host_hook_obj).
1992         (host_default.o): New rule.
1993         * config.gcc (host_hook_obj): New, default to host-default.o.
1994         (powerpc-*-darwin*): Use host-darwin.o.
1995         (out_host_hook_obj): New.
1996         * configure: Regenerate.
1997         * configure.in: Print information about out_host_hook_obj, substitute
1998         into output files.
1999         * host-default.c: New file.
2000         * hosthooks.h: New file.
2001         * toplev.c (general_init): Call host_hooks.extra_signals.
2002         * config/rs6000/host-darwin.c: New file.
2003         * config/rs6000/x-darwin: New file.
2004         * doc/hostconfig.texi: Add documentation for new host hook.
2005         Rearrange existing documentation.
2006
2007 2003-02-05  Roger Sayle  <roger@eyesopen.com>
2008
2009         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
2010         with *targetm.delegitimize_address.
2011         (rtl_for_decl_location): Likewise.
2012         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
2013         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
2014
2015         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
2016         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
2017         prototype.
2018         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
2019         i386_simplify_dwarf_addr.  Made static.  Prototyped.
2020         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
2021         i386_simplify_dwarf_addr to ix86_delegitimize_address.
2022         (ix86_find_base_term): Likewise.
2023         (maybe_get_pool_constant): Likewise.
2024
2025         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
2026         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
2027         prototype.
2028         * config/s390/s390.c (s390_delegitimize_address): Renamed from
2029         s390_simplify_dwarf_addr.  Made static.  Prototyped.
2030         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
2031
2032 2003-02-05  Richard Henderson  <rth@redhat.com>
2033
2034         PR c/8602
2035         * integrate.c (output_inline_function): Reset input_filename
2036         and lineno from the decl before rest_of_compilation.
2037
2038 2003-02-05  Richard Henderson  <rth@redhat.com>
2039
2040         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
2041         (CTZ_DEFINED_VALUE_AT_ZERO): New.
2042         * doc/rtl.texi, doc/tm.texi: Document them.
2043
2044         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
2045         of the value at zero properly.
2046         * fold-const.c (tree_expr_nonnegative_p): Likewise.
2047         * simplify-rtx.c (simplify_unary_operation): Likewise.
2048
2049         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
2050         (CTZ_DEFINED_VALUE_AT_ZERO): New.
2051
2052         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
2053         (TARGET_EXPAND_BUILTIN): Remove.
2054         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
2055         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
2056         (enum arm_builtins): Remove.
2057         * config/arm/arm.md (UNSPEC_CLZ): Remove.
2058         (clzsi2): Rename from clz; use clz instead of unspec.
2059         (ctzsi2): New.
2060         * config/arm/arm-protos.h: Update.
2061
2062 Wed Feb  5 23:12:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2063
2064         * i386-protos.h (x86_emit_floatuns):  Declare.
2065         * i386.c (x86_emit_floatuns): New global function.
2066         * i386.md (floatunssisf2, floatunsdisf2,
2067         floatunsdidf2):  New patterns.
2068
2069 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2070
2071         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
2072
2073 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
2074
2075         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
2076           config/ia64/linux.h
2077
2078 2002-02-05  Roger Sayle  <roger@eyesopen.com>
2079
2080         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
2081
2082 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
2083
2084         PR optimization/8555
2085         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
2086         instead of aborting.
2087
2088 2003-02-04  Richard Henderson  <rth@redhat.com>
2089
2090         * config/i386/i386.md (UNSPEC_BSF): Remove.
2091         (ffssi2): Split into cmove and no_cmove insns and splitters;
2092         lose pentium float trick for now.
2093         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
2094         (ctzsi2, clzsi2, bsr): New.
2095
2096 2003-02-04  Richard Henderson  <rth@redhat.com>
2097
2098         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
2099         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
2100         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
2101         (ffsdi2): Use popcount instead of unspec.
2102         (popcountdi2): Rename from *popcnt.
2103         (ctzdi2, clzdi2, getf_exp_tf): New.
2104
2105 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
2106
2107         * genconfig.c (main): Generate CC0_P.
2108         * rtl.h (CC0_P): Remove.
2109
2110 2003-02-04  Richard Henderson  <rth@redhat.com>
2111
2112         * libgcc2.h, libgcc2.c (__ffsSI2): New.
2113         (__ffsDI2): Rename from __ffsdi2.
2114         * mklibgcc.in (lib2funcs): Add _ffssi2.
2115
2116 2003-02-04  Richard Henderson  <rth@redhat.com>
2117
2118         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
2119         rounds with a "bit table" lookup.
2120
2121 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
2122
2123         * reload.c (find_reloads): Do not use the mode specified in the insn
2124         pattern as reload mode for address operands.  Do not generate optional
2125         reloads for operands where a mandatory reload was already pushed.
2126
2127 2003-02-04  Richard Henderson  <rth@redhat.com>
2128
2129         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
2130         builtins instead of inline assembly.
2131
2132 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
2133
2134         PR c/9376
2135         * libgcc2.c (__subvdi3): Fix typo.
2136
2137 Tue Feb  4 21:46:05 CET 2003  Jan Hubicka  <jh@suse.cz>
2138
2139         * i386.md (movti_rex64):  Fix constraint.
2140
2141 Tue Feb  4 18:40:42 CET 2003  Jan Hubicka  <jh@suse.cz>
2142
2143         * i386.md (vector push splitters):  Fix typo in resolving conflict.
2144
2145 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
2146
2147         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
2148
2149 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
2150
2151         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
2152         for recent libstdc++.  Remove formatting cruft.
2153
2154 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
2155
2156         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
2157         attribute even if input file name is absolute, but one of the
2158         includes is relative.
2159
2160 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
2161
2162         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
2163         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
2164         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
2165
2166 2003-02-03  Richard Henderson  <rth@redhat.com>
2167
2168         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2169         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
2170         return type to "int".  Shuffle declarations and undef int trap.
2171         * libgcc2.h: Remove their declarations.
2172         * optabs.c (expand_unop): Force outmode to int for bitops.
2173
2174 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
2175
2176         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
2177         coprocessor registers before floating-point registers.
2178         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
2179         to account for a previously removed register.
2180         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
2181         Delete unused macros.
2182
2183 Mon Feb  3 21:19:11 CET 2003  Jan Hubicka  <jh@suse.cz>
2184
2185         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
2186         (mov*_internal): Fix predicates; require one of operands to not be
2187         memory.
2188         (SSE?MMX move expanders):  Fix predicates; force one of operands to
2189         register.
2190         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
2191         (movups/movupd/movdqu patterns): Force one of operands to not be
2192         memory.
2193
2194 2002-02-03  Roger Sayle  <roger@eyesopen.com>
2195
2196         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
2197         takes a single rtx and returns it unmodified.
2198         * hooks.h (hook_rtx_rtx_identity): Prototype here.
2199         * target.h (struct gcc_target): Add "delegitimize_address"
2200         field to target structure.
2201         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
2202         for delegitimize_address target using hook_rtx_rtx_identity.
2203         (TARGET_INITIALIZER): Initialize delegitimize_address field
2204         using TARGET_DELEGITIMIZE_ADDRESS macro.
2205         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
2206         extensions of constant pool references.  Use delegitimize_address
2207         to undo the obfuscation of "-fpic".
2208         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
2209
2210         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
2211         i386_simplify_dwarf_addr.
2212         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
2213         (maybe_get_pool_constant): Likewise.
2214
2215 Mon Feb  3 16:01:17 CET 2003  Jan Hubicka  <jh@suse.cz>
2216
2217         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
2218
2219 Mon Feb  3 01:30:11 CET 2003  Jan Hubicka  <jh@suse.cz>
2220
2221         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
2222
2223 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2224
2225         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
2226         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
2227
2228 2003-02-02  Andreas Schwab  <schwab@suse.de>
2229
2230         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
2231
2232 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
2233
2234         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
2235         (epilogue_insns): Likewise.
2236
2237 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2238
2239         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
2240
2241 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2242
2243         * pa-protos.h (attr_length_millicode_call): Remove second argument.
2244         (attr_length_indirect_call, attr_length_indirect_call,
2245         attr_length_save_restore_dltp): New prototypes.
2246         * pa.c (attr_length_millicode_call): Remove second argument.  Check
2247         INSN_ADDRESSES_SET_P in distance calculation.
2248         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
2249         INSN_ADDRESSES.
2250         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
2251         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
2252         Call attr_length_call directly.
2253         (attr_length_indirect_call, output_indirect_call,
2254         attr_length_save_restore_dltp): New functions.
2255         * pa.md (attr_length_millicode_call): Drop second argument from all
2256         patterns.
2257         (return_internal_pic): Delete.
2258         (return_external_pic): Remove use of PIC register and pic operand and
2259         flag checks.
2260         (epilogue): Use return_internal for both normal and pic code.
2261         (call, call_value): Emit new 32-bit pic patterns for symref and
2262         indirect calls.  Remove uses for arg pointer and pic register.
2263         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
2264         call_reg_pic_post_reload, call_val_symref_pic,
2265         call_val_symref_pic_post_reload, call_val_reg_pic,
2266         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
2267         Implement define_split and define_peephole2 patterns for pre reload
2268         patterns.
2269         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
2270         call_value_internal_reg_64bit): Shorten names.
2271         (all call patterns): Explicitly indicate registers used and clobbered.
2272         Use attr_length_indirect_call and attr_length_save_restore_dltp for
2273         attribute length calculation.  Move code generation for indirect calls
2274         to output_indirect_call.
2275         (sibcall, sibcall_value): Don't restore PIC register.
2276         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
2277         register retore.
2278
2279 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2280
2281         * doc/install.texi (Testing): Simplify and compress instructions
2282         concerning Dejagnu.
2283
2284 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2285
2286         * collect2.c (pexecute_pid): Rename to pid.
2287         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
2288         pid.
2289
2290 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
2291
2292         * doc/extend.texi (Function Attributes): Remove documentation
2293         for PowerPC Windows NT function attributes..
2294
2295 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
2296
2297         * dwarf2out.c (gen_type_die): Check for typedefs before calling
2298         for TYPE_MAIN_VARIANT.
2299
2300 2003-02-01  Richard Henderson  <rth@redhat.com>
2301
2302         * libgcc2.c: Include auto-host.h.
2303         (ATTRIBUTE_HIDDEN): New.
2304         (__clz_tab): Don't declare here for clz and ctz.
2305         (__clzsi2, __clzdi2): Use count_leading_zeros.
2306         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
2307         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
2308         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
2309         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
2310
2311 2003-02-01  Richard Henderson  <rth@redhat.com>
2312
2313         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
2314         to the conditional.
2315         (ashlsi3_1_zext splitter): Likewise.
2316
2317 2003-02-01  Richard Henderson  <rth@redhat.com>
2318
2319         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
2320         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2321         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
2322         return type to Wtype.
2323
2324         * libgcc-std.ver (GCC_3.4): Fix inheritance.
2325
2326         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
2327         expander input constraint.
2328
2329 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
2330
2331         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
2332         OTI_parity.
2333         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
2334         * optabs.c (widen_clz, expand_parity): New.
2335         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
2336         for libcalls to clz, ctz, popcount, and parity.
2337         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
2338         parity_optab, and set up libfunc handlers.
2339         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2340         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
2341         __popcount_tab): New.
2342         * libgcc2.h: Declare them.
2343         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
2344         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
2345         and parity_optab.
2346         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
2347         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
2348         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
2349         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
2350         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
2351         BUILT_IN_PARITYLL): New.
2352         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
2353         and add optab argument.
2354         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
2355         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
2356         * expr.c (expand_expr): Handle them.
2357         * fold-const.c (tree_expr_nonnegative_p): Likewise.
2358         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
2359         * reload1.c (eliminate_regs): Handle them.
2360         (elimination_effects): Likewise.
2361         * function.c (instantiate_virtual_regs_1): Likewise
2362         * genattrtab.c (check_attr_value): Likewise.
2363         * simplify-rtx.c (simplify_unary_operation): Likewise.
2364         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
2365         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
2366         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
2367         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
2368         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
2369         __builtin_arm_clz.
2370         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
2371         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
2372         * doc/extend.texi (Other Builtins): Add new builtins.
2373         * doc/md.texi (Standard Names): Add new patterns.
2374
2375 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
2376
2377         * reload.c: Revert 2003-01-31 change.
2378
2379 Sat Feb  1 14:14:40 CET 2003  Jan Hubicka  <jh@suse.cz>
2380
2381         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
2382
2383 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
2384
2385         * flags.h (flag_volatile): Remove declaration.
2386         (flag_volatile_global, flag_volatile_static): Likewise.
2387         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
2388         * toplev.c (flag_volatile): Remove definition.
2389         (flag_volatile_global, flag_volatile_static): Likewise.
2390         (f_options): Remove corresponding entries here.
2391         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
2392         or flag_volatile_static.
2393         * doc/invoke.texi: Remove documentation of -fvolatile,
2394         -fvolatile-global and -fvolatile-static.
2395
2396 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2397
2398         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
2399         updating of total_code_bytes from prologue to epilogue.
2400
2401 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
2402
2403         * reload.c (find_reloads): Do not use the mode specified in the insn
2404         pattern as reload mode for address operands.  Do not generate optional
2405         reloads for operands where a mandatory reload was already pushed.
2406         Generate optional reloads only in the final pass though find_reloads.
2407         (have_replacement_p): New function.
2408
2409 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2410
2411         * doc/install.texi (Testing): Remove a reference to our obsolete
2412         /testresults web pages and strip redundant information concerning
2413         test results.
2414         (Binaries): Refer to Microsoft Windows instead of listing all
2415         possible variants.
2416
2417 Sat Feb  1 00:28:30 CET 2003  Jan Hubicka  <jh@suse.cz>
2418
2419         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
2420         RTL chain.
2421
2422         * combine.c (simplify_set): Reverse order of ragumetns to
2423         REG_CANNOT_CHANGE_MODE_P
2424         * df.c (df_def_record_1): Likewise.
2425         * recog.c (register_operand): Likewise.
2426         * simplify-rtx.c (simplify_subreg): Likewise.
2427         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
2428         CANNOT_CHANGE_MODE_CLASS.
2429         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
2430         Likewise.
2431         * reload.c (push_reload): Likewise.
2432         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2433         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2434         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2435         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
2436         * mips.c (mips_cannot_change_mode_class): Update.
2437         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2438         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2439         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2440         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2441         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
2442         * sh.c (sh_cannot_change_mode_class): Update.
2443         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
2444         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
2445
2446 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
2447
2448         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
2449         change to LINK_COMMAND_SPEC in gcc.c.
2450
2451 2003-01-31  Jan Hubicka  <jh@suse.cz>
2452
2453         PR c/9506
2454         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
2455
2456 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2457
2458         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
2459         duplicated code.
2460
2461 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
2462
2463         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
2464         (BINFO_ELTS): New #define.
2465         * stor-layout.c (finalize_record_size): Don't set them.
2466         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
2467         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
2468         (BINFO_LANG_ELTS): New #define.
2469         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
2470         * java/class.c (make_class): Use BINFO_ELTS.
2471         (set_super_info): Likewse.
2472         (add_interface_do): Likewise.
2473         * objc/objc-act.c (start_class): Use BINFO_ELTS.
2474
2475 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
2476
2477         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
2478         (times): Don't ever declare if not HAVE_TIMES.
2479         (clock): Don't ever declare if not HAVE_CLOCK.
2480
2481 2003-01-30  Richard Henderson  <rth@redhat.com>
2482
2483         * flow.c (update_life_info): Zap life info after cleanup_cfg.
2484         (regno_uninitialized): Use correct live at function entry set.
2485         (regno_clobbered_at_setjmp): Likewise.
2486
2487         * expr.c (store_expr): Promote all MEM intermediates to regs.
2488
2489 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2490
2491         * config/arm/arm.c: Fix comment typos.
2492         * config/arm/arm.h: Likewise.
2493         * config/arm/netbsd-elf.h: Likewise.
2494         * config/arm/netbsd.h: Likewise.
2495
2496 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
2497
2498         * gengtype.c (struct walk_type_data): Add needs_cast_p.
2499         (walk_type): Set needs_cast_p in walk_type_data.
2500         (write_types_process_field): Supply casts when required to suppress
2501         warnings.
2502         (write_root): Cast gt_pch_n_S to suppress warning.
2503         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
2504         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
2505         when they might exist.
2506         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
2507         insn-conditions.o, and rs6000.o.
2508
2509 2003-01-30  Richard Henderson  <rth@redhat.com>
2510
2511         * ggc-page.c (G.context_depth_allocations): New.
2512         (G.context_depth_collections): New.
2513         (alloc_page): Set G.context_depth_allocations.
2514         (ggc_collect): Set G.context_depth_collections.
2515         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
2516         (ggc_pop_context): Early exit for no allocations or collections.
2517
2518 2003-01-30  Richard Henderson  <rth@redhat.com>
2519
2520         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
2521
2522 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
2523
2524         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
2525         size, the link register is always saved if any other register is
2526         saved.
2527
2528 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2529
2530         * config/h8300/h8300-protos.h: Update the prototype for
2531         compute_plussi_cc.
2532         (cpp_reader): Declare before it is used.
2533         * config/h8300/h8300.c (compute_plussi_cc): Change the return
2534         type to int.
2535         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
2536         see an unknown H8 variant.
2537
2538 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
2539
2540         PR target/9316
2541         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
2542         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
2543         * config/rs6000/t-rtems: New file. multilib variants to match OS.
2544         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
2545         rs6000/t-ppcgas so we get the desired multilibs.
2546
2547 2003-01-30  Nick Clifton  <nickc@redhat.com>
2548
2549         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
2550         when popping saved IP register off the stack.
2551
2552 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2553
2554         * config/rs6000/aix43.h: Fix comment typos.
2555         * config/rs6000/aix51.h: Likewise.
2556         * config/rs6000/aix52.h: Likewise.
2557         * config/rs6000/altivec.h: Likewise.
2558         * config/rs6000/rs6000.c: Likewise.
2559         * config/rs6000/rs6000.h: Likewise.
2560         * config/rs6000/rs6000.md: Likewise.
2561         * config/rs6000/spe.md: Likewise.
2562
2563 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
2564
2565         * c-common.c (builtin_define_float_constants): Define
2566         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
2567
2568 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2569
2570         * config/sh/lib1funcs.asm: Fix comment typos.
2571         * config/sh/linux.h: Likewise.
2572         * config/sh/sh.c: Likewise.
2573         * config/sh/sh.md: Likewise.
2574
2575 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
2576
2577         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
2578
2579 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
2580
2581         * config/fp-bit.h (__make_dp): Declare if TMODES.
2582
2583 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
2584
2585         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
2586         general_operand_src and general_operand_dst.
2587
2588 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
2589
2590         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
2591         Return true for variable sized types.
2592         (rs6000_va_arg): Handle variable sized types passed by reference
2593         on non-SVR4 ABI.
2594
2595 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
2596
2597         * arm.c (arm_legtimize_address): New function.
2598         * arm-protos.h (arm_legtimize_address): Add prototype.
2599         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
2600         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
2601         do ... while (0)
2602
2603 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2604
2605         PR bootstrap/9296
2606         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
2607         depended on it being defined until now.
2608
2609 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2610
2611         PR target/9295
2612         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
2613         RTEMS code knows which C++ initialization style the toolset
2614         configuration is using.
2615
2616 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2617
2618         PR bootstrap/9293
2619         * config/m68k/t-crtstuff: Replace spaces with tabs, add
2620          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2621
2622 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2623
2624         PR bootstrap/9292
2625         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
2626         RTEMS threads.
2627         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
2628
2629 2003-01-29  Nick Clifton  <nickc@redhat.com>
2630
2631         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
2632         not $(srcdir).
2633
2634 2003-01-29  Andrew Haley  <aph@redhat.com>
2635
2636         * tree-inline.c (walk_tree): Add CHAR_TYPE.
2637
2638 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
2639
2640         * i386.md (subdi3_carry_rex64): Fix typo.
2641
2642 2003-01-28  Stan Shebs  <shebs@apple.com>
2643
2644         * coretypes.h (cpp_reader): Forward declare struct.
2645         * c-pragma.h (cpp_reader): Remove forward declaration.
2646         * hashtable.h (cpp_reader): Likewise.
2647         * scan.h (cpp_reader): Likewise.
2648         * tree.h (cpp_reader): Likewise.
2649         * config/darwin-protos.h (cpp_reader): Likewise.
2650         * config/arm/arm-protos.h (cpp_reader): Likewise.
2651         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
2652         struct cpp_reader in prototypes.
2653
2654 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2655
2656         * doc/install.texi: Add documentation for installation into
2657         tooldirs and with DESTDIR.
2658
2659 2003-01-28  Richard Henderson  <rth@redhat.com>
2660
2661         * config.gcc (ia64*-*-aix*): Remove.
2662         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
2663         * config/ia64/unwind-aix.c: Remove file.
2664
2665 2003-01-28  Andreas Schwab  <schwab@suse.de>
2666
2667         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
2668         register.
2669         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
2670         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
2671         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
2672         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
2673         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
2674         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
2675         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
2676
2677 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
2678
2679         * combine.c (nonzero_bits): Fix check for negative divide operands.
2680
2681 2003-01-28  Richard Henderson  <rth@redhat.com>
2682
2683         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
2684         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
2685
2686 2003-01-28  Richard Henderson  <rth@redhat.com>
2687
2688         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
2689
2690         * config/cris/cris.c (cris_address_cost): Make static.
2691         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
2692         * config/cris/cris.h (ADDRESS_COST): Remove.
2693         * config/cris/cris-protos.h: Update.
2694
2695 2003-01-23  Mike Stump  <mrs@apple.com>
2696
2697         * regclass.c (init_reg_autoinc): New function.
2698         (regclass): Move initialization of forbidden_inc_dec_class from
2699         here...
2700         (init_regs): to here.  Avoids reinitialization for each function,
2701         saving compilation time.
2702
2703 2003-01-28  Jason Merrill  <jason@redhat.com>
2704
2705         * cpplib.h (struct cpp_options): Add warn_deprecated field.
2706         * cppinit.c (cpp_create_reader): Turn it on by default.
2707         * c-opts.c (c_common_decode_option): Set it.
2708         * cpplib.c (do_pragma_once): Only complain about #pragma once
2709         if warn_deprecated is set.
2710
2711 2003-01-28  Dale Johannesen  <dalej@apple.com>
2712
2713         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
2714         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
2715         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
2716
2717 2003-01-28  Richard Henderson  <rth@redhat.com>
2718
2719         * target.h (targetm.address_cost): New.
2720         * target-def.h (TARGET_ADDRESS_COST): New.
2721         (TARGET_RTX_COSTS): Uncomment.  Oops.
2722         * cse.c (address_cost): Use new target hook.
2723         (default_address_cost): New.
2724         * output.h (default_address_cost): Declare.
2725         * hooks.c (hook_int_rtx_0): New.
2726         * hooks.h (hook_int_rtx_0): Declare.
2727         * loop.c (combine_givs_p): Remove if 0 code.
2728         * system.h (ADDRESS_COST): Poison.
2729
2730         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
2731         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
2732         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
2733         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
2734         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
2735         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
2736         config/xtensa/xtensa.c, config/xtensa/xtensa.h
2737         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
2738         (ADDRESS_COST): Remove.
2739
2740         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
2741         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
2742         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
2743         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2744         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
2745         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
2746         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
2747         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
2748         config/mips/mips.c, config/mips/mips.h,
2749         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
2750         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
2751         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
2752         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
2753         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
2754         config/vax/vax.c, config/vax/vax.h
2755         (foo_address_cost): Make static.
2756         (TARGET_ADDRESS_COST): New.
2757         (ADDRESS_COST): Remove.
2758
2759         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
2760         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
2761         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
2762         config/stormy16/stormy16.h
2763         (ADDRESS_COST): Move code ...
2764         (foo_address_cost): ... here.
2765         (TARGET_ADDRESS_COST): New.
2766
2767         * config/m32r/m32r.c (m32r_address_cost): Remove.
2768         * config/m32r/m32r-protos.h: Update.
2769
2770         * config/mmix/mmix.c (mmix_address_cost): Remove.
2771         * config/mmix/mmix-protos.h: Update.
2772
2773         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
2774         mn10300_address_cost; move unsig allocation ...
2775         (mn10300_address_cost): ... here.
2776         (TARGET_ADDRESS_COST): New.
2777         * config/mn10300/mn10300-protos.h: Update.
2778         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
2779
2780         * doc/tm.texi: Update.
2781
2782 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
2783
2784         * haifa-sched.c (schedule_insn): Return necessary cycle advance
2785         after issuing the insn.
2786         (rank_for_schedule): Make a insn with /S the highest priority
2787         insn.
2788         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
2789         (choose_ready): Check SCHED_GROUP_P.
2790         (schedule_block): Advance cycle after issuing insn if it is
2791         necessary.  Don't reorder insns if there is an insn with /S.
2792         (set_priorities): Ignore schedule groups.
2793
2794         * sched-deps.c (remove_dependence, group_leader): Remove the
2795         functions.
2796         (add_dependence): Ignore schedule groups.
2797         (set_sched_group_p): Don't make copy of dependencies from previous
2798         insn of the schedule group.  Add anti-dependency to the previous
2799         insn of the schedule group.
2800         (compute_forward_dependences): Ignore schedule groups.
2801
2802         * sched-ebb.c (init_ready_list): Ignore schedule groups.
2803
2804         * sched-rgn.c (init_ready_list): Ditto.
2805         (can_schedule_ready_p): Ditto.
2806
2807 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
2808
2809         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
2810         register to another one.
2811
2812 2003-01-28  Richard Henderson  <rth@redhat.com>
2813
2814         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
2815
2816 2003-01-28  Roger Sayle  <roger@eyesopen.com>
2817
2818         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
2819
2820 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
2821
2822         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
2823         class contains a floating-point register, return the size of the
2824         mode in half words.
2825
2826 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
2827
2828         * i386.c (ix86_carry_flag_operator):  New predicate.
2829         (fcmov_operator): Fix whitespace.
2830         (ix86_expand_carry_flag_compare):  Deal with floating point.
2831         (ix86_expand_int_movcc): Deal with fp; update insn expansion
2832         (ix86_expand_int_addcc): Likewise.
2833         (ix86_expand_strlensi_unroll_1): likewsie.
2834         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
2835         * i386.md (add?i_carry_rex64): Use new predicate.
2836         (sub?i3_carry_rex64): Likewise.
2837         (x86_mov?icc_0_m1*): Likewise.
2838
2839 2003-01-28  Andreas Schwab  <schwab@suse.de>
2840
2841         * cfgloopmanip.c (create_preheader): Initialize src to avoid
2842         warning.
2843
2844         * expmed.c (emit_store_flag): Fix cast to avoid sign
2845         comparison warning.
2846
2847         * combine.c (force_to_mode): Add cast to fix warning when
2848         STORE_FLAG_VALUE is negative.
2849
2850 2003-01-27  Richard Henderson  <rth@redhat.com>
2851
2852         * Makefile.in (cse.o): Depend on TARGET_H.
2853         * cse.c (rtx_cost): Use targetm.rtx_costs.
2854         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
2855         * doc/tm.texi: Update.
2856
2857         * target.h (targetm.rtx_costs): New.
2858         * target-def.h (TARGET_RTX_COSTS): New.
2859         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
2860         * hooks.h: Update.
2861
2862         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
2863         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
2864         * config/alpha/alpha.h (PROCESSOR_MAX): New.
2865         (CONST_COSTS, RTX_COSTS): Remove.
2866
2867         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
2868         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
2869         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
2870         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
2871         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
2872         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
2873         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
2874         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
2875         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
2876         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
2877         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
2878         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
2879         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
2880         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
2881         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
2882         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
2883         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
2884         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
2885         config/v850/v850.c, config/v850/v850.h,
2886         config/xtensa/xtensa.c, config/xtensa/xtensa.h
2887         (CONST_COSTS, RTX_COSTS): Move code ...
2888         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
2889
2890         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
2891         (arm_rtx_costs, TARGET_RTX_COSTS): New.
2892         * config/arm/arm-protos.h: Update.
2893         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
2894
2895         * config/avr/avr.h (CONST_COSTS): Move code ...
2896         * config/avr/avr.c (avr_rtx_costs): ... here.
2897         (default_rtx_costs): Make static.
2898         * config/avr/avr-protos.h: Update.
2899
2900         * config/h8300/h8300.c (const_costs): Make static.
2901         (h8300_and_costs, h8300_shift_costs): Likewise.
2902         * config/h8300/h8300-protos.h: Update.
2903
2904         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
2905         (CONST_COSTS): Move code ...
2906         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
2907         default_rtx_costs; update for signature change.
2908         * config/ip2k/ip2k-protos.h: Update.
2909
2910         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
2911         (CONST_COSTS): Move code ...
2912         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
2913         (TARGET_RTX_COSTS): New.
2914         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
2915         * config/m68hc11/m68hc11-protos.h: Update.
2916
2917         * config/m68k/m68k.c (const_int_cost): Make static.
2918         * config/m68k/m68k-protos.h: Update.
2919
2920         * config/mcore/mcore.c (mcore_const_costs): Make static.
2921         (mcore_and_cost, mcore_ior_cost): Likewise.
2922         * config/mcore/mcore-protos.h: Update.
2923
2924         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
2925         (mmix_rtx_cost_recalculated): Remove.
2926         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
2927         * config/mmix/mmix-protos.h: Update.
2928
2929         * config/sh/sh.c (shiftcosts): Make static.
2930         (addsubcosts, andcosts, multcosts): Likewise.
2931         * config/sh/sh-protos.h: Update.
2932
2933         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
2934         (sparc_rtx_costs): Make static; update for change in signature.
2935         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
2936         * config/sparc/sparc-protos.h: Update.
2937
2938         * config/v850/v850.c (const_costs): Make static.
2939         * config/v850/v850-protos.h: Update.
2940
2941         * config/vax/vax.h (RTX_COSTS): Remove.
2942         (CONST_COSTS): Move code ...
2943         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
2944         from vax_rtx_cost.
2945         (vax_rtx_costs, TARGET_RTX_COSTS): New.
2946
2947 2003-01-27  Richard Henderson  <rth@redhat.com>
2948
2949         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
2950         * config/vax/vax-protos.h: Update.  Really.
2951
2952 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
2953
2954         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
2955         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
2956         zero if no hardware floating point.
2957         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
2958         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
2959         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
2960         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
2961         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
2962         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
2963         even FP registers on N32 and N64.
2964         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
2965         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
2966         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
2967         even-register-like alignment to 128-bit arguments.
2968         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
2969         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
2970         on N32 or N64.
2971         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
2972         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
2973         (TPBIT): Set to tp-bit.c.
2974         (tp-bit.c): Create out of fp-bit.c.
2975
2976 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2977
2978         * c-parse.in: Remove '%expect 32' directive in objc mode.
2979
2980 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
2981
2982         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
2983         (LIBGCOV): New variable.
2984         (libgcc.mk): Add LIBGCOV.
2985         (LIBGCC_DEPS): Add libgcov.c.
2986         (libgcov.a): New target.
2987         (clean): Remove libgcov.a.
2988         (install-libgcc): Do libgcov too.
2989         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
2990         with libgcov.a.
2991         * libgcc2.c (L_gcov): Move into ...
2992         * libgcov.c: ... here. New file.
2993         * mklibgcc.in: Add libgcov rules.
2994         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
2995
2996         * doc/invoke.texi (profile-arcs, test-coverage): Update and
2997         clarify.
2998
2999         * profile.c (index_counts_file): Remove duplicate check for open file.
3000
3001 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
3002
3003         * gcc/doc/invoke.texi (Optimization Options): Group together
3004         optional and experimental flags.  Move trapv and bounds-check
3005         out of this section.  Group floating point flags together.
3006         (Code Gen Options): Move trapv and bounds-check to here.
3007
3008 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
3009
3010         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
3011
3012 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
3013
3014         PR optimization/9090
3015         * function.c (purge_addressof_1): After pushing an addressed register
3016         onto the stack, simplify the result.
3017
3018 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3019
3020         * doc/extend.texi: Fix typo.
3021
3022 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3023
3024         * doc/cppopts.texi: Fix typo.
3025         * doc/objc.texi: Likewise.
3026         * doc/passes.texi: Likewise.
3027
3028 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
3029
3030         * real.c (ibm_extended_format): Add 53 to minimum exponent.
3031         (encode_ibm_extended): Adjust.
3032
3033 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
3034
3035         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
3036         timevar_id enumerations.
3037
3038 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
3039
3040         * combine.c: Fix formatting.
3041
3042 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
3043
3044         * doc/gccint.texi: Update the copyright.
3045
3046 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
3047
3048         * doc/cpp.texi: Fix typos.
3049         * doc/extend.texi: Likewise.
3050         * doc/gty.texi: Likewise.
3051         * doc/install.texi: Likewise.
3052         * doc/passes.texi: Likewise.
3053         * doc/rtl.texi: Likewise.
3054         * doc/tm.texi: Likewise.
3055
3056 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
3057
3058         * config/ia64/fde-glibc.c: Fix comment typos.
3059         * config/ia64/hpux.h: Likewise.
3060         * config/ia64/ia64.c: Likewise.
3061         * config/ia64/ia64.h: Likewise.
3062         * config/ia64/unwind-ia64.c: Likewise.
3063
3064 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
3065
3066         * config/i386/i386-modes.def: Fix comment typos.
3067         * config/i386/i386.c: Likewise.
3068         * config/i386/i386.md: Likewise.
3069
3070 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3071
3072         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
3073         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
3074         ASM_FINISH_DECLARE_OBJECT before defining it.
3075         * toplev.c (rest_of_decl_compilation):  Don't define
3076         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
3077         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
3078         parameters for DWARF2 targets because they _are_ used.
3079
3080 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
3081
3082         * fp-bit.h: Define macros for TFmode floating-point constants
3083         in IBM-extended TFmode types.
3084         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
3085         widths.
3086         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
3087         TFmode type.
3088
3089         * config/fp-bit.h: Define macros for TFmode floating-point
3090         constants in IEEE quad TFmode type.  Declare functions according
3091         to L_ macros.
3092         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
3093         (TFtype, TItype, UTItype): Define if TMODES is defined.
3094         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
3095         (F_T_BITOFF, D_T_BITOFF): Define.
3096         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
3097         guaranteed to be wide enough.
3098         * config/fp-bit.c: Check for L_ macros for tf functions.
3099         (__thenan_tf): New.
3100         (nan): Adjust.
3101         (pack_d, unpack_d): Support IEEE 854 quad type.
3102         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
3103         from FRAC_NBITS, FRAC_BITS and NGARDS.
3104         (usi_to_float): Cast constants to be shifted to fractype
3105         instead of assuming long long is wide enough.
3106         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
3107
3108 2003-01-26  Andreas Jaeger  <aj@suse.de>
3109
3110         * df.c: Remove prototype of unused function df_regno_rtl_debug.
3111
3112 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
3113
3114         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
3115         (DBBIT_FUNCS): Added _df_to_tf.
3116         (TPBIT_FUNCS): New.
3117         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
3118         (LIBGCC_DEPS): Added TPBIT.
3119         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
3120
3121         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
3122         been able to move the result to target.
3123
3124         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
3125         for the appropriate mode.
3126
3127         * calls.c (emit_library_call_value_1): Handle return values
3128         in a PARALLEL.
3129
3130         * rtl.c (get_mode_alignment): Moved to...
3131         * stor-layout.c: ... here.
3132
3133         * print-rtl.c (print_rtx): Don't print MEM details in
3134         GENERATOR_FILEs.
3135
3136 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
3137
3138         * df.h: Update comments, tidy formatting.
3139         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
3140         REVERSE, UNION, INTERSECTION.  All uses updated.
3141         (OLD_DF_INTERFACE): Remove.
3142         (struct insn_info): Remove commented out insn field.
3143         * df.c: Update comments, tidy formatting.
3144         (df_def_table_realloc): Remove.
3145
3146
3147 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
3148
3149         * calls.c (save_fixed_argument_area): Tidy.
3150         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
3151         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
3152         call chain loop at 1 if !try_tail_call.  Formatting.
3153         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
3154         Use save_fixed_argument_area and restore_fixed_argument_area.
3155
3156 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3157
3158         * df.c (df_uses_record): Handle CC0.
3159
3160 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
3161
3162         * reload.c (maybe_memory_address_p): New function.
3163         (find_reloads_address): Use it instead of memory_address_p.
3164
3165 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
3166
3167         * final.c (shorten_branches): Align the address of code label
3168         when computing initial lengths and addresses.
3169
3170 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
3171
3172         * config/m68hc11/m68hc11.md: Fix a comment typo.
3173
3174 2003-01-25  Andreas Jaeger  <aj@suse.de>
3175
3176         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
3177         TARGET_MACHO.
3178
3179 2003-01-25  Roger Sayle  <roger@eyesopen.com>
3180
3181         * gcse.c (bypass_last_basic_block): New global variable.
3182         (bypass_block):  Use redirect_edge_and_branch_force to redirect
3183         fall-through edges.  Use bypass_last_basic_block to determine
3184         which blocks have valid PRE information.
3185         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
3186
3187 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
3188
3189         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
3190
3191 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
3192                               Eric Botcazou <ebotcazou@libertysurf.fr>
3193         PR opt/8492
3194         * gcse.c (one_cprop_pass): Delete unreachable blocks.
3195
3196 2003-01-25  Richard Henderson  <rth@redhat.com>
3197
3198         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
3199         from ia64_aix_select_rtx_section.
3200         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
3201         instead of saving and restoring flag_pic.
3202         (ia64_rwreloc_unique_section): Similarly.
3203         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
3204         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
3205         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
3206         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
3207
3208 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
3209
3210         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
3211         comment.
3212
3213 2002-01-25  Richard Henderson  <rth@redhat.com>
3214
3215         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
3216
3217 2002-01-25  Kelley Cook <kelleycook@comcast.net>
3218
3219         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
3220
3221 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
3222
3223         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
3224         type for bitmaps.  Use unsigned long.
3225         (nBITMAP_WORD_BITS): New macro.
3226         (BITMAP_WORD_BITS): New macro.
3227         (rest of file): Use it.
3228         * bitmap.c: Use it.
3229
3230 2003-01-25  Richard Henderson  <rth@redhat.com>
3231
3232         2002-02-19  Robert Lipe  <robertlipe@usa.net>
3233         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
3234
3235 2002-01-25  Roger Sayle  <roger@eyesopen.com>
3236
3237         * builtins.c (purge_builtin_constant_p): Scan insn stream
3238         sequentially rather than by basic block.
3239         * function.c (purge_addressof): Simplify test with INSN_P.
3240
3241 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
3242
3243         * combine.c (simplify_comparison, case AND): Remove a redundant test.
3244
3245 2002-01-25  Roger Sayle  <roger@eyesopen.com>
3246
3247         * function.h (struct function): New field calls_constant_p.
3248         (current_function_calls_constant_p): New macro for above.
3249         * function.c (prepare_function_start): Initialize calls_eh_return
3250         and calls_constant_p.
3251         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
3252         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
3253         when the current_function_calls_constant_p.
3254         * integrate.c (expand_inline_function): Set calls_constant_p if
3255         the function being inlined has calls_constant_p set.
3256
3257 2002-01-25  Roger Sayle  <roger@eyesopen.com>
3258
3259         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
3260         optimizing, even if flag_gcse is true.
3261         * toplev.c (rest_of_compilation): purge_builtin_constant_p
3262         only needs to be called when "optimize > 0 && flag_gcse".
3263
3264 2003-01-25  Roger Sayle  <roger@eyesopen.com>
3265
3266         * stmt.c (emit_case_bit_tests): New routine to implement suitable
3267         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
3268         (case_bit_test_cmp): New comparison function for "qsort" to order
3269         case_bit_tests by decreasing number of destination nodes.
3270         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
3271         (expand_end_case_type): Use emit_case_bit_tests to implement
3272         suitable switch statments.
3273         (CASE_USE_BIT_TESTS): New target macro to disable the above.
3274         * Makefile.in (stmt.o): Add dependency on optab.h.
3275         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
3276
3277 2003-01-23  Andreas Schwab  <schwab@suse.de>
3278
3279         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
3280         __do_global_ctors_aux hidden global and don't put it in
3281         .init_array.
3282         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
3283         instead so that it comes first.
3284
3285 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
3286
3287         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
3288         subreg is read/modify.
3289
3290 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
3291
3292         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
3293         do libcall for large blocks.
3294         * i386.md (comi patterns): Set type to ssecomi.
3295         (sse2_unpck?pd): Fix mode of vec_select.
3296
3297         * cse.c: Include except.h
3298         (cse_set_around_loop):  Do not create new basic blocks.
3299         * Makefile.in (cse.o): Add dependnecy on except.h
3300
3301 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
3302
3303         * builtins.c (fold_trunc_transparent_mathfn): New function.
3304         (fold_builtin): Use it.
3305         * convert.c (convert_to_real): Re-enable code to convert
3306         math functions; add support for floor familly functions.
3307
3308 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3309
3310         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
3311         dependencies on coretypes.h and $(TM_H).
3312
3313 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
3314
3315         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
3316
3317 2002-01-24  Stuart Hastings  <stuart@apple.com>
3318
3319         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
3320
3321 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3322
3323         * config/c4x/c4x.md (UNSPEC_BU): New constants.
3324         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
3325         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
3326         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
3327         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
3328         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
3329         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
3330         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
3331
3332 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
3333
3334         * emit-rtl.c (reg_attrs_htab): New static variable.
3335         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
3336         functions.
3337         (reg_rtx): Do not maintain regno_decl.
3338         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
3339         set_mem_attrs_from_reg): New global function.
3340         (init_emit): Do not initialize regno_decl.
3341         (init_emit_once): initialize reg_attrs_htab.
3342         * final.c (alter_subreg): Do not replace REG by SUBREG.
3343         (gen_mem_expr_from_op): Improve output.
3344         (output_asm_operands): Likewise.
3345         * function.c (assign_params): Do not set REGNO_DECL.
3346         * function.h (struct function): Kill regno_decl.
3347         (REGNO_DECL): Kill.
3348         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
3349         * print_rtl.c (print_rtx): Output REG information.
3350         * regclass.c (reg_scan_mark_refs): Update attrs.
3351         * reload1.c (alter_reg): Likewise.
3352         * simplify_rtx.c (simplify_subreg): Likewise.
3353         * stmt.c (expand_decl): Likewise.
3354         * rtl.def (REG): Add new field.
3355         * rtl.h (struct reg_attrs): New.
3356         (rtunion_def): At rtreg.
3357         (X0MEMATTR): Add checking.
3358         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
3359         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
3360         Declare.
3361         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
3362
3363 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
3364
3365         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
3366         (xtensa_emit_call, print_operand): Fix printf format strings
3367         to avoid compile warnings.
3368         (xtensa_function_prologue, xtensa_function_epilogue): Change type
3369         of "size" argument to HOST_WIDE_INT to fix compile warnings.
3370         * config/xtensa/xtensa-protos.h
3371         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
3372
3373 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
3374
3375         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
3376         (implicit_built_in_decls): New global array.
3377         (mathfn_built_in): New global function.
3378         (fold_trunc_transparent_mathfn): New static function
3379         (expand_builtin_strstr, expand_bultin_strchr,
3380         expand_builtin_strpbrk, expand_builtin_strcpy,
3381         expand_builtin_strncpy, expand_bultin_strcmp,
3382         expand_bultin_strncat, expand_builtin_fputs): Use
3383         implicint_built_in_decls.
3384         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
3385         * builtins.def: Fix comments.
3386         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
3387         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
3388         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
3389         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
3390         (DEF_C99_C90RES_BULTIN): New.
3391         (*f, *l builtins): Update.
3392         * c-common.c (DEF_BUILTIN): Initialize implicit array.
3393         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
3394         * convert.c (strip_float_extensions): New global function.
3395         * tree.h (DEF_BUILTIN): Accept 10 arguments.
3396         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
3397         Declare.
3398         * java/builtins.c (define_builtin): Handle implicit.
3399         (DEF_BUILTIN): Update.
3400         * tm.texi (TARGET_C99_FUNCTIONS): Document.
3401         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
3402         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
3403         when using glibc2.
3404
3405 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
3406
3407         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
3408         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
3409         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
3410         * config/xtensa/crti.asm: New file.
3411         * config/xtensa/crtn.asm: New file.
3412         * config/xtensa/t-elf: New file.
3413         * config/xtensa/t-linux: New file.
3414         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
3415         Move various CFLAGS settings to new t-elf file.
3416
3417 2003-01-24  Richard Henderson  <rth@redhat.com>
3418
3419         PR optimization/4382
3420         * tree-inline.c (find_builtin_longjmp_call_1): New.
3421         (find_builtin_longjmp_call): New.
3422         (inlinable_function_p): Use it.
3423
3424 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3425
3426         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
3427         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
3428         * config/i386/i386.c (function_arg_pass_by_reference): New.
3429         (ix86_va_arg): Support arguments passed by reference.
3430
3431 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3432
3433         * cfgloopanal.c: New file.
3434         * cfgloopmanip.c: New file.
3435         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
3436         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
3437         cfglayout.o): Add dependency on cfgloop.h.
3438         (cfgloop.o): Add flags.h dependency.
3439         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
3440         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
3441         (struct loop, struct loops, flow_loops_find, flow_loops_update,
3442         flow_loops_free, flow_loops_dump, flow_loop_dump,
3443         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
3444         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
3445         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
3446         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
3447         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
3448         find_common_loop, verify_loop_structure): Declarations moved to ...
3449         * cfgloop.h: New file.
3450         * bb-reorder.c (reorder_basic_blocks): Modified.
3451         * cfglayout.c: Include cfgloop.h.
3452         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
3453         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
3454         (break_superblocks): New static function.
3455         (cfg_layout_finalize): Use it.
3456         (cfg_layout_split_block): New function.
3457         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
3458         fields.
3459         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
3460         changed.
3461         (cfg_layout_split_block): Declare.
3462         * cfgloop.c: Include cfgloop.h and flags.h.
3463         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
3464         get_loop_body): Avoid signed versus unsigned comparison warnings.
3465         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
3466         loop_latch_edge): Modified.
3467         (verify_loop_structure): Modified to use flags stored in loop structure;
3468         check irreducible loops.
3469         (cancel_loop, cancel_loop_tree): New functions.
3470         (estimate_probability): Use loop analysis code for predictions.
3471         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
3472         warnings.
3473         * doloop.c: Include cfgloop.h.
3474         * loop.c: Include cfgloop.h.
3475         * predict.c: Include cfgloop.h.
3476         * toplev.c: Include cfgloop.h.
3477         * unroll.c: Include cfgloop.h.
3478         * tracer.c (tracer): Modified.
3479
3480 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
3481
3482         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
3483
3484 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
3485
3486         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
3487         * configure: Regenerate.
3488
3489         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
3490         (tls_symbolic_reference_mentioned_p): Add prototype.
3491         (s390_tls_get_offset): Add prototype.
3492         (emit_pic_move): Remove prototype, replace by ...
3493         (emit_symbolic_move): .. this new prototype.
3494
3495         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
3496         (tls_model_chars): New global variable.
3497         (s390_encode_section_info): Encode TLS model.
3498         Use targetm.binds_local_p to check for local symbols.
3499         (s390_strip_name_encoding): New function.
3500         (TARGET_STRIP_NAME_ENCODING): Define.
3501
3502         (get_thread_pointer): New function.
3503         (legitimize_tls_address): New function.
3504         (legitimize_address): Call it.
3505         (emit_pic_move): Remove, replace by ...
3506         (emit_symbolic_move): ... this new function.
3507
3508         (larl_operand): Handle TLS operands.
3509         (legitimate_constant_p): Likewise.
3510         (s390_decompose_address): Likewise.
3511         (s390_cannot_force_const_mem): New function.
3512         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
3513
3514         (s390_output_symbolic_const): Handle TLS unspecs.
3515         (print_operand): New code 'J'.
3516         (machine_function): Add struct member 'some_ld_name'.
3517         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
3518
3519         (enum s390_builtin): New type.
3520         (code_for_builtin_64, code_for_builtin_31): New global variables.
3521         (s390_init_builtins, s390_expand_builtin): New functions.
3522         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
3523
3524         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
3525         (ASM_OUTPUT_LABELREF): Define.
3526         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
3527
3528         * config/s390/s390.md: Define TLS UNSPEC constants.
3529         ("movdi", "movsi"): Handle TLS operands.
3530         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
3531         ("*tls_load_64", "*tls_load_31"): New insns.
3532         ("call_value_tls", "call_value_tls_exp"): New expanders.
3533         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
3534         "bas_tls_64", "bas_tls_31"): New insns.
3535
3536 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
3537
3538         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
3539         spe ABI is configured, if requested.
3540
3541 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3542
3543         * doc/passes.texi: Fix typo.
3544
3545 2003-01-24  Andreas Schwab  <schwab@suse.de>
3546
3547         * stor-layout.c (excess_unit_span): Only define if used.
3548
3549 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
3550
3551         * gcc/doc/invoke.texi (Optimization Options): List -O levels
3552         for each optimization flag.
3553
3554 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
3555
3556         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
3557
3558 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3559
3560         * doc/bugreport.texi: Use @command instead of @code for commands.
3561         * doc/collect2.texi: Likewise.
3562         * doc/headerdirs.texi: Likewise.
3563         * doc/invoke.texi: Likewise.
3564         * doc/standards.texi: Likewise.
3565         * doc/tm.texi: Likewise.
3566         * doc/trouble.texi: Likewise.
3567
3568 2003-01-24  Nick Clifton  <nickc@redhat.com>
3569
3570         * config/arm/arm.c (use_return_insn): Do not use a single return
3571         instruction for interrupt handelrs which have to create a stack
3572         frame.
3573         (arm_expand_prologue): Do not pre-bias the return address of
3574         interrupt handlers which create a stack frame.
3575
3576 2003-01-24  Nick Clifton  <nickc@redhat.com>
3577
3578         * Add sh2e support:
3579
3580         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
3581
3582                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
3583                 med_cbranches.  Fix logic in short_cbranches.
3584
3585         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
3586
3587                 * config/sh/sh.md (delay for cbranch): Don't annul delay
3588                 slots on SH2e.
3589                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
3590                 cbranch with unfilled delay slot on SH2e.
3591                 (output_branch): Fill with a nop the delay slot of a
3592                 branch that required a delay slot but didn't get one.
3593
3594         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
3595
3596                 * doc/invoke.texi (SH options): Document -m2e.
3597                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
3598                 * config/sh/lib1funcs.asm: Likewise.
3599                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
3600                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
3601                 not __sh1__.
3602                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
3603                 SH2E up.
3604                 (SH3E_BIT): Renamed to...
3605                 (SH_E_BIT): ... this.  Replace all uses.
3606                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
3607                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
3608                 (TARGET_SWITCHES): Added 2e.
3609                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
3610                 (processor_type): Added PROCESSOR_SH2E.
3611                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
3612                 TARGET_SH2E, except in sqrtsf2_i.
3613                 (attribute cpu): Added sh2e.
3614                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
3615                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
3616                 * config.gcc: Add sh2e target support.
3617
3618 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
3619
3620         Rename -W to -Wextra.
3621         * c-decl.c:  Update comments.
3622         * c-typeck.c:  Likewise.
3623         * flags.h:  Likewise.
3624         * function.c:  Likewise.
3625         * stmt.c:  Likewise.
3626         * toplev.c:  Update comments.
3627         (W_options):  Add 'extra'.
3628         (display_help):  Remove '-W'.
3629         (decode_W_option):  Special warn_uninitialized treatment in the case
3630         of -Wextra.
3631         * doc/invoke.texi:  Update with new entries.
3632
3633 2003-01-23  Richard Henderson  <rth@redhat.com>
3634
3635         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
3636         in no-else-block case.  Add commentary.
3637
3638 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3639
3640         * configure.in: Revert last change.
3641
3642 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3643
3644         * configure.in: Don't include ansidecl.h in tconfig.h.
3645         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
3646         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
3647         ATTRIBUTE_UNUSED.
3648
3649         * configure: Regenerate.
3650
3651 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3652
3653         PR java/6748
3654         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
3655         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
3656         kernels.
3657
3658 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3659
3660         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
3661
3662 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
3663
3664         * genattrtab.c (write_attr_get): Mark 'insn' paramter
3665         as ATTRIBUTE_UNUSED.
3666
3667 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
3668
3669         * arm.c (thumb_base_register_rtx_p): New function.
3670         (thumb_index_register_rtx_p): New function.
3671         (thumb_legitimate_address_p): New function.
3672         (thumb_legitimate_offset_p): New function.
3673         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
3674         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
3675         definitions.
3676         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
3677         (THUMB_LEGITIMATE_OFFSET): Delte.
3678         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
3679         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
3680         (thumb_legitimate_offset_p): Likewise.
3681
3682 2003-01-23  Andreas Schwab  <schwab@suse.de>
3683
3684         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
3685
3686 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3687
3688         * fixinc/Makefile.in (FL_LIST): Revert last change.
3689
3690 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3691
3692         PR other/7341
3693         * invoke.texi (ftest-coverage): Fix broken cross-reference.
3694         Change @code to @command for gcov command.
3695
3696         * gcc.texi: Adjust title of gcov section.
3697         Adjust copyright.
3698         * gcov.texi: Likewise.
3699
3700 2003-01-22  Roger Sayle  <roger@eyesopen.com>
3701
3702         PR optimization/8423
3703         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
3704         its argument is constant, or 0 if !flag_gcse.
3705         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
3706         if it's argument is constant.
3707         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
3708         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
3709         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
3710         * builtins.c (purge_builtin_constant_p): New function to force
3711         instantiation of any remaining CONSTANT_P_RTX nodes.
3712         * rtl.h (purge_builtin_constant_p): Prototype here.
3713         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
3714         pass after GCSE and before loop.
3715         (flag_gcse): No longer static.
3716         * flags.h (flag_gcse): Prototype here.
3717
3718 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
3719
3720         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
3721         introduced by last change.
3722
3723 2003-01-22  Andreas Schwab  <schwab@suse.de>
3724
3725         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
3726
3727 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
3728
3729         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
3730         request a scratch reg on H8S when the shift count is 8.
3731
3732 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
3733
3734         * config/s390/s390-protos.h (preferred_la_operand_p):
3735         Remove second parameter.
3736         * config/s390/s390.c (preferred_la_operand_p): Likewise.
3737         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
3738         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
3739         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
3740         Add peepholes to transform ADD to LOAD ADDRESS.
3741
3742 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
3743
3744         * arm.c (arm_address_register_rtx_p): New function.
3745         (arm_legitimate_address_p): New function.
3746         (arm_legitimate_index_p): New function.
3747         (legitimize_pic_address): Use arm_legitimate_index_p.
3748         * arm-protos.h (arm_legtimate_address_p): Add prototype.
3749         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
3750         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
3751
3752 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
3753
3754         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
3755         * config/s390/2064.md (define_bypass): Correct 'Load' and
3756         'Load-address' bypass values.
3757
3758 2003-01-22  Andreas Schwab  <schwab@suse.de>
3759
3760         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
3761
3762 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3763
3764         * genautomata.c (output_internal_insn_latency_func,
3765         output_print_reservation_func): Short circuit when there is no
3766         automaton to generate code for.
3767
3768 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3769
3770         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
3771         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
3772
3773 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
3774
3775         * config/rs6000/rs6000.md: Remove warning.
3776         (builtin_setjmp_receiver): Likewise.
3777         * config/darwin.c (update_stubs): Slightly improve terrible hack
3778         with identifiers.  Add comment pointing out problems with it.
3779         (update_non_lazy_ptrs): Likewise.
3780
3781 2003-01-21  Richard Henderson  <rth@redhat.com>
3782
3783         * dwarf2out.c (lookup_filename): Fix printf format warning.
3784         * system.h (fread_unlocked, fwrite_unlocked): Undef.
3785
3786         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
3787         (fixincl.o-warn, gnu-regex.o-warn): New.
3788         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
3789         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
3790         * fixinc/fixincl.c (process): Fix printf format warning.
3791
3792 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3793
3794         * dwarf2out (output_file_names): Don't crash if called
3795         with empty file_table.
3796
3797 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3798
3799         * genautomata.c (output_internal_insn_latency_func): Add
3800         missing break statement to generated code.
3801
3802 2003-01-21  Roger Sayle  <roger@eyesopen.com>
3803
3804         * stmt.c (same_case_target_p): New function to determine whether
3805         two case labels branch to the same target.  Split out from...
3806         (group_case_nodes): ... here.  Use same_case_target_p instead.
3807         (strip_default_case_nodes): Remove explicit case nodes
3808         that branch to the default destination.
3809         (expand_end_case_type): Call strip_default_case_nodes after
3810         group_case_nodes, to simplify the case-list before we count it.
3811         Only generate table_label RTX when actually needed.  Try to share
3812         thiscase->exit_label and thiscase->data.case_stmt.default_label
3813         when a switch has no explicit default case.  Simplify test for
3814         constant index.
3815
3816 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
3817
3818         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
3819         \t.
3820         (*negsf2_h8300hs): Likewise.
3821         (*addsi3_lshiftrt_16_zexthi): Likewise.
3822         (*iorhi3_lshiftrt_8): Likewise.
3823
3824 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3825
3826         * dwarf2out.c (fde_table_in_use): Mark GTY.
3827         (dwarf2out_cfi_label_num): New variable, marked GTY.
3828         (dwarf2out_cfi_label): Use it instead of static label_num.
3829         * emit-rtl.c (label_num): Mark GTY.
3830
3831 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
3832
3833         * config/h8300/h8300.c (output_plussi): Support H8/300.
3834         (compute_plussi_length): Likewise.
3835         (compute_plussi_cc): Likewise.
3836         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
3837         output assembly instructions.
3838
3839 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3840
3841         * calls.c (fix_unsafe_tree): Prototype.
3842
3843         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
3844         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
3845         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
3846         c-parse.o-warn): Add -Wno-error.
3847         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
3848
3849         * configure.in (--enable-werror): Add new flag.
3850         * doc/install.texi (--enable-werror): Document.
3851         * configure: Regenerate.
3852
3853         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
3854
3855 2003-01-21  Andreas Schwab  <schwab@suse.de>
3856
3857         * genautomata.c (output_internal_insn_latency_func): Fix missing
3858         close paren in output.
3859
3860 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3861
3862         * genautomata.c: Space savings in generated code:
3863         (output_dfa_insn_code_func): Split out the table-enlargement
3864         path to an out-of-line static function, dfa_insn_code_enlarge.
3865         (output_internal_insn_latency_func): Use a lookup table for the
3866         default latencies.
3867         (output_print_reservation_func): Use a lookup table for the
3868         strings.
3869
3870 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
3871
3872         PR opt/7507
3873         * calls.c (fix_unsafe_tree): Split out from ...
3874         (expand_call): ... here.  Use it on the function address too.
3875
3876 2003-01-20  Richard Henderson  <rth@redhat.com>
3877
3878         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
3879
3880 2003-01-20  Richard Henderson  <rth@redhat.com>
3881
3882         PR opt/7154
3883         * stmt.c (expand_asm_operands): Validize memory operands.
3884
3885 2003-01-20  Richard Henderson  <rth@redhat.com>
3886
3887         PR opt/8848
3888         * ifcvt.c (noce_process_if_block): Correct arguments to
3889         modified_between_p for no-else-block case.
3890
3891 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3892
3893         * config/h8300/h8300.c (const_costs): Remove a warning.
3894         (output_plussi): Likewise.
3895         (compute_plussi_length): Likewise.
3896         (compute_plussi_cc): Likewise.
3897
3898 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3899
3900         * config/h8300/h8300.md (addsi_h8300): Remove the last
3901         alternative.
3902
3903 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3904
3905         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3906
3907 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3908
3909         * system.h (__NO_STRING_INLINES): Define.
3910
3911 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3912
3913         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
3914         is not a scalar int mode.
3915
3916 2003-01-20  Roger Sayle  <roger@eyesopen.com>
3917
3918         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
3919         insn's notes following a substitution inside a libcall.
3920
3921 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
3922
3923         * configure.in: Check for system-provided 'uchar' type.
3924         * configure, config.in: Regenerate.
3925         * cpphash.h: Only typedef 'uchar' if the system doesn't.
3926
3927 2003-01-20  Richard Henderson  <rth@redhat.com>
3928
3929         * expr.h (MUST_PASS_IN_STACK): Move implementation...
3930         * calls.c (default_must_pass_in_stack): ... here.
3931
3932 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
3933
3934         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
3935
3936         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
3937
3938         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
3939         Wrap up definition of `insn_alts'.
3940
3941         * genattrtab.c (main): Wrap up `insn_alts'.
3942
3943 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3944
3945         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
3946         prototyping.
3947         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
3948
3949         * config.in, configure: Regenerate.
3950
3951 2003-01-20  Nick Clifton  <nickc@redhat.com>
3952
3953         * config/arm/arm.md (sibcall_epilogue): Add an
3954         UNSPEC_PROLOGUE_USE to prevent the link register from being
3955         considered dead.
3956
3957 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
3958
3959         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
3960
3961 2003-01-20  Andreas Schwab  <schwab@suse.de>
3962
3963         * system.h: Don't declare strsignal if the decl test hasn't been
3964         run yet.
3965
3966 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3967
3968         * config/h8300/h8300.c (notice_update_cc): Don't assume that
3969         recog_data.operands[0] is always associated with cc0.
3970
3971 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
3972
3973         * collect2.c (ldgetname): Expand declaration to prototype.
3974         * read-rtl.c (atoll): Add prototype.
3975         * system.h (strsignal): Also declare if no declaration found.
3976
3977 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
3978
3979         * config.gcc (mips64*-*-linux*): Added.
3980         * config/mips/linux64.h, config/mips/t-linux64: New file.
3981         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
3982         * config/mips/mips.c (override_options): Use it.
3983         * config/mips/mips.h (TARGET_SWITCHES): Added...
3984         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
3985         * Makefile.in (SPECS): New.
3986         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
3987         * gcc.c (process_command): Move self-spec processing past spec
3988         file loading.
3989         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
3990         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
3991         CRTSTUFF_T_CFLAGS.
3992         (SPECS): Document.
3993         * doc/invoke.texi (-mabi-fake-default): Document.
3994
3995 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
3996
3997         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
3998         z_reg, z_reg_qi): Declare static and GTY().
3999         (da_reg): Remove.
4000         (create_regs_rtx): Don't create da_reg.
4001         ("gt-m68hc11.h"): Include for GTY roots.
4002         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
4003         and GTY() here.
4004         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
4005         (m68hc11_soft_tmp_reg): Likewise.
4006         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
4007
4008 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
4009
4010         * basic-block.h: Fix comment formatting.
4011         * calls.c: Likewise.
4012         * combine.c: Likewise.
4013         * convert.c: Likewise.
4014         * gcov.c: Likewise.
4015         * haifa-sched.c: Likewise.
4016         * libgcc2.c: Likewise.
4017         * loop.c: Likewise.
4018         * profile.c: Likewise.
4019         * system.h: Likewise.
4020
4021 2003-01-18  Roger Sayle  <roger@eyesopen.com>
4022
4023         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
4024
4025 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4026
4027         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
4028
4029 2003-01-17  Dale Johannesen  <dalej@apple.com>
4030
4031         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
4032           (*floatunssidf2_internal):  Ditto.
4033
4034 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
4035
4036         * alias.c: Fix comment typos.
4037         * basic-block.h: Likewise.
4038         * c-common.c: Likewise.
4039         * c-common.h: Likewise.
4040         * c-decl.c: Likewise.
4041         * c-opts.c: Likewise.
4042         * c-pragma.c: Likewise.
4043         * c-pretty-print.h: Likewise.
4044         * cfg.c: Likewise.
4045         * cfganal.c: Likewise.
4046         * cfgbuild.c: Likewise.
4047         * cfgcleanup.c: Likewise.
4048         * cfglayout.c: Likewise.
4049         * cfgrtl.c: Likewise.
4050         * convert.c: Likewise.
4051         * cpphash.h: Likewise.
4052         * cpplex.c: Likewise.
4053         * cpplib.h: Likewise.
4054         * df.h: Likewise.
4055         * diagnostic.c: Likewise.
4056         * diagnostic.h: Likewise.
4057         * dwarf2.h: Likewise.
4058
4059 2003-01-17  Stan Shebs  <shebs@apple.com>
4060
4061         * config/darwin-protos.h: Forward-declare struct cpp_reader.
4062
4063 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
4064
4065         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
4066         mistake in last checkin.
4067
4068 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
4069
4070         * et-forest.c: Fix comment typos.
4071         * et-forest.h: Likewise.
4072         * except.c: Likewise.
4073         * expr.c: Likewise.
4074         * flags.h: Likewise.
4075         * flow.c: Likewise.
4076         * gcc.c: Likewise.
4077         * gcse.c: Likewise.
4078         * genattrtab.c: Likewise.
4079         * genautomata.c: Likewise.
4080         * gengtype.c: Likewise.
4081         * genrecog.c: Likewise.
4082         * global.c: Likewise.
4083         * gthr-rtems.h: Likewise.
4084
4085 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4086
4087         * i386.c (x86_function_profiler): Fix format specifier.
4088
4089 2003-01-17  Richard Henderson  <rth@redhat.com>
4090
4091         * gengtype.c (walk_type): Allow paramN_is.
4092
4093 2003-01-17  Nick Clifton  <nickc@redhat.com>
4094
4095         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
4096
4097 2003-01-16  Richard Henderson  <rth@redhat.com>
4098
4099         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
4100
4101 2003-01-16  Richard Henderson  <rth@redhat.com>
4102
4103         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
4104         (alpha_next_sequence_number): Likewise.
4105         (alpha_this_literal_sequence_number): Likewise.
4106         (alpha_this_gpdisp_sequence_number): Likewise.
4107         (struct alpha_funcs, alpha_funcs_num): Likewise.
4108         (struct alpha_links): Fix branch merge error.
4109         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
4110
4111 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
4112
4113         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
4114         R. Ghazi.
4115
4116 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
4117
4118         * ifcvt.c: Fix comment typos.
4119         * lcm.c: Likewise.
4120         * libgcc2.c: Likewise.
4121         * local-alloc.c: Likewise.
4122         * loop.c: Likewise.
4123         * predict.c: Likewise.
4124         * ra-build.c: Likewise.
4125         * ra.c: Likewise.
4126         * ra-colorize.c: Likewise.
4127         * ra.h: Likewise.
4128         * ra-rewrite.c: Likewise.
4129         * regmove.c: Likewise.
4130         * reload.h: Likewise.
4131         * rtlanal.c: Likewise.
4132         * toplev.c: Likewise.
4133         * tree.h: Likewise.
4134         * unwind-dw2-fde-glibc.c: Likewise.
4135         * vmsdbgout.c: Likewise.
4136
4137 2003-01-16  Richard Henderson  <rth@redhat.com>
4138
4139         * dwarf2out.c (struct file_table): Remove.
4140         (FILE_TABLE_INCREMENT): Remove.
4141         (file_table): Make a varray; mark for GC.  Update all users.
4142         (file_table_last_lookup_index): Extract from struct file_table.
4143         (output_file_names): Fix unsigned compare warnings.
4144         (add_name_attribute): Remove inline marker.
4145         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
4146         (lookup_filename): Don't manage size of file_table.
4147         (init_file_table): Allocate file_table with GC.
4148         (dwarf2out_init): Don't record main_input_filename here.
4149         (dwarf2out_finish): Do it here instead.
4150
4151 2003-01-16  Bruce Korb  <bkorb@gnu.org>
4152
4153         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
4154
4155 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
4156
4157         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
4158         instead of rotldi3_mextr.
4159
4160 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
4161
4162         * haifa-sched.c (move_insn): Restore moving all schedule group.
4163         (set_priorities): Restore taking SCHED_GROUP_P into account.
4164
4165         * sched-deps.c (add_dependence): Restore processing the last group
4166         insn.
4167         (remove_dependence, group_leader): Restore the functions.
4168         (set_sched_group_p): Restore adding dependencies from previous insn
4169         in the group.
4170         (compute_forward_dependences): Restore usage of group_leader.
4171
4172         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
4173         account.
4174
4175         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
4176         account.
4177         (can_schedule_ready_p): Ditto.
4178         (add_branch_dependences): Restore skipping over the group insns.
4179
4180 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
4181
4182         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
4183         68HC12 pre/post inc/dec side effects.
4184
4185 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
4186
4187         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
4188
4189 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
4190
4191         * sh.md (mshflo_w_x): Fix description of operation.
4192
4193 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
4194
4195         * config/rs6000/rs6000.h: Mention Altivec registers in
4196         commentary.  Fix typo.
4197
4198 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
4199
4200         * config/rs6000/rs6000.md (movti_string): Remove clobber.
4201         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
4202         generate PARALLEL with clobber for TARGET_POWER.
4203
4204 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4205
4206         * ra-colorize.c (colorize_one_web): Initialize variable.
4207         * regmove.c (fixup_match_1): Likewise.
4208         * reload1.c (reload_as_needed): Likewise.
4209         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
4210
4211 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4212
4213         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
4214
4215 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4216
4217         * dbxout.c (lastfile, cwd): Fix `unused' warning.
4218         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
4219         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
4220         is_main_source, file_table, decl_die_table_in_use,
4221         abbrev_die_table_in_use, line_info_table_in_use,
4222         separate_line_info_table_in_use, pubname_table_in_use,
4223         arange_table_in_use, ranges_table_in_use,
4224         current_function_has_inlines): Likewise.
4225         * flow.c (life_analysis): Likewise.
4226         * genemit.c (gen_insn): Likewise.
4227         * protoize.c (cplus_suffix): Likewise.
4228
4229         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
4230         * arm.h (ROUND_UP_WORD): Likewise.
4231
4232         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
4233         warning.
4234         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
4235         init_emit_once): Likewise.
4236         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
4237         Likewise.
4238         * function.c (assign_stack_temp_for_type): Likewise.
4239         * loop.c (loop_invariant_p): Likewise.
4240         * recog.c (push_operand): Likewise.
4241         * regclass.c (init_reg_sets_1): Likewise.
4242         * reload.c (update_auto_inc_notes): Likewise.
4243         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
4244         * stmt.c (expand_asm_operands): Likewise.
4245         * stor-layout.c (start_record_layout): Likewise.
4246
4247 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
4248
4249         * config/c4x/c4x.md (epilogue): Correct last patch.
4250
4251 2003-01-15  Richard Henderson  <rth@redhat.com>
4252
4253         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
4254         also check that GP is being used.
4255         (alpha_find_lo_sum_using_gp): New.
4256         (alpha_does_function_need_gp): Use get_attr_usegp.
4257         * config/alpha/alpha-protos.h: Update.
4258         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
4259         as needed.
4260
4261 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4262
4263         * gcse.c (one_cprop_pass): Change function arguments to take both
4264         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
4265         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
4266         (bypass_jumps): New function to perform separate jump bypassing pass.
4267         * rtl.h (bypass_jumps): Add function prototype.
4268         * timevar.def (TV_BYPASS): New timing variable.
4269         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
4270         (dump_file): New entry for the bypass RTL dump file.
4271         (rest_of_compilation): Insert new jump bypassing optimization
4272         pass after loop.
4273         * doc/passes.texi: Document new pass.
4274
4275 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4276
4277         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
4278         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
4279         * pa.h (TARGET_SOM_SDEF): Define.
4280         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
4281
4282 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
4283
4284         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
4285         allocate 4-bytes of locals on 68HC11.
4286         (expand_epilogue): Likewise.
4287         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
4288
4289 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
4290
4291         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
4292         and -mshort-double to the assembler to specify the ABI.
4293         (LINK_SPEC): Likewise.
4294         (CPP_SPEC): Pass HCS12 specific define.
4295         (MASK_M68S12): New define.
4296         (TARGET_M68S12): Likewise.
4297         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
4298         (TARGET_VERSION): Update.
4299         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
4300         (LINK_SPEC): Update.
4301         (ASM_SPEC): Update.
4302         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
4303         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
4304
4305 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
4306
4307         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
4308         the return code.
4309
4310 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
4311
4312         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
4313         flag before setting it.
4314
4315 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4316
4317         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
4318         when loop condition is known true, i.e.  "while (1) { ... }".
4319         (genrtl_for_stmt): Similarly for "for" statements.
4320
4321 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4322
4323         * real.c (real_sqrt): Return a bool result indicating whether
4324         a floating point exception or trap should be raised.
4325         * real.h (real_sqrt): Update function prototype.
4326         * builtins.c (fold_builtin): Only fold non-trapping square
4327         roots unless we're ignoring errno and trapping math.
4328
4329 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
4330
4331         * expr.h (emit_conditional_add): Add PARAMS to declaration.
4332         * gengtype-lex.l (malloc, realloc): Move defines after include of
4333         system.h.  Remove duplicate include of system.h.
4334
4335 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4336
4337         PR middle-end/9009
4338         * optabs.c (expand_unop):  When manipulating the FP sign bit
4339         using integer operations, account for targets with different
4340         integer and FP word orders.
4341         (expand_abs): Likewise.
4342
4343 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
4344
4345         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
4346         file extension in section name.
4347
4348 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
4349
4350         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
4351         constant offset.
4352
4353 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
4354
4355         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
4356         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
4357         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
4358         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
4359
4360 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
4361
4362         PR f/9258
4363         * global.c (struct allocno): Add no_stack_reg.
4364         (global_conflicts): Set no_stack_reg.
4365         (find_reg): Use it.
4366
4367         * convert.c (convert_to_real): Fold - and abs only when profitable.
4368         * fold-const.c (fold): Fold truncates in - and abs.
4369
4370 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
4371
4372         Segher Boessenkool  <segher@koffie.nl>
4373
4374         * predict.c (real_inv_br_prob_base): New variable.
4375         (propagate_freq): Use multiply by reciprocal instead of
4376         division.  Don't divide by 1.0 at all.
4377         (estimate_bb_frequencies): Similar.
4378
4379 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
4380
4381         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
4382         * configure: Rebuilt.
4383
4384 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
4385
4386         * config/s390/s390.c (s390_safe_attr_type): New function.
4387         (s390_use_dfa_pipeline_interface): New function, return true for z900.
4388         (s390_issue_rate): New function.
4389         (s390_agen_dep_p): New function.
4390         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
4391         (s390_adjust_cost): Return 'cost' if new DFA is used.
4392         (s390_adjust_priority): Delete function.
4393         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
4394         * config/s390/s390.md (atype attribute): Attribute 'atype' default
4395         determined by 'op_type'.
4396         (type attribute): Added more type attributes.
4397         * config/s390/2064.md: New DFA description for z900 pipeline.
4398
4399 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
4400
4401         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
4402         forced to memory.  Fixes PR bootstrap/9036.
4403
4404         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
4405         to set $gp before the call.
4406
4407 2003-01-14  Richard Henderson  <rth@redhat.com>
4408
4409         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
4410         for force_const_mem.
4411
4412 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4413
4414         * genattr.c (main): Rearrange output to avoid prototype warning.
4415         * genautomata.c (transform_3): Fix ambiguous-else warning.
4416         * local-alloc.c (requires_inout): Add parentheses around
4417         assignment used as truth-value.
4418         * timevar.c: Move system includes above local includes.  Include
4419         toplev.h
4420         * Makefile.in (timevar.o): Depend on toplev.h.
4421
4422 2003-01-14  Denis Chertykov  <denisc@overta.ru>
4423
4424         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
4425         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
4426
4427         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
4428         attributes.
4429         (TARGET_ATTRIBUTE_TABLE): New macro.
4430         (valid_machine_type_attribute): Remove.
4431         (valid_machine_decl_attribute): Remove.
4432         (ip2k_handle_progmem_attribute): New function.
4433         (ip2k_handle_fndecl_attribute): New function.
4434
4435 2003-01-10  Andrew Haley  <aph@redhat.com>
4436
4437         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
4438         registers to be in correct order.  Add rip.
4439
4440 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
4441
4442         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
4443         (*iorsi3_and_lshiftrt_9_sb): Likewise.
4444
4445 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
4446
4447         * convert.c (strip_float_extensions):  Look for narrowest type handling
4448         FP constants.
4449
4450         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
4451         float1 CMP float2.
4452         * convert.c (strip_float_extensions): Make global.
4453         * tree.h (strip_float_extensions): Declare.
4454
4455 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4456
4457         * timevar.def: define TV_NAME_LOOKUP.
4458         * timevar.c (timevar_pop): Be verbose when aborting.
4459
4460 2003-01-13  Andreas Schwab  <schwab@suse.de>
4461
4462         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
4463         $(parsedir), just move the temporary file at the end.
4464         ($(parsedir)/gengtype-yacc.c): Likewise.
4465
4466 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
4467
4468         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
4469         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
4470         splitting.
4471         * configure: Rebuilt.
4472
4473 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4474
4475         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
4476         internal_mcount): Don't use PARAMS.
4477         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
4478         ISO C style.
4479         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
4480
4481 2003-01-13  Andreas Schwab  <schwab@suse.de>
4482
4483         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
4484         directive.
4485
4486 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
4487
4488         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
4489         (*iorsi3_and_lshiftrt_n_sb): Likewise.
4490
4491 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
4492
4493         PR c++/9264
4494         * c-lex.c (c_lex): Set the token value to error_mark_node for
4495         invalid numeric constants.
4496
4497 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4498
4499         * c-pch.c (asm_file_startpos): Change to `long'.
4500         (pch_init): Use ftell, not ftello.
4501         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
4502         Use `long' instead of `off_t'.
4503         (c_common_read_pch): Likewise.
4504         * ggc-common.c (gt_pch_save): Use long/ftell instead of
4505         off_t/ftello.
4506
4507 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
4508
4509         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
4510
4511 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
4512
4513         * arm-protos.h (struct cpp_reader): Add declaration.
4514
4515 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
4516
4517         PR target/9068
4518         * i386.c (output_fp_compare): Fix typo.
4519
4520 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
4521
4522         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
4523
4524 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
4525
4526         * Makefile.in (parsedir): New variable.
4527         (docobjdir): New variable.
4528         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
4529         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
4530         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
4531         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
4532         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
4533         Use docobjdir.
4534         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
4535         objc.maintainer-clean): Use parsedir.
4536
4537         * varasm.c (struct constant_descriptor_rtx): Remove unused
4538         `label' field.
4539
4540         * toplev.c (documented_lang_options): Document -Winvalid-pch.
4541
4542 2003-01-10  Richard Henderson  <rth@redhat.com>
4543
4544         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
4545         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
4546
4547 2003-01-10  Richard Henderson  <rth@redhat.com>
4548
4549         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
4550         not INTEGRAL_MODE_P when widening extensions.
4551
4552 2003-01-10  Richard Henderson  <rth@redhat.com>
4553
4554         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
4555
4556 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
4557
4558         * ggc-page.c (ggc_collect): Avoid overflow computing
4559         min_expand.
4560
4561         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
4562         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
4563         Remove calls.
4564         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
4565
4566 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
4567
4568         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
4569         with weird operands.
4570
4571 2003-01-10  Dale Johannesen <dalej@apple.com>
4572
4573         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
4574         parameters.  Call check_sibcall_argument_overlap if indicated.
4575         (check_sibcall_argument_overlap):  Add mark_stored_args_map
4576         parameter.  Don't mark parameter area as clobbered if not set.
4577         (expand_call):  Adjust calls to above.
4578
4579 2003-01-10 Kelley Cook <kelleycook@comcast.net>
4580
4581         * configure.in (linker read-only and read-write section mixing):
4582         Squelch some assembler warnings.
4583         * configure: Likewise.
4584
4585 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
4586
4587         * doc/invoke.texi: Document -mtune, delete -mcpu
4588         option for S/390 and zSeries.
4589         * config/s390/s390.c (s390_tune_string) New variable.
4590         (s390_cpu_string) Delete variable.
4591         (override_options): Use s390_tune_string instead of
4592         s390_cpu_string.
4593         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
4594
4595 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
4596
4597         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
4598
4599 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
4600
4601         * jump.c (next_nonnote_insn_in_loop): New function.
4602         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
4603         next_nonnote_insn.
4604         (duplicate_loop_exit_test). Likewise.
4605
4606 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
4607
4608         Merge from pch-branch:
4609
4610         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
4611
4612         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
4613         load.
4614
4615         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
4616
4617         * cpplib.c (count_registered_pragmas): New function.
4618         (save_registered_pragmas): New function.
4619         (_cpp_save_pragma_names): New function.
4620         (restore_registered_pragmas): New function.
4621         (_cpp_restore_pragma_names): New function.
4622         * cpphash.h (_cpp_save_pragma_names): Prototype.
4623         (_cpp_restore_pragma_names): Likewise.
4624         * cpppch.c (struct save_macro_item): Split from save_macro_data.
4625         (struct save_macro_data): New field 'saved_pragmas'.
4626         (save_macros): Update for changes to struct save_macro_data.
4627         (cpp_prepare_state): Call _cpp_save_pragma_names, update
4628         for changes to struct save_macro_data.
4629         (cpp_read_state): Call _cpp_restore_pragma_names, update
4630         for changes to struct save_macro_data.
4631
4632         * cpppch.c (cpp_read_state): Restore the hashtable references
4633         in the cpp_reader.
4634
4635         * tree.h (built_in_decls): Mark for PCH.
4636
4637         * dbxout.c (lastfile): Don't mark for PCH.
4638
4639         * ggc.h: Document PCH calls into memory managers.
4640
4641         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
4642
4643         * doc/invoke.texi (Precompiled Headers): Document the
4644         directory form of PCH.
4645         * cppfiles.c (validate_pch): New function.
4646         (open_file_pch): Search suitably-named directories for PCH files.
4647
4648         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
4649
4650         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
4651         reorder options.
4652         (Type Information): Mention that the information is also
4653         used to implement PCH.
4654         * doc/passes.texi (Passes): Improve documentation of
4655         language-specific files.
4656
4657         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
4658
4659         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
4660         (struct walk_type_data): Add reorder_fn field.
4661         (walk_type): Process 'reorder' option.
4662         (write_types_process_field): Reorder parameters to gt_pch_note_object,
4663         call reorder_note_routine.
4664         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
4665         (ggc_wtd): Update for change to struct write_types_data.
4666         (pch_wtd): Likewise.
4667         * ggc.h (gt_pch_note_object): Reorder parameters.
4668         (gt_handle_reorder): New definition.
4669         (gt_pch_note_reorder): New prototype.
4670         * ggc-common.c (struct ptr_data): Add reorder_fn.
4671         (gt_pch_note_object): Reorder parameters.
4672         (gt_pch_note_reorder): New.
4673         (gt_pch_save): Call reorder_fn.
4674         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
4675
4676         * dbxout.c (cwd): Don't mark for PCH.
4677
4678         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
4679
4680         * gengtype.c (finish_root_table): Fix some warnings.
4681         (write_root): Handle TYPE_STRING.
4682         * ggc.h (gt_ggc_m_S): Add prototype.
4683         * stringpool.c (gt_ggc_m_S): New function.
4684
4685         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
4686
4687         * dwarf2out.c (dw2_string_counter): New.
4688         (AT_string_form): Use it.
4689         (same_dw_val_p): Update for removal of hashtable.h hash tables.
4690
4691         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4692
4693         * dbxout.c: Include gt-dbxout.h.
4694         (lastfile): Mark for PCH/GGC.
4695         (cwd): Likewise.
4696         (struct typeinfo): Likewise.
4697         (typevec): Likewise.
4698         (typevec_len): Likewise.
4699         (next_type_number): Likewise.
4700         (struct dbx_file): Likewise.
4701         (current_file): Likewise.
4702         (next_file_number): Likewise.
4703         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
4704         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
4705         (dbxout_end_source_file): Don't free struct dbx_file.
4706         (dbxout_type): Use GGC to allocate typevec.
4707         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
4708         (GTFILES): Add dbxout.c.
4709         (gt-dbxout.h): New rule.
4710
4711         * Makefile.in (c-pch.o): Add debug.h as dependency.
4712         * c-pch.c: Include debug.h.
4713         (pch_init): Call start_source_file to keep nesting right.
4714         (c_common_read_pch): Add orig_name parameter.  Call
4715         start_source_file debug hook.  Call end_source_file debug hook.
4716         * c-common.h (c_common_read_pch): Update prototype.
4717         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
4718         callback.
4719         * cppfiles.c (struct include_file): Add new field `header_name'.
4720         (find_or_create_entry): Default it to `name'.
4721         (open_file_pch): Set it to the original header file searched for.
4722         (stack_include_file): Don't stack an empty buffer, just handle
4723         PCH files immediately.  Pass header_name field to read_pch callback.
4724
4725         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
4726
4727         * function.c (funcdef_no): Mark to be saved in a PCH.
4728
4729         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
4730
4731         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
4732
4733         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
4734
4735         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
4736
4737         * optabs.h (code_to_optab): Add GTY marker.
4738
4739         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
4740
4741         * Makefile.in (GTFILES): Add cpplib.h.
4742         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
4743         * c-decl.c (build_compound_literal): Don't use var_labelno.
4744         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
4745         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
4746         * varasm.c (const_labelno): Use gengtype to mark.
4747         (var_labelno): Likewise.
4748         (in_section): Likewise.
4749         (in_named_name): Likewise.
4750         (struct in_named_entry): Likewise.
4751         (in_named_htab): Likewise.
4752         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
4753         (init_varasm_once): Use GGC to allocate in_named_htab.
4754         * config/darwin.c (current_pic_label_num): Mark for PCH.
4755
4756         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
4757
4758         * ggc-simple.c (init_ggc_pch): New stub procedure.
4759         (ggc_pch_count_object): Likewise.
4760         (ggc_pch_total_size): Likewise.
4761         (ggc_pch_this_base): Likewise.
4762         (ggc_pch_alloc_object): Likewise.
4763         (ggc_pch_prepare_write): Likewise.
4764         (ggc_pch_write_object): Likewise
4765         (ggc_pch_finish): Likewise.
4766         (ggc_pch_read): Likewise.
4767
4768         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
4769
4770         * c-pch.c (c_common_write_pch): Write the macro definitions after
4771         the GCed data.
4772         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
4773         definitions after the GCed data.
4774         * cpplib.c (save_macros): New.
4775         (reset_ht): New.
4776         (cpp_write_pch_deps): Split out of cpp_write_pch.
4777         (cpp_write_pch_state): Split out of cpp_write_pch.
4778         (cpp_write_pch): Delete.
4779         (struct save_macro_data): Delete.
4780         (cpp_prepare_state): New.
4781         (cpp_read_state): Erase and restore initial macro definitions.
4782         * cpplib.h (struct save_macro_data): Forward-declare.
4783         (cpp_write_pch_deps): Prototype.
4784         (cpp_write_pch_state): Prototype.
4785         (cpp_write_pch): Delete prototype.
4786         (cpp_prepare_state): Prototype.
4787         (cpp_read_state): Add fourth argument.
4788
4789         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
4790
4791         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
4792         (write_array): Remove warning.
4793
4794         * gengtype.c (contains_scalar_p): New.
4795         (finish_root_table): Add the table to all languages, even if it's
4796         empty.
4797         (write_roots): Output gt_pch_scalar_rtab.
4798         * ggc-common.c (gt_pch_save): Write out scalars.
4799         (gt_pch_restore): Read scalars back.
4800
4801         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
4802         (struct page_entry): Delete pch_page field.
4803         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
4804         (clear_marks): Likewise.
4805         (sweep_pages): Likewise.
4806         (poison_pages): Likewise.
4807         (ggc_print_statistics): Likewise.
4808         (ggc_pch_read): Don't free objects read from a PCH.
4809         Properly set up in_use_p and page_tails.
4810
4811         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
4812
4813         * gengtype.c (struct write_types_data): New.
4814         (struct walk_type_data): Make `cookie' const; add extra
4815         prev_val item; add `orig_s' field.
4816         (walk_type): Update prev_val[3].
4817         (write_types_process_field): New.
4818         (write_func_for_structure): Take write_types_data structure.
4819         (write_types): New.
4820         (ggc_wtd): New.
4821         (pch_wtd): New.
4822         (write_types_local_process_field): New.
4823         (gc_mark_process_field): Delete.
4824         (write_local_func_for_structure): New.
4825         (gc_mark_func_name): Delete.
4826         (write_gc_types): Delete.
4827         (write_local): New.
4828         (finish_root_table): Don't include 'ggc_' in PFX.
4829         (write_root): Rename from write_root.  Fill pchw field of structures.
4830         (write_array): New.
4831         (write_roots): Rename from write_gc_roots.  Split out to write_array.
4832         Update to changes to other routines.  Write gt_pch_cache_rtab table.
4833         (main): Write PCH walking routines.
4834         * ggc-common.c: Include toplev.h, sys/mman.h.
4835         (ggc_mark_roots): For cache hashtables, also mark the hash table
4836         and the array of entries.
4837         (saving_htab): New.
4838         (struct ptr_data): New.
4839         (POINTER_HASH): New.
4840         (gt_pch_note_object): New.
4841         (saving_htab_hash): New.
4842         (saving_htab_eq): New.
4843         (struct traversal_state): New.
4844         (call_count): New.
4845         (call_alloc): New.
4846         (compare_ptr_data): New.
4847         (relocate_ptrs): New.
4848         (write_pch_globals): New.
4849         (struct mmap_info): New.
4850         (gt_pch_save): New.
4851         (gt_pch_restore): New.
4852         * ggc-page.c (ROUND_UP_VALUE): New.
4853         (ROUND_UP): New.
4854         (struct page_entry): Add field `pch_page'.
4855         (init_ggc): Use ROUND_UP.
4856         (struct ggc_pch_data): Declare.
4857         (init_ggc_pch): New.
4858         (ggc_pch_count_object): New.
4859         (ggc_pch_total_size): New.
4860         (ggc_pch_this_base): New.
4861         (ggc_pch_alloc_object): New.
4862         (ggc_pch_prepare_write): New.
4863         (ggc_pch_write_object): New.
4864         (ggc_pch_finish): New.
4865         (ggc_pch_read): New.
4866         * ggc.h (gt_pointer_operator): New.
4867         (gt_note_pointers): New.
4868         (gt_pch_note_object): New prototype.
4869         (gt_pointer_walker): New.
4870         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
4871         (LAST_GGC_ROOT_TAB): Update.
4872         (gt_pch_cache_rtab): Declare.
4873         (gt_pch_scalar_rtab): Declare.
4874         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
4875         (LAST_GGC_CACHE_TAB): Update.
4876         (gt_pch_save_stringpool): Declare.
4877         (gt_pch_restore_stringpool): Declare.
4878         (gt_pch_p_S): Declare.
4879         (gt_pch_n_S): Declare.
4880         (struct ggc_pch_data): Forward-declare.
4881         (init_ggc_pch): Declare.
4882         (ggc_pch_count_object): Declare.
4883         (ggc_pch_total_size): Declare.
4884         (ggc_pch_this_base): Declare.
4885         (ggc_pch_alloc_object): Declare.
4886         (ggc_pch_prepare_write): Declare.
4887         (ggc_pch_write_object): Declare.
4888         (ggc_pch_finish): Declare.
4889         (ggc_pch_read): Declare.
4890         (gt_pch_save): Declare.
4891         (gt_pch_restore): Declare.
4892         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
4893         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
4894         const_double_htab, mem_attrs_htab using GGC.
4895         * c-pch.c: Include ggc.h.
4896         (pch_init): Allow reading PCH file back.
4897         (c_common_write_pch): Call gt_pch_save.
4898         (c_common_read_pch): Call gt_pch_restore.
4899         * c-parse.in (init_reswords): Delete now-untrue comment.
4900         Allocate ridpointers using GGC.
4901         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
4902         calling expand_deferred_fns.
4903         * c-common.h (ridpointers): Mark for GTY machinery.
4904         * Makefile.in (stringpool.o): Update dependencies.
4905         (c-pch.o): Update dependencies.
4906         (ggc-common.o): Update dependencies.
4907         * stringpool.c: Include gt-stringpool.h.
4908         (gt_pch_p_S): New.
4909         (gt_pch_n_S): New.
4910         (struct string_pool_data): New.
4911         (spd): New.
4912         (gt_pch_save_stringpool): New.
4913         (gt_pch_restore_stringpool): New.
4914         * tree.c (init_ttree): Make type_hash_table allocated using GC.
4915
4916         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
4917
4918         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
4919         (output_mangled_typename): Don't pass size_t to printf.
4920
4921         * tree.h (union tree_type_symtab): Add tag to `address' field.
4922         (union tree_decl_u2): Add tag to 'i' field.
4923         * varasm.c (union rtx_const_un): Add tags to all fields.
4924         * gengtype.c (struct walk_type_data): New.
4925         (output_escaped_param): Take struct walk_type_data parameter.
4926         (write_gc_structure_fields): Delete.
4927         (walk_type): New.
4928         (write_gc_marker_routine_for_structure): Delete.
4929         (write_func_for_structure): New.
4930         (gc_mark_process_field): New.
4931         (gc_mark_func_name): New.
4932         (gc_counter): Delete.
4933         (write_gc_types): Use write_func_for_structure.
4934         (write_gc_roots): Use walk_type.
4935
4936         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
4937
4938         * ggc-common.c (ggc_mark_roots): Delete 'x'.
4939         (ggc_splay_dont_free): Fix warning about unused 'x'.
4940         (ggc_print_common_statistics): Remove warnings.
4941
4942         2002-10-01  Mike Stump  <mrs@apple.com>
4943
4944         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
4945         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
4946
4947         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
4948             Catherine Moore  <clm@redhat.com>
4949
4950         * Makefile (c-pch.o): Update dependencies.
4951         (LIBCPP_OBJS): Add cpppch.o.
4952         (cpppch.o): New.
4953         * c-common.c (c_common_init): Don't call pch_init here.
4954         * c-common.h (c_common_read_pch): Update prototype.
4955         * c-lex.c (c_common_parse_file): Call pch_init here.
4956         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
4957         (c_common_decode_option): Handle them.
4958         * c-pch.c: Include c-pragma.h.
4959         (save_asm_offset): Delete.
4960         (pch_init): Move contents of save_asm_offset into here, call
4961         cpp_save_state.
4962         (c_common_write_pch): Call cpp_write_pch.
4963         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
4964         cpp_valid_state.
4965         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
4966         * cppfiles.c (stack_include_file): Update for change to
4967         parameters of cb.read_pch.
4968         * cpphash.h (struct cpp_reader): Add `savedstate' field.
4969         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
4970         `restore_pch_deps' fields.
4971         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
4972         (cpp_save_state): Prototype.
4973         (cpp_write_pch): Prototype.
4974         (cpp_valid_state): Prototype.
4975         (cpp_read_state): Prototype.
4976         * cpppch.c: New file.
4977         * flags.h (version_flag): Remove prototype.
4978         * mkdeps.c (deps_save): New.
4979         (deps_restore): New.
4980         * mkdeps.h (deps_save): Prototype.
4981         (deps_restore): Prototype.
4982         * toplev.c (late_init_hook): Delete.
4983         (version_flag): Make static again.
4984         (compile_file): Don't call late_init_hook.
4985         * toplev.h (late_init_hook): Delete.
4986         * doc/cppopts.texi: Document -fpch-deps.
4987         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
4988
4989         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
4990
4991         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
4992         callers.
4993         (c_common_valid_pch): Rename from c_valid_pch, change callers.
4994         (c_common_read_pch): Rename from c_read_pch, change callers.
4995
4996         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
4997         a space between it and its argument.
4998
4999         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
5000
5001         * c-pch.c: New file.
5002         * toplev.h (late_init_hook): Declare.
5003         * toplev.c (late_init_hook): Define.
5004         (version_flag): Make globally visible.
5005         (compile_file): Call late_init_hook.
5006         (init_asm_output): Make output file seekable.
5007         * gcc.c (default_compilers): Update c-header rule.
5008         * flags.h (version_flag): Declare.
5009         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
5010         fields.
5011         * cppfiles.c (struct include_file): Add 'pch' field.
5012         (INCLUDE_PCH_P): New.
5013         (open_file_pch): New.
5014         (stack_include_file): Handle PCH files specially.
5015         (find_include_file): Call open_file_pch instead of open_file.
5016         (_cpp_read_file): Explain why open_file is used instead of
5017         open_file_pch.
5018         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
5019         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
5020         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
5021         in cpplib callbacks.
5022         * c-common.c (pch_file): Correct comment.
5023         (allow_pch): Define.
5024         (c_common_init): Call pch_init.
5025         * c-common.h (allow_pch): Declare.
5026         (pch_init): Declare.
5027         (c_valid_pch): Declare.
5028         (c_read_pch): Declare.
5029         (c_write_pch): Declare.
5030         * Makefile.in (c-pch.o): New.
5031         (C_AND_OBJC_OBJS): Add c-pch.o.
5032         * doc/invoke.texi (Precompiled Headers): Add index entries,
5033         complete truncated paragraph.
5034
5035         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
5036
5037         * c-common.c: (pch_file): Define.
5038         * c-common.h (pch_file): Declare.
5039         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
5040         (missing_arg): Require --output-pch= to have an argument.
5041         (c_common_decode_option): Handle --output-pch=.
5042         * gcc.c: Document new %V.
5043         (default_compilers): Handle compiling C header files.
5044         (do_spec_1): Implement %V.
5045         (main): Handle "gcc foo.h" without trying to run linker.
5046         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
5047         (Overall Options): Document what the driver does with header files,
5048         document new -x option possibilities.
5049         (Invoking G++): More documentation for PCH.
5050         (Precompiled Headers): New.
5051
5052         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
5053
5054         * ggc.h: Don't include varray.h.  Rearrange functions to be more
5055         organized.
5056         (ggc_add_root): Delete.
5057         (ggc_mark_rtx): Delete.
5058         (ggc_mark_tree): Delete.
5059         (struct ggc_statistics): Remove contents.
5060         * ggc-common.c: Remove unneeded includes.
5061         (struct ggc_root): Delete.
5062         (roots): Delete.
5063         (ggc_add_root): Delete.
5064         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
5065         (ggc_print_common_statistics): Remove most of the contents.
5066         * Makefile.in (GGC_H): No longer uses varray.h.
5067         (ggc-common.o): Update dependencies.
5068         (c-parse.o): Add varray.h to dependencies.
5069         (c-common.o): Add varray.h.
5070         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
5071         (mark_ident_hash): Rename to ggc_mark_stringpool.
5072         (init_stringpool): Don't use ggc_add_root.
5073         * c-parse.in: Include varray.h.
5074         * c-common.c: Include varray.h.
5075         * objc/Make-lang.in (objc-act.o): Add varray.h.
5076         * objc/objc-act.c: Include varray.h.
5077
5078         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
5079
5080         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
5081         (dw_cfi_oprnd1_desc): Likewise.
5082
5083         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
5084
5085         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
5086         move out of ifdef.
5087         (alpha_links): Use gengtype to mark; move out of ifdef.
5088         (mark_alpha_links_node): Delete.
5089         (mark_alpha_links): Delete.
5090         (alpha_need_linkage): Use GGC to allocate splay tree, struct
5091         alpha_links, strings.  Don't use ggc_add_root.
5092         * ggc-common.c (ggc_splay_alloc): New.
5093         (ggc_splay_dont_free): New.
5094         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
5095         (ggc_mark_tree): Likewise.
5096         (splay_tree_new_ggc): New.
5097         (ggc_splay_alloc): Declare.
5098         (ggc_splay_dont_free): Declare.
5099         * dwarf2asm.c: Include gt-dwarf2asm.h.
5100         (mark_indirect_pool_entry): Delete.
5101         (mark_indirect_pool): Delete.
5102         (indirect_pool): Use gengtype to mark.
5103         (dw2_force_const_mem): Don't use ggc_add_root.
5104         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
5105         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
5106         (gt-dwarf2asm.h): Depend on s-gtype.
5107
5108         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
5109
5110         * tree.h (union tree_type_symtab): Mark `die' field.
5111         * Makefile.in (dwarf2out.o): Update dependencies.
5112         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
5113         hash tables.
5114         (dw_cfi_oprnd1_desc): New function.
5115         (dw_cfi_oprnd2_desc): New function.
5116         (indirect_string_alloc): Delete.
5117         (debug_str_do_hash): New function.
5118         (debug_str_eq): New function.
5119         (mark_limbo_die_list): Delete.
5120         (dwarf2out_init): Don't call ggc_add_root.
5121
5122 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
5123
5124         The following changes are merged from itanium-sched-branch:
5125
5126         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
5127
5128         * doc/md.texi: Clarify assignment of units to automata description.
5129
5130         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
5131
5132         * genautomata.c (unit_decl): Remove members
5133         `the_same_automaton_unit' and
5134         `the_same_automaton_message_reported_p'.
5135         (process_unit_to_form_the_same_automaton_unit_lists,
5136         form_the_same_automaton_unit_lists_from_regexp,
5137         form_the_same_automaton_unit_lists, the_same_automaton_lists):
5138         Remove them.
5139         (annotation_message_reported_p): New global variable.
5140         (check_unit_distribution_in_reserv,
5141         check_regexp_units_distribution): New functions.
5142         (check_unit_distributions_to_automata): Rewrite it.
5143
5144         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
5145
5146         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
5147         Use continue instead of break if cycle is too big.
5148
5149         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
5150
5151         * genautomata.c (check_unit_distributions_to_automata): Output at
5152         most one message for a unit.
5153         (process_unit_to_form_the_same_automaton_unit_lists): Check
5154         automaton of units instead of units themself.
5155
5156         * doc/md.texi: Describe the constraint about assigning unit to
5157         automata.
5158
5159         2002-12-20  Jan Hubicka  <jH@suse.cz>
5160                     Vladimir Makarov  <vmakarov@redhat.com>
5161
5162         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
5163         and `in_set_p'.
5164         (gen_cpu_unit): Initialize the new members.
5165         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
5166         up `min_occ_cycle_num'.
5167         (evaluate_max_reserv_cycles): Change the function call.
5168         (CLEAR_BIT): New macro.
5169         (states_union, state_shift): Use the mask.
5170         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
5171         (form_reservs_matter): New function.
5172         (make_automaton): Call the function and use the mask.
5173         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
5174         account.
5175
5176         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5177
5178         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
5179
5180         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5181
5182         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
5183         for Itanium.
5184
5185         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5186
5187         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
5188         default cpu.
5189
5190         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5191                 2002-10-31  Dale Johannesen <dalej@apple.com>
5192
5193         * haifa-sched.c (find_set_reg_weight): New function.
5194         (find_insn_reg_weight): Use the new function.
5195         (schedule_block): Do sorting ready queue always
5196         after insn issue.
5197
5198         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
5199
5200         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
5201
5202         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
5203
5204         * haifa-sched.c (choice_entry): New structure.
5205         (choice_stack, cycle_issued_insns): New variables.
5206         (max_issue): Rewrite it.
5207         (choose_ready): Set up ready_try for unknown insns too.
5208         (schedule_block): Allocate and free choice_stack.  Set up
5209         and modify cycle_issued_insns.
5210
5211         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
5212         with and without filling the bundle.
5213         (bundling): Combine calls of issue_nops_and_insn.
5214
5215         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
5216
5217         * config/ia64/itanium1.md: New file.
5218
5219         * config/ia64/itanium2.md: New file.
5220
5221         * config/ia64/ia64.md: Move DFA descriptions into the new files.
5222         Remove the old pipeline description.
5223
5224         * config/ia64/ia64.c (ia64_override_options): Add aliases of
5225         itanium processor names.
5226
5227         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
5228
5229         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
5230         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
5231
5232         * config/ia64/ia64.md: Add descriptions for Itanium2.
5233
5234         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
5235
5236         * config/ia64/ia64.h (processor_type): New enumeration.
5237         (ia64_tune, ia64_tune_string): New external declarations.
5238         (TARGET_OPTIONS): Add option `tune='.
5239
5240         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
5241         variables.
5242         (ia64_override_options): Set up `ia64_tune'.
5243         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
5244         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
5245         (bundling): Add nops for MM-insns only for Itanium.
5246         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
5247         Itanium.
5248
5249         * config/ia64/ia64.md (cpu): New attribute.
5250         (DFA description): Enable it only for Itanium.
5251
5252         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
5253                     Richard Henderson  <rth@redhat.com>
5254
5255         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
5256         MASK_EARLY_STOP_BITS.
5257         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
5258         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
5259         `early-stop-bits'.
5260
5261         * config/ia64/ia64.c (ia64_dfa_new_cycle,
5262         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
5263         instead of TARGET_TUNE_STOP_BITS.
5264
5265         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
5266         `-mearly-stop-bits'.
5267
5268         * config/ia64/ia64.c (automata_option "v"): Comment it.
5269
5270         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
5271
5272         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
5273         New macros.
5274         (TARGET_SWITCHES): Add entries for the new option.
5275
5276         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
5277         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
5278         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
5279         global variables.
5280         (ia64_sched_reorder2): Set up `clocks'.
5281         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
5282         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
5283         queue when TARGET_TUNE_STOP_BITS.
5284         (bundling): Insert additional nops for MM-insns.
5285         (final_emit_insn_group_barriers): Add insertion of stop bits
5286         according `stops_p'.
5287         (ia64_reorg): Initiate the new varibales.
5288
5289         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
5290
5291         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
5292
5293         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
5294         insns at the end of block insn scheduling.
5295
5296         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
5297
5298         * sched-deps.c (remove_dependence, group_leader): Remove it.
5299         (add_dependence): Add dependence to group leader to.
5300         (set_sched_group_p): Add dependence to the first insn of the
5301         schedule group too.
5302         (sched_analyze_insn): Make dependence to jump as anti-dependence.
5303         Change true dependence by anti-dependence when
5304         `reg_pending_barrier'.
5305
5306         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
5307         add_branch_dependences): Ignore schedule groups.
5308
5309         * sched-ebb.c (init_ready_list): Ditto.
5310
5311         * (move_insn, set_priorities): Ditto.
5312
5313         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
5314         flag is clear after reload.
5315         (adjust_cost): Change cost only for output dependencies.
5316
5317         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
5318
5319         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
5320
5321         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
5322
5323         * target.h (gcc_target): Add member
5324         `dependencies_evaluation_hook'.
5325
5326         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
5327         macro.
5328         (TARGET_SCHED): Add initiatialization of the new member.
5329
5330         * sched-ebb.c: Include `target.h'.
5331         (schedule_ebb): Call `dependencies_evaluation_hook'.
5332
5333         * sched-rgn.c (schedule_region): Call
5334         `dependencies_evaluation_hook'.
5335
5336         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
5337         New macro.
5338         (ia64_dependencies_evaluation_hook): New function.
5339
5340         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
5341         Describe the new hook.
5342
5343         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
5344
5345         * target.h (gcc_target): Add members
5346         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
5347
5348         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
5349         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
5350         macros.
5351         (TARGET_SCHED): Add initiatialization of the new members.
5352
5353         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
5354         insn scheduling too.
5355         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
5356         initialize `ready_try'.
5357         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
5358         `dfa_new_cycle' says not to do it.
5359
5360         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
5361         bundling.
5362
5363         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
5364
5365         * config/ia64/ia64.c: Include `hashtab.h'.
5366         (ia64_first_cycle_multipass_dfa_lookahead_guard,
5367         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
5368         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
5369         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
5370         bundle_state_eq_p, insert_bundle_state,
5371         initiate_bundle_state_table, finish_bundle_state_table,
5372         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
5373         get_template, get_next_important_insn, bundling): New functions.
5374         (ia64_internal_sched_reorder): Remove it.
5375         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5376         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
5377         (ia64_safe_itanium_requires_unit0): Remove it.
5378         (group_barrier_needed_p): Place group barrier right before a real
5379         insn.
5380         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
5381         Remove them.
5382         (bundle_name): New variable.
5383         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
5384         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
5385         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
5386         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
5387         temp_dfa_state, prev_cycle_state): New global variables.
5388         (insn_matches_slot, maybe_rotate, finish_last_head,
5389         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
5390         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
5391         find_best_packet, itanium_reorder, dump_current_packet,
5392         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
5393         (sched_data, sched_ready, sched_types): Remove them.
5394         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
5395         `init_insn_group_barriers'.
5396         (ia64_sched_reorder, ia64_sched_reorder2): Call
5397         ia64_dfa_sched_reorder.
5398         (ia64_variable_issue): Rewrite it.
5399         (bundle_state): New structure.
5400         (index_to_bundle_states, bundle_states_num,
5401         allocated_bundle_states_chain, free_bundle_state_chain): New
5402         global variables.
5403         (ia64_sched_finish): Add stop bits and call `bundling' after the
5404         2nd insn scheduling.
5405         (ia64_use_dfa_pipeline_interface): Return zero always.
5406         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
5407         insn scheduling.
5408         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
5409         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
5410         (ia64_reorg): Add bundling insns.
5411
5412         * doc/tm.texi
5413         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5414         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
5415
5416         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
5417
5418         * config/ia64/ia64.md: Add Itanium1 DFA description.
5419         (itanium_class): Add `nop' and `pre_cycle'.  Add
5420         define_function_unit for `nop'.
5421         (nop): Change attribute `itanium_class'.
5422         (pre_cycle): New define_insn.
5423
5424         * config/ia64/ia64-protos.h (bundling_p): New external variable.
5425         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
5426         ia64_produce_address_p): New function prototypes.
5427
5428         * config/ia64/ia64.c (bundling_p): New global variable.
5429         (ia64_use_dfa_pipeline_interface,
5430         ia64_first_cycle_multipass_dfa_lookahead,
5431         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
5432         functions.
5433         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5434         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5435         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5436         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
5437         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
5438         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
5439         (dfa_pre_cycle_insn): New variable.
5440
5441         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5442
5443         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
5444         constructions.
5445
5446         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
5447         New function prototypes.
5448
5449         * genattrtab.c (main): Process the new constructions.
5450
5451         * genautomata.c (gen_presence_absence_set,
5452         process_presence_absence_names, process_presence_absence_patterns,
5453         add_presence_absence, check_absence_pattern_sets): Add parameter
5454         `final_p'.
5455         (unit_decl): Add new members `final_presence_list' and
5456         `final_absence_list'.
5457         (unit_pattern_rel_decl): Add new member `final_p'.
5458         (gen_final_presence_set, gen_final_absence_set): New functions.
5459         (process_decls): Use member `final_p'.
5460         (temp_reserv): New global variable.
5461         (reserv_sets_are_intersected): Add processing `final_presence_set'
5462         and `final_absence_set'.
5463         (initiate_states): Allocate `temp_reserv'.
5464         (unit_final_presence_set_table, unit_final_absence_set_table): New
5465         gloabal variables.
5466         (initiate_presence_absence_pattern_sets): Initiate them.
5467         (NDFA_to_DFA): Fix typo.
5468         (output_description): Output `final_presence_set' and
5469         `final_absence_set'.
5470
5471         * doc/md.texi (final_presence_set, final_absence_set): Describe
5472         them.
5473
5474         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5475
5476         * genautomata.c (transform_3): Process a missing case (nothing on
5477         unit place).
5478
5479         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5480
5481         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
5482         comments about queried units and the minimization.
5483
5484         * doc/md.texi: Ditto.
5485
5486         * genautomata.c (create_composed_state): Return nonzero if the new
5487         state has been created.
5488         (first_cycle_unit_presence): New function.
5489         (state_is_differed): Add new parameter.  Use the new function.
5490         Take queried units into account.
5491         (partition_equiv_class): Pass additional parameter to
5492         `state_is_differed'.
5493         (merge_states): Process composed states too.
5494         (build_automaton, create_automata, output_min_issue_delay_table,
5495         output_tables, output_statistics): Output more information.
5496         (output_reserved_units_table): Use function
5497         `first_cycle_unit_presence'.
5498         (output_tables): Output table of queried units even if the
5499         minimization is switched on.
5500         (write_automata): Output code for querying units even if the
5501         minimization is switched on.
5502
5503         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
5504
5505         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
5506         syntax of the constructions.
5507
5508         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
5509         extended syntax of the constructions.
5510
5511         * genautomata.c (unit_rel_decl): Rename it to
5512         `unit_pattern_rel_decl'.
5513         (pattern_set_el, pattern_reserv): New structures.
5514         (pattern_set_el_t, pattern_reserv_t): New types.
5515         (gen_presence_absence_set): New function.
5516         (process_presence_absence): Remove it.
5517         (process_presence_absence_names,
5518         process_presence_absence_patterns): New functions.
5519         (get_presence_absence_set): Remove it.
5520         (initiate_presence_absence_sets): Rename it on
5521         `initiate_presence_absence_pattern_sets'.  Use new function
5522         `form_reserv_sets_list'.
5523         (form_reserv_sets_list, check_presence_pattern_sets,
5524         check_absence_pattern_sets, output_pattern_set_el_list): New
5525         functions.
5526         (unit_decl): Change types of members `presence_list' and
5527         `absence_list'.
5528         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
5529         (decl): Change types of members `excl', `presence', and `absence'.
5530         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
5531         at the end of the vector.
5532         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
5533         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
5534         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
5535         (gen_presence_set, gen_absence_set): Use new function
5536         `gen_presence_absence_set'.
5537         (add_presence_absence): Process `pattern_list' instead of
5538         `source_list'.
5539         (process_decls): USe new functions
5540         `process_presence_absence_names' and
5541         `process_presence_absence_patterns'.
5542         (reserv_sets_are_intersected): Use new function
5543         `check_presence_pattern_sets'.
5544         (presence_set, absence_set): Remove them.
5545         (unit_presence_set_table, unit_absence_set_table): New global
5546         variables.
5547         (output_description): Use new function
5548         `output_pattern_set_el_list'.
5549         (generate): Use `initiate_presence_absence_pattern_sets'.
5550
5551         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
5552
5553         * genattr.c (main): Add output of prototype of new interface
5554         function `dfa_clean_insn_cache'.
5555
5556         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
5557         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
5558         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
5559         the generated code.
5560         (write_automata): Call the new function.
5561
5562 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
5563
5564         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
5565         correctly.
5566
5567 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
5568
5569         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
5570
5571 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
5572
5573         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
5574         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
5575         (CONSTRAINT_LEN): Provide default definition.
5576         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5577         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
5578         (EXTRA_CONSTRAINT_STR): Likewise.
5579         (REG_CLASS_FROM_CONSTRAINT): Define.
5580         * genoutput.c (check_constraint_len, constraint_len): New functions.
5581         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
5582         constraint / modifier.
5583         (gen_insn): Call check_constraint_len.
5584         * local-alloc.c (block_alloc): Update to use new macros / pass
5585         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
5586         * ra-build.c (handle_asm_insn): Likewise.
5587         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
5588         (constrain_operands, peep2_find_free_register): Likewise.
5589         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
5590         * regmove.c (find_matches): Likewise.
5591         * reload.c (push_secondary_reload, find_reloads): Likewise.
5592         (alternative_allows_memconst): Likewise.
5593         * reload1.c (maybe_fix_stack_asms): Likewise.
5594         (reload_cse_simplify_operands): Likewise.
5595         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
5596         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
5597         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5598         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
5599         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
5600         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
5601
5602         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
5603
5604 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5605
5606         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
5607         length.
5608         (*extzv_1_r_h8300hs): Likewise.
5609         (*extzv_1_r_inv_h8300): Likewise.
5610         (*extzv_1_r_inv_h8300hs): Likewise.
5611
5612 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5613
5614         * config/h8300/h8300.h (PREDICATE_CODES): New.
5615
5616 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5617
5618         * config/h8300/h8300.md (*addsi3_upper): New.
5619         (*iorsi3_shift): Likewise.
5620         (two splitters): Likewise.
5621         (*addsi3_shift): Likewise.
5622         (two splitters): Likewise.
5623
5624 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
5625
5626         * Makefile.in (optabs.o): Add dependency on basic-block.h.
5627         * basic-block.h (control_flow_insn_p): Fuction was exported.
5628         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
5629         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
5630         notes only when the region is contained in a single basic block.
5631
5632 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5633
5634         PR inline-asm/8832
5635         * tree.h (expand_asm): New prototype.
5636         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
5637         to do so.
5638         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
5639         down to expand_asm.
5640         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
5641         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
5642         (volatile_refs_p) [ASM_INPUT]: Likewise.
5643         (side_effects_p) [ASM_INPUT]: Likewise.
5644
5645 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
5646
5647         * i386.md (*mul*): FIx constraints; remove confused comment; fix
5648         athlon_decode attributes
5649         (imul/k8 optimization peep2s): New.
5650
5651         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
5652         * i386.md (type attribute): Add ssecomi.
5653         (unit, memory, prefix attributes): Handle ssecomi.
5654         (cvt?2? patterns): Fix athlon_decode attribute
5655         (comi patterns): Set attribute to ssecomi.
5656
5657         PR target/8343
5658         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
5659
5660 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
5661
5662         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
5663         that match register_operands.
5664         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
5665         register_operand the default case.
5666
5667 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5668
5669         PR c/8032
5670         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
5671         an empty element, do not advance the pointer to unfilled
5672         fields if there are pending initializers.
5673
5674 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
5675
5676         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
5677         (install-gcc-tooldir, install-cpp, installdirs,
5678         install-common, install-driver, install-info, install-man,
5679         install-headers, install-include-dir, install-headers-tar,
5680         install-headers-cpio, install-headers-cp, install-mkheaders,
5681         install-collect2, uninstall): Prepend $(DESTDIR) to
5682         destination paths in all (un)installation commands.
5683         (install-driver): Rewrite $(LN) commands to support DESTDIR
5684         with "ln" as well as with "ln -s".
5685         (installdirs): Simply use mkinstalldirs.
5686         (install-libgcc, install-multilib): Also pass DESTDIR.
5687         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
5688         installation destination variable ldir.
5689         * config/alpha/t-osf4, config/arm/t-netbsd,
5690         config/ia64/t-hpux, config/mips/t-iris5-6,
5691         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
5692         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
5693         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
5694         in the definition of SHLIB_INSTALL.
5695         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
5696         $(libsubdir) in the installation commands.
5697
5698 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
5699
5700         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
5701         non-optimizing compile.
5702         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
5703         compile.
5704
5705 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
5706
5707         * config/i386/i386.c (ix86_attribute_table): Add new attributes
5708         ms_struct and gcc_struct.
5709         (ix86_handle_struct_attribute): New function.
5710         (ix86_ms_bitfield_layout_p): Update to take new attributes
5711         into account.
5712         * doc/extend.texi: Document new attributes.
5713         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
5714
5715 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
5716
5717         PR optimization/8750
5718         * config/i386/i386.c (ix86_expand_prologue): Don't allow
5719         scheduling pass to move insns across __alloca call.
5720
5721 2003-01-08  Dale Johannesen  <dalej@apple.com>
5722
5723         * config/rs6000/rs6000.md:  Replace *store_multiple_string
5724         with *stmsi[3-8].
5725
5726 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
5727
5728         PR target/9210
5729         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
5730         Set SYMBOL_REF_FLAG on local data sym_ref.
5731
5732 2003-01-08  Dale Johannesen  <dalej@apple.com>
5733
5734         * function.c (assign_parms):  Don't set pretend_args_size if
5735           REG_PARM_STACK_SPACE.
5736           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
5737           pretend_args_size.
5738
5739 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
5740
5741         * gcc.hlp: Delete.
5742
5743 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
5744
5745         * i386.c  (ix86_expand_int_addcc): Fix thinko.
5746
5747 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
5748
5749         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
5750         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
5751         as hook_bool_tree_hwi_hwi_tree_true.
5752         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
5753         (rs6000_emit_epilogue): Same.
5754         (rs6000_output_mi_thunk): Re-implement as RTL.
5755         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
5756         xcoffout_declare_function if any debugging enabled.
5757
5758 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
5759
5760         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
5761         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
5762         * config/mips/mips.h (enum processor_type): Rename
5763         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
5764         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
5765         Add PROCESSOR_M4K.
5766         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
5767         (ISA_MIPS32R2): New define.
5768         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
5769         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
5770         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
5771         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
5772         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
5773         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
5774         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
5775         compiling MIPS16 code.
5776         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
5777         comment.
5778         (ISA_HAS_SEB_SEH): New define.
5779         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
5780         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
5781         processor_type value renaming.  Add support for MIPS32R2.
5782         Clean up comments, and move "sb1" entry with other MIPS64 CPU
5783         entries.
5784         (override_options): Reimplement -mipsN option handling so that
5785         it will work correctly for -mips32r2.  Avoid branch-likely
5786         instructions on MIPS32R2.
5787         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
5788         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
5789         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
5790         (extendhisi2_hw, extendqisi2_hw): New.
5791         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
5792         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
5793         MIPS32R2, and MIPS64.
5794         (LINK_SPEC): Pass -mips32r2 to linker.
5795         * config/mips/t-isa3264: Built -mips32r2 multilibs.
5796         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
5797         for mips32r2 in the -march description.  Alphabetically sort
5798         CPU names in the -march description.  Add long-missed -mips32
5799         and -mips64 to MIPS option summary.
5800
5801         * config.gcc: Update copyright years to include 2003.
5802         * config/mips/mips.c: Likewise.
5803         * config/mips/mips.h: Likewise.
5804         * config/mips/mips.md: Likewise.
5805         * config/mips/netbsd.h: Likewise.
5806         * doc/invoke.texi: Likewise.
5807
5808 2003-01-08  Andreas Schwab  <schwab@suse.de>
5809
5810         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
5811         variable.
5812         * configure: Regenerated.
5813
5814 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
5815
5816         * config/h8300/h8300.c (output_logical_op): Replace byte/word
5817         extraction of det with b0, b1, w0, w2, etc.
5818         (compute_logical_op_length): Likewise.
5819         (compute_logical_op_cc): Likewise.
5820
5821 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
5822
5823         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
5824         HIGH on all variants.
5825
5826 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
5827
5828         * Makefile.in (PARTITION_H): New.
5829         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
5830         * basic-block.h: Include hard-reg-set.h.
5831
5832 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
5833
5834         * arm.h (ENABLE_XF_PATTERNS): Delete.
5835         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
5836         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
5837         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
5838         (cmpxf_trap): Delete.
5839         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
5840
5841 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
5842
5843         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
5844         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
5845         (add??cc): New expanders.
5846         * i386.c (expand_int_addcc): New function.
5847         * i386-protos.h (expand_int_addcc): Declare.
5848
5849         * alias.c (memory_modified_1): New static function.
5850         (memory_modified): New static varaible.
5851         (memory_modified_in_insn_p): New global function.
5852         * rtl.h (memory_modified_in_insn_p): Declare.
5853         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
5854         references.
5855
5856         * expr.h (emit_conditional_add): Declare.
5857
5858 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
5859
5860         PR other/8947
5861         * doc/invoke.texi (-malign-double): Explain that the option breaks
5862         binary compatibility.
5863
5864 2003-01-08  Andreas Schwab  <schwab@suse.de>
5865
5866         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
5867         should come from the generic *-*-linux* entry.
5868
5869 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
5870
5871         * cselib.c (cselib_current_insn_in_libcall): New static variable.
5872         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
5873         we are inside libcall.
5874         * cselib.h (elt_loc_list): Add in_libcall.
5875         * gcse.c (do_local_cprop): Do not copy propagate using insns
5876         in libcalls.
5877
5878 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
5879
5880         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
5881         not normally affect to issue rate.
5882
5883 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
5884
5885         * genopinit.c (optabs): Add addc_optab.
5886         * ifcvt.c (noce_try_store_flag): Rename to ...
5887         (noce_try_addcc): ... this one; handle generic conditional increment.
5888         (noce_process_if_block): Update noce_try_addcc call.
5889         * optabs.c (emit_conditional_add): New.
5890         (init_obtabs): Initialize addc_optab.
5891         * optabs.h (optab_index): Add OTI_addcc.
5892         (addcc_optab): New macro.
5893         * md.texi: Document addMcc
5894
5895         PR target/8322
5896         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
5897         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
5898         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
5899
5900         * reload1.c (delete_output_reload): Avoid repeated attempts
5901         to delete insn.
5902
5903 2003-01-07  Andreas Schwab  <schwab@suse.de>
5904
5905         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
5906         Move --enable-initfini-array check ...
5907         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
5908         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
5909         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
5910         * configure: Rebuild.
5911
5912 2003-01-07  Richard Henderson  <rth@redhat.com>
5913
5914         * alias.c (find_base_value): Only use new_reg_base_value shortcut
5915         if the register is set once.
5916
5917 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
5918
5919         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
5920         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
5921         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
5922
5923 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
5924             Sunil Davasam  <sunil.k.davasam@intel.com>
5925
5926         PR libstdc++/9076
5927         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
5928         DW_CFA_same_value, read next and ignore.
5929
5930 2003-01-07  Richard Henderson  <rth@redhat.com>
5931
5932         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
5933
5934 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5935
5936         * cfg.c: Include alloc-pool.h
5937         (edge_pool): New pool.
5938         (bb_pool): New pool.
5939         (first_deleted_edge): Remove.
5940         (first_deleted_block): Remove.
5941         (init_flow): Alloc/free the pools.
5942         (free_edge): Use pools.
5943         (alloc_block): Ditto.
5944         (expunge_block): Ditto.
5945         (cached_make_edge): Ditto.
5946
5947         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
5948
5949 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5950
5951         * et-forest.c: Include alloc-pool.h.
5952         (struct et_forest): Add node_pool and occur_pool.
5953         (et_forest_create): Create the new pools.
5954         (et_forest_delete): Delete them.
5955         (et_forest_add_node): Allocate and free using pools.
5956         (et_forest_add_edge): Ditto.
5957         (et_forest_remove_node): Ditto.
5958         (et_forest_remove_edge): Ditto.
5959
5960         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
5961
5962 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
5963
5964         * config/h8300/h8300.c (output_logical_op): Simplify and
5965         optimize the handling of SImode.
5966         * config/h8300/h8300.c (compute_logical_op_length): Update
5967         accordingly.
5968         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
5969
5970 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
5971
5972         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
5973         big-endian correction to indirect arguments too.
5974
5975 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5976
5977         Segher Boessenkool  <segher@koffie.nl>
5978
5979         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
5980         (alt_reg_names): Ditto, fix formatting.
5981         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
5982
5983 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5984
5985         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
5986         (output_logical_op): Constify intval and det.
5987         (compute_logical_length): Likewise.
5988         (compute_logical_cc): Likewise.
5989         (output_a_shift): Constify mask.
5990         (h8300_encode_label): Constify len.
5991
5992 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5993
5994         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
5995         (h8300_expand_epilogue): Likewise.
5996
5997 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5998
5999         Segher Boessenkool  <segher@koffie.nl>
6000
6001         * config/rs6000/altivec.md: Remove spaces from assembler
6002         instruction argument lists.
6003
6004 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6005
6006         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
6007         c4x_assembler_function_p.
6008         (c4x_null_epilogue_p): Complement return value, all uses updated.
6009         (c4x_insert_attributes): Add naked.
6010         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
6011         * doc/extend.texi: Update C4x function attributes.
6012
6013 2003-01-06  Richard Henderson  <rth@redhat.com>
6014
6015         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
6016         properly when changing "local-ness".
6017         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
6018
6019 2003-01-06  Dale Johannesen  <dalej@apple.com>
6020
6021         * config/darwin-protos.h:  Add prototypes for new section functions.
6022
6023 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
6024
6025         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
6026         to EABI.
6027
6028 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
6029
6030         * hwint.h: If the current compiler has no 64-bit type at all,
6031         make HOST_WIDEST_INT 32 bits.
6032
6033 2003-01-06  Eric Christopher  <echristo@redhat.com>
6034
6035         * config/mips/mips.md (movdf_internal2): Fix constraints.
6036
6037 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
6038
6039         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
6040
6041 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
6042
6043         * config/mips/mips.md (leadi): Use dla rather than la.
6044
6045 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
6046
6047         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
6048         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
6049
6050 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
6051
6052         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
6053         redefinition.
6054
6055 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
6056
6057         * config/h8300/h8300.md (*extzv_8_23): New.
6058
6059 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6060
6061         * pa64-hpux.h (JCR_SECTION_NAME): Define.
6062         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
6063         USE_EH_FRAME_REGISTRY when defining.
6064
6065 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
6066
6067         * config/h8300/h8300.c (output_a_shift): Do not output a
6068         variable shift.
6069         * config/h8300/h8300.md (two splitters): New.
6070
6071 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
6072
6073         * config/mips/mips.md: Disable the movstrsi define_split.
6074
6075 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6076
6077         * alloc-pool.c: Don't include "libiberty.h".
6078         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
6079         * convert.c (convert_to_real): Hide unused variable.
6080
6081 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6082
6083         * Makefile.in (gtyp-gen.h): Const-ify.
6084         * gcov-dump.c (tag_table): Likewise.
6085
6086 2003-01-04  Bruce Korb  <bkorb@gnu.org>
6087
6088         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
6089         of *both* the file name and the fix name.
6090
6091 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
6092
6093         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
6094         collect2.
6095         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
6096         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
6097         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
6098         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
6099         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
6100         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
6101         elfos.h.
6102         (EH_FRAME_IN_DATA_SECTION): Delete define.
6103         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
6104         (STARTFILE_SPEC): Use crtbegin.o.
6105         (ENDFILE_SPEC): Use crtend.o.
6106         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
6107         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
6108         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
6109         DTOR_LIST_BEGIN): Define.
6110         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
6111         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
6112         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
6113
6114 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
6115
6116         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
6117         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
6118         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
6119         Cleanup handling of replacement text.
6120         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
6121
6122 2003-01-04  Bruce Korb  <bkorb@gnu.org>
6123
6124         * fixinc/tests/base/math.h: removed obsolete results
6125         * fixinc/tests/base/stdlib.h: ditto
6126         * fixinc/tests/base/sys/param.h: ditto
6127         * fixinc/tests/base/sys/stat.h: ditto
6128         * fixinc/tests/base/time.h: ditto
6129         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
6130         * fixinc/tests/base/sys/byteorder.h: ditto
6131         * fixinc/inclhack.def: Remove superfluous backslashes
6132
6133 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
6134
6135         * config/h8300/h8300-protos.h: Add prototypes for
6136         the new functions defined below.
6137         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
6138         define.
6139         (dosize): Emit RTL instead of assembly code.
6140         (push): Likewise.
6141         (pop): Likewise.
6142         (h8300_output_function_prologue): Remove.
6143         (h8300_expand_prologue): New.
6144         (h8300_expand_epilogue): New.
6145         (h8300_output_function_epilogue): Do only the reset of
6146         pragma_saveall.
6147         * config/h8300/h8300.md (push_h8300): New.
6148         (push_h8300hs): Likewise.
6149         (pop_h8300): Likewise.
6150         (pop_h8300hs): Likewise.
6151         (*stm_h8300s_2): Change the name to stm_h8300s_2.
6152         (*stm_h8300s_3): Change the name to stm_h8300s_3.
6153         (*stm_h8300s_4): Change the name to stm_h8300s_4.
6154         (*ldm_h8300s_2): New.
6155         (*ldm_h8300s_3): Likewise.
6156         (*ldm_h8300s_4): Likewise.
6157         (return): Likewise.
6158         (*return_1): Likewise.
6159         (prologue): Likewise.
6160         (epilogue): Likewise.
6161         (monitor_prologue): Likewise.
6162
6163 2003-01-03  Dale Johannesen  <dalej@apple.com>
6164
6165         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
6166           machopic_picsymbol_stub1.
6167           (EXTRA_SECTION_FUNCTIONS):  Ditto.
6168         * rs6000/rs6000.c:  Update copyright.
6169           (machopic_output_stub):  Use them.  Remove an insn from stub code.
6170
6171 2003-01-02  Jason Merrill  <jason@redhat.com>
6172
6173         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
6174
6175         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
6176         static/external decls.
6177
6178         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
6179         outermost scope.
6180         * c-decl.c (c_make_fname_decl): Push the decls there, too.
6181
6182 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
6183
6184         * config/h8300/h8300-protos.h: Add a prototype for
6185         h8300_current_function_interrupt_function_p.
6186         * config/h8300/h8300.c (interrupt_handler): Remove.
6187         (os_task): Likewise.
6188         (monitor): Likewise.
6189         (pragma_interrupt): New.
6190         (WORD_REG_USED): Use
6191         h8300_current_function_interrupt_function_p.
6192         (dosize): Likewise.
6193         (h8300_output_function_prologue): Likewise.
6194         Do not set interrupt_handler, os_task, monitor.
6195         (h8300_output_function_prologue): Use
6196         h8300_current_function_interrupt_function_p.
6197         Do not set interrupt_handler, os_task, monitor.
6198         (h8300_current_function_interrupt_function_p): New.
6199         (h8300_pr_interrupt): Set pragma_interrupt.
6200         (h8300_insert_attributes): Reset pragma_interrupt.
6201
6202 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6203
6204         * doc/install.texi (Configuration): Fix markup for reference to
6205         gcc/config.gcc.
6206
6207 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
6208
6209         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
6210         (*iorhi3_two_qi): Likewise.
6211         (*iorsi3_zexthi): Likewise.
6212         (*xorhi3_zextqi): Likewise.
6213         (*xorsi3_zexthi): Likewise.
6214         (*xorsi3_zextqi): Likewise.
6215
6216 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
6217
6218         * config/h8300/h8300.c (stack_pointer_operand): New.
6219         (const_int_gt_2_operand): Likewise.
6220         (const_int_ge_8_operand): Likewise.
6221         * config/h8300/h8300.md (a splitter): Likewise.
6222         (a peephole2): Likewise.
6223         * config/h8300/h8300-protos.h: Add prototypes for the new
6224         functions above.
6225
6226 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
6227
6228         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
6229         objc/objc-act.h: Fix copyright years.
6230
6231 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
6232
6233         * doc/passes.texi: Fix documentation for -fssa-ccp
6234
6235 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
6236
6237         * gccbug.in: Update for new categories.
6238
6239 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6240
6241         * config/h8300/h8300.md: Reorder some patterns.
6242
6243 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6244
6245         * config/h8300/h8300.c (output_logical_op): Fix a warning.
6246
6247 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
6248
6249         * config/darwin-protos.h, config/c4x/c4x-protos.h,
6250         config/cris/cris-protos.h, config/i370/i370-protos.h,
6251         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
6252         config/v850/v850-protos.h: Use struct, and don't conditionally
6253         compile on GCC_C_PRAGMA_H.
6254
6255 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6256
6257         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
6258         * config/h8300/h8300-protos.h: Likewise.
6259         * config/sh/sh-protos.h: Likewise.
6260
6261 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6262
6263         * config/arm/arm-protos.h: Use struct cpp_reader instead of
6264         cpp_reader.
6265         * config/h8300/h8300-protos.h: Likewise.
6266         * config/sh/sh-protos.h: Likewise.
6267
6268 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
6269
6270         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
6271         arm_pr_long_calls_off): Use struct.
6272         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
6273         : Similarly.
6274         Don't include cpplib.h.
6275         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
6276         sh_pr_nosave_low_regs): Similarly.
6277
6278 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6279
6280         * config/h8300/h8300.c: Include cpplib.h.
6281
6282 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
6283
6284         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
6285           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
6286           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
6287           "GCC" in the copyright header.
6288
6289 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
6290
6291         * c-pragma.c (c_register_pragma): New.
6292         (init_pragma): Use it.
6293         * c-pragma.h (cpp_register_pragma): Don't declare.
6294         (c_register_pragma): New.
6295         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
6296         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
6297         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
6298         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
6299         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
6300         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
6301         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
6302         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
6303         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
6304         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
6305         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
6306         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
6307
6308 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6309
6310         * config/h8300/h8300-protos.h: Update the prototypes.
6311         * config/h8300/h8300.c (const_le_2_operand): Change to
6312         const_int_le_2_operand.
6313         (const_int_le_6_operand): Change to const_int_le_6_operand.
6314         * config/h8300/h8300.md (two peepholes): Update the function
6315         names.
6316
6317 2002-12-31  Tom Tromey  <tromey@redhat.com>
6318
6319         * doc/install.texi (Testing): Fixed typo.
6320
6321 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6322
6323         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
6324         (TRAMPOLINE_SIZE): Support the normal mode.
6325         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
6326
6327 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
6328
6329         * c-common.h (pending_lang_change): Declare.
6330
6331 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
6332
6333         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
6334         descriptions.
6335
6336 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
6337
6338         * gcc/doc/invoke.texi (Optimization Options): List the options
6339         enabled by each -O flag.
6340
6341 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6342
6343         * doc/install.texi (Configuration): Explicitly refer
6344         gcc/config.gcc for a list of cpu models.
6345
6346 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6347
6348         * config/h8300/h8300.h: Fix comment typos.
6349
6350 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
6351
6352         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
6353
6354 2002-12-30  Tom Tromey  <tromey@redhat.com>
6355
6356         * doc/install.texi (Testing): Mention Jacks.
6357
6358 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
6359
6360         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
6361
6362 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6363
6364         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
6365         cases.
6366         (compute_logical_op_length): Update to reflect the change in
6367         output_logical_op.
6368         (compute_logical_op_cc): Likewise.
6369
6370 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
6371
6372         * doc/service.texi: Uncomment and update FAQ link.
6373
6374 2002-12-30  Andreas Jaeger  <aj@suse.de>
6375
6376         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
6377
6378 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6379
6380         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
6381
6382 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6383
6384         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
6385         are clearing the most significant byte.
6386         (compute_logical_op_length): Update to reflect the change in
6387         output_logical_op.
6388         (compute_logical_op_cc): Likewise.
6389
6390 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6391
6392         * config/h8300/h8300.md: Give internal names to anonymous
6393         insns.
6394
6395 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6396
6397         * config/h8300/h8300.md: Reorder some insns.
6398
6399 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6400
6401         * config/h8300/h8300-protos.h: Add prototypes for
6402         const_int_qi_operand and const_int_hi_operand.
6403         * config/h8300/h8300.c (const_int_qi_operand): New.
6404         (const_int_hi_operand): Likewise.
6405         * config/h8300/h8300.md (three peepholes): New.
6406
6407 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
6408
6409         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
6410         Use @copying.
6411
6412 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
6413
6414         * configure.in: Increase makeinfo version requirement to 4.[2-9].
6415         * configure: Regenerate.
6416         * doc/install.texi: Update Texinfo version requirement.
6417
6418 2002-12-28  Andreas Jaeger  <aj@suse.de>
6419
6420         * config/i386/i386.c (x86_function_profiler): Mark labelno as
6421         possibly unused.
6422
6423         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
6424         correct format.
6425
6426 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
6427
6428         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
6429         *iorhi_ashift_8.
6430         (*iorhi_lshiftrt_8): New.
6431
6432 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
6433
6434         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
6435
6436 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6437
6438         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
6439
6440 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6441
6442         * config/h8300/h8300-protos.h: Fix comment typos.
6443         Update copyright.
6444         * config/h8300/h8300.c: Fix comment typos.
6445
6446 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6447
6448         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
6449
6450 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6451
6452         * config/i386/athlon.md: Fix comment typos.
6453         * config/i386/crtdll.h: Likewise.
6454         * config/i386/djgpp.h: Likewise.
6455         * config/i386/i386-interix.h: Likewise.
6456         * config/i386/i386.c: Likewise.
6457         * config/i386/i386.h: Likewise.
6458         * config/i386/i386.md: Likewise.
6459         * config/i386/k6.md: Likewise.
6460         * config/i386/mingw32.h: Likewise.
6461         * config/i386/pentium.md: Likewise.
6462         * config/i386/sco5.h: Likewise.
6463         * config/i386/winnt.c: Likewise.
6464         * config/i386/xmmintrin.h: Likewise.
6465
6466 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
6467
6468         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
6469         INSN_P before checking to see if it is dead.
6470         (mark_all_insn_unnecessary): Similarly.
6471         (ssa_eliminate_dead_code): Similarly.
6472         * rtl.h (struct rtx_def): Update comments for in_struct usage
6473         in dead code elimination pass.
6474         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
6475
6476 2002-12-26  Andreas Schwab  <schwab@suse.de>
6477
6478         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
6479
6480 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
6481
6482         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
6483         tartet_flags_explicit.
6484         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
6485         Compact target_flags bits.
6486         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
6487         (TARGET_SWITCHES): Delete references to *_SET flags.
6488
6489 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
6490
6491         * i386.md (memory attribute): Fix setcc attribute.
6492
6493 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6494
6495         * output.h: Fix comment typos.
6496         * predict.c: Likewise.
6497         * print-tree.c: Likewise.
6498         * profile.c: Likewise.
6499         * ra-build.c: Likewise.
6500         * ra-colorize.c: Likewise.
6501         * ra-debug.c: Likewise.
6502         * ra-rewrite.c: Likewise.
6503         * ra.c: Likewise.
6504         * ra.h: Likewise.
6505         * real.c: Likewise.
6506         * recog.c: Likewise.
6507         * reg-stack.c: Likewise.
6508         * regclass.c: Likewise.
6509
6510 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6511
6512         * config/h8300/h8300.c (print_operand_address): Do not negate
6513         a negative number when printing one.
6514
6515 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6516
6517         * config/h8300/h8300-protos.h: Add prototypes for
6518         output_plussi, compute_plussi_length, and compute_plussi_cc.
6519         * config/h8300/h8300.c (output_plussi): New.
6520         (compute_plussi_length): Likewise.
6521         (compute_plussi_cc): Likewise.
6522         * config/h8300/h8300.md (addsi_h8300h): Call
6523         output_plussi, compute_plussi_length, and compute_plussi_cc.
6524
6525 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
6526
6527         * config/h8300/h8300.md (two peepholes): Use match_dup instead
6528         of match_operand in the new patterns.
6529
6530 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
6531
6532         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
6533
6534 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
6535
6536         * configure.in (enable-coverage): Add SELF_COVERAGE.
6537         * profile.c (end_branch_prob): Use SELF_COVERAGE.
6538
6539 2002-12-24  Jim Wilson  <wilson@redhat.com>
6540
6541         * alias.c (record_set): Handle multi-reg hard registers.
6542
6543 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
6544
6545         * regmove.c: Fix comment typos.
6546         * reload.c: Likewise.
6547         * reload1.c: Likewise.
6548         * resource.c: Likewise.
6549         * rtl.def: Likewise.
6550         * rtl.h: Likewise.
6551         * rtlanal.c: Likewise.
6552         * sched-deps.c: Likewise.
6553         * sched-rgn.c: Likewise.
6554         * sibcall.c: Likewise.
6555         * simplify-rtx.c: Likewise.
6556         * ssa-ccp.c: Likewise.
6557         * ssa.c: Likewise.
6558         * stmt.c: Likewise.
6559         * stor-layout.c: Likewise.
6560         * system.h: Likewise.
6561         * tlink.c: Likewise.
6562         * toplev.c: Likewise.
6563         * tracer.c: Likewise.
6564         * tree-inline.c: Likewise.
6565         * tree.c: Likewise.
6566         * tree.h: Likewise.
6567         * unroll.c: Likewise.
6568         * varasm.c: Likewise.
6569
6570 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
6571
6572         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
6573         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
6574         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
6575         DG/UX entries.
6576         * doc/md.texi: Remove AMD 29K entries.
6577         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
6578         1.38.1, NewsOS, RT PC, WE32K entries.
6579
6580 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
6581
6582         PR/8763
6583         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
6584         (altivec_vspltisw_v4sf): Name pattern.
6585         (altivec_vslw_v4sf): New pattern.
6586
6587 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
6588
6589         * doc/include/gcc-common.texi: Define DEVELOPMENT.
6590
6591 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
6592
6593         * stor-layout.c (update_alignment_for_field): Correct handling of
6594         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
6595         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
6596         bitfield does not affect alignment.
6597
6598 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
6599
6600         * expr.c (expand_assignment): Apply special treatment to
6601         ARRAY_TYPE.
6602
6603 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
6604
6605         * config/h8300/h8300-protos.h: Update the prototype of
6606         expand_a_shift.
6607         * config/h8300/h8300.c (expand_a_shift): Change the return
6608         type to void.
6609         * config/h8300/h8300.md: Update all the uses of
6610         expand_a_shift.
6611
6612 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
6613
6614         * tree.c (save_expr): Allow either side of a dyadic operand to be
6615         constant.
6616
6617         * doc/portability.texi (portability): Update portability goals.
6618
6619 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
6620
6621         * config/h8300/h8300.c (output_a_shift): Remove unused code.
6622
6623 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
6624
6625         * stor-layout.c (update_alignment_for_field): Guard use of
6626         ADJUST_FIELD_ALIGN with #ifdef.
6627
6628         * stor-layout.c (update_alignment_for_field): Use
6629         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
6630         bitfield when PCC_BITFIELD_TYPE_MATTERS.
6631
6632 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6633
6634         * genautomata.c: Fix comment typos.
6635
6636 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6637
6638         * params.def (tracer-min-branch-probability-feedback): Fix default.
6639         * final.c (compute_alignments): Use profile to avoid code bloat.
6640
6641 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6642
6643         * config/h8300/h8300.c (get_shift_alg): Make shift insn
6644         sequences end with a valid cc0 whenever possible.
6645
6646 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6647
6648         * config/h8300/h8300.md (negsf2): New.
6649         (*negsf2_h8300): Likewise.
6650         (*negsf2_h8300hs): Likewise.
6651
6652 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
6653
6654         * integrate.c (output_inline_function): Don't hold private
6655         pointers to 'struct function' over GC calls.
6656
6657 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
6658
6659         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
6660         NO_FPSCR_VALUES.
6661         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
6662
6663 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6664
6665         * config/h8300/h8300.md (zero_extendqisi2): Correct the
6666         length.
6667
6668 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6669
6670         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
6671         second alternative "#".
6672         (*zero_extendqihi2_h8300hs): Likewise.
6673         (a define_split): New.
6674
6675 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6676
6677         * config/h8300/h8300-protos.h: Update the prototype for
6678         split_adds_subs.
6679         Add prototypes for const_le_2_operand and const_le_6_operand.
6680         * config/h8300/h8300.c (split_adds_subs): Add an argument to
6681         specify whether inc/dec should be used when possible.
6682         (const_le_2_operand): New.
6683         (const_le_6_operand): Likewise.
6684         * config/h8300/h8300.md (two peepholes): New.
6685
6686 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6687
6688         * config/fr30/fr30.md: Fix a comment typo.
6689         * config/i386/i386.c: Likewise.
6690         * config/ip2k/ip2k.h: Likewise.
6691
6692 2002-12-20  Jim Wilson  <wilson@redhat.com>
6693
6694         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
6695         (__ev_subw, __ev_subiw): New.
6696         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
6697         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
6698
6699 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
6700
6701         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
6702         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
6703         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
6704         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
6705
6706 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6707
6708         * config/h8300/h8300-protos.h: Add prototypes for
6709         incdec_operand and eqne_operator.
6710         * config/h8300/h8300.c (incdec_operand): New.
6711         (eqne_operator): Likewise.
6712         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
6713         (CONST_OK_FOR_O): Likewise.
6714         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
6715         CONST_OK_FOR_O.
6716         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
6717         (addhi3_incdec): New.
6718         (addsi3_incdec): Likewise.
6719         (two peepholes): Likewise.
6720
6721 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6722
6723         * config/h8300/h8300.c (dosize): Remove warnings.
6724         (print_operand): Likewise.
6725
6726 2002-12-20  Richard Henderson  <rth@redhat.com>
6727
6728         * config/alpha/alpha.c (decl_has_samegp): New.
6729         (samegp_function_operand): Use it.  Rename from
6730         current_file_function_operand.
6731         (direct_call_operand): Handle -msmall-text via symbol->jump.
6732         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
6733         (tls_symbolic_operand_type): Likewise.
6734         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
6735         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
6736         (alpha_end_function): Set symbol->jump for functions defined in
6737         the text section.
6738         * config/alpha/alpha-protos.h: Update.
6739         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
6740         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
6741         (PREDICATE_CODES): Update.
6742         * config/alpha/alpha.md (call patterns): Update for
6743         samegp_function_operand rename; use !samegp reloc if
6744         TARGET_EXPLICIT_RELOCS.
6745         * doc/invoke.text: Document -msmall-text and -mlarge-text.
6746
6747 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
6748
6749         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
6750         all registers capable of holding a double float.
6751         (*rcond): change name of "reverse branch" insns to
6752         something more meaningful.
6753         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
6754         comparisons properly.
6755         (*ffs): Change operand 0 from write to read-modify-write.
6756         (*ffsssi2): Drop constraints from define_expand.
6757
6758         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
6759         MOVE_RATIO as default for store operations.
6760
6761         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
6762         LONG_REGS class.
6763         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
6764         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
6765         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
6766
6767         * config/ns32k/STATUS: New File
6768         * config/ns32k/NOTES: New file.
6769
6770 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
6771
6772         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
6773         option for S/390 and zSeries.
6774         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
6775         s390_arch_string): New variables.
6776         (override_options): Checking for options and setting of
6777         appropriate target_flags, cpu and arch flags.
6778         * config/s390/s390.h: (processor_type): New enum.
6779         (TARGET_SWITCHES): New switches -mesa/zarch.
6780         * config/s390/s390.md: New attribute 'cpu'.
6781
6782 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6783
6784         * c-pretty-print.h: Fix comment typos.
6785         * integrate.c: Likewise.
6786         * varasm.c: Likewise.
6787         * config/c4x/c4x.h: Likewise.
6788         * config/c4x/c4x.md: Likewise.
6789         * config/fr30/fr30.md: Likewise.
6790         * config/frv/frv.c: Likewise.
6791         * config/h8300/h8300.c: Likewise.
6792         * config/i386/i386.c: Likewise.
6793         * config/i386/i386.h: Likewise.
6794         * config/ia64/ia64.c: Likewise.
6795         * config/ia64/ia64.h: Likewise.
6796         * config/ip2k/ip2k.md: Likewise.
6797         * config/m68hc11/m68hc11-crt0.S: Likewise.
6798         * config/m68hc11/m68hc11.h: Likewise.
6799         * config/m68hc11/m68hc11.md: Likewise.
6800         * config/m68hc11/m68hc12.h: Likewise.
6801         * config/mcore/mcore.md: Likewise.
6802         * config/mips/mips.c: Likewise.
6803         * config/mips/mips.md: Likewise.
6804         * config/mmix/mmix-modes.def: Likewise.
6805         * config/pa/pa.c: Likewise.
6806         * config/rs6000/rs6000.c: Likewise.
6807         * config/rs6000/rs6000.h: Likewise.
6808         * config/rs6000/rs6000.md: Likewise.
6809
6810 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6811
6812         * config/h8300/h8300.md (output_a_shift): Clean up the code to
6813         output shifts using rotation.
6814
6815 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6816
6817         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
6818
6819 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6820
6821         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
6822         pointer.
6823         (pushqi_h8300hs): Likewise.
6824         (pushhi_h8300): Likewise.
6825         (pushhi_h8300hs): Likewise.
6826
6827 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
6828
6829         * sched-rgn.c (init_regions): Update comment.
6830
6831 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
6832
6833         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
6834         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
6835         attributes.
6836         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
6837         (get_vrsave_internal,set_vrsave_internal): Same.
6838         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
6839         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
6840         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
6841
6842 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
6843             Danny Smith  <dannysmith@users.sourceforge.net>
6844             Eric Kohl  <ekohl@rz-online.de>
6845
6846         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
6847         attributes incompatible with fastcall attribute.
6848         (ix86_handle_regparm_attribute): Likewise.
6849
6850         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
6851         fastcall types.
6852
6853         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
6854         attributes.
6855         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
6856         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
6857         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
6858         i386_pe_output_labelref rather than here.
6859         (gen_fastcall_suffix): New function. Decorates a label name with the
6860         fastcall prefix (@) and the stdcall suffix.
6861         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
6862         has a fastcall attribute.
6863         (i386_pe_output_labelref): New function. Outputs a label reference.
6864         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
6865         valid attribute.
6866         (ix86_return_pops_args): Fastcall functions pop the stack.
6867         (init_cumulative_args): Reserve registers ECX and EDX if function has
6868         fastcall attribute.
6869         (function_arg): Use registers ECX and EDX if function has fastcall
6870         attribute.
6871         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
6872         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
6873         (FASTCALL_PREFIX): Define as '@'.
6874         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
6875         attributes.
6876         * doc/extend.texi: Add documentation of fastcall attribute.
6877
6878 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
6879
6880         * configure.in: FORBUILD when build!=host changed from
6881         ../$build-alias to ../build-$build_alias to match change made
6882         in top directory.
6883         * configure: Regenerated.
6884
6885 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6886
6887         PR optimization/8988
6888         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
6889         the biv when eliminating.
6890
6891 2002-12-19  Devang Patel  <dpatel@apple.com>
6892         * gcc.c (struct default_compiler): Recognizes input file name with
6893         .CPP extension as C++ source files
6894         * cp/lang-spec.h: Same
6895         * doc/invoke.texi:  Add documentation for .CPP support.
6896
6897 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
6898
6899         PR 8553
6900         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
6901         registers.
6902         ("absv16qi2"): Same.
6903         ("absv4si2"): Same.
6904         ("absv4sf2"): Same.
6905         ("altivec_abss_v16qi"): Same.
6906         ("altivec_abss_v8hi"): Same.
6907         ("altivec_abss_v4si"): Same.
6908
6909 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
6910
6911         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
6912         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
6913
6914 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6915
6916         PR target/8340
6917         * stmt.c (expand_asm_operands): Produce an error when
6918         the PIC register is clobbered.
6919
6920 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
6921
6922         * Makefile.in (OBJS): Add alloc-pool.o
6923         (alloc-pool.o): New object.
6924
6925         * alloc-pool.c: New file.
6926         * alloc-pool.h: New file.
6927
6928 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
6929
6930         * gcc.c (validate_switches): Robustify against skipping past '\0'.
6931
6932 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6933
6934         * config.gcc: Set extra_objs in the generic Darwin rule,
6935         not in the machine-specific rules.
6936
6937 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6938
6939         * ChangeLog: Follow spelling conventions.
6940         * ChangeLog.2: Likewise.
6941         * ChangeLog.4: Likewise.
6942         * ChangeLog.5: Likewise.
6943         * cppexp.c: Likewise.
6944         * df.c: Likewise.
6945         * gcov.c: Likewise.
6946         * gengtype.c: Likewise.
6947         * reload1.c: Likewise.
6948         * sched-rgn.c: Likewise.
6949         * stmt.c: Likewise.
6950         * stor-layout.c: Likewise.
6951         * timevar.c: Likewise.
6952         * toplev.c: Likewise.
6953         * tree.h: Likewise.
6954         * varasm.c: Likewise.
6955         * config/fr30/fr30.md: Likewise.
6956         * config/i386/i386.c: Likewise.
6957         * config/ia64/ia64.c: Likewise.
6958         * config/pa/pa.c: Likewise.
6959
6960 2002-12-18  Roger Sayle  <roger@eyesopen.com>
6961
6962         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
6963
6964 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
6965
6966         PR 8551
6967         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
6968         macro.
6969         (vec_cmplt C++ functions): Reverse arguments.
6970
6971 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6972
6973         * config/rs6000/t-rs6000: Move contents to t-fprules,
6974         add rules for dependencies of rs6000.o and to build rs6000-c.o
6975         * config/rs6000/t-fprules: New file from t-rs6000.
6976         * config/rs6000/t-beos: Remove soft-fp rules.
6977         * config/rs6000/t-ppccomm: Likewise.
6978         * config/rs6000/t-newas: Likewise.
6979         * config/rs6000/t-rs6000-c-rule: Delete.
6980         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
6981         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
6982         Create generic Darwin rules.
6983
6984         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
6985
6986 2002-12-18  Doug Evans  <dje@sebabeach.org>
6987
6988         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
6989         and LIT_NAME_P.
6990         (move_src_operand): Remove compile-time warning.
6991         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
6992
6993 2002-12-18  Jason Merrill  <jason@redhat.com>
6994
6995         * unwind-dw2-fde.c (frame_downheap): Split out from...
6996         (frame_heapsort): Here.
6997
6998 2002-12-17  Jason Merrill  <jason@redhat.com>
6999
7000         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
7001         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
7002
7003         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
7004
7005         * calls.c (expand_call): Don't try to be clever about expanding
7006         the return slot address.
7007
7008 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
7009
7010         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
7011         Define.
7012
7013 2002-12-17  Jason Merrill  <jason@redhat.com>
7014
7015         * genmultilib: Use 'cd ./foo'.
7016
7017 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
7018
7019         * doc/c-tree.texi: Restore deliberate spelling mistakes.
7020
7021 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
7022
7023         * doc/c-tree.texi: Fix typos and follow spelling conventions.
7024         * doc/cpp.texi: Likewise.
7025         * doc/extend.texi: Likewise.
7026         * doc/gty.texi: Likewise.
7027         * doc/install.texi: Likewise.
7028         * doc/invoke.texi: Likewise.
7029         * doc/md.texi: Likewise.
7030         * doc/passes.texi: Likewise.
7031         * doc/rtl.texi: Likewise.
7032         * doc/sourcebuild.texi: Likewise.
7033         * doc/tm.texi: Likewise.
7034
7035 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
7036
7037         * doc/invoke.texi: Minor spelling and grammar fixes.
7038
7039 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
7040
7041         * config/s390/s390.c (s390_output_constant_pool): Replace
7042         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
7043
7044 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
7045
7046         * convert.c (convert_to_real): Disable function transformation for
7047         now.
7048
7049 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
7050
7051         * gcc.c (handle_braces): Allow '@' as a switch name.
7052
7053 2002-12-16  Jason Merrill  <jason@redhat.com>
7054
7055         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
7056         with special struct-return ABIs.
7057
7058         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
7059         doesn't match the begin SCOPE_STMT in partialness.
7060
7061 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
7062
7063         * genmultilib: Create temporary files in unique subdirectory.
7064
7065         * gcc.c (validate_switches): Allow '@' as a switch name.
7066
7067 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
7068
7069         * Makefile.in (gcov-iov.h): Improve portability.
7070
7071 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
7072
7073         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
7074         gas
7075         * mips.md (tablejump insn): Likewise.
7076
7077 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
7078
7079         * doc/include/gcc-common.texi: Change version number to 3.4.
7080
7081 2002-12-16  Bruce Korb  <bkorb@gnu.org>
7082
7083         * fixinc/fixlib.h: add: #include <signal.h>
7084         * fixinc/fixincl.c: remove: #include <signal.h>
7085
7086 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7087
7088         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
7089         (EXTRA_CONSTRAINT): Use it.
7090         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
7091
7092 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
7093
7094         * config.gcc (need_64bit_hwint): New variable.
7095         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
7096         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
7097         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
7098         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
7099         Set it.
7100         (powerpc*-*-darwin*): Unset it.
7101         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
7102         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
7103         deleted/nonexistent xm-*.h headers.
7104         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
7105         target set need_64bit_hwint in config.gcc.
7106         * configure, config.in: Regenerate.
7107
7108         * hwint.h: Overhaul.  Don't bother trying int for
7109         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
7110         decision to force 64-bit HOST_WIDE_INT on
7111         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
7112         not visible at this point.  Don't allow prior definition of
7113         any macro defined by this file.
7114
7115         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
7116         HOST_BITS_PER_WIDE_INT.
7117         * config/c4x/c4x.h: Adjust redefinition of
7118         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
7119         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
7120         config/i386/xm-i386-interix.h: Delete file.
7121
7122 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
7123             John David Anglin  <dave@hiauly1.hia.nrc.ca>
7124
7125         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
7126         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
7127
7128 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
7129
7130         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
7131
7132 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
7133
7134         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
7135         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
7136         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
7137         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
7138         config/v850/t-v850:  Correct dependencies and normalize
7139         compilation commands for files that include coretypes.h and tm.h.
7140
7141         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
7142         not config.h and system.h.
7143
7144 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
7145
7146         * i386.c (flags_reg_operand):  New function.
7147         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
7148         * i386.md (cmov splitter, movqicc): Use new predicate.
7149
7150 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
7151
7152         * i386.md (movqicc splitter): Fix template.
7153
7154 2002-12-13  Jason Merrill  <jason@redhat.com>
7155
7156         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
7157         * calls.c (expand_call): Handle it.
7158         * tree-inline.c (struct inline_data): Remove target_exprs field.
7159         (optimize_inline_calls): Don't initialize it.
7160         (expand_call_inline): Don't modify it.  Handle
7161         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
7162         (declare_return_variable): Take return slot addr.
7163         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
7164         to return_slot_addr.
7165         * langhooks-def.h, langhooks.c: Adjust.
7166         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
7167         a decl with no DECL_INITIAL.
7168
7169         * expr.c (expand_expr): Don't discard the target of a call which
7170         returns in memory.
7171
7172 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
7173
7174         * cppinit.c (path_include): Take an environment variable name.
7175         Tidy up.
7176         (init_standard_includes): Simplify environment handling, and
7177         move to ...
7178         (cpp_read_main_file): ...here as -nostdinc should not affect
7179         environment variable paths.
7180
7181 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7182
7183         * pa.c (output_millicode_call): Correct typo.
7184         (output_call): Likewise.
7185
7186 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
7187
7188         * config/mn10300/mn10300.c (print_operand) <case N>: Check
7189         operand's range.  Print value directly, without aid from
7190         output_address.
7191         <case U>: New.
7192         <case S>: Make sure argument to fprintf has the right type.
7193         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
7194         (EXTRA_CONSTRAINT): Adjust.
7195         * config/mn10300/mn10300.md: Add new all-QImode pattern for
7196         bclr.  Use %U for immediate operands of bset and bclr.
7197         (iorqi3): New expand, with insns for AM33 and mn10300.
7198
7199 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
7200
7201         * sh.c (sh_register_operand): New function.
7202         (prepare_move_operands): Use it.
7203         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
7204         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
7205         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
7206         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
7207         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
7208         (movv2si_i): Likewise.
7209
7210 2002-12-13  Jim Wilson  <wilson@redhat.com>
7211
7212         * doc/extend.texi (Complex Numbers): Update info on debug info.
7213
7214 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
7215
7216         * config/h8300/h8300.md (addhi3_h8300): Remove the last
7217         alternative.
7218
7219 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7220
7221         * hooks.h (hook_tree_tree_bool_false): Declare
7222         hook_bool_tree_tree_false instead.
7223
7224 2002-12-12  Devang Patel  <dpatel@apple.com>
7225
7226         * doc/invoke.texi: Document Darwin linker options, -bundle
7227         -bind_at_load, -all_load and -arch_errors_fatal
7228
7229 2002-12-12  Jim Wilson  <wilson@redhat.com>
7230
7231         * dbxout.c (dbxout_fptype_value): New.
7232         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
7233
7234 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7235
7236         * c-decl.c: Fix a comment typo.
7237         * cfg.c: Likewise.
7238         * cfgcleanup.c: Likewise.
7239         * cfglayout.c: Likewise.
7240         * cfgrtl.c: Likewise.
7241         * c-typeck.c: Likewise.
7242         * dominance.c: Likewise.
7243         * dwarf2asm.c: Likewise.
7244         * dwarfout.c: Likewise.
7245         * expmed.c: Likewise.
7246         * expr.c: Likewise.
7247         * final.c: Likewise.
7248         * flow.c: Likewise.
7249         * function.c: Likewise.
7250         * gcc.c: Likewise.
7251         * genautomata.c: Likewise.
7252         * integrate.c: Likewise.
7253         * loop.c: Likewise.
7254         * loop.h: Likewise.
7255         * output.h: Likewise.
7256         * profile.c: Likewise.
7257         * ra.h: Likewise.
7258         * reload1.c: Likewise.
7259         * reload.c: Likewise.
7260         * sched-rgn.c: Likewise.
7261         * stmt.c: Likewise.
7262         * tree.h: Likewise.
7263         * vmsdbgout.c: Likewise.
7264
7265 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7266
7267         * config/h8300/h8300.md: Add a new peephole2.
7268
7269 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7270
7271         * config/h8300/h8300.md (a peephole2): Accept a constant
7272         that's accepted by CONST_OK_FOR_J.
7273
7274 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7275
7276         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
7277         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
7278         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
7279         (*addhi_h8300hs): Likewise.
7280
7281 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
7282
7283         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
7284         (sh_register_move_cost): Add clause for SImode fp-fp moves.
7285         Increase cost for moves involving multiple general purpose registers.
7286         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
7287         TARGET_FMOVD.
7288         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
7289         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
7290         (enum reg_class reg_class_from_letter): No longer const.
7291         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
7292         REGCLASS_HAS_GENERAL_REG.
7293         Handle SImode moves from/to fp registers.
7294         ! TARGET_SHMEDIA && TARGET_FMOVD.
7295         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
7296         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
7297
7298 2002-12-12  Andreas Schwab  <schwab@suse.de>
7299
7300         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
7301         change and some warnings.
7302
7303 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7304
7305         * doc/md.texi (pushm): Fix a typo.
7306
7307 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
7308
7309         * config/mips/mips.c (mips_output_conditional_branch): Support
7310         PIC-safe out-of-range branch and branch-likely.
7311         * config/mips/mips.md (attr length): PIC-safe out-of-range
7312         branches are longer.
7313         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
7314         unused code to support indirect jumps.
7315
7316 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
7317
7318         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
7319         $(tm_file_list).
7320
7321 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
7322
7323         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
7324
7325 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
7326
7327         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
7328
7329 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7330
7331         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
7332         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
7333         BIGGEST_ALIGNMENT.
7334         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
7335         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
7336
7337 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7338
7339         * doc/invoke.texi: Correct dump file names.
7340
7341 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7342
7343         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
7344         name to globalize_label or assemble_name.
7345
7346 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
7347
7348         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
7349         if not TARGET_SHMEDIA.
7350
7351 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
7352
7353         * sh.h (REG_CLASS_HAS_FP_REG): New.
7354         (REGISTER_MOVE_COST) Use it.  Put body into a function and
7355         move it into:
7356         * sh.c (sh_register_move_cost).
7357         * sh-protos.h (sh_register_move_cost): Declare.
7358
7359         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
7360         (sh_adjust_cost): Always return a value.
7361
7362 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
7363
7364         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
7365         (REGISTER_MOVE_COST): Use it.
7366
7367 2002-12-11  Richard Henderson  <rth@redhat.com>
7368
7369         * tree.h (MODULE_LOCAL_P): Kill.
7370         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
7371
7372 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7373
7374         * config/h8300/h8300.md (two define_peephole2): New.
7375
7376 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7377
7378         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
7379         (CONST_OK_FOR_K): Likewise.
7380         (CONST_OK_FOR_M): Likewise.
7381         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
7382
7383 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
7384
7385         * c-common.c (builtin_define_type_max): Handle unsigned
7386         types too.
7387
7388 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
7389
7390         * haifa-sched.c (rank_for_schedule): Correct style.
7391
7392 2002-12-10  Per Bothner  <pbothner@apple.com>
7393
7394         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
7395         directive_index into an unsigned field and a new is_directive field.
7396         * cppinit.c (mark_named_operators):  Update to set new fields.
7397         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
7398         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
7399         No longer need to subtract 1 from directive_index.
7400         (_cpp_init_directives):  No longer need to add 1 to directive_index.
7401         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
7402
7403 2002-12-10  Roger Sayle  <roger@eyesopen.com>
7404
7405         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
7406         check for evaluating sqrt of a constant at compile time.
7407         * simplify-rtx.c (simplify_unary_operation): Likewise.
7408
7409 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
7410
7411         PR other/8882
7412         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
7413
7414 2002-12-10  Devang Patel  <dpatel@appple.com>
7415
7416         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
7417         * doc/invoke.texi: Add new "Darwin Options" section.
7418
7419 2002-12-10  Jim Wilson  <wilson@redhat.com>
7420
7421         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
7422         memory.
7423
7424 2002-12-10  Andrew Haley  <aph@redhat.com>
7425
7426         * cse.c (cse_insn): Don't cse past a basic block boundary.
7427
7428 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
7429
7430         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
7431         -shared.
7432         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
7433         * config/alpha/linux.h (LIB_SPEC): Likewise.
7434         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
7435         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
7436         * config/sparc/linux.h (LIB_SPEC): Likewise.
7437         * config/sparc/linux64.h (LIB_SPEC): Likewise.
7438
7439 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
7440
7441         * doc/invoke.texi: Document UltraSparc III option.
7442
7443 2002-12-09  Richard Henderson  <rth@redhat.com>
7444
7445         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
7446         __tune_pentium2__ and __tune_pentium3__ as necessary.
7447
7448 2002-12-09  Richard Henderson  <rth@redhat.com>
7449
7450         * target.h (gcc_target): Add cannot_force_const_mem.
7451         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
7452         (TARGET_INITIALIZER): Add it.
7453         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
7454         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
7455         * reload1.c (reload): Likewise.
7456         * hooks.c (hook_bool_rtx_false): New.
7457         * hooks.h: Declare it.
7458
7459         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
7460         (TARGET_CANNOT_FORCE_CONST_MEM): New.
7461         (ix86_expand_move): Remove de-const-pooling hack.
7462
7463 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
7464
7465         * toplev.c (dump_file): Fix order to match reality.
7466
7467 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
7468
7469         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
7470         (store_multiple): Likewise.
7471
7472 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7473
7474         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
7475         function pointers in page 0.
7476
7477 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7478
7479         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
7480         definition
7481         (MEMBER_TYPE_FORCES_BLK): Move.
7482         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
7483         aggregate arguments.
7484         (ia64_function_value): Use PARALLEL to return aggregate values.
7485
7486 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7487
7488         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7489         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7490         * calls.c (store_unaligned_arguments_into_pseudos) Remove
7491         FUNCTION_ARG_REG_LITTLE_ENDIAN.
7492         * stmt.c (expand_return): Ditto.
7493         * expr.c (move_block_from_reg): Ditto.
7494         (copy_blkmode_from_reg): Ditto.
7495         * expmed.c (store_bit_field): Ditto.
7496
7497 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
7498
7499         * config.gcc: Added tic4x-* target as an alias to c4x-*
7500
7501 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
7502
7503         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
7504         constructing insn directly.
7505
7506 2002-12-06  Per Bothner  <pbothner@apple.com>
7507
7508         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
7509         char to an int bit-field, for hosts where char is unsigned.
7510
7511 2002-12-07  Roger Sayle  <roger@eyesopen.com>
7512             Richard Henderson <rth@redhat.com>
7513
7514         * real.c (ieee_extended_motorola_format,
7515         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
7516         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
7517         Provide appropriate values for new signbit field.
7518
7519 2002-12-07  Roger Sayle  <roger@eyesopen.com>
7520
7521         * real.h (real_format): Add signbit field.
7522         * real.c (ieee_single_format, ieee_double_format,
7523         ieee_extended_motorola_format, ieee_extended_intel_96_format,
7524         ieee_extended_intel_128_format, ibm_extended_format,
7525         ieee_quad_format, vax_f_format, vax_d_format,
7526         vax_g_format, i370_single_format, i370_double_format,
7527         c4x_single_format, c4x_extended_format, real_internal_format):
7528         Provide suitable signbit value, or -1 to avoid bit twiddling.
7529
7530         * optabs.c (expand_unop): Try implementing negation of
7531         floating point modes by flipping the sign bit.
7532         (expand_abs): Try implementing abs of floating point modes
7533         by clearing the sign bit.
7534
7535 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7536
7537         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
7538         of constructing insn directly.
7539
7540 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
7541
7542         * config/h8300/h8300.md (*iorhi_shift_8): New.
7543
7544 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
7545
7546         * doc/invoke.texi: Document FRV port options.
7547         * doc/md.texi: Document FRV register classes.
7548
7549 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7550
7551         * doc/install.texi (Configuration): Improve description of cases
7552         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
7553
7554 2002-12-06  Per Bothner  <pbothner@apple.com>
7555
7556         * cpplib.h (NODE_MACRO_ARG):  New flag.
7557         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
7558         Remove value.operator field.  Move arg_index field to value union.
7559         (directive_index):  Make signed, since also used for C++ operators.
7560         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
7561         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
7562         Save node->value, and set node->value.arg_index.
7563         (_cpp_create_definition):  For each paramater, restore node->value.
7564         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
7565         * cpptrad.c (scan_out_logical_line): Likewise.
7566         (scan_out_logical_line): Check for directive > 0.
7567         * cpplib.c (cpp_handle_directive):  Likewise.
7568         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
7569         by negative of directive_index.
7570         * cppinit.c (mark_named_operators):  Likewise.
7571
7572         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
7573
7574 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
7575
7576         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
7577         FPU.
7578         (push): Generate push_fpscr.
7579         (pop): Generate pop_fpscr.
7580         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
7581         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
7582
7583 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
7584
7585         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
7586         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
7587
7588 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7589
7590         * sh.md (movdi_i): Name.  Remove inappropriate comment.
7591
7592 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
7593         Merged from basic improvements branch (excerpt):
7594
7595         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
7596         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
7597
7598 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
7599
7600         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
7601
7602 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
7603
7604         * i386.md (dimode peep2s): Re-add "&& 1".
7605
7606 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
7607
7608         * i386.c (ix86_expand_prologue):  Add comment, do not use
7609         fast prologues for cold and normal functions.
7610
7611 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
7612
7613         * i386.c (x86_rep_movl_optimal): New variable.
7614         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
7615         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
7616
7617         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
7618         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
7619         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
7620         generate unnecesary subregs.
7621
7622 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7623
7624         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
7625         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
7626
7627 2002-12-05  Dale Johannesen  <dalej@apple.com>
7628
7629         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
7630
7631 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
7632
7633         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
7634         PROFILE_HOOK.
7635         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
7636
7637 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
7638
7639         * config/rs6000/spe.h (__ev_mwlufi): Remove.
7640         (__ev_mwlufia): Remove.
7641         (__ev_mwlumfaaw): Remove.
7642         (__ev_mwlusfaaw): Remove.
7643         (__ev_mwlumfanw): Remove.
7644         (__ev_mwlusfanw): Remove.
7645
7646 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
7647
7648         * config/h8300/h8300.md (*andorsi3_shift_8): New.
7649
7650 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
7651
7652         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
7653         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
7654         (get_shift_alg): Return optimal assembly instructions for the
7655         shifts mentioned above.
7656
7657 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
7658
7659         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
7660         condtiional moves.
7661
7662 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7663
7664         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
7665         implement ashiftrt:HI by 13 bits on H8S.
7666
7667 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7668
7669         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
7670         * pa.md (canonicalize_funcptr_for_compare): Output library call to
7671         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
7672         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
7673         CTOR_LIST_BEGIN): New defines.
7674         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
7675         (fptr.c): Add make rules.
7676
7677 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
7678
7679         * combine.c (combine_simplify_rtx): Add new canonicalizations.
7680         * doc/md.texi (Insn Canonicalizations): Document new
7681         canonicalizations for multiply/add combinations.
7682         * config/rs6000/rs6000.md: Add and modify floating add/multiply
7683         patterns to ensure they're used whenever they can be.
7684
7685 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7686
7687         * config/h8300/h8300.c: Update the comments related to shifts.
7688
7689 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
7690
7691         * config/mips/mips.md (get_fnaddr): Correct length attribute.
7692
7693 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7694
7695         * config/h8300/h8300.md (*extzv_8_8): New.
7696         (*extzv_8_16): Likewise.
7697
7698 2002-12-04  Jason Merrill  <jason@redhat.com>
7699
7700         PR c++/8461, c++/8625
7701         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
7702         references.
7703         * tree-inline.c (initialize_inlined_parameters): Likewise.
7704
7705         * tree.c (variably_modified_type_p): Just return an error_mark_node.
7706
7707 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
7708
7709         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
7710         macro instruction in a branch delay slot, to avoid assembler
7711         warnings.
7712
7713 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
7714
7715         PR c/7622
7716         * c-semantics (genrtl_scope_stmt): Do not output inlined
7717         nested functions that contain no code.
7718
7719 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
7720
7721         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
7722         to be forced into nonfallthru.
7723
7724 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
7725
7726         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
7727
7728 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
7729
7730         * config/rs6000/spe.md (*movv1di_const0): New pattern.
7731
7732 2002-12-03  Richard Henderson  <rth@redhat.com>
7733
7734         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
7735
7736 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
7737
7738         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
7739         Initialize tmp.using_obstack to 0.
7740
7741 2002-12-03  Andreas Schwab  <schwab@suse.de>
7742
7743         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
7744         (EH_RETURN_STACKADJ_RTX): Define.
7745         (EH_RETURN_HANDLER_RTX): Define.
7746         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7747         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
7748         registers and don't save fixed registers.
7749         (m68k_output_function_prologue): Use it.
7750         (use_return_insn): Likewise.
7751         (m68k_output_function_epilogue): Likewise.
7752
7753 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
7754
7755         * config/h8300/h8300.c (single_one_operand): Fix a warning.
7756         (single_zero_operand): Likewise.
7757
7758 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7759
7760         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
7761         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
7762         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
7763         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
7764         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
7765         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
7766         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
7767         doc/install-old.texi: Replace hconfig.h with bconfig.h.
7768         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
7769
7770 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
7771
7772         * config/rs6000/rs6000.md (ffssi): Convert to expander.
7773         (ffsdi): Likewise.
7774         (cntlzw2, cntlzd2): New patterns.
7775
7776 2002-12-02  H.J. Lu <hjl@gnu.org>
7777
7778         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
7779         (mips*-*-linux*): Remove mips/t-linux.
7780
7781 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
7782
7783         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
7784
7785 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7786
7787         * config/h8300/h8300.c (dosize): Replace argument op with
7788         sign.
7789         (h8300_output_function_prologue): Update the call to dosize.
7790         (h8300_output_function_epilogue): Likewise.
7791
7792 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
7793
7794         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
7795
7796 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7797
7798         * configure.in: Use "missing" script to generate warning if
7799         flex or bison programs not found, instead of invoking "false".
7800         * configure: Rebuilt.
7801
7802 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
7803
7804         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
7805
7806 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
7807
7808         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
7809
7810 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7811
7812         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
7813         (push): Likewise.
7814         (pop): Likewise.
7815         (h8300_output_function_prologue): Likewise.
7816         (h8300_output_function_epilogue): Likewise.
7817
7818 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
7819
7820         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7821         corresponding mode of non-integer mode, unless it is VOIDmode.
7822
7823 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7824
7825         * config/h8300/h8300.md (stm_h8300s_2): New.
7826         (stm_h8300s_3): Likewise.
7827         (stm_h8300s_4): Likewise.
7828         (five define_peephole2): Likewise.
7829
7830 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7831
7832         * ra-build.c: Fix a comment typo.
7833
7834 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7835
7836         * i386.c (ix86_expand_int_movcc): fix
7837         reversed BRANCH_COST test; be curefull about infinite recursion.
7838
7839 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
7840
7841         * config/h8300/h8300.c (h8300_output_function_prologue):
7842         Remove variable idx.
7843         (h8300_output_function_epilogue): Likewise.
7844
7845 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
7846
7847         * config/frv/xm-frv.h: Delete, unnecessary.
7848
7849 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
7850
7851         * config/h8300/h8300.md: Add comments for define_peephole2.
7852
7853 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
7854
7855         * builtin-types.def (BT_SIZE): Use size_type_node.
7856         * builtins.c (fold_builtin): Make the builtin strlen returns a
7857         size_t, not a sizetype.
7858         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
7859         c_size_type_node.
7860         (c_alignof_expr): Likewise.
7861         (c_common_nodes_and_builtins): Likewise.
7862         * c-common.h (CTI_C_SIZE_TYPE): Remove.
7863         (c_size_type_node): Likewise.
7864         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
7865         * tree.h (TI_SIZE_TYPE): New enumeral.
7866         (size_type_node): Likewise.
7867
7868 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
7869
7870         * configure.in: Don't put ${tm_file} into host_xm_file,
7871         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
7872         Take location of tm-preds.h into account when calculating
7873         tm_p_file_list.
7874         * configure: Regenerate.
7875         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
7876         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
7877         Remove special case code for tm_p.h and *config.h; add new
7878         special case code for tm.h and tconfig.h. Clean up a bit.
7879
7880         * Makefile.in (tm_file, tm_file_list): New variables set from
7881         @-substitutions.
7882         (GCONFIG_H): Deleted.
7883         (GTM_H, TM_H): New.
7884         (CONFIG_H): Is now just config.h $(host_xm_file_list).
7885         (TM_P_H): Move up with the other mkconfig.sh-generated
7886         headers; don't mention tm-preds.h explicitly.
7887         (tm.h, cs-tm.h): New rule.
7888         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
7889         invocations of mkconfig.sh for changes to that program.
7890         (mostlyclean): Delete print-rtl1.c.
7891         (clean): Delete tm.h.
7892         Update dependencies for the files listed below.
7893
7894         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
7895
7896         * coretypes.h: New file.
7897         * system.h: #define malloc to xmalloc and realloc to xrealloc
7898         when FLEX_SCANNER or YYBISON is defined, independent of the
7899         value of GCC_VERSION.
7900         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
7901         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
7902         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
7903         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
7904         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
7905         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
7906         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
7907         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
7908         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
7909         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
7910         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
7911         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
7912         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
7913         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
7914         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
7915         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
7916         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
7917         genconstants.c, genemit.c, genextract.c, genflags.c,
7918         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
7919         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
7920         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
7921         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
7922         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
7923         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
7924         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
7925         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
7926         print-tree.c, profile.c, protoize.c, ra-build.c,
7927         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
7928         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
7929         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
7930         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
7931         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
7932         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
7933         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
7934         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
7935         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
7936         xcoffout.c, config/darwin-c.c, config/darwin.c,
7937         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
7938         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
7939         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
7940         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
7941         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
7942         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
7943         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
7944         config/i960/i960-c.c, config/i960/i960.c,
7945         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
7946         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7947         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
7948         config/mips/irix6-libc-compat.c, config/mips/mips.c,
7949         config/mmix/mmix.c, config/mn10200/mn10200.c,
7950         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
7951         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
7952         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
7953         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
7954         config/sparc/sparc.c, config/stormy16/stormy16.c,
7955         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
7956         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
7957         Include coretypes.h and tm.h.
7958
7959         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
7960         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
7961         genrecog.c: Include coretypes.h and tm.h from the file
7962         generated by this program.
7963
7964         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
7965         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
7966         coretypes.h and tm.h, and tsystem.h when not already included.
7967         No need to include stddef.h nor stdlib.h.
7968
7969         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
7970         include auto-host.h or ansidecl.h/
7971         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
7972         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
7973         include auto-host.h, ansidecl.h, or system.h.
7974         * fixinc/server.c: Likewise.  Also, do not include signal.h,
7975         and do not redefine volatile.
7976
7977 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7978
7979         * i386.md (movdf_integer):  Always enable in 64bit.
7980         (movdf_nointeger): Always disable in 64bit.
7981
7982 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7983
7984         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
7985         pseudo register number plus 1.
7986
7987 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
7988
7989         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7990         corresponding mode of non-integer mode, unless it is VOIDmode.
7991
7992 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
7993
7994         * cpplib.c (_cpp_test_assertion): Default *value to 0.
7995
7996         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
7997
7998 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
7999
8000         * config/s390/t-crtstuff: New target makefile fragment.
8001         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
8002
8003 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
8004
8005         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
8006         alternatives to correct the length when the memory operand is
8007         either pre_dec or post_inc.
8008
8009 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
8010
8011         * config/h8300/h8300.md (an anonymous pattern): Give an
8012         internal name *tst_extzv_bitqi_1_n.
8013         Accept bit_operand instead of bit_memory_operand.
8014         Do not accept bit tests with the MSB.
8015         (*tst_extzv_memqi_1_n): New.
8016
8017 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
8018
8019         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
8020         sharing when operand is SUBREG.
8021
8022 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
8023
8024         * athlon.md (athlon-decodev): New reservation unit.
8025         (athlon-direct0): New reservation.
8026         (athlon-vector): New use athlon-decodev.
8027         (athlon-double, athlon-direct): Better model.
8028         (athlon_imul_k8): Use athlon-direct0.
8029         (athlon_movlpd_load): New insn reservation.
8030
8031 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
8032
8033         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
8034         Fix a comment typo.
8035         (h8300_tiny_constant_address_p): Likewise.
8036
8037 2002-11-28  Michael Matz  <matz@suse.de>
8038
8039         * doc/passes.texi: Mention the other register allocator.
8040
8041 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
8042
8043         * config/h8300/h8300.md (6 new peephole2 patterns): New.
8044
8045 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
8046
8047         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
8048         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
8049         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
8050
8051 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
8052
8053         * config/h8300/h8300.c (h8300_and_costs): New.
8054         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
8055         * config/h8300/h8300-protos.h: Add a prototype for
8056         h8300_and_costs.
8057
8058 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
8059
8060         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
8061         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
8062         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
8063         * i386.md (truncdfsf patterns and splitters): Use
8064         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
8065
8066 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
8067
8068         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
8069         pointer argument in the prototypes of the following builtins
8070         be (const TYPE *) rather than (TYPE *):
8071          + __builtin_altivec_ld_internal_4sf
8072          + __builtin_altivec_ld_internal_4si
8073          + __builtin_altivec_ld_internal_8hi
8074          + __builtin_altivec_ld_internal_16qi
8075          + __builtin_altivec_lvsl
8076          + __builtin_altivec_lvsr
8077          + __builtin_altivec_lvebx
8078          + __builtin_altivec_lvehx
8079          + __builtin_altivec_lvewx
8080          + __builtin_altivec_lvxl
8081          + __builtin_altivec_lvx
8082          + __builtin_altivec_dst
8083          + __builtin_altivec_dstt
8084          + __builtin_altivec_dstst
8085          + __builtin_altivec_dststt
8086
8087 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8088
8089         * except.c (default_exception_section): Move variable into the
8090         scope where it is used.
8091
8092 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
8093
8094         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
8095         correct version.
8096
8097 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
8098
8099         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
8100
8101 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
8102
8103         * config/h8300/h8300.c (h8300_shift_costs): New.
8104         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
8105         * config/h8300/h8300-protos.h: Add a prototype for
8106         h8300_shift_costs.
8107
8108 2002-11-27  Jim Wilson  <wilson@redhat.com>
8109
8110         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
8111         in output template.
8112
8113 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
8114
8115         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
8116         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
8117         DLL_IMPORT_EXPORT_PREFIX, not '@'.
8118         (i386_pe_dllimport_name_p): Likewise.
8119         (i386_pe_mark_dllexport): Likewise.
8120         (i386_pe_mark_dllimport): Likewise.
8121         (i386_pe_encode_section_info): Likewise.
8122         (i386_pe_strip_name_encoding): Likewise.
8123
8124 2002-11-27  Richard Henderson  <rth@redhat.com>
8125
8126         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
8127         (nm && NF == 3): Set sawsymbol true.
8128         (END): Exit if no symbols seen.
8129         (output): Fix map syntax error if no globals for the version.
8130
8131 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
8132
8133         * builtins.def (DEF_C99_BUILTIN): Fix.
8134
8135 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
8136
8137         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
8138         (all): Add .size and .type information.
8139
8140 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
8141
8142         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
8143         partial_reg_stall target.
8144
8145 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
8146
8147         * i386.md (movhicc): Allow general operand.
8148         (movqicc): New expander.
8149         (movqicc_noc): New pattern.
8150         * i386.c (ix86_expand_carry_flag_compare): New function.
8151         (ix86_expand_int_movcc): Optimize harder using sbb; support more
8152         HImode conversion; support QImode conditional moves
8153
8154 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
8155
8156         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
8157         (ix86_expand_prologue): Multiply the count by amount of registers to be
8158         pushed.
8159
8160 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
8161
8162         * i386.c (override_options): Error about wrong -mcpu on x86-64
8163         compilation.
8164
8165 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
8166
8167         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
8168
8169 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
8170
8171         * i386-protos.h (x86_extended_QIreg_mentioned_p,
8172         x86_extended_reg_mentioned_p): Declare.
8173         * i386.c (extended_reg_mentioned_1): New static function.
8174         (x86_extended_QIreg_mentioned_p,
8175         x86_extended_reg_mentioned_p): New global functions.
8176         * i386.h (REX_SSE_REGNO_P): New macro.
8177         * i386.md (prefix_rex): New attribute.
8178         (length attribute): Add rex.
8179
8180 2002-11-26  Andrew Haley  <aph@redhat.com>
8181
8182         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
8183         from_Unwind_Find_Enclosing_Function.
8184         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
8185         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
8186         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
8187         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
8188         * unwind.h (_Unwind_FindEnclosingFunction): Add.
8189
8190 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
8191
8192         * config/s390/s390.c (390_output_constant_pool): Set alignment
8193         before label in 64 bit mode, behind otherwise.
8194
8195 2002-11-26  Richard Henderson  <rth@redhat.com>
8196
8197         * c-common.c (handle_visibility_attribute): Accept "default".
8198         * tree.h (enum symbol_visibility): New.
8199         (decl_visibility): Declare.
8200         * target.h (gcc_target.visibility): Take visibility arg as integer.
8201         * varasm.c (default_assemble_visibility): Likewise.
8202         (decl_visibility): New.
8203         (maybe_assemble_visibility): Use it.
8204         * output.h (default_assemble_visibility): Update prototype.
8205         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
8206         visibility arg as integer.
8207         * doc/extend.texi: Document default visibility.
8208
8209 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
8210
8211         * config/h8300/h8300.c: Adjust spacing.
8212         * config/h8300/h8300.h: Likewise.
8213
8214 2002-11-26  Richard Henderson  <rth@redhat.com>
8215
8216         * hooks.c (hook_bool_void_false, hook_void_tree_int,
8217         hook_void_FILEptr_constcharptr): Rename so that the return
8218         type is first.
8219         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
8220         hook_bool_tree_false): New.
8221         * hooks.h: Update.
8222         * langhooks-def.h: Update for renames.
8223         * target-def.h: Likewise.
8224         * tree.c (default_comp_type_attributes,
8225         default_set_default_type_attributes, default_insert_attributes,
8226         default_function_attribute_inlinable_p,
8227         default_ms_bitfield_layout_p): Remove.
8228         * tree.h: Update.
8229
8230 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8231
8232         * pa-protos.h (function_value): New prototype.
8233         * pa.c (function_value): Use a PARALLEL to return small aggregates on
8234         TARGET_64BIT.
8235         * pa.h (FUNCTION_VALUE): Use function_value.
8236         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
8237         call_value_internal_reg, sibcall_value_internal_symref,
8238         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
8239         value.
8240
8241 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8242
8243         * expr.c (gen_group_rtx, emit_group_move): New functions.
8244         * expr.h (gen_group_rtx, emit_group_move): Prototype.
8245         * function.c (expand_function_start): Use gen_group_rtx to create a
8246         PARALLEL rtx to hold the return value when the real return rtx is a
8247         PARALLEL.
8248         (expand_function_end): Use emit_group_move to move the return value
8249         from a PARALLEL to the real return registers.
8250         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
8251         in PARALLELs.
8252
8253 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
8254
8255         * config/t-libc-ok: Fix typo.
8256
8257 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
8258
8259         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
8260         before AC_PROG_CC.
8261         * configure: Rebuilt.
8262
8263 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
8264
8265         * c-decl.c: (start_struct): Commonize flag setting.
8266
8267 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
8268
8269         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
8270         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
8271         RS6000_CPU_CPP_ENDIAN_BUILTINS.
8272         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
8273
8274 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
8275
8276         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
8277         insns.
8278         * config/s390/s390.c (struct machine_function): Introduction of
8279         struct machine_function.
8280         (s390_output_symbolic_const): Use of cfun.
8281         (s390_optimize_prolog): Likewise.
8282         (s390_fixup_clobbered_return_reg): Likewise.
8283         (s390_frame_info): Likewise.
8284         (s390_emit_prologue, s390_emit_epilogue): Likewise.
8285         (s390_init_machine_status): New function.
8286         (override_options): call s390_init_machine_status.
8287         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
8288         prototype.
8289
8290 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
8291
8292         * varasm.c (output_constant_pool): For pool constants in mergeable
8293         section ensure each constant is padded to multiple of entity size.
8294
8295 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
8296
8297         * varasm.c (default_exception_section): Move to...
8298         * except.c (default_exception_section): ... here. Make
8299         .gcc_except_table read-only if it is not expected to have any
8300         dynamic relocations and linker handles it.
8301         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
8302         if it is not expected to have any dynamic relocations and linker
8303         handles it.
8304         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
8305         when linking read-only and read-write sections together.
8306         * configure, config.in: Rebuilt.
8307         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
8308         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
8309
8310 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
8311
8312         * i386.md (pushsf_rex64): Fix typo.
8313
8314 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
8315
8316         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
8317         new function.
8318         (__ev_create_ufix32_fs): Same.
8319         (__ev_get_sfix32_fs_internal): New.
8320         (__ev_get_sfix32_fs): Define to use function.
8321         (__ev_get_ufix32_fs_internal): New.
8322         (__ev_get_ufix32_fs): Define to use function.
8323         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
8324         (__ev_get_lower_ufix32_fs): Same.
8325         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
8326         (__ev_get_lower_sfix32_fs): Same.
8327         (__ev_set_sfix32_fs_internal): New.
8328         (__ev_set_ufix32_fs_internal): New.
8329         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
8330         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
8331         (__ev_set_upper_sfix32_fs): Call function.
8332         (__ev_set_lower_sfix32_fs): Same.
8333         (__ev_set_upper_ufix32_fs): Same.
8334         (__ev_set_lower_ufix32_fs): Same.
8335
8336 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
8337
8338         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
8339
8340 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8341
8342         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
8343         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8344         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8345         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
8346         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
8347         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8348         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
8349         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
8350         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8351         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8352         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
8353         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
8354         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
8355         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8356         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
8357         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
8358         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
8359         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
8360         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
8361         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
8362         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8363         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
8364         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
8365         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
8366         defining.
8367         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
8368         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
8369
8370 2002-11-25  Dave Pitts  <dpitts@cozx.com>
8371
8372         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
8373
8374 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
8375
8376         * config/h8300/h8300.md (an anonymous pattern): New.
8377
8378 2002-11-25  Richard Henderson  <rth@redhat.com>
8379
8380         * alias.c (find_base_value): Use new_reg_base_value if it's live.
8381         (copying_arguments): Make boolean.
8382
8383 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8384
8385         * gcc.c (static_spec_functions): Add if-exists-else spec
8386         function.
8387         (if_exists_else_spec_function): New function.
8388         * doc/invoke.texi: Document the if-exists-else spec function.
8389
8390         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
8391         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
8392
8393 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8394
8395         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
8396         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
8397         "${tmake_file} rs6000/t-netbsd".
8398         * config/rs6000/netbsd.h: Rewrite.
8399         * config/rs6000/t-netbsd: New file.
8400
8401 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
8402
8403         * config/h8300/h8300.md (an anonymous pattern): Relax the
8404         condition for the pattern.
8405
8406 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
8407
8408         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
8409         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
8410         evmwlssfanw, evmwlsmfanw.
8411
8412         * config/rs6000/rs6000.c (bdesc_2arg): Same.
8413
8414         * config/rs6000/spe.md: Same for patterns.
8415
8416 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
8417
8418         PR c/8639
8419         * fold-const.c (extract_muldiv): Don't propagate division unless
8420         both arguments are multiples of C.
8421
8422 2002-11-25  Andrew Haley  <aph@redhat.com>
8423
8424         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
8425         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
8426         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
8427         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
8428
8429 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
8430
8431         * i386.c (x86_use_ffreep): New global variable.
8432         * i386.h (x86_use_frfeep): Declare
8433         (TARGET_USE_FFREEP): New macro
8434         * i386.md  (movs?f*): Use freep when asked for.
8435         (push?f): Remove dead code.
8436
8437 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
8438
8439         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
8440         target help message.
8441
8442 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8443
8444         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
8445         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
8446         crtbeginT.o".
8447         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
8448         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
8449         to "" for a.out configurations.
8450         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
8451
8452 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8453
8454         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
8455         NETBSD_CPP_SPEC directly.
8456         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
8457         netbsd_endfile_spec.
8458         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
8459
8460 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8461
8462         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
8463         NETBSD_STARTFILE_SPEC.
8464         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
8465         (ENDFILE_SPEC): Likewise.
8466         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
8467
8468 2002-11-24  Andreas Schwab  <schwab@suse.de>
8469
8470         * Makefile.in (install-driver): Remove versioned link before
8471         trying to create it.
8472
8473         * config/m68k/m68k.c: Fix typo in last change defining
8474         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
8475
8476 2002-11-23  H.J. Lu <hjl@gnu.org>
8477
8478         * aclocal.m4: Include ../config/accross.m4.
8479         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
8480         (gcc_AC_C_COMPILE_ENDIAN): Removed.
8481         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
8482         instead of $ac_cv_c_compile_endian.
8483
8484         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
8485         AC_COMPILE_CHECK_SIZEOF.
8486         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
8487         * configure: Rebuild.
8488
8489 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
8490
8491         * config/h8300/h8300.c (print_operand): Update the use of
8492         h8300_tiny_constant_address_p.
8493         (h8300_adjust_insn_length): Likewise.
8494         (h8300_tiny_constant_address_p): Check if the given rtx is a
8495         variable declared with __attribute__ ((tiny_data)).
8496
8497 2002-11-22  Dale Johannesen  <dalej@apple.com>
8498
8499         * toplev.c (rest_of_compilation):  Fix comments.
8500
8501 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
8502
8503         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
8504         allow mmap from /dev/zero.  Don't make decisions for the host
8505         based on presence or absence of /dev/zero on the build machine.
8506         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
8507         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
8508         * configure: Regenerate.
8509
8510 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
8511
8512         * gcc.c (make_relative_prefix, split_directories)
8513         (free_split_directories): Removed.
8514
8515 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
8516
8517         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
8518         * configure: Regenerated.
8519
8520 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
8521
8522         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
8523         length computation when xor.l is output.
8524
8525 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
8526
8527         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
8528         (call_vms_1, call_value_vms_1): Cleanup syntax.
8529
8530 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
8531
8532         * athlon.md (define_atuomaton): Add athlon_load.
8533         (athlon-double): New reservation.
8534         (athlon-ieu0): New CPU unit.
8535         (athlon-load?): Use athlon_load automaton.
8536         (*_k8 reservations): New.
8537         (other insn revervations): Activate for K8.
8538
8539 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
8540
8541         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
8542
8543 2002-11-21  Jim Wilson  <wilson@redhat.com>
8544
8545         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
8546         vectors to SI.
8547
8548 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
8549
8550         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
8551         * config/xtensa/xtensa.c (struct machine_function): Add
8552         incoming_a7_copied flag.
8553         (xtensa_copy_incoming_a7): Define.
8554         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
8555         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
8556
8557 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
8558
8559         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
8560         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
8561         x86_64_nonmemory_operand, x86_64_movabs_operand,
8562         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
8563         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
8564         (local_symbolic_operand): Do not care the 64bit limits.
8565         (x86_64_sign_extended_value): Remove allow_rip support.
8566         (legitimate_pic_address_disp_p): Handle all cases allowed
8567         with RIP addressing.
8568         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
8569         (legitimize_pic_address): Reorganize.
8570         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
8571
8572 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8573
8574         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
8575         * config/arm/netbsd-elf.h: New file.
8576
8577 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8578
8579         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
8580         subtarget_asm_float_spec.
8581         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
8582         defaults from...
8583         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
8584
8585 2002-11-21  Nick Clifton  <nickc@redhat.com>
8586
8587         * config/fr30/fr30.md (movsf_constant_store): Move code to
8588         detect 0.0 into fr30.c.
8589         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
8590         Prototype.
8591         * config/fr30/fr30.c (fr30_const_double_is_zero): New
8592         function.  Return true if the rtx is 0.0.
8593
8594 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8595
8596         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
8597         if -mlittle-endian is specified.
8598
8599 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
8600
8601         PR optimization/2903
8602         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
8603         (anddi_notsesidi_di): Likewise.
8604
8605 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
8606
8607         * config/h8300/h8300.c (print_operand): Use
8608         h8300_eightbit_constant_address_p and
8609         h8300_tiny_constant_address_p.
8610         (h8300_adjust_insn_length): Likewise.
8611         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
8612         (TINY_CONSTANT_ADDRESS_P): Likewise.
8613         (OK_FOR_U): Use eightbit_constant_address_p.
8614
8615 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
8616
8617         * config/s390/libgcc-libc.ver: Add multilib support.
8618         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
8619         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
8620         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
8621         EXTRA_MULTILIB_PARTS): Define.
8622
8623 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
8624
8625         * arm.c (arm_get_frame_size): A leaf function does not need its
8626         stack padding to an aligned boundary if it has no frame.
8627         (thumb_get_frame_size): Likewise.
8628
8629 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
8630
8631         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
8632         (override_options): Likewise.
8633
8634 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
8635
8636         * config.gcc: Add k8 target alias support
8637         * i386.c (_cost): Declare costs for various variants of divides and
8638         multiplies.
8639         (k8_cost): New.
8640         (m_K8, m_ATHLON_K8): New macros.
8641         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
8642         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
8643         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
8644         x86_integer_DFmode_moves, x86_partial_reg_dependency,
8645         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
8646         x86_prologue_using_move, x86_epilogue_using_move,
8647         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
8648         x86_sse_typeless_stores): Set for K8
8649         (override_options): Add k8 support; fix athlon alignment;
8650         complain about non-x86-64 capable CPU being used in x86-64 compilation.
8651         (ix86_issue_rate): Set for K8.
8652         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
8653         x86_machine_dependent_reorg): Handle K8 like
8654         * i386.h
8655         (x86_costs):  Change mult_init and divide into array.
8656         (TARGET_K8, TARGET_ATHLON): New macros.
8657         (MODE_INDEX): New macro.
8658         (RTX_COST): Use new costs.
8659         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
8660         (TARGET_CPU_DEFAULT_NAMES): Add k8
8661         (TARGET_CPU_DEFAULT_k8): New constant
8662         (enum processor_type): Add PROCESSOR_K8.
8663         * i386.md (cpu attribute): Add k8.
8664
8665         * invoke.texi: Document -march=k8.
8666
8667         * i386.md (type attribute): Add leave
8668         (mode attribute): Remove unknownfp.
8669         (length_immediate, modrm, memory attributes): Handle leave correctly.
8670         (fp comparison patterns): Determine FP mode.
8671         (leave, leave_rex64): Remove special cases.
8672         * ppro.md (ppro_uops, ppro_p2): Add leave
8673         * pentiun.md (pent_pop): Handle leave too.
8674         * k6.md (k6_load): Handle leave.
8675         * athlon.md (athlon_leave, athlon_pop): Fix.
8676         (athlon_decode): Handle leave.
8677
8678 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
8679
8680         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
8681         to component type using GET_MODE_INNER.
8682         * expr.c (emit_move_insn_1): Ditto.
8683         * optabs.c (expand_binop): Ditto.
8684         (expand_unop): Ditto.
8685         (expand_complex_abs): Ditto.
8686
8687 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
8688
8689         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
8690
8691 2002-11-20  DJ Delorie  <dj@redhat.com>
8692
8693         * config/stormy16/stormy16.c (s16builtins,
8694         xstormy16_init_builtins, xstormy16_expand_builtin): New.
8695         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
8696
8697 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
8698
8699         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
8700         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
8701         (executing gencheck, genconfigs, genconditions, genflags,
8702         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
8703         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
8704         gengtype, genprotos): Prepend $(RUN_GEN).
8705         * configure.in: Move host compiler tests before --enable-checking
8706         tests.
8707         (--enable-checking=valgrind): New.
8708         * config.in, configure: Regenerate.
8709         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8710         Define as empty.
8711         (read_include_file): When doing the mmap+1 trick,
8712         valgrind-annotate the byte after the mmap:ed area as readable.
8713         (purge_cache): Remove above annotation.
8714         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
8715         VALGRIND_PATH -q to each command.
8716
8717         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8718         Define as empty.
8719         (ggc_realloc): Update valgrind annotations.
8720         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8721         Define as empty.
8722         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
8723         valgrind-annotate memory.
8724
8725 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
8726
8727         * recog.c (constrain_operands): Prefer exact match over reloadable
8728         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
8729
8730         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
8731         operands in Pmode.
8732
8733 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
8734
8735         PR c/8518
8736         * c-decl.c (duplicate_decls): Outline the second definition
8737         of an extern inline function in all cases.
8738
8739 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8740
8741         * stor-layout.c (place_field): Update rli->offset as well as
8742         rli->bitpos.
8743
8744 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8745
8746         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
8747
8748 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8749
8750         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
8751         into a libcall block.
8752         (divsi3): Likewise divsi3_i4_media.
8753
8754 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8755
8756         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
8757         out another register.
8758
8759 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
8760
8761         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
8762         (not just mask) are set in C.
8763
8764 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
8765
8766         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
8767
8768 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8769
8770         * profile.c (index_counts_file): Fix obvious mistake.
8771
8772 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8773
8774         * Makefile.in (profile.o): Add hashtab.h dependency.
8775         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
8776         * profile.c: Include hashtab.h.
8777         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
8778         cleanup_counts_index, index_counts_file, struct section_reference,
8779         struct da_index_entry, counts_file_name, counts_file_index): New.
8780         (get_exec_counts, init_branch_prob): Modified.
8781
8782 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
8783
8784         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
8785         to tmake_file. Remove setting gas and gnu_ld here.
8786         * config/sh/libgcc-glibc.ver: New file.
8787         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
8788         (SHLIB_MAPFILES): New.
8789         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
8790         (MD_STARTFILE_PREFIX): Likewise.
8791         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
8792         (DWARF2_UNWIND_INFO): Redefine.
8793         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8794         (LINK_EH_SPEC): Redefine.
8795         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
8796         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
8797         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
8798         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
8799         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
8800         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
8801         SH_DWARF_FRAME_FPSCR): Likewise.
8802         * config/sh/sh-protos.h (sh_set_return_address): Declare.
8803         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
8804         registers if the current function calls EH return.
8805         (sh_expand_epilogue): Handle EH stack adjustments.
8806         (sh_set_return_address): New function.
8807         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
8808         Don't abort even if the number is mapped to -1.
8809         (EH_RETURN_DATA_REGNO): Define.
8810         (EH_RETURN_STACKADJ_RTX): Define.
8811         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
8812         (eh_return): New pattern.
8813         (eh_set_ra_di, eh_set_ra_si): Likewise.
8814         Add splitter to perform EH return after reload.
8815
8816 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
8817
8818         * stor-layout.c (excess_unit_span): New function.
8819         (place_field): Use it.
8820
8821 2002-11-19  Andreas Schwab  <schwab@suse.de>
8822
8823         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
8824         not valid in C++.
8825
8826 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
8827
8828         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
8829         * configure: Regenerate.
8830
8831 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
8832
8833         * convert.c (strip_float_extensions): New function.
8834         (convert_to_real): Optimize some cases.
8835
8836 2002-11-19  Andreas Jaeger  <aj@suse.de>
8837
8838         * loop.c (record_giv): Initialize not_replaceable.
8839         (check_final_value): Likewise.
8840
8841 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8842
8843         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
8844         MASK_H8300S.
8845
8846 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
8847
8848         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
8849         only if -mh or -ms present.
8850         (h8300_eightbit_constant_address_p): Support the normal mode.
8851         (h8300_tiny_constant_address_p): Likewise.
8852         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
8853         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
8854         (Pmode): Evaluate to HImode for the normal mode.
8855         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
8856         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
8857         (ASM_WORD_OP): Evaluate to word for the normal mode.
8858         * config/h8300/h8300.md (tablejump_normal_mode): New.
8859         (indirect_jump_normal_mode): New.
8860         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
8861         directory.
8862         (MULTILIB_DIRNAMES): Create target dependent directory
8863         'normal'.
8864         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
8865         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
8866
8867 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
8868
8869         * i386.md (length_immediate): Do not refer to insn address.
8870         (jcc*, jmp patterns):  Compute length explicitly.
8871
8872 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
8873
8874         PR c/8588
8875         * optabs.c (expand_binop): Convert CONST_INTs in shift
8876         operations too.
8877
8878 2002-11-19  Roger Sayle  <roger@eyesopen.com>
8879
8880         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
8881
8882 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8883
8884         * config/h8300/h8300.md (an anonymous pattern): Relax the
8885         condition to accept the same operands and/or subregs.
8886
8887 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
8888
8889         * config/sh/sh.c (gen_shl_and): Revert previous patch.
8890         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
8891         reload_completed.
8892
8893 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8894
8895         * config/h8300/h8300.c (print_operand): Update the use of
8896         EIGHTBIT_CONSTANT_ADDRESS_P.
8897         (h8300_adjust_insn_length): Likewise.
8898         (h8300_eightbit_constant_address_p): Check if the given rtx is
8899         a variable with __attribute__((eightbit_data)).
8900         * config/h8300/h8300.h (OK_FOR_U): Update the use of
8901         EIGHTBIT_CONSTANT_ADDRESS_P.
8902
8903 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8904
8905         * doc/contrib.texi (Contributors): Add self as second contact in
8906         addition to Jeff Law.
8907
8908 2002-11-19  Andreas Jaeger  <aj@suse.de>
8909
8910         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
8911         find_alloca_call to right place.
8912
8913 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8914
8915         * cppfiles.c: Fix formatting.
8916
8917 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
8918
8919         * gcc.c (The Specs Language): Document spec functions.
8920         (static_spec_functions, lookup_spec_function)
8921         (eval_spec_function, handle_spec_function)
8922         (if_exists_spec_function, alloc_args): New.
8923         (execute): Abort if processing_spec_function is true.
8924         (do_spec_1): Hand off spec to handle_spec_function if %:
8925         is encountered.  If processing_spec_function is true,
8926         end any pending argument when the end of the string is reached.
8927         (main): Use alloc_args to allocate the initial argument vector.
8928         * gcc.h (struct spec_function): New.
8929         (lang_specific_spec_functions): New extern.
8930
8931         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
8932         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
8933         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
8934
8935         * doc/invoke.texi: Document spec functions.
8936
8937         * cppspec.c (lang_specific_spec_functions): New.
8938         * gccspec.c: Likewise.
8939
8940 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
8941
8942         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
8943         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
8944         (fixunstfsi_libfunc): Change.
8945         (fixunstfdi_libfunc): Change.
8946         (sdiv_optab): Don't zero out SImode handler.
8947         (udiv_optab): Don't zero out SImode handler.
8948         (smod_optab): Don't zero out SImode handler.
8949         (umod_optab): Don't zero out SImode handler.
8950
8951 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
8952
8953         PR preprocessor/8524
8954         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
8955         Add a new one in its place, which hopefully works.
8956         (skip_rest_of_line): Change test for bottom-of-context-stack.
8957
8958 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
8959
8960         * i386.md (addqi_1_slp): Fix output template.
8961         (subqi_1_slp): Fix type.
8962
8963 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
8964
8965         * calls.c (alloca_call_p): New global function.
8966         * tree.h (alloca_call_p): New.
8967         * tree-inline.c (inlinable_function_p):  Do not inline when
8968         function calls alloca.
8969         (find_alloca_call, find_alloca_call_1): New functions.
8970
8971 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
8972
8973         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
8974         bst.  Update the insn length.
8975         (*andorhi3): Likewise.
8976         (*andorsi3): Likewise.
8977
8978 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8979
8980         * config/sh/sh-protos.h (sh_mark_label): Declare.
8981         * config/sh/sh.c (sh_mark_label): New function, taken from
8982         movdi_const, but fixing the case when the address has an addend.
8983         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
8984
8985 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8986
8987         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
8988         (add_constant): Set it.
8989         (dump_table): Don't reorder a constant if part_of_sequence_p.
8990         (machine_dependent_reorg): Assume that float constants will
8991         stay in their original order if used as a sequence.
8992
8993 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8994
8995         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
8996         in compact code.
8997
8998 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8999
9000         * config/sh/sh.md (initialize_trampoline): Do not force the
9001         trampoline address into R0_REGS here.
9002
9003 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
9004
9005         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
9006         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
9007         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
9008         generate unnecesary subregs.
9009
9010 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
9011
9012         * df.c: Fix formatting.
9013
9014 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
9015
9016         * config/h8300/h8300.md (two anonymous patterns): Fix insn
9017         lengths.
9018
9019 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
9020
9021         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
9022         is not an arith_reg_operand.
9023
9024 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
9025
9026         * real.c (real_to_decimal): Fix buffer overrun when buffer size
9027         is smaller than representation.
9028
9029 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
9030
9031         * builtins.c: Fix formatting.
9032
9033 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
9034
9035         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
9036         floats?dff2_i387):
9037         Work around regclass stupidity.
9038         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
9039
9040 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
9041
9042         * i386.md (fop_df_6): New pattern.
9043         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
9044         (fop_xf_6): Rewrite
9045         (fop_xf_7): Delete.
9046         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
9047         (fop_tf_6): Rewrite
9048         (fop_tf_7): Delete.
9049
9050 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9051
9052         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
9053
9054 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9055
9056         * config/h8300/h8300.md: Fix formatting.
9057
9058 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9059
9060         * config/h8300/h8300.md: Replace spaces with tabs.
9061         * config/h8300/t-h8300: Remove a trailing empty line.
9062
9063 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9064
9065         * tlink.c: Fix formatting.
9066
9067 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
9068
9069         PR 8362
9070         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
9071         * config/rs6000/rs6000.md (movti_string): Remove output modifier
9072         when scratch register never needed.
9073         (ldmsi[3-8]): New patterns.
9074
9075 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9076
9077         * hard-reg-set.h: Follow spelling conventions.
9078         * real.c: Likewise.
9079         * target.h: Likewise.
9080
9081 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
9082
9083         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
9084
9085 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9086
9087         * optabs.c: Fix formatting.
9088
9089 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
9090
9091         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
9092         * i386.md (attribute type): Add type shift1 and rotate1.
9093         (*_slp): Rewrite to have just two operands to avoid reload problems.
9094
9095 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
9096
9097         * config/h8300/h8300.md (4 anonymous patterns): New.
9098
9099 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
9100
9101         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
9102         * doc/invoke.texi: Correct description of what needs to be done to
9103         force collection at every ggc_collect call.
9104
9105 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
9106
9107         * config/s390/s390.c (optimization_options): Set
9108         flag_asynchronous_unwind_tables to 1 by default.
9109
9110 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
9111
9112         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9113
9114 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
9115
9116         * i386-protos.h (x86_function_profiler): New function
9117         * i386.h (MCOUNT_NAME): New.
9118         (PROFILE_COUNT_REGISTER): New.
9119         (FUNCTION_PROFILER): Move offline to ...
9120         * i386.c (x86_function_profiler) ... here; fix 64bit support
9121         * beos-elf.h (FUNCTION_PROFILER): Kill.
9122         (MCOUNT_NAME): New.
9123         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
9124         (MCOUNT_NAME): New.
9125         (PROFILE_COUNT_REGISTER): New.
9126         * linux.h (FUNCTION_PROFILER): Kill.
9127         (MCOUNT_NAME): New.
9128         * x86-64.h (FUNCTION_PROFILER): Kill.
9129         (MCOUNT_NAME): New.
9130         * freebsd.h (FUNCTION_PROFILER): Kill.
9131         (MCOUNT_NAME): New.
9132
9133 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9134
9135         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
9136         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
9137         * config/arm/arm.c (arm_va_arg,
9138         arm_function_arg_pass_by_reference): New.
9139         * config/arm/arm-protos.h: Add prototypes.
9140
9141 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
9142
9143         * gthr-single.h: Fix formatting.
9144
9145 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
9146
9147         * tree.c (tree_vec_elt_check_failed): New function.
9148         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
9149         (TREE_VEC_ELT): Use it.
9150
9151         * tree-inline.c (optimize_inline_calls): Don't copy a
9152         zero-length vector.
9153
9154 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9155
9156         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
9157
9158 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
9159
9160         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
9161         both operands contain local relocations.
9162         (categorize_decl_for_section): Don't use mergeable sections if
9163         initializer has any relocations.
9164
9165 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
9166
9167         * gthr-vxworks.h: Fix formatting.
9168
9169 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
9170
9171         * doc/install.texi (Testing): Document extra Java testing.
9172         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
9173
9174 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9175
9176         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
9177         beginning of the spec.
9178         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
9179         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
9180         regarding problems with global constructors when using GNU ld.
9181
9182 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
9183
9184         * gthr-solaris.h: Fix formatting.
9185
9186 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
9187
9188         * gthr-posix.h: Fix formatting.
9189
9190 2002-11-12  Devang Patel <dpatel@apple.com>
9191         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
9192         (process_command): Same.
9193         * doc/invoke.texi: Info about these two new options.
9194
9195 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9196
9197         * config/h8300/h8300.md (*andorsi3): New.
9198
9199 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9200
9201         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
9202
9203 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9204
9205         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
9206         expressions appropriately.
9207
9208 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9209
9210         * gthr-win32.h: Fix formatting.
9211
9212 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9213
9214         * config/h8300/h8300.c (single_one_operand): Correctly compute
9215         mask when mode is SImode.
9216         (single_zero_operand): Likewise.
9217         * config/h8300/h8300.md (two new anonymous insns): New.
9218
9219 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9220
9221         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
9222         to that entire project.
9223
9224 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9225
9226         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
9227         directories.
9228
9229 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
9230
9231         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
9232         * doc/invoke.texi: Document them.
9233
9234         * ggc-page.c: Include params.h.  Remove definitions of
9235         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
9236         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
9237         (init_gcc): Don't set G.allocated_last_gc here.
9238         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
9239         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
9240         perform collection.
9241         * ggc-simple.c: Similarly.
9242         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
9243         dependencies.
9244
9245 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
9246
9247         * gthr-dce.h: Fix formatting.
9248
9249 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9250
9251         PR c/8467
9252         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
9253         mode of DECL_RTL case.
9254
9255 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
9256
9257         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
9258
9259 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
9260
9261         * i386.c (construct_container): Fix handling of SSE_CLASS.
9262
9263 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
9264
9265         * config/m68k/t-crtstuff (crti.o): Use this...
9266         ($(T)crti.o): ... instead.
9267         (crtn.o): Use this...
9268         ($(T)crtn.o): ... instead.
9269
9270 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
9271
9272         PR c/8439
9273         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
9274         if there is something new to be simplified.
9275
9276 2002-11-10  H.J. Lu <hjl@gnu.org>
9277
9278         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
9279         * expr.c (PUSH_ARGS_REVERSED): Likewise.
9280
9281         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
9282
9283 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
9284
9285         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
9286         * config/rs6000/linux.h, config/rs6000/linux64.h,
9287         config/rs6000/windiss.h: ... not here.
9288
9289 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
9290
9291         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
9292         __ABICALLS__ if TARGET_ABICALLS.
9293
9294 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
9295
9296         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
9297
9298 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
9299
9300         * c-decl.c (grokdeclarator): Make error for duplicate type
9301         qualifiers into a pedwarn, disabled for C99.
9302
9303 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
9304
9305         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
9306         as FUNCTION_ARG_PASS_BY_REFERENCE.
9307
9308 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
9309
9310         * doc/install.texi: Add *-*-vxworks* specific installation
9311         instructions.
9312
9313         * config/vxlib.c: Rewrite using generation numbers to identify
9314         valid TSD keys.
9315
9316 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
9317
9318         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
9319
9320 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9321
9322         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
9323
9324         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
9325         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
9326         * pa.c (output_millicode_call): Use symbol difference rather than
9327         $PIC_pcrel$0 when using HP assembler.
9328         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
9329         not elfos.h (i.e., gas) is being used.
9330         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
9331         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
9332         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
9333         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
9334         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
9335         using elfos.h.
9336         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
9337         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
9338         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
9339         using elfos.h.
9340         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
9341         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
9342         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
9343         Don't define when not using elfos.h.
9344         (ASM_DECLARE_RESULT): Don't define.
9345         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
9346         doesn't work on hppa64-hp-hpux11.
9347         (hppa*-hp-hpux11): Update.
9348
9349 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
9350
9351         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
9352         to the assembler if -mno-abicalls was specified.
9353
9354 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9355
9356         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
9357         ASM_OUTPUT_DEF): Delete.
9358
9359 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
9360
9361         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
9362
9363 2002-11-08  Roger Sayle  <roger@eyesopen.com>
9364
9365         * real.c (real_sqrt): Update comment with bibliographic reference.
9366
9367 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
9368
9369         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
9370
9371 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
9372
9373         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
9374
9375 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
9376
9377         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
9378         (expand_builtin): Likewise.
9379         * builtins.def: Add
9380         __builtin_floor, __builtin_floorf, __builtin_floorl
9381         __builtin_ceil, __builtin_ceilf, __builtin_ceill
9382         __builtin_round, __builtin_roundf, __builtin_roundl
9383         __builtin_trunc, __builtin_truncf, __builtin_truncl
9384         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
9385         * genopinit.c (optabs): Initialize the new optabs.
9386         * optab.c (init_optabs): Likewise.
9387         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
9388         OTI_round, OTI_nearbyint.
9389         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
9390         * doc/md.texi: Document new named patterns.
9391         * doc/extend.texi (builtin functions)  Document
9392         floor, floorf, floorl, ceil, ceilf,
9393         ceill, round, roundf, roundl, trunc,
9394         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
9395
9396 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
9397
9398         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
9399
9400 2002-11-08  Dale Johannesen  <dalej@apple.com>
9401
9402         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
9403
9404 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
9405
9406         PR preprocessor/8497
9407         PR preprocessor/8501
9408         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
9409         start a directive.  In assembler, #NUM is not a line directive.
9410
9411 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
9412
9413         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
9414         buffers.
9415
9416 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
9417
9418         * config/h8300/h8300.md (two anonymous test insns): New.
9419
9420 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
9421
9422         * jump.c (mark_jump_label): Handle subregs of label_refs.
9423
9424 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
9425
9426         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
9427         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
9428
9429 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
9430
9431         * config/ia64/crtend.asm: Include "auto-host.h".
9432         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
9433         * config/ia64/crtbegin.asm: Similarly.
9434         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
9435         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
9436
9437         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
9438         * configure.in: Use it if --enable-initfini-array not specified.
9439         * doc/install.texi (Configuration): Document --enable-initfini-array.
9440         * configure, config.in: Rebuild.
9441
9442 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
9443
9444         * config/arm/arm-protos.h (arm_get_frame_size)
9445         (thumb_get_frame_size): New prototypes.
9446         * config/arm/arm.c (arm_get_frame_size)
9447         (thumb_get_frame_size): New functions.
9448         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
9449         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
9450         arm_get_frame_size.
9451         (thumb_expand_prologue, thumb_expand_epilogue): Use
9452         thumb_get_frame_size.
9453         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
9454         (machine_function): Add frame_size member.
9455         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
9456
9457 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
9458
9459         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
9460         Adjust code to use portable unsigned bit manipulation.
9461         (insn_flags, tune_flags): Change type to unsigned.
9462         (struct processors): Make flags unsigned long.
9463         (arm_override_options): Change type of count and current_bit_count
9464         to unsigned.
9465
9466 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
9467
9468         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
9469
9470 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
9471
9472         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
9473
9474 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
9475
9476         * reg-stack.c (compensate_edge): Fix sanity check.
9477
9478 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
9479
9480         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
9481         crt2.o.  Rearrange t-darwin makefiles.
9482         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
9483         * unwind-dw2-fde-darwin.c: New.
9484         * unwind-dw2-fde-glibc.c: Correct comment.
9485         * unwind-dw2-fde.c (__register_frame_info_bases)
9486         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
9487         (classify_object_over_fdes): Use last_fde.
9488         (add_fdes): Likewise.
9489         (linear_search_fdes): Likewise.
9490         * unwind-dw2-fde.h (struct object)
9491         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
9492         (last_fde): New.
9493         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
9494         (ENDFILE_SPEC): No crtend.o.
9495         * config/t-darwin: New.
9496         * config/i386/t-darwin: Delete.
9497         * config/darwin-crt2.c: New.
9498         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
9499         or config/t-darwin.
9500
9501 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
9502
9503         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
9504         MASK_MS_BITFIELD_LAYOUT
9505         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
9506         MS bitfields for Objective-C.
9507         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
9508         defines.
9509
9510         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
9511         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
9512         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
9513
9514         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
9515         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
9516         (TARGET_SWITCHES): Add above mask.
9517
9518         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
9519         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
9520         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
9521         flags for interix.
9522
9523 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
9524
9525         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
9526         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
9527         assembler.
9528         * config/mips/mips.md (tablejump_internal3): Output .cpadd
9529         before jump on ABI_N32 too.
9530         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
9531         length to match.
9532
9533 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
9534
9535         * i386.md (negsf splitter): Accept memory operand in second register.
9536         (abssf/absdf splitters): Simplify
9537         (sse_loadss, sse_loadsd): Turn into expander.
9538
9539 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
9540
9541         PR target/8480
9542         * config/rs6000/rs6000.md (movdi_internal64): Discourage
9543         FPR to FPR moves.
9544
9545 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
9546
9547         * doc/contrib.texi: Merge in the list from the Java web pages.
9548
9549 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
9550
9551         * config/sparc/freebsd: Fix typo.
9552
9553 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9554
9555         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
9556
9557 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
9558
9559         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
9560         non-SImode addresses.
9561
9562 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
9563
9564         * i386.md (float_truncate SSE splitter): Ensure that operand is not
9565         stack register.
9566         (float SSE splitters): Reorder conditional.
9567
9568 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
9569
9570         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
9571
9572 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
9573
9574         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
9575         (STARTFILE_SPEC): Remove p and pg options.
9576
9577 2002-11-05  Andrew Haley  <aph@redhat.com>
9578
9579         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
9580         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
9581
9582 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
9583
9584         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
9585         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
9586
9587 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
9588
9589         * gthr-vxworks.h: Rewritten from scratch.
9590         * config/vxlib.c: New file.
9591         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
9592         * config/rs6000/t-vxworks: Add config/vxlib.c to
9593         LIB2FUNCS_EXTRA here too, because of clash with
9594         config/rs6000/t-ppccomm.
9595
9596 2002-11-04  Dale Johannesen  <dalej@apple.com>
9597
9598         * doloop.c (doloop_modify_runtime):  Fix loop count computation
9599         for unrolled loops.
9600         * loop.c (loop_invariant_p):  Support calling from unroller.
9601
9602 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
9603
9604         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
9605         for comparison.
9606
9607 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
9608
9609         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
9610
9611         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
9612         (CLASS_CANNOT_CHANGE_MODE): Remove.
9613         (CANNOT_CHANGE_MODE_CLASS): New.
9614
9615         * config/alpha/alpha.h: Same.
9616
9617         * config/ia64/ia64.h: Same.
9618
9619         * config/mips/mips.h: Same.
9620
9621         * config/s390/s390.h: Same.
9622
9623         * config/sh/sh.h: Same.
9624
9625         * config/pa/pa64-regs.h: Same.
9626
9627         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
9628
9629         * config/sh/sh.c (sh_cannot_change_mode_class): New.
9630
9631         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
9632         prototype.
9633
9634         * config/mips/mips.c (mips_cannot_change_mode_class): New.
9635
9636         * doc/tm.texi (Register Classes): Remove
9637         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
9638         Document CANNOT_CHANGE_MODE_CLASS.
9639
9640         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
9641         (push_reload): Same.
9642
9643         * simplify-rtx.c (simplify_subreg): Same.
9644
9645         * reload1.c (choose_reload_regs): Same.
9646
9647         * recog.c (register_operand): Same.
9648
9649         * regrename.c (mode_change_ok): Change to use new
9650         CANNOT_CHANGE_MODE_CLASS infrastructure.
9651
9652         * regclass.c (cannot_change_mode_set_regs): New.
9653         Declare subregs_of_mode.
9654         (regclass): Use subregs_of_mode.
9655         Remove references to reg_changes_mode.
9656         (init_reg_sets_1): Remove class_can_change_mode and
9657         reg_changes_mode code.
9658         (invalid_mode_change_p): New.
9659         (dump_regclass): Use invalid_mode_change_p instead of
9660         class_can_change_mode.
9661         (regclass): Same.
9662         (record_operand_costs): Do not set reg_changes_mode.
9663
9664         * local-alloc.c (struct qty): Remove changes_mode field.
9665         (alloc_qty): Remove changes_mode initialization.
9666         (update_qty_class): Remove set of changes_mode.
9667         (find_free_reg): Use subregs_of_mode.
9668
9669         * global.c (find_reg): Use subregs_of_mode info.
9670
9671         * rtl.h (cannot_change_mode_set_regs): New prototype.
9672         (invalid_mode_change_p): Same.
9673         (REG_CANNOT_CHANGE_MODE_P): New macro.
9674
9675         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
9676         REG_CHANGES_MODE.
9677         (life_analysis): Clear subregs_of_mode.
9678
9679         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
9680         Remove use of CLASS_CANNOT_CHANGE_MODE.
9681         (simplify_set): Same.
9682         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
9683         REG_CHANGES_MODE.
9684
9685         * regs.h: Add extern for subregs_of_mode;
9686         Include hard-reg-set and basic-block.
9687         (REG_CHANGES_MODE): Delete.
9688
9689 2002-11-03  Roger Sayle  <roger@eyesopen.com>
9690
9691         * real.c (real_sqrt): New function to calculate square roots.
9692         * real.h (real_sqrt): Add function prototype.
9693         * builtins.c (fold_builtin): Fold sqrt of constant argument.
9694         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
9695         of constant argument.
9696
9697 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9698
9699         * jump.c (never_reached_warning): Don't set contains_insn until the
9700         first line note is seen.
9701
9702 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
9703
9704         * config/rs6000/rs6000.md (movti_string): Use string instructions.
9705
9706 2002-11-03  Roger Sayle  <roger@eyesopen.com>
9707
9708         PR c/7128
9709         * c-typeck.c (c_expand_asm_operands): Defend against
9710         error_mark_nodes in the output argument to avoid ICE.
9711
9712 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
9713
9714         PR middle-end/8408
9715         * genrecog.c (preds): Handle ADDRESSOF.
9716         (validate_pattern): Mark it as an lvalue.
9717
9718 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
9719
9720         * config/rs6000/rs6000.c (rs6000_override_options): Use string
9721         instructions when optimizing for size.
9722
9723 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
9724
9725         * config/h8300/h8300.h: Fix comment typos.
9726         * config/h8300/h8300.md: Likewise.
9727         * config/h8300/lib1funcs.asm: Likewise.
9728
9729 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9730
9731         Revert this change:
9732
9733         *doc/install.texi (Installing GCC: Configuration): Clarify
9734         the only supported ways to configure gcc.
9735
9736 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
9737
9738         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
9739         instead of 'O' for the constraint for the second operand.
9740
9741 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
9742
9743         PR c++/8391
9744         * toplev.c (rest_of_compilation): Do not refuse to output code for
9745         an inline function in a local class.
9746
9747 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
9748
9749         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
9750         (TRANSFER_FROM_TRAMPOLINE): Reformat.
9751         Add comment.
9752
9753 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
9754
9755         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
9756
9757 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
9758
9759         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
9760
9761 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
9762
9763         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
9764         (MASK_INLINE_DIV_THR): Remove.
9765         (TARGET_INLINE_DIV_LAT): Remove.
9766         (TARGET_INLINE_DIV_THR): Remove.
9767         (TARGET_INLINE_DIV): Remove.
9768         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
9769         (MASK_INLINE_FLOAT_DIV_THR): New macro.
9770         (MASK_INLINE_INT_DIV_LAT): New macro.
9771         (MASK_INLINE_INT_DIV_THR): New macro.
9772         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
9773         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
9774         (TARGET_INLINE_INT_DIV_LAT): New macro.
9775         (TARGET_INLINE_INT_DIV_THR): New macro.
9776         (TARGET_INLINE_FLOAT_DIV): New macro.
9777         (TARGET_INLINE_INT_DIV): New macro.
9778         * config/ia64/ia64.md (divsi3): Change to use new macros.
9779         (modsi3): Ditto.
9780         (udivsi3): Ditto.
9781         (umodsi3): Ditto.
9782         (divsi3_internal): Ditto.
9783         (divdi3): Ditto.
9784         (moddi3): Ditto.
9785         (udivdi3): Ditto.
9786         (umoddi3): Ditto.
9787         (divdi3_internal_lat): Ditto.
9788         (divdi3_internal_thr): Ditto.
9789         (divsf3): Ditto.
9790         (divsf3_internal_lat): Ditto.
9791         (divsf3_internal_thr): Ditto.
9792         (divdf3): Ditto.
9793         (divdf3_internal_lat): Ditto.
9794         (divdf3_internal_thr): Ditto.
9795         (divtf3): Ditto.
9796         (divtf3_internal_lat): Ditto.
9797         (divtf3_internal_thr): Ditto.
9798         * config/ia64/ia64.c (ia64_override_options): Change
9799         to check new macros for conflicts in settings.
9800         * doc/invoke.texi (-minline-divide-min-latency): Remove.
9801         (-minline-divide-max-throughput): Remove.
9802         (-minline-float-divide-min-latency): New.
9803         (-minline-float-divide-max-throughput): New.
9804         (-minline-int-divide-min-latency): New.
9805         (-minline-int-divide-max-throughput): New.
9806
9807 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
9808
9809         PR target/7856
9810         * arm.c (use_return_insn): Don't use a return insn if there are
9811         saved integer regs, but LR is not one of them.
9812
9813 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
9814
9815         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
9816         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
9817
9818 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
9819
9820         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
9821         (movps, movpd splitters): Use canonical form.
9822         (movv2di): Fix merge problem.
9823
9824 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
9825
9826         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
9827
9828 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
9829
9830         PR optimization/6162
9831         * doc/md.texi: Document restriction on commutative operand
9832         specification.
9833
9834 2002-10-31  Eric Christopher  <echristo@redhat.com>
9835
9836         * explow.c (convert_memory_address): Use shallow_copy_rtx.
9837
9838 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
9839
9840         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
9841
9842 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
9843
9844         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
9845
9846 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
9847
9848         * config/rs6000/darwin.h:  Correct formatting in previous.
9849
9850 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
9851
9852         * config/rs6000/darwin.h:  Enable -falign-xxx options.
9853
9854 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
9855
9856         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
9857         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
9858         * i386.c (optimization_options): Set flag_omit_frame_pointer,
9859         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
9860         Do not clear -momit-leaf-frame-pointer when profiling.
9861         (ix86_frame_pointer_required): Frame pointer is always required when
9862         profiling.
9863
9864 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
9865
9866         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
9867
9868 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
9869
9870         * sh.h (binary_logical_operator): Declare.
9871         * sh.c (binary_logical_operator): New function.
9872         * sh.md (xordi3+1): New combiner splitter pattern.
9873
9874 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
9875
9876         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
9877         __enable_execute_stack function.
9878
9879 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
9880
9881         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
9882         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
9883         * unwind-sjlj.c (fc_key_dtor): Delete.
9884         (fc_key_init): Adjust __gthread_key_create call to match.
9885
9886 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
9887
9888         * c-common.c: Add GTY to vector_type_node_list.
9889
9890 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
9891
9892         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
9893         * pa-protos.h (attr_length_millicode_call, attr_length_call,
9894         pa_init_machine_status): Declare new global functions.
9895         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
9896         implement new functions.
9897         (attr_length_millicode_call, attr_length_call): Implement.
9898         (total_code_bytes): Change type to long.
9899         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
9900         Reset counter if flag_function_sections.
9901         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
9902         (output_cbranch): Move call to gen_label_rtx.
9903         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
9904         delay slot in all variants, shorten pc-relative calls.
9905         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
9906         slot usage and exposure, various new call variants, and shortened
9907         sequences for some variants on TARGET_PA_20.
9908         Miscellaneous format changes.
9909         * pa.h (total_code_bytes): Change type to long.
9910         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
9911         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
9912         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
9913         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
9914         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
9915         stores on TARGET_ELF32.
9916         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
9917         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
9918         canonicalize_funcptr_for_compare expanders): Calculate attribute length
9919         attr_length_millicode_call().
9920         (call_internal_symref, call_value_internal_symref): Clobber register 1.
9921         Calculate attribute length using attr_length_call().
9922         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
9923         to delay slot.
9924         (sibcall, sibcall_value): Rewrite.
9925         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
9926         register 1.  Use attr_length_call().
9927         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
9928         New patterns.
9929         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
9930         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
9931         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
9932         * doc/invoke.texi (mlong-calls): Document.
9933
9934 2002-10-30  Roger Sayle  <roger@eyesopen.com>
9935
9936         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
9937         handling of cases where one or both branches of the conditional
9938         have void type, i.e. throw an exception or don't return.
9939         (fold): Only apply (and undo) type conversion to the non-void
9940         branches of a COND_EXPR.
9941
9942 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
9943
9944         PR c++/8333
9945         * varasm.c (asm_output_aligned_bss): Do not call
9946         ASM_GLOBALIZE_LABEL.
9947
9948 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
9949             Torbjorn Granlund  <tege@swox.com>
9950
9951         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
9952         for addressibility.
9953         (load_toc_v4_PIC_1b): Same.
9954
9955 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
9956
9957         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
9958         Truncate the addresses for H8/300 using HImode.
9959
9960 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
9961
9962         * i386.md (negdf splitter): Fix construction of the constant.
9963
9964 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
9965
9966         * i386.md (negsf, negdf): Reorganize to use vector modes
9967         for SSE variants.
9968         (abssf, absdf): Use force_reg.
9969         (movv4sf, movv2df): New splitters.
9970         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
9971         * i386.c (zero_extended_scalar_load_operand
9972
9973         * i386-protos.h (ix86_expand_call): Update prototype.
9974         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
9975         (ix86_expand_call): Use r11 for indirect sibcalls.
9976         * i386.md (call, call_value, untyped_call, call_value_pop):
9977         update x86_expand_call call.
9978         (sibcall, sibcall_value): new patterns
9979         (call_rex64, call_value_rex64): Do not accept sibcalls.
9980         (sibcall_rex64, sibcall_value_rex64,
9981         sibcall_rex64_v, sibcall_value_rex64_v): New.
9982
9983 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9984
9985         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9986         before final pass.
9987
9988 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
9989
9990         * toplev.c (rest_of_type_compilation): Return early in case of
9991         errors.
9992         (check_global_declarations): Don't call debug_hooks->global_decl
9993         in case of errors.
9994
9995 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
9996
9997         * doc/c-tree.texi (Tree overview): Fix typos.
9998
9999 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
10000
10001         * Makefile.in (gnucompare*):  Only record bad comparisons
10002         if there really was a bad comparison.
10003
10004 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
10005
10006         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
10007         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
10008         * md.texi (machine dependent constraints): Document 'C'
10009
10010         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
10011
10012         * i386.c (ix86_expand_vector_move): Fix.
10013
10014         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
10015         * i386.md (sse2_maskmovdqu_rex64): New pattern
10016
10017         PR target/8322
10018         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
10019         (ix86_init_mmx_sse_builtins): Fix type.
10020
10021 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
10022
10023         * gthr-posix.h: Include <unistd.h> for feature tests.
10024         (sched_get_priority_max, sched_get_priority_min)
10025         (pthread_getschedparam, pthread_setschedparam): Only use
10026         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
10027         (__gthread_objc_thread_set_priority): Don't treat all nonzero
10028         returns from sched_get_priority_max and sched_get_priority_min
10029         as an error.
10030
10031 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
10032
10033         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
10034         MASK_QUICKCALL.
10035
10036 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
10037
10038         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
10039         (h8300_tiny_constant_address_p): Likewise.
10040         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
10041         h8300_eightbit_constant_address_p.
10042         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
10043         * config/h8300/h8300-protos.h: Add the prototypes for the two
10044         new functions.
10045
10046 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
10047
10048         * reload1.c (update_eliminables): Unconditionally check if
10049         frame_pointer_needed has changed.
10050
10051 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
10052
10053         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
10054         before final pass.
10055
10056 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
10057
10058         PR optimization/8334
10059         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
10060         check for zero operands explicitly.
10061
10062 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
10063
10064         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
10065         memory after adjusting to BLKmode.
10066
10067 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
10068
10069         * config/h8300/h8300.h (MASK_*): New.
10070         (TARGET_*): Use MASK_*.
10071
10072 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
10073
10074         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
10075         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
10076         config/rs6000/vxworks.h: New files.
10077         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
10078
10079         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
10080         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
10081         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
10082         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
10083         sparc-*-vxsim*): Delete stanzas.
10084         * gthr-vxworks.h: Rip out all substantive code and just
10085         include gthr-single.h.
10086
10087         * config/alpha/vxworks.h, config/arm/vxarm.h,
10088         config/i386/vxi386.h, config/i960/t-vxworks960,
10089         config/i960/vx960-coff.h, config/i960/vx960.h,
10090         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
10091         config/mips/vxworks.h, config/rs6000/vxppc.h,
10092         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
10093         config/sparc/vxsim.h, config/sparc/vxsparc.h,
10094         config/sparc/vxsparc64.h: Delete files.
10095
10096 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
10097
10098         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
10099         tm_defines if pthreads are enabled.
10100         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
10101         if NETBSD_ENABLE_PTHREADS is defined.
10102
10103 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
10104
10105         * ChangeLog.1: Fix typos.
10106         * cse.c: Fix a comment typo.
10107         * reload1.c: Likewise.
10108
10109 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
10110
10111         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
10112         * fixinc/tests/base/_G_config.h: New file.
10113
10114 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
10115
10116         * combine.c: Fix comment formatting.
10117         * loop.c: Likewise.
10118         * real.c: Likewise.
10119         * regclass.c: Likewise.
10120         * regmove.c: Likewise.
10121         * regrename.c: Likewise.
10122         * reg-stack.c: Likewise.
10123         * reload1.c: Likewise.
10124         * reload.c: Likewise.
10125         * reload.h: Likewise.
10126         * unroll.c: Likewise.
10127
10128 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
10129
10130         * reload1.c (reload): Fix a comment typo.
10131
10132 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
10133
10134         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
10135
10136 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10137
10138         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
10139         * dwarf2out.c: Include hashtab.h.
10140         (is_main_source): New static variable.
10141         (attr_checksum, die_checksum): Modified to handle die references.
10142         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
10143         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
10144         record_comdat_symbol_number): New static functions.
10145         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
10146         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
10147         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
10148         declarations added.
10149
10150 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
10151
10152         * config/h8300/h8300.c (initial_offset): Change to
10153         h8300_initial_elimination_offset.
10154         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
10155         h8300_initial_elimination_offset.
10156         * config/h8300/h8300-protos.h: Update the prototype.
10157
10158 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
10159
10160         * config/mmix/mmix.h (LIBCALL_VALUE): Use
10161         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
10162         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
10163         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
10164         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
10165         and RTX_CODE.
10166         (mmix_function_value_regno_p): Declare.
10167
10168         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
10169         invalid for floating point mode result, with fix.
10170
10171 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
10172
10173         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
10174         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
10175         (stage1_build): Likewise.
10176
10177 2002-10-25  Mike Stump  <mrs@apple.com>
10178
10179         Fixes gcc.dg/warn-1.c.
10180         * c-typeck.c (warn_for_assignment): Don't print argument number,
10181         if zero.
10182
10183 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
10184
10185         * toplev.c (dump_file_index): Add DFI_ce3.
10186         (dump_file_info): Likewise.
10187         (rest_of_compilation): Run first ifcvt pass before tracer.
10188
10189 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
10190
10191         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
10192
10193 2002-10-25  Richard Henderson  <rth@redhat.com>
10194
10195         * real.c (real_to_decimal): If the >1 tens reduction loop results
10196         in a negative exponent, fall into the <1 pten computation.
10197
10198 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
10199
10200         PR middle-end/6994
10201         * c-objc-common.c (inline_forbidden_p): Can not inline
10202         functions containing structures or unions containing VLAs.
10203         * tree-inline.c (walk_tree): For all class 't' nodes, walk
10204         TYPE_SIZE and TYPE_SIZE_UNIT.
10205         (copy_tree_r): Copy types if they are variably modified.
10206
10207 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
10208
10209         * config/s390/s390.md: Remove old-style peepholes.
10210
10211 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
10212
10213         * config/s390/s390.c (s390_decompose_address): Do not range check the
10214         displacement if base or index is the argument pointer register.
10215
10216 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
10217
10218         PR other/3337
10219         PR bootstrap/6763
10220         PR bootstrap/8122
10221         * fixinc/inclhack.def (libc1_G_va_list): New fix.
10222         * fixinc/fixincl.x: Regenerate.
10223         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
10224         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
10225         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
10226         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
10227         * config.in, configure: Regenerate.
10228
10229 2002-10-24  Igor Shevlyakov <igor@microunity.com>
10230
10231         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
10232
10233 2002-10-24  Richard Henderson  <rth@redhat.com>
10234
10235         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
10236
10237 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
10238
10239         * config/h8300/h8300.c (initial_offset): Simplify by using
10240         round_frame_size.
10241
10242 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10243
10244         * doc/install.texi (avr): Update required binutils version.
10245
10246 2002-10-24  Theodore A. Roth  <troth@openavr.org>
10247
10248         * doc/install.texi: Point avr users at more up-to-date information.
10249
10250 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
10251
10252         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
10253         to pull operands out of the literal pool where possible.
10254
10255 2002-10-24  Denis Chertykov  <denisc@overta.ru>
10256
10257         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
10258
10259 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
10260
10261         * expr.c (convert_move): If unsignedp is less then zero there
10262         is no equivalent code.
10263
10264 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
10265
10266         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
10267
10268 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
10269
10270         * config/s390/s390.h: Rework comments; re-sort target macro definitions
10271         according to the sequence they are defined in the manual.
10272         (POINTER_BOUNDARY): Remove.
10273
10274 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
10275
10276         * config/h8300/h8300.c (round_frame_size): Replace 8 with
10277         BITS_PER_UNIT.
10278
10279 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
10280
10281         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
10282         64-bit safe.
10283         (TINY_CONSTANT_ADDRESS_P): Likewise.
10284
10285 2002-10-24  Richard Henderson  <rth@redhat.com>
10286
10287         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
10288         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
10289         vcall offset.
10290
10291 2002-10-24  Richard Henderson  <rth@redhat.com>
10292
10293         PR opt/7944
10294         * reload.c (find_reloads_toplev): Mode of X is not important
10295         when simplifying subregs of constants.
10296
10297 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
10298
10299         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
10300         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
10301         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
10302         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
10303         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
10304
10305 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
10306
10307         * optabs.c (expand_binop): Don't reuse the shift target in the
10308         middle of shift sequences.
10309
10310 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
10311
10312         * i386.md (abs splitters): Do not produce nested subregs.
10313
10314 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
10315
10316         * i386.md (movti_rex64): Fix constraints.
10317
10318 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
10319
10320         * i386.md (abssf,absdf): Use vector operands for SSE
10321         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
10322         vector operand.
10323
10324 2002-10-23  Ziemowit Laski <zlaski@apple.com>
10325
10326         * objc/objc-act.c (get_static_reference): Remove unneeded
10327         TYPE_BINFO initialization.
10328         (get_object-reference): Likewise.
10329         (build_constructor): Tighten precondition check.
10330         (finish_message_expr): Likewise.
10331
10332 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
10333
10334         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
10335         after CONST test.
10336
10337 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
10338
10339         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
10340         in HFAs.
10341
10342 2002-10-23  Richard Henderson  <rth@redhat.com>
10343
10344         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
10345         (alpha_output_mi_thunk_osf): Handle vcall_offset.
10346
10347 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
10348
10349         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
10350         var_mod_type_p.
10351         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
10352         hook_tree_bool_false.
10353
10354         * tree.c (variably_modified_type_p): Moved here from
10355         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
10356         language-specific cases.  Due to this, must weaken some 'if
10357         and only if' checks to merely 'if'.
10358         * tree.h: Prototype variably_modified_type_p.
10359
10360         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
10361
10362 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
10363
10364         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
10365         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
10366
10367         * config/s390/s390-protos.h (fp_operand): Remove.
10368         * config/s390/s390.c (fp_operand): Remove.
10369         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
10370         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
10371         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
10372         (movdi_31, movdf_31 splitters): Likewise.
10373
10374         * config/s390/s390.h (IEEE_FLOAT): Remove.
10375         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
10376         (INT_REGNO_P): Rename to ...
10377         (GENERAL_REGNO_P): ... this.
10378         (FLOAT_REGNO_P): Rename to ...
10379         (FP_REGNO_P): ... this.
10380         (ADDR_REGNO_P): New macro.
10381         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
10382         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
10383         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
10384         (HARD_REGNO_NREGS): Adapt to macro renaming.
10385         (HARD_REGNO_MODE_OK): Likewise.
10386
10387 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
10388             Geoff Keating  <geoffk@apple.com>
10389
10390         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
10391         (rs6000_memory_move_cost): New function.
10392         * config/rs6000/rs6000-protos.h: Declare them.
10393         * config/rs6000/rs6000.h: Use them.
10394
10395 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
10396
10397         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
10398         inlining it into other libgcc2 routines.
10399         (__udivmoddi4): Likewise.
10400
10401 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
10402
10403         * doc/sourcebuild.texi (Test Suites): Improve.
10404
10405 2002-10-22  Stan Shebs  <shebs@apple.com>
10406
10407         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
10408         case for Darwin.
10409
10410 2002-10-22  Jim Wilson  <wilson@redhat.com>
10411
10412         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
10413
10414 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
10415
10416         PR other/8289
10417         * xmmintrin.h: Add const to the argument of loads.
10418
10419         * i386.md (pushv2di): New pattern.
10420         PR target/6890
10421         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
10422
10423 2002-10-22  Richard Henderson  <rth@redhat.com>
10424
10425         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
10426         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
10427         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
10428         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
10429         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10430         (TARGET_ASM_OUT): Update.
10431         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
10432         (hook_bool_tree_hwi_hwi_tree_true): New.
10433         (default_can_output_mi_thunk_no_vcall): New.
10434         * hooks.h: Declare them.
10435         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
10436
10437         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10438         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
10439         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
10440         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
10441         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
10442         config/stormy16/stormy16.c: Similarly.
10443
10444         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
10445         Handle 64-bit properly.  Streamline.
10446         (x86_output_mi_vcall_thunk): Remove.
10447         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
10448         (x86_can_output_mi_thunk): New.
10449         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
10450         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10451         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
10452
10453         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
10454         output_mi_thunk; make static; always use function_section.
10455         (TARGET_ASM_OUTPUT_MI_THUNK): New.
10456         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10457         (rs6000_ra_ever_killed): Test no_new_pseudos not
10458         targetm.asm_out.output_mi_thunk in conjunction with thunks.
10459         * config/rs6000/rs6000-protos.h: Update.
10460         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10461         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
10462         xcoffout_declare_function when using rs6000_output_mi_thunk.
10463
10464         * config/s390/s390.c (s390_output_mi_thunk): Rename from
10465         s390_output_mi_vcall_thunk.
10466         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10467         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10468
10469         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
10470         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10471         * config/vax/vax-protos.h: Update.
10472         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
10473
10474 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
10475
10476         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
10477         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
10478         * i386.md (movti_internal): Use 'C'
10479
10480         * xmmintrin.h (_mm_cmplt_epi*): New.
10481
10482 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
10483
10484         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
10485         ("*movdf_64"): Likewise.
10486         ("*lshrdi3_64"): Likewise.
10487         ("blockage"): Add length attribute.
10488         ("lit"): Likewise.
10489
10490 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
10491
10492         * i386.md: FIx typo.
10493         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
10494         (sse2_umulv2siv2di3): Fix predicate.
10495         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
10496         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
10497         * xmmintrin.h (_mm_mul_epu16): Rename to...
10498         (_mm_mul_epu32): This one.
10499         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
10500
10501         (contains_128bit_aligned_vector_p): Undo accidental checkin.
10502
10503 2002-10-22  Eric Christopher  <echristo@redhat.com>
10504
10505         * config/sparc/sparc.h: Add #error.
10506
10507 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
10508
10509         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
10510         [s390x-*-linux*]: Likewise.
10511         * config/s390/t-linux: Remove.
10512         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
10513
10514 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
10515
10516         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
10517         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
10518         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
10519         * i386.md (mmx_punpck?dq): Simplify.
10520         (sse2_pubpcklqdq): Fix.
10521         (sse2_pubpckhqdq): New.
10522         * xmmintrin.h (_mm_unpackhi_epi32): New.
10523
10524         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
10525         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
10526
10527 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
10528
10529         PR c++/7209
10530         * fold_const.c (fold_binary_op_with_conditional_arg): Always
10531         build compound_expr if we used save_expr.
10532
10533 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
10534
10535         * output.h (SECTION_NOTYPE): Define.
10536         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
10537         init array sections.
10538         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
10539         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
10540         merge TLS support.
10541
10542 2002-10-21  Richard Henderson  <rth@redhat.com>
10543
10544         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
10545         the function type, not the return type.
10546
10547 2002-10-21  Richard Henderson  <rth@redhat.com>
10548
10549         * real.c (sticky_rshift_significand): Return inexact, don't
10550         or it in immediately.
10551         (sub_significands): Accept incomming carry.
10552         (div_significands, rtd_divmod): Update for sub_significands change.
10553         (round_for_format): Update for sticky_rshift_significand change.
10554         (do_add): Don't involve the inexact bit in addition, do give the
10555         inexact bit as the subtraction carry-in.
10556         (encode_internal, decode_internal, real_internal_format): New.
10557         * real.h (real_internal_format): Declare.
10558
10559 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10560
10561         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
10562         don't define sdiv_qrnnd.
10563
10564 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
10565
10566         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
10567         using IN_RANGE.
10568         (TINY_CONSTANT_ADDRESS_P): Likewise.
10569
10570 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10571
10572         * i386.c (builtin_description): Add punpcklqdq and movdq2q
10573         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
10574         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
10575         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
10576         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
10577         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
10578         __builtin_ia32_setzero128.
10579         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
10580         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
10581         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
10582         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
10583         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
10584         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
10585         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
10586         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
10587         sse2_movq): New patterns.
10588         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
10589         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
10590         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
10591         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
10592         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
10593         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
10594         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
10595         (_mm_insert_epi16): Fix.
10596
10597 2002-10-21  Dale Johannesen  <dalej@apple.com>
10598
10599         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
10600             unsafe math reversals correctly for RTL generation.
10601           (output_cbranch):  Replace rs6000_reverse_condition call
10602             by its former definition.
10603
10604 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
10605
10606         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
10607         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
10608         from constant pool or LABEL_REFs as sign extended if allow_rip.
10609         Change all +-1GB limits to +-16MB.
10610         (x86_64_general_operand, x86_64_szext_general_operand,
10611         x86_64_nonmemory_operand, x86_64_movabs_operand,
10612         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
10613         legitimate_address_p, ix86_expand_int_movcc): Update callers.
10614         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
10615         in CM_SMALL_PIC model.
10616         (legitimate_pic_address_disp_p): Don't check offsets before
10617         calling local_symbolic_operand.
10618         (legitimize_pic_address): Force offsets bigger than +-16MB into
10619         register.
10620         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
10621         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
10622         prototype.
10623
10624         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
10625         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
10626         * configure: Rebuilt.
10627         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
10628         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
10629         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
10630         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
10631         -fpic.
10632         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
10633         non-pic code if TARGET_64BIT.
10634         (legitimize_address): Generate 64-bit TLS sequences.
10635         (output_pic_addr_const): Support x86-64 TLS operators.
10636         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
10637         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
10638         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
10639         (output_addr_const_extra): Support x86-64 TLS operators.
10640         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
10641         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
10642         unconditionally.
10643         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
10644         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
10645         (*tls_global_dynamic_sun): Renamed to...
10646         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
10647         (tls_global_dynamic): Renamed to...
10648         (tls_global_dynamic_32): ... this.
10649         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
10650         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
10651         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
10652         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
10653         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
10654         (tls_local_dynamic_base_dynamic): Renamed to...
10655         (tls_local_dynamic_base_dynamic_32): ... this.
10656         (tls_local_dynamic_base_dynamic_64,
10657         *tls_local_dynamic_base_dynamic_64): New.
10658         (*tls_local_dynamic_once): Renamed to...
10659         (*tls_local_dynamic_32_once): ... this.
10660
10661 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10662
10663         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
10664         __divdi3, __umoddi3, or __moddi3.
10665
10666 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10667
10668         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
10669         instead of just opt_index as switch expression.
10670
10671         * calls.c (store_one_arg): Change type of 'excess_align'
10672         to unsigned int.
10673
10674         * profile.c (output_gcov_string): Change type of 'temp'
10675         to size_t.
10676
10677 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10678
10679         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
10680         (__fixunssfdi, __fixsfdi): Likewise.
10681         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
10682         (s390_single_qi): Likewise.
10683         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
10684         unsigned comparison warning.
10685         (s390_return_addr_rtx): New function.
10686         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
10687         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
10688         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
10689
10690 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10691
10692         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
10693         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
10694         (s390_output_mi_thunk): Remove.
10695         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10696
10697 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
10698
10699         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
10700
10701 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
10702
10703         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
10704         inverted test in the conditional determining the possibility
10705         of sibcalls in PIC mode.
10706
10707 2002-10-20  Richard Henderson  <rth@redhat.com>
10708
10709         * target.h (struct gcc_target): Line wrap.
10710
10711         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
10712         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
10713         * config/alpha/alpha.h: ... not here.
10714         * config/alpha/alpha-protos.h: Update.
10715
10716         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
10717         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
10718         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
10719         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
10720         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
10721         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
10722         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
10723         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
10724         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
10725         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
10726         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
10727         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
10728         config/sparc/sparc.c, config/sparc/sparc.h,
10729         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
10730         config/stormy16/stormy16.h: Similarly.
10731
10732         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
10733         selection logic from call patterns.
10734
10735 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
10736
10737         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
10738
10739 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10740
10741         PR other/8202
10742         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
10743         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
10744         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
10745         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
10746
10747 2002-10-20  Roger Sayle  <roger@eyesopen.com>
10748
10749         PR c/761
10750         * toplev.c (flag_unsafe_profile_arcs): Remove.
10751         (flag_bounded_pointers): Remove.
10752         (flag_bounds_check): Correct comments.
10753         (lang_independent_options): Remove -funsafe-profile-arcs and
10754         -fbounded-pointers.  Correct -fbounds-check comments.
10755
10756         * flags.h: Correct flag_schedule_interblock comments.
10757         (flag_bounded_pointers): Remove prototype.
10758         (flag_bounds_check): Correct comments.
10759
10760         * c-opts.c (c_common_init_options): No need to mark
10761         flag_bounds_check as unspecified.
10762         (c_common_post_options): And no need to set it from
10763         flag_bounded_pointers if its still unspecified.
10764
10765         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
10766         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
10767         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
10768         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
10769
10770 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
10771         Angela Marie Thomas  <angela@releasedominatrix.com>
10772         Brendan Kehoe  <brendan@zen.org>
10773         Nick Clifton  <nickc@redhat.com>
10774         Andrew Haley  <aph@redhat.com>
10775
10776         * configure.in (--with-sysroot): New.  Don't inhibit libc if
10777         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
10778         and CROSS_SYSTEM_HEADER_DIR.
10779         * configure: Rebuilt.
10780         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
10781         (TARGET_SYSTEM_ROOT): New.
10782         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
10783         CROSS_SYSTEM_HEADER_DIR.
10784         (install-gcc-tooldir): New target.
10785         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
10786         if SYSTEM_HEADER_DIR does not exist and it's not the default
10787         sys-include directory.
10788         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
10789         (install-mkheaders): Likewise.
10790         * gcc.c (target_system_root): New variable.
10791         (add_sysrooted_prefix): New function.
10792         (process_command): Recompute run-time target_system_root from
10793         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
10794         does not exist.
10795         (do_spec_1): Process 'R' spec.
10796         (main): Add md_exec_prefix to exec_prefixes regardless of
10797         startfile_prefix_spec.  Use add_sysrooted_prefix for
10798         startfile_prefixes, and don't skip the default ones when cross
10799         compiling with sysroot enabled.  Removed unused case of
10800         non-absolute standard_startfile_prefix.
10801         * config/interix.h: Remove the only potential, yet disabled,
10802         occurrence of non-absolute (empty) standard_startfile_prefix.
10803         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
10804         linking.
10805         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
10806         * doc/install.texi (--with-sysroot): Document.
10807         (--with-headers, --with-libs): Deprecate.
10808
10809 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10810             Mark Mitchell  <mark@codesourcery.com>
10811
10812         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
10813         match target.h.
10814         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
10815         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
10816         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
10817         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
10818         x86_output_mi_thunk): Likewise.
10819         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
10820         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
10821         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
10822         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
10823         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
10824         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
10825         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
10826         Likewise.
10827         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
10828
10829         * target.h (gcc_target): Update output_mi_thunk and
10830         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
10831         vcall_index.
10832
10833         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
10834         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10835         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
10836         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
10837         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
10838         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
10839         signature.
10840         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
10841         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
10842         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10843         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
10844         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
10845         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
10846         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10847         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
10848         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
10849
10850         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
10851         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
10852
10853 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
10854
10855         * real.c (do_add): Fix 0+0 sign corner case.
10856         (do_divide): Fix Inf/0 corner case.
10857
10858 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
10859
10860         * i386.c (classify_argument): Pass MMX arguments in memory
10861         (ix86_expand_builtin): Expand proper address mode for cflush.
10862         * i386.md (movdqa): Fix typo.
10863         (sse2_cflush): Accept DImode addresses.
10864
10865         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
10866         (_mm_max_sd): Fix pasto.
10867         (_mm_storeh_pd, _mm_storel_pd): Fix.
10868
10869         * i386.c (bdesc_comi): Fix to match specification.
10870         (ix86_expand_sse_comi): Emit the comparison properly.
10871         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
10872         Do not use comparison operator.
10873         (vnmaskcmp): Fix template.
10874
10875         * xmmintrin.h (_mm_cvtps_pi16): Fix.
10876
10877 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
10878
10879         * dependence.c : Removed.
10880         * Makefile.in : Remove dependence.o.
10881
10882 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
10883
10884         * mmintrin.h (__m64): typedef it to v2si.
10885         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
10886         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
10887         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
10888         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
10889         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
10890         * xmmintrin.h (_mm_setzero_si64): Likewise.
10891
10892         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
10893         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
10894
10895         PR target/7693
10896         Patch by Shawn Wagner
10897         * mmintrin.h: Replace pi64 by si64.
10898
10899 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
10900
10901         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
10902         Use length of 4 not *.
10903         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
10904         (movdf_softfloat64): Likewise.
10905         (movdi_internal32): Use length of 4 not *.
10906         (movti_power): Same.
10907         (ctrsi, ctrdi): Same.
10908
10909 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
10910
10911         * c-decl.c (start_decl): Point users of the old initialized-
10912         typedef extension at __typeof__.
10913
10914 2002-10-18  Richard Henderson  <rth@redhat.com>
10915
10916         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
10917         (real_to_decimal): Re-implement using the logic from the
10918         gcc 3.2 etoasc.  Comment heavily.
10919         (div_significands): Simplify loop startup and comparison logic.
10920
10921 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
10922
10923         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
10924         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
10925         (TARGET_ASM_OUT): Add them.
10926         * target.h (asm_out): Add output_mi_thunk and
10927         output_mi_vcall_thunk.
10928         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10929         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10930         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
10931         * config/arm/arm.c (arm_output_mi_thunk): Define.
10932         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10933         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10934         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10935         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10936         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10937         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10938         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
10939         prototype.
10940         (x86_output_mi_vcall_thunk): Declare.
10941         * config/i386/i386.c (override_options): Clear
10942         output_mi_vcall_thunk in 64-bit mode.
10943         (ix86_fntype_regparm): New function.
10944         (ix86_return_pops_args): Use it.
10945         (ia32_this_parameter): New function.
10946         (x86_output_mi_vcall_thunk): New function.
10947         (x86_output_mi_thunk): Use it
10948         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
10949         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
10950         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
10951         * config/i960/i960.c (i960_output_mi_thunk): New function.
10952         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
10953         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
10954         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
10955         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10956         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10957         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
10958         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10959         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10960         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10961         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10962         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10963         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10964         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10965         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10966         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10967         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10968         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
10969         * config/s390/s390.c (s390_output_mi_thunk): Define.
10970         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10971         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10972         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10973         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10974         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10975         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10976         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
10977         * config/vax/vax.c (vax_output_mi_thunk): Define.
10978         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10979         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10980         * doc/tm.texi: Adjust documentation.
10981
10982 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10983
10984         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
10985         __enable_execute_stack function.
10986         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
10987         as NETBSD_ENABLE_EXECUTE_STACK.
10988         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10989         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10990         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10991         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10992         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10993
10994 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10995
10996         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
10997         to __enable_execute_stack with the address of the trampoline
10998         if TRANSFER_FROM_TRAMPOLINE is defined.
10999         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
11000         constant if building libgcc2.
11001
11002 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11003
11004         * i386.c (pentium4_cost): Fix according to Intel recommendations.
11005         (ix86_memory_move_cost): Fix for 64bit compilation.
11006
11007 2002-10-17  Roger Sayle  <roger@eyesopen.com>
11008
11009         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
11010
11011 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
11012
11013         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
11014         in CTR/LR/MQ.
11015         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
11016         to/from CTR/LR/MQ.
11017         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
11018         (movsf_softfloat): Likewise.
11019
11020 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
11021
11022         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
11023
11024 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
11025
11026         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
11027         tramp, not addr, to pass the trampoline address to
11028         __enable_execute_stack.
11029
11030 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
11031
11032         * mmintrin.h: Guard by __MMX__
11033         * xmmintrin.h: Guard by __SSE__
11034
11035         PR other/8062
11036         * xmmintrin.h (_MM_SHUFFLE2): New macro.
11037         (_mm_load*_?d): New functions.
11038         (_mm_set*_?d): New functions.
11039         (_mm_store*_?d): New functions.
11040
11041 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
11042
11043         Really commit patch announced at Oct 14
11044         PR c/7344
11045         * predict.c (can_predict_insn_p): New function.
11046         (estimate_probability): Avoid unnecesary work.
11047         (process_note_prediction): Likewise.
11048         * toplev.c (rest_of_compilation): Account early branch prediction pass
11049         as TV_BRANCH_PROB.
11050
11051         PR other/8048
11052         Found by Ian Ollmann
11053         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
11054         (_mm_load?_pd): Likewise.
11055         (_mm_store?_pd): Likewise.
11056
11057         PR target/7386
11058         * i386.c (builtin_description):Drop cmpg[te]s[sd].
11059         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
11060         swapped alternative.
11061
11062         PR opt/7630
11063         * reload1.c (reload_inner_reg_of_subreg): New argument output;
11064         (push_reload): Update call.
11065
11066 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
11067
11068         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
11069         if using mips/elf.h or mips/elf64.h.
11070         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
11071         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
11072
11073 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
11074
11075         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
11076         SI.
11077
11078 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
11079
11080         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
11081         (LPREFIX): Likewise.
11082         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
11083         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
11084         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
11085         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
11086         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
11087
11088         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
11089         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
11090         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
11091         BSS_SECTION_ASM_OP): Move from linux.h.
11092         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11093         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
11094
11095         * config/s390/s390.c (s390_function_profiler): Use
11096         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
11097
11098 2002-10-15  Eric Christopher  <echristo@redhat.com>
11099
11100         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
11101         * java/parse.y (obtain_incomplete_type): Make pointer
11102         ptr_mode.
11103
11104 2002-10-15  Richard Henderson  <rth@redhat.com>
11105
11106         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
11107         as arguments.  Bound DIGITS by the available buffer size.
11108         (real_to_hexadecimal): Likewise.
11109         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
11110         (REAL_VALUE_TO_DECIMAL): Remove.
11111         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
11112         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
11113         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
11114         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
11115         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
11116         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
11117         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
11118         use real_to_decimal directly, and with the proper arguments.
11119         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
11120
11121 2002-10-15  Jim Wilson  <wilson@redhat.com>
11122
11123         * reload1.c (merge_assigned_reloads): After converting overlapping
11124         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
11125
11126         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
11127
11128 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
11129
11130         * expr.c (do_tablejump): Fix typo in my previous commit.
11131
11132 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
11133
11134         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
11135
11136 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
11137
11138         * config/s390/s390.c (s390_split_branches): Add return
11139         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
11140
11141         (find_base_register_in_addr): New function.
11142         (find_base_register_ref): New function.
11143         (replace_base_register_ref): New function.
11144
11145         (struct constant_pool): Add members pool_insn, insns, and anchor.
11146         Remove member last_insn.
11147         (s390_start_pool): Initialize them.
11148         (s390_end_pool): Emit pool placeholder insn.
11149         (s390_add_pool_insn): New function.
11150         (s390_find_pool): Use insns bitmap instead of addresses.
11151         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
11152         Replace unspec 104 by local-pool-relative references.
11153         (s390_output_constant_pool): Output anchor label if required.
11154         (s390_output_symbolic_const): Handle unspec 104 and 105.
11155         (s390_add_pool): Remove, replace by ...
11156         (s390_add_constant, s390_find_constant): ... these new functions.
11157         (s390_add_anchor): New function.
11158
11159         (s390_chunkify_pool): Delete, replace by ...
11160         (s390_chunkify_start, s390_chunkify_finish,
11161         s390_chunkify_cancel): ... these new functions.
11162         (s390_optimize_prolog): Add parameter TEMP_REGNO.
11163         Recompute register live data for special registers.
11164         (s390_fixup_clobbered_return_reg): New function.
11165         (s390_machine_dependent_reorg): Rewrite to use new
11166         s390_chunkify_... routines.
11167
11168         config/s390/s390.md ("reload_base"): Rename to ...
11169         ("reload_base_31"): ... this.
11170         ("reload_base_64"): New insn.
11171         ("reload_base2"): Remove.
11172         ("reload_anchor"): New insn.
11173         ("pool"): New insn.
11174
11175         s390.c (s390_pool_overflow): Remove.
11176         s390.h (s390_pool_overflow): Likewise.
11177         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
11178
11179 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
11180
11181         * sh.md (movv8qi_i+2): Don't split if source is -1.
11182
11183 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
11184
11185         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
11186
11187 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
11188
11189         PR opt/7409
11190         * loop.c (loop_regs_scan): Mark registers used for function
11191         argument passing as MAY_NOT_OPTIMIZE.
11192
11193 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
11194
11195         * gcov-io.h (gcov_info): Fix type.
11196         * profile.c (create_profiler): Fix type mismatch.
11197
11198 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
11199
11200         * i386.md (movv2di_internal): New pattern.
11201         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
11202         (movv2di): New expander.
11203         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
11204
11205         * i386.c (ix86_expand_timode_binop_builtin): Delete.
11206         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
11207         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
11208         (ix86_expand_builtin): Likewise.
11209         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
11210         sse_andti3,
11211         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
11212         sse_andnti3,
11213         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
11214         sse_orti3,
11215         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
11216         sse_xorti3): Kill.
11217         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
11218          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
11219         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
11220          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
11221         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
11222          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
11223
11224         * xmmintrin.h (__m128i): Define as __v2di.
11225
11226         PR c++/6419
11227         (expand_expr): Use DECL_RTL_SET_P.
11228
11229 2002-10-14  Roger Sayle  <roger@eyesopen.com>
11230
11231         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
11232
11233 2002-10-14  Roger Sayle  <roger@eyesopen.com>
11234             Zack Weinberg <zack@codesourcery.com>
11235
11236         * config/i386/i386.c (k6_cost): Correct typo.
11237
11238 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
11239
11240         PR optimization/6631
11241         * alias.c (objects_must_conflict_p): Check honor_readonly when
11242         examining TYPE_READONLY.
11243         * function.c (assign_stack_temp_for_type): Likewise.
11244
11245 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
11246
11247         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
11248         Swap zero extension arguments.
11249         (umaxhi3): Fix instruction class.
11250         PR target/7211
11251         (prefetch): Fix prefetch instructions.
11252         PR target/7238
11253         (pkwb): Fix output constraint.
11254
11255 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
11256
11257         * config/mips/mips.c (print_operand): Increase buffer size for
11258         real numbers.
11259
11260 2002-10-14  Richard Henderson  <rth@redhat.com>
11261
11262         PR opt/8165
11263         * gcse.c (adjust_libcall_notes): Revert last change.
11264         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
11265
11266 2002-10-14  Andrew Haley  <aph@redhat.com>
11267
11268         * tree-inline.c (remap_block): All local class initialization
11269         flags go in the outermost scope.
11270         (expand_call_inline): Call java_inlining_map_static_initializers.
11271         (expand_call_inline): Call java_inlining_merge_static_initializers.
11272         * java/lang.c (merge_init_test_initialization): New.
11273         (java_inlining_merge_static_initializers): New.
11274         (inline_init_test_initialization): New.
11275         (java_inlining_map_static_initializers): New.
11276
11277         * tree-inline.c (expand_call_inline): Convert retvar to expected
11278         type.
11279
11280 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
11281
11282         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
11283
11284 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
11285
11286         * stmt.c: Fix typo in comment.
11287
11288 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
11289
11290         * c-common.c (c_common_type_for_mode): Add V2HImode case.
11291         * tree.c (build_common_tree_nodes_2): Initialize
11292         unsigned_V2HI_type_node and V2HI_type_node.
11293         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
11294         (unsigned_V2HI_type_node, V2HI_type_node): Define.
11295
11296 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
11297
11298         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
11299         Handle TARGET_64BIT.
11300
11301 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
11302
11303         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
11304         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
11305         (MULTILIB_DIRNAMES): Remove long32.
11306         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
11307         (MULTILIB_REDUNDANT_DIRS): Remove.
11308
11309 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
11310
11311         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
11312         * gcc.c (driver_self_specs): New variable.
11313         (do_self_spec): New function.
11314         (main): Use it to process driver_self_specs.
11315
11316 2002-10-13  Richard Henderson  <rth@redhat.com>
11317
11318         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
11319         indirect sibcalls when regparm >= 3.
11320
11321         * config/i386/i386.c (sibcall_insn_operand): New.
11322         * config/i386/i386.h (PREDICATE_CODES): Update.
11323         * config/i386/i386-protos.h: Update.
11324         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
11325
11326         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
11327
11328 2002-10-12  Roger Sayle  <roger@eyesopen.com>
11329
11330         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
11331         arithmetic right shifts of ~0 during RTL simplifications.
11332
11333 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
11334
11335         PR preprocessor/7862
11336         PR preprocessor/8190
11337         * gcc.c (cpp_unique_options): Don't delete .d files.
11338         Remove stray whitespace.
11339
11340 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
11341
11342         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
11343         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
11344         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
11345         (pdp11_output_function_epilogue, output_ascii): Likewise.
11346         (output_addr_const_pdp11): Likewise.
11347         * pdp11.md (movdi): Use offsetable memory for floating store.
11348         (lshrsi3, negsi2): Delete irrelevant comment.
11349
11350 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
11351
11352         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
11353         indirect calls to be sibcall optimized.
11354         * config/i386/i386.md (sibcall_1): New.
11355         (call_1): Add no-sibcalls condition.
11356         (sibcall_value_1): New.
11357         (call_value_1): Add no-sibcalls condition.
11358
11359 2002-10-11  Eric Christopher  <echristo@redhat.com>
11360
11361        * output.h (default_valid_pointer_mode): Declare.
11362        * varasm.c (default_valid_pointer_mode): Define.
11363        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
11364        * target.h: Ditto.
11365        * tree.c (build_pointer_type_for_mode): New function.
11366        (build_pointer_type): Use.
11367        (build_reference_type_for_mode): New function.
11368        (build_reference_type): Use.
11369        * tree.h: Declare new functions.
11370        * c-common.c (handle_mode_attribute): Use new functions, check
11371        for type.
11372        * stor-layout.c (layout_type): Depend on machine mode for
11373        REFERENCE_TYPE and POINTER_TYPE.
11374        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
11375        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
11376        and REFERENCE_TYPE.
11377        * config/mips/mips.c (mips_valid_pointer_mode): New function.
11378        (TARGET_VALID_POINTER_MODE): Use and define.
11379        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
11380
11381 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
11382
11383         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
11384         not the address of the REG.
11385         (struct cse_reg_info): Make subreg_ticked unsigned.
11386
11387 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
11388
11389         * doc/compat.texi: Add info about C++ libraries.
11390
11391 2002-10-11  Richard Henderson  <rth@redhat.com>
11392
11393         PR opt/8165
11394         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
11395
11396 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11397
11398         * cfganal.c (dfs_enumerate_from): Use PARAMS.
11399         * genautomata.c (output_insn_code_cases): Likewise.
11400         * real.c (real_format): Likewise.
11401         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
11402         ensure value is promoted before doing subtraction.
11403
11404 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
11405
11406         * calls.c (expand_call): Simplify noreturn call.
11407
11408         PR c/7344
11409         * cfgbuild.c (make_edges): Create edge cache when we do have
11410         large jumptable.
11411         * expr.c (do_tablejump): Note size of maximal jumptable.
11412         * function.c (prepare_function_start): Zero out size.
11413         * function.h (function): Add max_jumptable_ents.
11414
11415         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
11416
11417 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11418
11419         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
11420         register for mperm_w operation.
11421
11422 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11423
11424         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
11425         an integer, use simplify_gen_subreg.
11426
11427 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
11428
11429         * calls.c (flags_from_decl_or_type): Make extern.
11430         (ECF_*): Move ...
11431         * rtl.h (ECF_*): ... here.
11432         (flags_from_decl_or_type): Declare.
11433
11434 2002-10-10  Roger Sayle  <roger@eyesopen.com>
11435             Nathan Sidwell <nathan@codesourcery.com>
11436
11437         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
11438         shifts of the form -1 >> x.
11439
11440 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
11441
11442         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
11443
11444 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
11445
11446         * extend.texi (Vector Extensions): Remove comment about single
11447         element vectors.
11448
11449 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11450
11451         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
11452         * function.c (insns_for_mem_hash): Likewise.
11453         * varasm.c (STRHASH): Likewise.
11454
11455 2002-10-10  Stuart Hastings  <stuart@apple.com>
11456
11457         * cse.c (struct cse_reg_info): Add subreg_ticked.
11458         (SUBREG_TICKED): New.
11459         (get_cse_reg_info): Initialize SUBREG_TICKED.
11460         (mention_regs): Use it.
11461         (invalidate): Set SUBREG_TICKED.
11462         (invalidate_for_call): Likewise.
11463         (addr_affects_sp_p): Likewise.
11464
11465 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
11466
11467         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
11468         into proper operand.
11469
11470 2002-10-10  Denis Chertykov  <denisc@overta.ru>
11471
11472         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
11473         deallocation.
11474         * config/ip2k/libgcc.S: Combine routines used by function
11475         epilogue.
11476
11477 2002-10-10  Jim Wilson  <wilson@redhat.com>
11478
11479         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
11480         UDIV.
11481
11482 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
11483
11484         * config/rs6000/aix52.h: New file.
11485         * config/rs6000/t-aix52: New File.
11486         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
11487         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
11488
11489 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
11490
11491         PR target/5610
11492         * invoke.texi (-msse-math): Kill
11493         (-msse): Add note to mfpmath=sse.
11494
11495 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
11496
11497         PR target/7723
11498         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
11499
11500 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
11501
11502         PR preprocessor/8179
11503         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
11504         as cc1_options.
11505         (default_compilers): Pass debug options when preprocessing
11506         stdin.
11507
11508 2002-10-06  Richard Henderson  <rth@redhat.com>
11509
11510         * toplev.c (rest_of_compilation): Revert opt/2960 change.
11511
11512 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
11513
11514         * i386.c (*_cost): Add branch costs.
11515         (override_options): set ix86_branch_cost.
11516         (ix86_expand_int_movcc): Use BRANCH_COST.
11517         * i386.h (costs): Add branch_cost.
11518
11519 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
11520
11521         PR c/7353
11522         * c-decl.c (start_decl): Unconditionally issue error for
11523         'typedef foo = bar'.
11524         (finish_decl): Remove special case for TYPE_DECL with initializer.
11525
11526         * doc/extend.texi: Delete "Naming Types" section.  Change all
11527         cross-references to that section to refer to "Typeof" instead.
11528         Add the useful safe-max()-macro example from "Naming Types" to
11529         "Typeof", rewritten using that extension.  Add some compatibility
11530         notes to "Typeof."
11531
11532 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11533
11534         * loop.c: Revert 2002-08-15 change.
11535         (LOOP_REGNO_NREGS): Ensure type is int.
11536
11537 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
11538
11539         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
11540         which copies first FPR and clears second.
11541         (extendsftf2): Same.
11542         (floatditf2): Fix typo.
11543         (floatsitf2): Same.
11544         (fix_trunctfdi2): Same.
11545         (fix_trunctfsi2): Same.
11546
11547 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11548
11549         * conflict.c (arc_hash): Change return type to hashval_t.
11550         * cselib.c (get_value_hash): Likewise.
11551         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
11552         state_hash, automata_list_hash): Likewise.
11553         * read-rtl.c (def_hash): Likewise.
11554         * tree.c (type_hash_hash): Likewise.
11555
11556 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
11557
11558         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
11559         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
11560
11561 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
11562
11563         * sh.md (ffssi2): Fix emitted code.
11564
11565 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
11566
11567         * cse.c (insn_live_p): Pass insn pattern, not full insn
11568         to may_trap_p.
11569
11570 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
11571
11572         * cppmacro.c (paste_tokens): Only allow / to paste with =.
11573
11574 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
11575
11576         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
11577         64-bit hosts.
11578         (movtf_internal): Reference correct displacement for second value
11579         in memory.
11580         (movtf splitter): Correct generation of constants in 64-bit mode.
11581
11582 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
11583
11584         * libgcc2.c (__floatdisf): Properly cure double rounding.
11585
11586 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11587
11588         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
11589         * doc/cpp.texi (Common Predefined Macros): Document.
11590
11591 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11592
11593         PR doc/7484
11594         * doc/invoke.texi (Option Summary): List
11595         -Wmissing-declarations as a C only option.
11596
11597 2002-10-08  Roger Sayle  <roger@eyesopen.com>
11598
11599         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
11600         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
11601         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
11602
11603 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
11604
11605         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11606         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
11607         variables.
11608         (safe_vector_operand): Update sse_clrv4sf call.
11609         (ix86_expand_buildin): Likewise
11610         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11611         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
11612         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
11613         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
11614         macros.
11615         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
11616         movv4si):  Obey the new flags.
11617         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
11618         reformating penalty.
11619         (anddf, cmov patterns): Avoid reformating by first converting.
11620         (sse_cvtsd2ss): Fix predicate.
11621         (sse2_clrti): Fix mode,
11622         (sse_clrv4sf): Avoid unspec.
11623
11624 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
11625
11626         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
11627         mno-app-regs|mcmodel=medany.
11628         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
11629         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
11630         (CRTSTUFF_T_CFLAGS): Define.
11631
11632 2002-10-08  Roger Sayle  <roger@eyesopen.com>
11633
11634         PR target/8087
11635         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
11636         pool references that are constructed using LO_SUM.
11637
11638 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
11639
11640         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
11641         -Wall.
11642         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
11643         message.
11644         * flags.h (warn_strict_aliasing): Declare.
11645         * toplev.c (warn_strict_aliasing): Define.
11646         (lang_independent_options): Add it.
11647         * doc/invoke.texi (-Wstrict-aliasing): Document it.
11648
11649 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
11650
11651         * system.h (GCCBUGURL): Delete.
11652         * version.c (bug_report_url): New.  Add commentary about
11653         modifying both these strings in modified distributions.
11654         * version.h: Declare bug_report_url.
11655
11656         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
11657         bug_report_url.
11658
11659 2002-10-08  Nick Clifton  <nickc@redhat.com>
11660
11661         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
11662         convert uint64_t into __ev64_opaque__.
11663         (__ev_set_acc_s64): Likewise, but using signed types.
11664
11665 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
11666
11667         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
11668         ("*doloop_di_long"): Likewise.
11669
11670 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
11671
11672         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
11673
11674 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
11675
11676         * config/mips/mips.md (define_attr cpu): Add r4111.
11677
11678 2002-10-08  Anthony Green  <green@redhat.com>
11679
11680         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
11681
11682 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11683
11684         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
11685         for REAL_VALUE_TO_DECIMAL output.
11686
11687 2002-10-07  Richard Henderson  <rth@redhat.com>
11688
11689         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
11690         function; cleanup PLUS case by using recursion.  Update all users.
11691         (NONZERO_BASE_PLUS_P): Remove.
11692         (find_comparison_args): Use rtx_addr_can_trap_p instead.
11693         (fold_rtx): Use nonzero_address_p.
11694         * rtl.h (nonzero_address_p): Declare.
11695         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
11696         (rtx_addr_can_trap_p): Likewise.
11697         (nonzero_address_p): New.
11698         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
11699         (simplify_relational_operation): Use nonzero_address_p.
11700
11701 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
11702
11703         * config/rs6000/rs6000.c (rs6000_override_options): Set
11704         real_format_for_mode for IBM extended format, if enabled.
11705         (easy_fp_constant): Add TFmode.
11706         (rs6000_legitimize_address): Add TFmode.
11707         (rs6000_legitimate_address): Same.
11708         (function_arg_advance): TFmode uses two FPRs.
11709         (rs6000_emit_prologue): Fix warning.
11710         (rs6000_output_function_epilogue): Add TFmode.
11711         (output_toc): Add TFmode.
11712         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
11713         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
11714         * rs6000.md (movtf splitter): Load TFmode constant.
11715
11716 2002-10-07  Dale Johannesen  <dalej@apple.com>
11717
11718         * rtl.h:  Add NOTE_PRECONDITIONED.
11719         * unroll.c:  Set it.
11720         * loop.c:  Set loop_info->preconditioned from it.
11721         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
11722
11723 2002-10-07  Richard Henderson  <rth@redhat.com>
11724
11725         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
11726         new rtx for comparing the argument pointer against zero.
11727         (i960_va_start): Similarly.
11728
11729 2002-10-07  Richard Henderson  <rth@redhat.com>
11730
11731         * config/i960/i960.md (*): Use TFmode, not XFmode.
11732         * config/i960/i960.c (*): Likewise.
11733         (i960_arg_size_and_align): Remove XFmode alignment hack.
11734         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
11735         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
11736         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
11737         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
11738
11739 2002-10-07  Richard Henderson  <rth@redhat.com>
11740
11741         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
11742         entry points; use void return value and argument list.
11743
11744 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
11745
11746         * calls.c (expand_call): Fix function-is-volatile check.
11747
11748 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
11749
11750         * t-pdp11: Add MULTILIB support for msoft-float.
11751         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
11752
11753         * t-pdp11: Add LIB2FUNCS_EXTRA.
11754         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
11755         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
11756         'fldd' to 'ldd', rename 'fstd' to 'std'.
11757         (pdp11_output_function_epilogue): Likewise.
11758         (output_move_quad): Make the comment gas compatible.
11759         (output_ascii): Add preceding 0 to the octal constant.
11760         (print_operand_address): Add pre_modify, post_modify.
11761         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
11762         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
11763         with the indication of Paul Koning.
11764         (PRINT_OPERAND): Fix floating constant.
11765         * pdp11.md (movdi): Restrict matching pattern.
11766         (movqi): Generalize the matching pattern.
11767         (movdf): Restrict matching pattern.
11768         (zero_extendqihi2): Change constant representation.
11769         (floatsidf2): Fix wrong operands.
11770         (addqi3): Fix wrong instruction name.
11771         (subqi3): Fix wrong instruction name.
11772         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
11773         (xorsi3): Fix wrong insn.
11774         (one_cmplqi2): Add two operand pattern.
11775         (lsrsi3): New.
11776         (negsi2): New.
11777         (call): Add register indirect case.
11778         (mod): Fix wrong subreg.
11779
11780 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
11781             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11782
11783         PR c/7411
11784         * expr.c (expand_expr) [PLUS]: Simplify after the operands
11785         have been expanded in EXPAND_NORMAL mode.
11786
11787 2002-10-06  Richard Henderson  <rth@redhat.com>
11788
11789         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
11790
11791 2002-10-06  Richard Henderson  <rth@redhat.com>
11792
11793         PR optimization/2960
11794         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
11795         optimize_size.
11796
11797 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
11798
11799         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
11800         previously definitions.
11801
11802 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
11803
11804         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
11805         * c-opts.c (find_opt): Similarly.
11806
11807 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
11808
11809         * athlon.md: rewrite to DFA.
11810         * i386 (ix86_adjust_cost): Drop memory latency code.
11811         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
11812
11813 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
11814
11815         * gcc.c (set_multilib_dir): Don't access *end.
11816         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
11817         (print_multilib_info): Don't show paths starting with ".:".
11818         * genmultilib: Add new option, "yes" if multilibs are enabled.
11819         Update comments.  If multilibs not enabled, print .:${osdirout}
11820         for each directory.  If multilibs are enabled, always print
11821         ${dirout}:${osdirout}, even if the two are the same.
11822         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
11823         Pass all MULTILIB_* variables to genmultilib even if
11824         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
11825
11826 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
11827
11828         * gcc.c (process_command): Set .validated for -pipe.  Correct
11829         grammar in comment.
11830
11831 2002-10-04  Bruce Korb  <bkorb@gnu.org>
11832
11833         * fixinc/inclhack.def(hpux11_abs):  use format fix
11834         * fixinc/fixincl.x: regenerate
11835         * fixinc/tests/base/stdlib.h: accommodate new fix test
11836
11837 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11838
11839         * c-common.c (cb_register_builtins):  Use really_no_inline.
11840
11841 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
11842
11843         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
11844         copied instruction if the note is not loop invariant.
11845
11846 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
11847
11848         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
11849
11850 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
11851
11852         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
11853         and -mhp-ld options to list of options.  Add -mgnu-ld
11854         and -mhp-ld option descriptions.
11855
11856 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
11857
11858         * fixinc/inclhack.def (hpux11_abs):  New.
11859         (stdio_va_list): change __va_list__ to __gnuc_va_list.
11860         * fixinc/fixincl.x: Rebuild.
11861
11862 2002-10-04  Roger Sayle  <roger@eyesopen.com>
11863
11864         * config/i386/i386.h (processor_costs): Add new fields fadd,
11865         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
11866         (RTX_COSTS): Use these fields to determine the RTX costs
11867         of floating point addition/subtraction, multiplication,
11868         division, fabs, negation and square root respectively.
11869         * config/i386/i386.c (size_cost): Provide instruction sizes
11870         for these new fields.
11871         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
11872         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
11873         counts for these new fields for all x86 processor variants.
11874
11875 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11876
11877         * mips.c (mips_const_double_ok): Delete unused variable.
11878
11879         * gengtype.c (rtx_next): Change type to int.
11880
11881 2002-10-04  Andreas Jaeger  <aj@suse.de>
11882
11883         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
11884
11885 2002-10-04  Richard Henderson  <rth@redhat.com>
11886
11887         * real.h (SIGNIFICAND_BITS): Add one more word.
11888         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
11889         * real.c (times_pten): New.
11890         (real_to_decimal, real_from_string): Use it.
11891         (sticky_rshift_significand): Use & to find modulus.
11892         (rshift_significand, lshift_significand): Likewise.
11893         (do_divide): Apply sticky bit after normalization.
11894         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
11895
11896 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
11897
11898         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
11899         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11900
11901 2002-10-03  Andreas Jaeger  <aj@suse.de>
11902
11903         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
11904         to unsigned long, adjust printf format string.
11905         (output_mangled_typename): Likewise.
11906
11907 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
11908
11909         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
11910         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
11911         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
11912         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
11913         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
11914         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
11915         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
11916         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
11917
11918 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
11919
11920         * doc/invoke.texi (-Wabi): Document mangling bug.
11921
11922 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
11923
11924         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
11925         name for the tbtab label that depends on the function asm name.
11926         Don't output tbtab label unless optional_tbtab.
11927         (output_mi_thunk): Formatting.
11928
11929 2002-10-03  Richard Henderson  <rth@redhat.com>
11930
11931         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
11932         * config/m68k/m68k.c (override_options): ... here.
11933         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
11934         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
11935         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11936         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11937
11938 2002-10-03  Richard Henderson  <rth@redhat.com>
11939
11940         * real.h (struct real_value): Use ENUM_BITFIELD.
11941
11942 2002-10-03  Richard Henderson  <rth@redhat.com>
11943
11944         * config/i960/i960.md (call, call_value): Use emit_call_insn.
11945
11946 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11947
11948         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
11949
11950 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11951
11952         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
11953         * config/pa/pa.h (MASK_GNU_LD): New.
11954         (TARGET_GNU_LD): New.
11955         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
11956         on gnu-ld and MASK_GNU_LD.
11957         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
11958
11959 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
11960
11961         * i386.c (athlon_cost): Fix the move costs.
11962
11963 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
11964
11965         * final.c (final): Use symbol name as function name for profiling.
11966         * profile.c (get_exec_counts): Likewise.
11967         (branch_prob): Likewise.
11968
11969 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11970
11971         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
11972
11973 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11974
11975         * gcc.c (print_multi_os_directory): New variable.
11976         (option_map): Support --print-multi-os-directory.
11977         (struct prefix_list): Add os_multilib field.
11978         (multilib_os_dir): New variable.
11979         (static_specs): Add multilib_options.
11980         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
11981         subdirs if nonzero.
11982         (read_specs, execute): Update callers.
11983         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
11984         pass 1 as multilib option.
11985         (display_help): Include --print-multi-os-directory.
11986         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
11987         (process_command): Update callers.  Handle --print-multi-os-directory.
11988         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
11989         set.
11990         (main): Update find_a_file and add_prefix callers.
11991         Handle print_multi_os_directory.
11992         (struct mdswitchstr): New.
11993         (mdswitches, n_mdswitches): New variables.
11994         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
11995         present on the command line nor their mutually incompatible
11996         switches.
11997         (default_arg): Optimize.
11998         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
11999         array.
12000         (print_multilib_info): Only print GCC multilib dir name, not OS
12001         multilib dirname.
12002         * genmultilib: Add osdirnames parameter.  Output multilib_options
12003         variable.  If osdirnames is specified, output dirnames as
12004         dirname:osdirname.
12005         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
12006         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
12007         to compute libgcc_s soname and install path.
12008         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
12009         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
12010         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
12011         argument.
12012
12013         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
12014         (SHLIB_SLIBDIR_SUFFIXES): Remove.
12015         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
12016         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
12017         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
12018         and -m64.
12019         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
12020         (SHLIB_SLIBDIR_SUFFIXES): Remove.
12021         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
12022         (STARTFILE_ARCH_SPEC): Remove.
12023         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
12024         (SHLIB_SLIBDIR_SUFFIXES): Remove.
12025         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
12026         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
12027         (SHLIB_SLIBDIR_SUFFIXES): Remove.
12028
12029 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12030
12031         * predict.c (choose_function_section): Avoid choice for linkonce functions.
12032
12033 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
12034
12035         * i386.md (lea to mul peep2): Fix condition.
12036
12037 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12038
12039         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
12040         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
12041
12042 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
12043
12044         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
12045         attribute "unused".
12046
12047         * config/t-libunwind: Mention unwind-sjlj.c.
12048         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
12049         to #ifndef __USING_SJLJ_EXCEPTIONS__.
12050
12051         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
12052         before inclusion of config.gcc, but after configuring the compiler etc.
12053         Determine default value for --enable-libunwind-exceptions based on
12054         whether the host has a libunwind library (not guaranteed to be correct,
12055         but it's a reasonable first guess and can always be overridden with an
12056         explicit --enable/disable-libunwind-exceptions.
12057         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
12058         tmake_file when $use_libunwind_exceptions is enabled.
12059         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
12060         ia64 (e.g., config/t-linux also updates it).
12061         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
12062         along with the shared version of libgcc since the latter requires
12063         the former.
12064         * unwind-libunwind.c: New file.
12065         * config/t-libunwind: Ditto.
12066
12067 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
12068
12069         * config.gcc: Remove support for vax-*-vms*.
12070         * config/vax/vms.h: Remove.
12071         * config/vax/xm-vms.h: Remove.
12072         * config/vax/vax-protos.h: Remove VMS-specific code.
12073         * config/vax/vax.c: Remove VMS-specific code.
12074
12075 2002-10-02  Richard Henderson  <rth@redhat.com>
12076
12077         PR opt/7124
12078         * config/i386/i386.c (ix86_register_move_cost): Increase cost
12079         for secondary_memory_needed pairs.
12080
12081 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
12082
12083         * doc/vms.texi: Blow away false include file section.
12084
12085 2002-10-02  Roger Sayle  <roger@eyesopen.com>
12086
12087         PR optimization/6627
12088         * toplev.c (force_align_functions_log): New global variable.
12089         * flags.h (force_align_functions_log): Add extern prototype.
12090         * varasm.c (assemble_start_function): Use it to force minimum
12091         function alignment.
12092         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
12093         minimum function alignment to one byte.
12094         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
12095         the least significant bit of vtable member function pointers.
12096         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
12097         here from cp/cp-tree.h.
12098
12099 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
12100
12101         * i386.c (print_operand_address): Use RIP addressing for offsetted
12102         label refs too.
12103
12104 2002-09-30  David S. Miller  <davem@redhat.com>
12105
12106         PR middle-end/7151
12107         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
12108         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
12109
12110 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
12111
12112         * calls.c (expand_call): Remove the `no indirect check'
12113         for sibcall optimization; use function_ok_for_sibcall
12114         target hook; refine check for `function is volatile'.
12115         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
12116         * hooks.c (hook_tree_tree_bool_false): New.
12117         * hooks.h (hook_tree_tree_bool_false): Declare.
12118         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
12119         (TARGET_INITIALIZER): Add it.
12120         * target.h (struct gcc_target): Add function_ok_for_sibcall.
12121         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
12122         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12123         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12124         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
12125         Remove function declaration.
12126         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
12127         function static and accept another argument of type `tree'.
12128         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12129         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12130         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12131         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
12132         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12133         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12134         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12135         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
12136         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
12137         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12138         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12139         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
12140         Remove function declaration.
12141         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
12142         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
12143         rename first argument to `decl'; accept another argument
12144         of type `tree'; make static.
12145         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12146         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12147         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
12148         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12149         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12150         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
12151         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12152         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12153         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12154
12155 2002-10-01  Roger Sayle  <roger@eyesopen.com>
12156
12157         * unroll.c (loop_iterations): Revert 2002-09-08 change.
12158
12159 2002-10-01  Richard Henderson  <rth@redhat.com>
12160
12161         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
12162         (real_to_hexadecimal): Likewise.
12163         * print-rtl.c (print_rtx): If we are linked with real.c, don't
12164         dump the XWINT fields of a floating point CONST_DOUBLE.
12165
12166 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
12167
12168         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
12169
12170 2002-10-01  Richard Henderson  <rth@redhat.com>
12171
12172         * calls.c (precompute_register_parameters): Force non-legitimate
12173         constants into pseudos.
12174
12175 2002-10-01  Nick Clifton  <nickc@redhat.com>
12176
12177         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
12178         to assembler template.
12179
12180 2002-10-01  Richard Henderson  <rth@redhat.com>
12181
12182         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
12183         for TLS debug info to !DECL_EXTERNAL.
12184
12185 2002-10-01  Matt Thomas  <matt@3am-software.com>
12186             Jason Thorpe  <thorpej@wasabisystems.com>
12187
12188         * config.gcc (vax-*-netbsdelf*): Enable configuration.
12189         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
12190         if not already defined.
12191         * config/vax/elf.h: New file.
12192         * config/vax/netbsd-elf.h: New file.
12193         * config/vax/vax.c: Include "debug.h".
12194         (vax_output_function_prologue): Add dwarf2 support.  Use
12195         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
12196         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
12197         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
12198         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
12199         (VAX_ISTREAM_SYNC): Remove.
12200         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
12201         (JUMP_TABLES_IN_TEXT_SECTION): Define.
12202         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
12203         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
12204         and assemble_name.
12205         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
12206         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
12207         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
12208         (INCOMING_RETURN_ADDR_RTX): Define.
12209         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
12210         (VUNSPEC_SYNC_ISTREAM): Define.
12211         (blockage): Use VUNSPEC_BLOCKAGE.
12212         (sync_istream): New insn.
12213
12214 2002-10-01  Richard Henderson  <rth@redhat.com>
12215
12216         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
12217         (*call_value_pop, call, call_value): Add dwarf2 EH support.
12218         (*call): New insn.
12219
12220 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
12221
12222         PR c/8083
12223         * c-typeck.c (build_c_cast): Warn about type punning which breaks
12224         type based aliasing.
12225
12226 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
12227
12228         * stor-layout.c (update_alignment_for_field): New function.
12229         (place_union_field): Use it.
12230         (place_field): Likewise.
12231
12232 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
12233
12234         PR other/8077
12235         * gcc.c (cc1_options): Add space on -auxbase-strip.
12236
12237 2002-10-01  Jim Wilson  <wilson@redhat.com>
12238
12239         * config/v850/v850.h (EPILOGUE_USES): Define.
12240
12241 2002-09-30  Andrew Haley  <aph@redhat.com>
12242
12243         * flow.c (insn_dead_p): When using non-call-exceptions, don't
12244         eliminate insns that may trap.
12245         * cse.c (insn_live_p): Likewise.
12246
12247 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12248
12249         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
12250         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
12251         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
12252         * config/mips/mips.md: Apply same renaming here.
12253
12254 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12255
12256         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
12257         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
12258         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
12259         * config/mips/mips.md (define_attr cpu): Remove r4320.
12260         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
12261
12262 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12263
12264         * config/mips/mips.c (mips16_strings): New variable.
12265         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
12266         symbol in mips16_strings.  Free the list.
12267         (mips_encode_section_info): Keep track of local strings.
12268
12269 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12270
12271         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
12272         (sordered_df, sordered_sf): Remove.
12273         * config/mips/mips.c (get_float_compare_codes): New fn.
12274         (gen_int_relational, gen_conditional_move): Use it.
12275
12276 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12277
12278         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
12279         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
12280         * config/mips/mips.c (fcc_register_operand): New function.
12281         (mips_emit_fcc_reload): New function, extracted from reload_incc.
12282         (override_options): Allow TFmode values in float registers
12283         if ISA_HAS_8CC.
12284         * cnfig/mips/mips.md (reload_incc): Change destination prediate
12285         to fcc_register_operand.  Remove misleading source constraint.
12286         Use mips_emit_fcc_reload.
12287         (reload_outcc): Duplicate reload_incc.
12288
12289 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
12290
12291         * gcc.c (validate_switches): Handle all new forms of spec
12292         syntax introduced recently.  Now returns a char *.
12293         (validate_all_switches): Repetitive logic broken out to...
12294         (validate_switches_from_spec): ...here.
12295         * mklibgcc.in: Don't @-flag commands to generate .oS files.
12296
12297 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
12298
12299         * longlong.h: Partially synchronize with GMP-4.1 version:
12300         Use i370 definitions also for s390.
12301         Add generic definition of umul_ppmm in terms of smul_ppmm.
12302         [s390] (umul_ppmm): Remove.
12303         [s390] (smul_ppmm): Fix incorrect assembler constraints.
12304         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
12305
12306 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
12307
12308         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
12309         Add new RL_REGS register class.
12310         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
12311         Call xtensa_preferred_reload_class for both input and output reloads.
12312         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
12313         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
12314         instead of either AR_REGS or GR_REGS classes.
12315         (xtensa_secondary_reload_class): Use new RL_REGS class.
12316         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
12317
12318 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12319
12320         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
12321         (pa_strip_name_encoding): Strip '@' and '*', in that order.
12322         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
12323         there is a '*' prefix in NAME.
12324
12325 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
12326
12327         * reload.c (push_reload): Handle subregs and secondary memory.
12328         * reload1.c (gen_reload): Likewise.
12329
12330         * jump.c (reg_or_subregno): New function.
12331         * rtl.h (reg_or_subregno): Declare
12332         * unroll.c (find_splittable_givs): Handle subregs.
12333
12334 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
12335
12336         * store-layout.c (finish_record_layout): Add free_p parameter.
12337         (layout_type): Pass it.
12338         * tree.h (finish_record_layout): Update prototype.
12339
12340 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
12341
12342         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
12343
12344         * gcse.c (cprop_jump): Check that the register has not
12345         been modified
12346         (cprop_jump): Likewise.
12347
12348 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
12349
12350         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
12351         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
12352         that we have a SImode access, and only then if reload hasn't completed;
12353         for all other cases, use LO_REGS.
12354
12355 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12356
12357         * openbsd.h: Fix typo in last change.
12358
12359 2002-09-29  Richard Henderson  <rth@redhat.com>
12360
12361         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
12362
12363 2002-09-29  Richard Henderson  <rth@redhat.com>
12364
12365         PR c/8002
12366         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
12367         for CONST_INT.
12368
12369 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
12370
12371         * real.h (ibm_extended_format): Declare.
12372         * real.c (encode_ibm_extended, decode_ibm_extended): New
12373         functions.
12374
12375 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12376
12377         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
12378
12379         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
12380
12381 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12382
12383         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
12384
12385 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
12386
12387         * builtins.def: Fix comment formatting.
12388         * c-common.def: Likewise.
12389         * cfgcleanup.c: Likewise.
12390         * combine.c: Likewise.
12391         * gengtype.c: Likewise.
12392         * params.def: Likewise.
12393         * predict.def: Likewise.
12394         * rtl.def: Likewise.
12395         * stab.def: Likewise.
12396         * stor-layout.c: Likewise.
12397         * tree.def: Likewise.
12398         * config/darwin.c: Likewise.
12399         * config/darwin.h: Likewise.
12400         * config/dbxcoff.h: Likewise.
12401         * config/elfos.h: Likewise.
12402         * config/fp-bit.c: Likewise.
12403         * config/freebsd-spec.h: Likewise.
12404         * config/interix.h: Likewise.
12405         * config/libgloss.h: Likewise.
12406         * config/linux-aout.h: Likewise.
12407         * config/linux.h: Likewise.
12408         * config/lynx-ng.h: Likewise.
12409         * config/lynx.h: Likewise.
12410         * config/netbsd-aout.h: Likewise.
12411         * config/netbsd.h: Likewise.
12412         * config/netware.h: Likewise.
12413         * config/psos.h: Likewise.
12414         * config/ptx4.h: Likewise.
12415
12416 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
12417
12418         * ChangeLog.4: Fix typos.
12419         * ChangeLog.6: Likewise.
12420         * FSFChangeLog.10: Likewise.
12421         * genattrtab.c: Fix comment typos.
12422         * haifa-sched.c: Likewise.
12423         * real.c: Likewise.
12424         * tree.h: Likewise.
12425         * config/arm/arm.c: Likewise.
12426         * config/arm/crti.asm: Likewise.
12427         * config/arm/crtn.asm: Likewise.
12428         * config/frv/frv.c: Likewise.
12429         * config/frv/frv.md: Likewise.
12430         * config/h8300/h8300.md: Likewise.
12431         * config/i386/rtemself.h: Likewise.
12432         * config/ia64/unwind-ia64.c: Likewise.
12433         * config/ip2k/ip2k.h: Likewise.
12434         * config/m88k/m88k.c: Likewise.
12435         * config/m88k/m88k.md: Likewise.
12436         * config/mips/sr71k.md: Likewise.
12437         * config/mmix/mmix.c: Likewise.
12438         * config/rs6000/rs6000.c: Likewise.
12439         * config/sh/sh.md: Likewise.
12440
12441 2002-09-26  Theodore A. Roth  <troth@verinet.com>
12442
12443         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
12444         * config/avr/avr.md: Ditto.
12445
12446 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
12447
12448         PR preprocessor/8055
12449         * cppmacro.c (stringify_arg): Do not overflow the buffer
12450         with the terminating NUL when the argument to be stringified
12451         has no tokens.
12452
12453 2002-09-27  Richard Henderson  <rth@redhat.com>
12454
12455         * unroll.c (simplify_cmp_and_jump_insns): New.
12456         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
12457         instead of expand_simple_foo.
12458
12459 2002-09-27  Richard Henderson  <rth@redhat.com>
12460
12461         PR optimization/7520
12462         * cfganal.c (flow_active_insn_p): New.
12463         (forwarder_block_p): Use it.
12464
12465 2002-09-27  Richard Henderson  <rth@redhat.com>
12466
12467         * emit-rtl.c (active_insn_p): Revert last change.
12468
12469 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
12470
12471         * doc/extend.texi (tls_model): Document.
12472         * varasm.c (decl_tls_model): New.
12473         * c-common.c (handle_tls_model_attribute): New.
12474         (c_common_attribute_table): Add tls_model.
12475         * config/alpha/alpha.c (alpha_encode_section_info): Use
12476         decl_tls_model.
12477         * flags.h (enum tls_model, flag_tls_default): Move...
12478         * tree.h (enum tls_model, flag_tls_default): ...here.
12479         (decl_tls_model): New prototype.
12480         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
12481         * config/i386/i386.c (ix86_encode_section_info): Likewise.
12482         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
12483         Allow !flag_pic.
12484
12485 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
12486
12487         * LANGUAGES: Follow spelling conventions.
12488         * rtl.def: Likewise.
12489         * sbitmap.c: Likewise.
12490         * sched-int.h: Likewise.
12491         * sched-rgn.c: Likewise.
12492         * sibcall.c: Likewise.
12493         * simplify-rtx.c: Likewise.
12494         * ssa.c: Likewise.
12495         * stab.def: Likewise.
12496         * stmt.c: Likewise.
12497         * stor-layout.c: Likewise.
12498         * target.h: Likewise.
12499         * timevar.c: Likewise.
12500         * toplev.c: Likewise.
12501         * tree-dump.c: Likewise.
12502         * tree-inline.c: Likewise.
12503         * tree.c: Likewise.
12504         * tree.def: Likewise.
12505         * tree.h: Likewise.
12506         * unroll.c: Likewise.
12507         * varasm.c: Likewise.
12508         * vmsdbgout.c: Likewise.
12509         * treelang/treelang.texi: Likewise.
12510         * treelang/treetree.c: Likewise.
12511
12512 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
12513
12514         * config/h8300/h8300.c (compute_saved_regs): Use a macro
12515         instead of a hard register number.
12516         (get_shift_alg): Use an enumerated type instead of numbers.
12517         (h8300_shift_needs_scratch_p): Likewise.
12518
12519 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12520
12521         * varasm.c (force_data_section): Remove.
12522         (assemble_constant_align): Likewise.
12523         * output.h: Remove corresponding prototypes.
12524
12525 2002-09-26  Roger Sayle  <roger@eyesopen.com>
12526
12527         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
12528         jump, if the loop to exit is the top of the current nesting stack.
12529
12530 2002-09-26  Torbjorn Granlund  <tege@swox.com>
12531
12532         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
12533         arithmetic.
12534
12535 2002-09-26  David S. Miller  <davem@redhat.com>
12536
12537         PR optimization/7335
12538         * calls.c (emit_library_call_value_1): Passing args by reference
12539         converts a CONST function into a PURE one.
12540
12541 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
12542
12543         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
12544         text_section.
12545         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
12546         text section.
12547         * config/rs6000/rs6000.c (rs6000_override_options): Allow
12548         function-sections and data-sections functionality on AIX.
12549
12550 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
12551             Dale Johannesen  <dalej@apple.com>
12552
12553         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
12554         in RTL for sub-word loads from memory.
12555
12556 2002-09-26  Richard Henderson  <rth@redhat.com>
12557
12558         PR c/7160
12559         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
12560         on call insns.
12561
12562 2002-09-26  Richard Henderson  <rth@redhat.com>
12563
12564         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
12565
12566 2002-09-26  Chris Lattner  <sabre@nondot.org>
12567
12568         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
12569         handling undefined values.
12570
12571 2002-09-26  Richard Henderson  <rth@redhat.com>
12572
12573         PR opt/7520
12574         * emit-rtl.c (active_insn_p): Consider a clobber of the
12575         function return value to be active even after reload.
12576
12577 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
12578
12579         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
12580         by absolute loop increment, not loop increment.
12581
12582 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12583
12584         * c-common.h: Follow spelling conventions.
12585         * cpplex.c: Likewise.
12586         * cpplib.h: Likewise.
12587         * gthr-dce.h: Likewise.
12588         * gthr-posix.h: Likewise.
12589         * optabs.c: Likewise.
12590         * output.h: Likewise.
12591         * profile.c: Likewise.
12592         * protoize.c: Likewise.
12593         * ra-rewrite.c: Likewise.
12594         * real.c: Likewise.
12595         * recog.c: Likewise.
12596         * reg-stack.c: Likewise.
12597         * regclass.c: Likewise.
12598         * regmove.c: Likewise.
12599         * reload.c: Likewise.
12600         * reload.h: Likewise.
12601         * reload1.c: Likewise.
12602         * reorg.c: Likewise.
12603         * resource.c: Likewise.
12604         * rtl.h: Likewise.
12605         * rtlanal.c: Likewise.
12606
12607 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12608
12609         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
12610         for symbol address.
12611
12612 2002-09-24  Eric Christopher  <echristo@redhat.com>
12613
12614         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
12615         * config/mips/elf64.h: Ditto.
12616
12617 2002-09-24  Eric Christopher  <echristo@redhat.com>
12618
12619         * except.c (expand_builtin_extract_return_address): Handle case
12620         where Pmode != ptr_mode.
12621
12622 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12623
12624         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
12625
12626 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12627
12628         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
12629
12630 2002-09-26  Igor Shevlyakov <igor@microunity.com>
12631
12632         * combine.c (simplify_set): Don't call to force_to_mode if size
12633         of integer type is larger than HOST_BITS_PER_WIDE_INT.
12634
12635 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
12636
12637         * Makefile.in (qmtest-g++): Fix file path.
12638
12639 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
12640
12641         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
12642         A + (-const) on RTX level, even for unsigned types.
12643
12644 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
12645
12646         * reload.c (dup_replacements): New function.
12647         (find_reloads): Use it to duplicate replacements at the top level
12648         of match_dup operands.
12649
12650 2002-09-26  Miles Bader  <miles@gnu.org>
12651
12652         * v850.md ("length"): Change default value to 4.
12653
12654 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12655
12656         * ChangeLog.1: Follow spelling conventions.
12657         * ChangeLog.4: Likewise.
12658         * ChangeLog.6: Likewise.
12659         * FSFChangeLog.11: Likewise.
12660         * doc/cpp.texi: Likewise.
12661         * doc/invoke.texi: Likewise.
12662         * doc/tm.texi: Likewise.
12663
12664 2002-09-26  Nick Clifton  <nickc@redhat.com>
12665
12666         * config.gcc: Add x prefix to v850e case for handling
12667         --with-cpu=v850e.
12668
12669 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
12670
12671         * gcc.c (input_suffix_matches, switch_matches,
12672         mark_matching_switches, process_marked_switches,
12673         process_brace_body): New functions - split from handle_braces.
12674         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
12675         and ignore whitespace in more places.
12676         (specs documentation comment): Document %{S:X;T:Y;:D}.
12677         Clarify other %{...} docs.
12678         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
12679         %{...} docs.
12680
12681         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
12682         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
12683
12684 2002-09-25  David S. Miller  <davem@redhat.com>
12685
12686         PR target/7842
12687         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
12688         extend.
12689
12690 2002-09-25  Richard Henderson  <rth@redhat.com>
12691
12692         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
12693         fp CONST_DOUBLE; use real_identical.
12694
12695 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
12696
12697         * doc/invoke.texi: Add more -Wabi examples.
12698
12699 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
12700
12701         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
12702
12703 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
12704
12705         * profile.c (end_branch_prob): Only look for __gcov_init on
12706         weak-enabled native compilers.
12707
12708 2002-09-24  Denis Chertykov  <denisc@overta.ru>
12709
12710         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
12711         cases of optimizing "add sp,w" to "inc sp".
12712
12713 2002-09-24  Adam Nemet  <anemet@lnxw.com>
12714
12715         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
12716         epilogue for naked functions.
12717
12718 2002-09-24  Adam Nemet  <anemet@lnxw.com>
12719             Nick Clifton  <nickc@redhat.com>
12720
12721         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
12722         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
12723         is defined.
12724
12725 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
12726
12727         * config/s390/s390.c (preferred_la_operand_p): New function.
12728         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
12729         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
12730         ("*la_64_cc", "*la_31_cc", splitters): ... these.
12731         ("*la_31"): Deactivate for TARGET_64BIT.
12732         ("*la_31_and", "*la_31_and_cc"): New.
12733
12734 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12735
12736         * real.h (real_value): Make `exp' explicitly signed.
12737
12738 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
12739
12740         * config/elfos.h: Follow spelling conventions.
12741         * config/alpha/alpha.h: Likewise.
12742         * config/arc/arc.h: Likewise.
12743         * config/arm/arm.md: Likewise.
12744         * config/avr/avr.h: Likewise.
12745         * config/cris/cris.md: Likewise.
12746         * config/d30v/d30v.h: Likewise.
12747         * config/frv/frv.c: Likewise.
12748         * config/frv/frv.h: Likewise.
12749         * config/h8300/h8300.c: Likewise.
12750         * config/h8300/h8300.h: Likewise.
12751         * config/h8300/h8300.md: Likewise.
12752         * config/i386/cygwin.h: Likewise.
12753         * config/i386/i386.h: Likewise.
12754         * config/i386/sysv3.h: Likewise.
12755         * config/i960/i960.h: Likewise.
12756         * config/ia64/ia64.h: Likewise.
12757         * config/ia64/ia64.md: Likewise.
12758         * config/ip2k/ip2k.h: Likewise.
12759         * config/m32r/m32r.h: Likewise.
12760         * config/m68k/m68k.h: Likewise.
12761         * config/m88k/m88k.h: Likewise.
12762         * config/mcore/mcore.c: Likewise.
12763         * config/mcore/mcore.h: Likewise.
12764         * config/mcore/mcore.md: Likewise.
12765         * config/mips/mips.h: Likewise.
12766         * config/mmix/mmix.h: Likewise.
12767         * config/mmix/mmix.md: Likewise.
12768         * config/ns32k/netbsd.h: Likewise.
12769         * config/ns32k/ns32k.h: Likewise.
12770         * config/ns32k/ns32k.md: Likewise.
12771         * config/pa/pa.h: Likewise.
12772         * config/romp/romp.h: Likewise.
12773         * config/rs6000/rs6000.h: Likewise.
12774         * config/rs6000/rs6000.md: Likewise.
12775         * config/sparc/sparc.h: Likewise.
12776         * config/stormy16/stormy-abi: Likewise.
12777         * config/stormy16/stormy16.h: Likewise.
12778         * config/vax/vax.h: Likewise.
12779
12780 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
12781
12782         * config/alpha/alpha.h: Remove commented-out macro
12783         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
12784         * config/avr/avr.h: Likewise.
12785         * config/d30v/d30v.h: Likewise.
12786         * config/dsp16xx/dsp16xx.h: Likewise.
12787         * config/i370/i370.h: Likewise.
12788         * config/i386/i386.h: Likewise.
12789         * config/i960/i960.h: Likewise.
12790         * config/m68k/m68k.h: Likewise.
12791         * config/m88k/m88k.h: Likewise.
12792         * config/mips/mips.h: Likewise.
12793         * config/ns32k/ns32k.h: Likewise.
12794         * config/pdp11/pdp11.h: Likewise.
12795         * config/romp/romp.h: Likewise.
12796         * config/rs6000/rs6000.h: Likewise.
12797         * config/s390/s390.h: Likewise.
12798         * config/sh/sh.h: Likewise.
12799         * config/sparc/sparc.h: Likewise.
12800         * config/stormy16/stormy16.h: Likewise.
12801         * config/vax/vax.h: Likewise.
12802
12803 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
12804
12805         * function.c (push_temp_slots_for_block): Remove.
12806         (push_temp_slots_for_target): Likewise.
12807         (get_target_temp_slot_level): Likewise.
12808         (set_target_temp_slot_level): Likewise.
12809         (get_first_block_beg): Likewise.
12810         * function.h: Remove corresponding prototypes.
12811
12812 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
12813
12814         * version.c (version_string): Now const char[].
12815         * version.h: Update to match.
12816
12817 2002-09-23  Richard Henderson  <rth@redhat.com>
12818
12819         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
12820         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
12821         (TARGET_SWITCHES): Don't reference them.
12822         * config/i386/i386.c (override_options): Use target_flags_explicit
12823         to examine bits set by the user.
12824
12825 2002-09-23  Dale Johannesen  <dalej@apple.com>
12826
12827         * dbxout.c (dbxout_parms):  Set current_sym_code for params
12828         passed on stack by invisible reference.
12829
12830 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
12831
12832         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
12833         at least one byte of space.
12834
12835 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
12836
12837         * c-common.h (flag_abi_version): Fix typo in comment.
12838         * doc/invoke.texi (flag_abi_version): Document default value.
12839
12840 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
12841
12842         * doc/extend.texi (Extended Asm): Clarify that overlap between
12843         asm-declared register variables used in an asm and the asm clobber
12844         list is not allowed.
12845         * stmt.c (decl_conflicts_with_clobbers_p): New function.
12846         (expand_asm_operands): Keep track of clobbered registers.  Call
12847         decl_conflicts_with_clobbers_p for each input and output operand.
12848         If no conflicts found before, also do conflict sanity check when
12849         emitting clobbers.
12850
12851 2002-09-23  Richard Henderson  <rth@redhat.com>
12852
12853         * c-common.c (cpp_define_data_format): Remove.
12854         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
12855         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
12856         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
12857         * doc/cpp.texi: Don't document them either.
12858         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
12859         __LONG_LONG_MAX__): Document.
12860         (__TARGET_FLOAT_FORMAT__): Remove.
12861
12862 2002-09-23  Richard Henderson  <rth@redhat.com>
12863
12864         * real.c (do_multiply): Normalize U before addition.
12865
12866 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
12867
12868         * c-common.c (flag_abi_version): New variable.
12869         * c-common.h (flag_abi_version): Declare it.
12870         * c-opts.c (missing_arg): Add -fabi-version.
12871         (c_common_decode_option): Process -fabi-version.
12872         * doc/invoke.texi (-fabi-version): Document it.
12873         (-Wabi): Add information about bit-fields in unions.
12874
12875 2002-09-22  Roger Sayle  <roger@eyesopen.com>
12876
12877         * expr.c (STORE_BY_PIECES_P): New target macro.
12878         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
12879         instead of MOVE_BY_PIECES_P.
12880         * doc/tm.texi: Document this new macro.
12881
12882 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
12883
12884         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
12885         unless -fno-pic or -fno-PIC is specified.
12886
12887 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12888
12889         * c-common.c (preprocessing_trad_p): Define.
12890         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
12891         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
12892         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
12893         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
12894         * pa-linux.h (CPP_PREDEFINES): Delete.
12895         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
12896         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
12897         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
12898         (TARGET_OS_CPP_BUILTINS): Define.
12899         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
12900         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
12901         (SUBTARGET_SWITCHES): Provide default definition.
12902         (TARGET_OPTIONS): Reformat.  Use N_() macro.
12903         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
12904         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
12905         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
12906         (TARGET_CPU_CPP_BUILTINS): Define.
12907         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
12908         * doc/invoke.texi (msio, mwsio): Document new hppa options.
12909         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
12910         preprocessing_trad_p().
12911
12912 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
12913
12914         * doc/install.texi: Document behavior of --with-headers and
12915         --with-libs when arguments are omitted.
12916
12917 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
12918
12919         * dbxout.c: Follow spelling conventions.
12920         * defaults.h: Likewise.
12921         * df.c: Likewise.
12922         * diagnostic.h: Likewise.
12923         * doloop.c: Likewise.
12924         * dwarf2out.c: Likewise.
12925         * dwarfout.c: Likewise.
12926         * emit-rtl.c: Likewise.
12927         * except.c: Likewise.
12928         * explow.c: Likewise.
12929         * expmed.c: Likewise.
12930         * expr.c: Likewise.
12931         * expr.h: Likewise.
12932         * flags.h: Likewise.
12933         * flow.c: Likewise.
12934         * fold-const.c: Likewise.
12935         * function.c: Likewise.
12936         * function.h: Likewise.
12937         * gcc.c: Likewise.
12938         * gcov-io.h: Likewise.
12939         * gcov.c: Likewise.
12940         * gcse.c: Likewise.
12941         * genattrtab.c: Likewise.
12942         * genconfig.c: Likewise.
12943         * genrecog.c: Likewise.
12944         * ggc-page.c: Likewise.
12945         * ggc.h: Likewise.
12946         * global.c: Likewise.
12947         * gthr-win32.h: Likewise.
12948         * integrate.c: Likewise.
12949         * jump.c: Likewise.
12950         * langhooks.c: Likewise.
12951         * langhooks.h: Likewise.
12952         * line-map.h: Likewise.
12953         * local-alloc.c: Likewise.
12954         * longlong.h: Likewise.
12955         * loop.c: Likewise.
12956         * loop.h: Likewise.
12957
12958 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
12959
12960         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
12961
12962 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
12963
12964         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
12965         for -Os/TARGET_64BIT too.
12966
12967 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
12968
12969         * ChangeLog: Follow spelling conventions.
12970         * ChangeLog.0: Likewise.
12971         * ChangeLog.1: Likewise.
12972         * ChangeLog.2: Likewise.
12973         * ChangeLog.3: Likewise.
12974         * ChangeLog.4: Likewise.
12975         * ChangeLog.5: Likewise.
12976         * ChangeLog.6: Likewise.
12977         * FSFChangeLog.10: Likewise.
12978         * FSFChangeLog.11: Likewise.
12979         * alias.c: Likewise.
12980         * basic-block.h: Likewise.
12981         * c-aux-info.c: Likewise.
12982         * c-common.c: Likewise.
12983         * c-common.h: Likewise.
12984         * c-decl.c: Likewise.
12985         * c-format.c: Likewise.
12986         * c-semantics.c: Likewise.
12987         * c-typeck.c: Likewise.
12988         * calls.c: Likewise.
12989         * cfganal.c: Likewise.
12990         * cfgloop.c: Likewise.
12991         * collect2.c: Likewise.
12992         * combine.c: Likewise.
12993         * conflict.c: Likewise.
12994         * cppexp.c: Likewise.
12995         * cppfiles.c: Likewise.
12996         * cpphash.h: Likewise.
12997         * cppinit.c: Likewise.
12998         * cpplex.c: Likewise.
12999         * cpplib.c: Likewise.
13000         * cpplib.h: Likewise.
13001         * cppmacro.c: Likewise.
13002         * cse.c: Likewise.
13003
13004 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
13005
13006         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
13007         LINK_SPEC.
13008         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
13009         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
13010         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
13011
13012 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
13013
13014         PR opt/7930
13015         * cse.c (fold_rtx): Calculate old_cost before we fold each
13016         operand.
13017
13018 2002-09-21  Richard Henderson  <rth@redhat.com>
13019
13020         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
13021         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
13022         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
13023         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
13024         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
13025         * doc/cpp.texi: Don't document them.
13026
13027 2002-09-21  Richard Henderson  <rth@redhat.com>
13028
13029         * c-common.c (builtin_define_float_constants): Use real_format
13030         to get the floating-point parameters.
13031
13032 2002-09-21  Richard Henderson  <rth@redhat.com>
13033
13034         * real.c (struct real_format): Move to real.h.
13035         (real_format_for_mode): Rename from fmt_for_mode; update all users;
13036         initialize with ieee defaults.
13037         (real_to_target_fmt, real_from_target_fmt): New.
13038         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
13039         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
13040         ieee_quad_format, i370_single_format, i370_double_format,
13041         c4x_single_format, c4x_extended_format): Rename from s/_format//.
13042         (ieee_quad_format): Fix emin.
13043         (format_for_size, init_real_once): Remove.
13044         * real.h (struct real_format): Move from real.c.
13045         (real_format_for_mode): Declare.
13046         (real_to_target_fmt, real_from_target_fmt): Declare.
13047         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
13048         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
13049         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
13050         i370_single_format, i370_double_format, c4x_single_format,
13051         c4x_extended_format): Declare.
13052         * toplev.c (do_compile): Don't call init_real_once.
13053
13054         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
13055         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
13056
13057         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
13058         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
13059         * config/alpha/alpha.c (override_options): Set real_format_for_mode
13060         for VAX, if enabled.
13061
13062         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
13063         for C4X.
13064
13065         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
13066         * config/i370/i370.c (override_options): New.
13067         * config/i370/i370-protos.h: Update.
13068
13069         * config/i386/i386.c (override_options): Set real_format_for_mode
13070         for Intel 80-bit extended.
13071         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
13072
13073         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
13074         (OVERRIDE_OPTIONS): Move code...
13075         * config/i960/i960.c (i960_initialize): ... here.  Set
13076         real_format_for_mode for Intel 80-bit extended.
13077
13078         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
13079         for Intel 80-bit extended, if enabled.
13080
13081         * config/m68k/m68k.c (override_options): Set real_format_for_mode
13082         for Motorola 96-bit extended.
13083
13084         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
13085         * config/vax/vax.c (override_options): New.
13086         * config/vax/vax-protos.h: Update.
13087
13088 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
13089
13090         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
13091         #if TARGET_MACHO.
13092
13093         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
13094         insns.  Supply missing clobber of scratch reg.
13095
13096 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
13097
13098         * config/m32r/m32r.c: Follow spelling conventions.
13099         * config/m32r/m32r.h: Likewise.
13100         * config/m32r/m32r.md: Likewise.
13101         * config/m68k/m68k.c: Likewise.
13102         * config/m88k/m88k.c: Likewise.
13103         * config/mcore/mcore.c: Likewise.
13104         * config/mips/mips.c: Likewise.
13105         * config/mips/mips.h: Likewise.
13106         * config/mmix/mmix.c: Likewise.
13107         * config/mn10200/mn10200.c: Likewise.
13108         * config/ns32k/ns32k.h: Likewise.
13109         * config/pa/pa.c: Likewise.
13110         * config/pa/pa64-linux.h: Likewise.
13111         * config/pdp11/pdp11.h: Likewise.
13112         * config/romp/romp.c: Likewise.
13113         * config/romp/romp.h: Likewise.
13114         * config/rs6000/eabi.asm: Likewise.
13115         * config/rs6000/linux64.h: Likewise.
13116         * config/rs6000/rs6000.c: Likewise.
13117         * config/rs6000/rs6000.h: Likewise.
13118         * config/rs6000/rs6000.md: Likewise.
13119         * config/rs6000/sysv4.h: Likewise.
13120         * config/rs6000/xcoff.h: Likewise.
13121
13122 2002-09-20  Jim Wilson  <wilson@redhat.com>
13123
13124         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
13125
13126 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
13127
13128         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
13129         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
13130         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
13131         (legitimate_address_p): Likewise.
13132         (legitimize_address): Use @gotntpoff and @indntpoff.
13133         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
13134         (output_addr_const_extra): Likewise.
13135
13136 2002-09-20  Jim Wilson  <wilson@redhat.com>
13137
13138         * combine.c (try_combine): When split an instruction pair, where the
13139         first has a sign_extend src, verify that the src and dest modes match.
13140
13141 2002-09-20  Richard Henderson  <rth@redhat.com>
13142
13143         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
13144         (override_options): Do not initialize them.
13145         (mips_const_double_ok): Allow no fp constants except zero,
13146         and not even that for mips16.
13147         (const_float_1_operand): Use dconst1.
13148         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
13149         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
13150         Don't allow arbitrary constants; fix predicates and C constraint.
13151
13152 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
13153
13154         * cppmacro.c: Don't warn about function-like macros without
13155         '(' during pre-expansion.
13156
13157 2002-09-20  Jim Wilson  <wilson@redhat.com>
13158
13159         * config/v850/v850.c (current_function_anonymous_args): Delete.
13160         (expand_prologue): Use current_function_args_info.anonymous_args.
13161         (expand_epilogue): Delete use of current_function_anonymous_args.
13162         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
13163         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
13164         (current_function_anonymous_args): Delete extern declaration.
13165         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
13166
13167 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
13168
13169         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
13170         to load_macho_picbase.
13171         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
13172         (load_macho_picbase): Take the symbol to use as a parameter.
13173         (macho_correct_pic): New insn.
13174         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
13175
13176         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
13177         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
13178         (CAN_ELIMINATE): Likewise.
13179         (INITIAL_ELIMINATION_OFFSET): Likewise.
13180         (TOC_REGISTER): Likewise.
13181
13182 2002-09-20  Richard Henderson  <rth@redhat.com>
13183
13184         * real.c (real_hash): New.
13185         * real.h: Declare it.
13186         * cse.c (canon_hash): Use it.
13187         * cselib.c (hash_rtx): Likewise.
13188         * emit-rtl.c (const_double_htab_hash): Likewise.
13189         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
13190         * varasm.c (struct rtx_const): Reduce vector size; separate
13191         integer and fp vectors.
13192         (HASHBITS): Remove.
13193         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
13194         take modulus MAX_HASH_TABLE.
13195         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
13196         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
13197         (SYMHASH): Don't use HASHBITS.
13198         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
13199         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
13200         (simplify_subtraction): Fix kind comparison.
13201         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
13202         Use a union to pun integer array.
13203         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
13204         only hash two words of integral CONST_DOUBLE.
13205
13206 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
13207
13208         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
13209         (STARTFILE_PREFIX_SPEC): New.
13210         (LINK_SPEC): Modify.
13211         (LIB_SPEC): Modify.
13212         (LIBGCC_SPEC): New.
13213
13214 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
13215
13216         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
13217         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
13218
13219 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
13220
13221         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
13222         Add clobber of the condition code register.
13223
13224 2002-09-20  Richard Henderson  <rth@redhat.com>
13225
13226         * real.c (do_fix_trunc): Static.
13227         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
13228         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
13229         encode_i370_single, encode_i370_double, encode_c4x_single,
13230         encode_c4x_extended): Add default abort case.
13231
13232 2002-09-20  Richard Henderson  <rth@redhat.com>
13233
13234         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
13235         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
13236         (struct realvaluetype): Remove.
13237         (REAL_VALUE_TYPE): Use struct real_value.
13238         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
13239         (test_real_width): New.
13240         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
13241         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
13242         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
13243         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
13244         real_to_integer, real_to_integer2, real_to_decimal,
13245         real_to_hexadecimal, real_from_string, real_from_integer,
13246         real_inf, real_nan, real_2expN, real_convert, real_to_target,
13247         real_from_target): Likewise.
13248         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
13249         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
13250
13251 2002-09-20  Richard Henderson  <rth@redhat.com>
13252
13253         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
13254         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
13255         * defaults.h: ... here.
13256         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
13257         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
13258         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
13259         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
13260
13261 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
13262
13263         * config/mmix/mmix.md ("negdf2"): Rewrite.
13264         ("*expanded_negdf2"): New.
13265
13266 2002-09-19  Jim Wilson  <wilson@redhat.com>
13267
13268         * combine.c (simplify_set): When optimizing a subreg src with a
13269         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
13270
13271 2002-09-19  Dale Johannesen <dalej@apple.com>
13272         * combine.c (make_extraction): Don't create
13273         invalid subreg.
13274
13275 2002-09-19  Roger Sayle  <roger@eyesopen.com>
13276
13277         * tree.c (integer_nonzerop): New predicate for nonzero integers.
13278         * tree.h (integer_nonzerop): Add function prototype.
13279         * stmt.c (expand_end_loop):  Don't rotate the loop when there
13280         are no instructions in the test, i.e. the loop is unconditional.
13281         (expand_exit_loop_if_false):  Optimize RTL generation of loop
13282         tests when the condition is always true or always false.
13283         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
13284         do-loops when the condition is always true.
13285         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
13286         the for-expression is empty.
13287
13288 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
13289
13290         * gcc.c (use_pipes): New flag.
13291         (process_command): Set it.  Adjust check for -pipe conflicting
13292         with -time or -save-temps.
13293         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
13294         %<SWITCH.  Drop %| (without a SUFFIX).
13295         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
13296         (give_switch): Third argument eliminated.
13297         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
13298         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
13299         (specs documentation comment): Update.
13300
13301         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
13302         config/svr4.h, config/i386/freebsd-aout.h,
13303         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
13304         config/m68k/openbsd.h, config/mips/openbsd.h,
13305         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
13306         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
13307         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
13308         * config/cris/cris.h: Update comment.
13309
13310         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
13311         error messages.  Don't use %{^SWITCH}.
13312         * ada/misc.c (gnat_decode_option): Handle -I with a
13313         separate argument.
13314
13315         * f/lang-specs.h: Use %| and %m.
13316         * java/jvspec.c: Use %m and %(invoke_as).  Change all
13317         uses of %{<SWITCH} to %<SWITCH.
13318
13319         * doc/invoke.texi: Update documentation of specs.
13320         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
13321
13322 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
13323
13324         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
13325         and STRICT_LOW_PART within SET_DEST.
13326         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
13327         splitters, replacing pre-reload splitters.
13328         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
13329         "*zero_extendqihi2_31"): New insns.
13330         ("*zero_extendqihi2_64"): Do not clobber CC.
13331
13332 2002-09-18  Devang Patel  <dpatel@apple.com>
13333
13334         * cp/cp-tree.h: New prototype for walk_vtables().
13335         * cp/decl.c (walk_vtables_r): New function.
13336         (struct cp_binding_level): Add new members, namespaces,
13337         names_size and vtables.
13338         (add_decl_to_level): Add decl in namespaces or vtables
13339         chain, if conditions match.
13340         (walk_vtables): New function.
13341         (walk_namespaces_r): Travers separate namespace chain
13342         for namespace decls.
13343         (wrapup_globals_for_namespace): Use names_size instead
13344         of list_length().
13345         * cp/decl2.c (finish_file): Use walk_vtables() instead of
13346         walk_globals() to walk vtable decls.
13347
13348 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
13349
13350         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
13351         (DTORS_SECTION_ASM_OP): Ditto.
13352         (READONLY_DATA_SECTION_ASM_OP): Moved.
13353         (DATA_SECTION_ASM_OP): New.
13354         (SDATA_SECTION_ASM_OP): New.
13355         (BSS_SECTION_ASM_OP): New.
13356         (SBSS_SECTION_ASM_OP): New.
13357         (TEXT_SECTION_ASM_OP): New.
13358
13359 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
13360
13361         * config/fp-bit.c: Follow spelling conventions.
13362         * config/d30v/d30v.c: Likewise.
13363         * config/d30v/d30v.h: Likewise.
13364         * config/fr30/fr30.c: Likewise.
13365         * config/fr30/fr30.h: Likewise.
13366         * config/fr30/fr30.md: Likewise.
13367         * config/frv/frv.c: Likewise.
13368         * config/frv/frv.h: Likewise.
13369         * config/h8300/h8300.c: Likewise.
13370         * config/h8300/lib1funcs.asm: Likewise.
13371         * config/i370/i370.c: Likewise.
13372         * config/i386/i386.h: Likewise.
13373         * config/i386/i386.md: Likewise.
13374         * config/i386/pentium.md: Likewise.
13375         * config/i386/winnt.c: Likewise.
13376         * config/i960/i960.c: Likewise.
13377         * config/ia64/ia64.h: Likewise.
13378         * config/ip2k/ip2k.c: Likewise.
13379         * config/ip2k/ip2k.h: Likewise.
13380         * config/ip2k/ip2k.md: Likewise.
13381         * config/ip2k/libgcc.S: Likewise.
13382
13383 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
13384
13385         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
13386         (GOTOFF_P): Extend to allow gotoff plus constant.
13387
13388 2002-09-18  Richard Henderson  <rth@redhat.com>
13389
13390         * ifcvt.c (noce_process_if_block): Correctly detect X modified
13391         with INSN_B before COND_EARLIEST.  Don't check A and B for
13392         modification in condition range.  Reorder INSN_B for A==B properly.
13393         (if_convert): Iterate until no matches for a block.
13394
13395 2002-09-18  Richard Henderson  <rth@redhat.com>
13396
13397         * calls.c (store_one_arg): Rename default_align to parm_align;
13398         always adjust parm_align for downward padding.
13399
13400 2002-09-18  Richard Henderson  <rth@redhat.com>
13401
13402         * toplev.c (backend_init): Move init_real_once invocation ...
13403         (do_compile): ... here.
13404
13405 2002-09-18  Richard Henderson  <rth@redhat.com>
13406
13407         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
13408         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
13409
13410 2002-09-18  Richard Henderson  <rth@redhat.com>
13411
13412         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
13413
13414 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
13415
13416         * config/rs6000/rs6000.md: (floatdisf2): Rename to
13417         floatdisf2_internal1.
13418         (floatdisf2): New define_expand.
13419         (floatdisf2_internal2): Likewise.
13420
13421 2002-09-18  Richard Henderson  <rth@redhat.com>
13422
13423         * real.c (sticky_rshift_significand): Collect sticky as
13424         unsigned long, not bool.
13425
13426 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
13427
13428         * config/s390/s390.c (s390_address_cost): New function.
13429         config/s390/s390-protos.h (s390_address_cost): Add prototype.
13430         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
13431         (RTX_COST): Use COSTS_N_INSNS.
13432
13433 2002-09-18  Douglas Rupp  <rupp@gnat.com>
13434             Donn Terry  <donnte@microsoft.com>
13435
13436         * stor-layout.c (place_field): Handle alignment of whole
13437         structures when MSVC compatible bitfields are involved.
13438         Change method of computing location of MS bitfields to
13439         be compatible with #pragma pack(n).
13440
13441         * tree.h (record_layout_info): Add new field
13442         remaining_in_alignment.
13443
13444         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
13445         (pragma pack): Add paragraph on MSVC bitfield packing.
13446
13447 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
13448
13449         PR optimization/7967
13450         * arm.md (ne_zeroextractsi): Add clobber of the condition code
13451         register.
13452
13453 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
13454
13455         * config/s390/s390.c: Follow spelling conventions.
13456         * config/sh/lib1funcs.asm: Likewise.
13457         * config/sh/sh.c: Likewise.
13458         * config/sh/sh.h: Likewise.
13459         * config/sparc/sparc.c: Likewise.
13460         * config/sparc/sparc.h: Likewise.
13461         * config/sparc/sparc.md: Likewise.
13462         * config/stormy16/stormy16.c: Likewise.
13463         * config/stormy16/stormy16.h: Likewise.
13464         * config/v850/v850.c: Likewise.
13465         * config/v850/v850.h: Likewise.
13466         * config/vax/vax.c: Likewise.
13467         * config/vax/vax.h: Likewise.
13468
13469 2002-09-18  Nick Clifton  <nickc@redhat.com>
13470
13471         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
13472         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
13473         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
13474
13475 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13476
13477         * function.c (max_parm_reg_num): Remove.
13478         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
13479         drop_through_at_end_p, move_cleanups_up,
13480         expand_end_case_dummy, case_index_expr_type): Likewise.
13481         * stor-layout.c (pos_from_byte): Likewise.
13482         * tree.c (chain_member_value, chain_member_purpose, listify,
13483         tree_int_cst_msb, index_type_equal): Likewise.
13484         * tree.h: Remove prototypes for unused functions.
13485
13486 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
13487
13488         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
13489         statement that the only translation is to en_UK.
13490
13491 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13492
13493         * config/alpha/alpha.c: Follow spelling conventions.
13494         * config/alpha/alpha.h: Likewise.
13495         * config/alpha/alpha.md: Likewise.
13496         * config/arc/arc.h: Likewise.
13497         * config/arm/arm.c: Likewise.
13498         * config/arm/arm.h: Likewise.
13499         * config/arm/arm.md: Likewise.
13500         * config/arm/pe.c: Likewise.
13501         * config/arm/unknown-elf.h: Likewise.
13502         * config/avr/avr.c: Likewise.
13503         * config/avr/avr.h: Likewise.
13504         * config/c4x/c4x.c: Likewise.
13505         * config/cris/cris.c: Likewise.
13506         * config/cris/cris.h: Likewise.
13507
13508 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
13509
13510         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
13511         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
13512         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
13513
13514 2002-09-17  Dale Johannesen  <dalej@apple.com>
13515
13516         * cfgcleanup.c (try_forward_edges):  Do not forward a
13517         branch to just after a loop exit before loop optimization;
13518         this interfered with doloop detection.
13519
13520 2002-09-17  Nick Clifton  <nickc@redhat.com>
13521
13522         * config/arm/arm.c (output_return_instruction): Do not
13523         writeback the stack pointer when it is being loaded.
13524         (arm_output_epilogue): Likewise.
13525
13526 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13527
13528         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
13529         generate a pseudo reg that receives the result of a libcall.
13530         (prepare_float_lib_cmp): Likewise.
13531
13532 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
13533
13534         * config/ia64/elf.h: Remove CPP_PREDEFINES.
13535
13536 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13537
13538         Fix PR/7014 and related objc bugs:
13539         * c-typeck.c (comp_target_types): Added a reflexive argument.
13540         Pass it to ObjC when/if calling objc_comptypes().  Updated all
13541         callers to provide the appropriate reflexive argument.
13542         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
13543         typechecking for all cases of comparisons and assignments,
13544         particularly the obscure and less common ones involving protocols.
13545
13546 2002-09-17  Nick Clifton  <nickc@redhat.com>
13547
13548         * machmode.def (V1DImode): New mode.  A single element vector.
13549         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
13550         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
13551         * tree.c (build_common_tree_nodes_2): Build
13552         unsigned_V1DI_type_node and V1D1_type_node.
13553         * c-common.c (c_common_type_for_mode): Return
13554         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
13555         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
13556
13557 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13558
13559         * doc/objc.texi (Constant string objects): Extended documentation
13560         to make clear that the constant string class ivar layout is
13561         completely fixed.
13562
13563 2002-09-17  Roger Sayle  <roger@eyesopen.com>
13564
13565         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
13566         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
13567
13568 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
13569
13570         * config/mips/mips.c (save_restore_insns): Remove unused variable.
13571         * gcc.c (make_relative_prefix): Likewise.
13572         * loop.c (check_final_value): Likewise.
13573         * jump.c (init_label_info): Remove return value.
13574         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
13575
13576 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13577
13578         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
13579         (ASM_PN_FORMAT): Define.
13580
13581 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13582
13583         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
13584         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
13585         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
13586         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
13587         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
13588         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
13589         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
13590         Delete.
13591         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
13592         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
13593         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
13594
13595         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
13596         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
13597
13598 2002-09-16  Richard Henderson  <rth@redhat.com>
13599
13600         * expr.c (emit_block_move): Set memory block size as appropriate
13601         for the copy.
13602
13603 2002-09-16  Richard Henderson  <rth@redhat.com>
13604
13605         PR fortran/3924
13606         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
13607
13608 2002-09-16  Richard Henderson  <rth@redhat.com>
13609
13610         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
13611         as well as OFFSET for BITPOS.
13612
13613 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
13614
13615         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
13616         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
13617         winchip2 and c3.
13618         * doc/invoke.texi: Mention new aliases.
13619
13620 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13621
13622         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
13623         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
13624         downward.
13625         * function.c (pad_below):  Always compile.
13626         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
13627         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
13628         Pad below when the argument is not in a register and the padding
13629         direction is downward.
13630
13631         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
13632         (PAD_VARARGS_DOWN): Define.
13633         * pa.c (function_arg_padding): Revise padding directions to make them
13634         compatible with the 32 and 64-bit runtime architecture documentation.
13635         (hppa_va_arg):  Add code to handle variable and size zero arguments
13636         passed by reference on TARGET_64BIT.  Reformat.
13637         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
13638         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
13639         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
13640         Add comments.
13641         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
13642         (RETURN_IN_MEMORY): Return size zero types in memory.
13643         (FUNCTION_VALUE): Return TFmode in general registers.
13644         (MUST_PASS_IN_STACK): Define.
13645         (FUNCTION_ARG_BOUNDARY): Simplify.
13646         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
13647         by reference.
13648         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
13649
13650 2002-09-16  Richard Henderson  <rth@redhat.com>
13651
13652         * real.c (do_fix_trunc): New.
13653         (real_arithmetic): Call it.
13654         * simplify-rtx.c (simplify_unary_operation): Handle FIX
13655         with a floating-point result mode.
13656
13657 2002-09-16  Richard Henderson  <rth@redhat.com>
13658
13659         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
13660         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
13661         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
13662         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
13663         * builtins.c (fold_builtin_nan): New.
13664         (fold_builtin): Call it.
13665         * real.c (real_nan): Parse a non-empty string.
13666         (round_for_format): Fix NaN significand truncation.
13667         * real.h (real_nan): Return bool.
13668         * doc/extend.texi: Document new builtins.
13669
13670 2002-09-16  Jason Merrill  <jason@redhat.com>
13671             Danny Smith  <dannysmith@users.sourceforge.net>
13672
13673         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
13674         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
13675         (i386_pe_mark_dllimport): Not here.
13676
13677 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
13678
13679         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
13680
13681 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
13682
13683         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
13684         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
13685         < 64.
13686         (rs6000_emit_cmove): Use real_isinf not target_isinf.
13687
13688 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
13689
13690         * calls.c (emit_library_call_value_1): Don't refer to
13691         hard_libcall_value.
13692         * optabs.c (prepare_float_lib_cmp): Likewise.
13693
13694 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
13695
13696         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
13697         mangling.
13698
13699         The following changes are merged from pch-branch:
13700
13701         * doc/gty.texi (GTY Options): Document %a.
13702         * gengtype.c (do_scalar_typedef): New function.
13703         (process_gc_options): Handle `length' option.
13704         (set_gc_used_type): A pointer to an array of structures doesn't
13705         qualify as a pointer to a structure.
13706         (output_escaped_param): Add `%a' escape.
13707         (write_gc_structure_fields): Allow 'desc' on array of unions.
13708         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
13709         do_scalar_typedef.
13710
13711         * gengtype.c (enum rtx_code): Make global.
13712         (rtx_format): Make global.
13713         (rtx_next): New.
13714         (gen_rtx_next): New.
13715         (write_rtx_next): New.
13716         (adjust_field_rtx_def): Skip fields marked by chain_next.
13717         (open_base_files): Delete redundant prototype.
13718         (write_enum_defn): New.
13719         (output_mangled_typename): Correct abort call.
13720         (write_gc_marker_routine_for_structure): Handle chain_next and
13721         chain_prev options.
13722         (finish_root_table): Don't output redundant \n.
13723         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
13724         * c-tree.h (union lang_tree_node): Add chain_next option.
13725
13726         * gengtype.h (NUM_PARAM): New definition.
13727         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
13728         * gengtype.c (find_param_structure): New.
13729         (adjust_field_type): Handle param<n>_is option.
13730         (process_gc_options): Detect use_params option.  Update callers.
13731         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
13732         'use_params' option.
13733         (open_base_files): Add splay-tree.h to list of files included.
13734         (output_mangled_typename): New.
13735         (write_gc_structure_fields): Update 'param' parameter to support
13736         multiple parameters.  Change name mangling.  Allow parameterized
13737         fields to have an apparent scalar type.  Handle param<n>_is options,
13738         use_param option.
13739         (write_gc_marker_routine_for_structure): Update for change to name
13740         mangling.  Better guess the output file for parameterized types.
13741         (write_gc_types): Update for change to name mangling.
13742         (write_gc_root): Update for change to name mangling.  Handle (ignore)
13743         param<n>_is options.
13744         * doc/gty.texi (GTY Options): Add description of param<n>_is
13745         options, use_params option.
13746         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
13747         * gengtype-lex.l: Produce token for param<n>_is.
13748         * gengtype-yacc.y: Parse param<n>_is.
13749
13750         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
13751
13752         * rtl.c: Update comment describing rtx_format.
13753         * rtl.h (union rtunion): Separate definition and typedef.
13754         (struct rtx_def): Use gengtype to mark.
13755         * Makefile.in (gengtype.o): Also depend on rtl.def.
13756         * ggc.h (ggc_mark_rtx_children): Delete prototype.
13757         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
13758         * ggc-common.c (ggc_mark_rtx_children): Delete.
13759         (ggc_mark_rtx_children_1): Delete.
13760         (gt_ggc_m_rtx_def): Delete.
13761         * gengtype.c (adjust_field_rtx_def): New.
13762         (adjust_field_type): Call adjust_field_rtx_def.
13763         (write_gc_structure_fields): Add 'default' case to switch if none
13764         is specified; remove unused code.
13765
13766         * tree.h (struct tree_exp): Update for change to meaning
13767         of special.
13768         * gengtype.c (adjust_field_tree_exp): New function.
13769         (adjust_field_type): Handle `tree_exp' special here.
13770         (write_gc_structure_fields): Don't handle `tree_exp' special here.
13771         Handle new `dot' option.
13772
13773         * gengtype.h: Make `info' a pointer-to-const.
13774         * gengtype-yacc.y (yacc_ids): Use xasprintf.
13775
13776         * gengtype.c (write_gc_structure_fields): Remove implementation
13777         of `always' option, add `default' option.
13778         * doc/gty.texi (GTY Options): Remove documentation of `always',
13779         add `default'.
13780
13781 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
13782
13783         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
13784
13785 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13786
13787         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
13788
13789         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
13790         instead of the *-protos.h file directly.
13791         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
13792         * darwin.c (machopic_output_stub): Move prototype ...
13793         * darwin-protos.h (machopic_output_stub): ... here.
13794         * rs6000-protos.h (machopic_output_stub): Don't declare.
13795
13796 2002-09-16  Richard Henderson  <rth@redhat.com>
13797
13798         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
13799
13800 2002-09-16  Richard Henderson  <rth@redhat.com>
13801
13802         * real.c, real.h: Rewrite from scratch.
13803
13804         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
13805         (paranoia): New target.
13806         * builtins.c (fold_builtin_inf): Use new real.h interface.
13807         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
13808         * c-lex.c (interpret_float): Likewise.
13809         * emit-rtl.c (gen_lowpart_common): Likewise.
13810         * optabs.c (expand_float): Use real_2expN.
13811         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
13812         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
13813         (FLOAT_WORDS_BIG_ENDIAN): New.
13814         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
13815         directly to REAL_VALUE_NEGATIVE.
13816         * loop.c (canonicalize_condition): Likewise.
13817         * simplify-rtx.c: Include tree.h.
13818         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
13819         with floating-point result modes.
13820         * toplev.c (backend_init): Call init_real_once.
13821
13822         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
13823         * tree.c (build_real): Likewise.
13824         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
13825         float_values, inited_float_values, check_float_value): Remove.
13826         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
13827         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
13828         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
13829         (VAX_HALFWORD_ORDER): Remove.
13830
13831 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
13832
13833         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
13834         (s390_load_address): ... this new function.
13835         (s390_decompose_address): Allow the argument pointer and all
13836         virtual registers as 'pointer' registers.
13837         (s390_expand_plus_operand): Use s390_load_address.
13838         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
13839         ("force_la_31"): New insn pattern.
13840         config/s390/s390-protos.h (legitimize_la_operand): Remove.
13841         (s390_load_address): Add prototype.
13842
13843         * config/s390/s390.c: Include "optabs.h".
13844         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
13845         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
13846         s390_expand_cmpstr): Add prototypes.
13847         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
13848         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
13849         for operands 0 and 1 to "memory_operand".  Add type attribute.
13850         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
13851         for operands 0 and 1 to "memory_operand".  Add type attribute.
13852         ("movstrdi_long", "movstrsi_long"): Remove.
13853         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
13854         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
13855         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
13856         ("clrstrsico"): Remove, replace by ...
13857         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
13858         ("clrstrsi_64"): Rename to "clrstr_long_64".
13859         ("clrstrsi_31"): Rename to "clrstr_long_31".
13860         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
13861         ("cmpstr_const"): Remove, replace by ...
13862         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
13863         ("cmpstr_64"): Rename to "cmpstr_long_64".
13864         ("cmpstr_31"): Rename to "cmpstr_long_31".
13865
13866 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
13867
13868         * ABOUT-NLS: Follow spelling conventions.
13869         * ChangeLog: Likewise.
13870         * ChangeLog.1: Likewise.
13871         * ChangeLog.2: Likewise.
13872         * ChangeLog.3: Likewise.
13873         * ChangeLog.4: Likewise.
13874         * ChangeLog.5: Likewise.
13875         * ChangeLog.6: Likewise.
13876         * FSFChangeLog.10: Likewise.
13877         * FSFChangeLog.11: Likewise.
13878         * c-common.c: Likewise.
13879         * c-lex.c: Likewise.
13880         * c-objc-common.c: Likewise.
13881         * cppexp.c: Likewise.
13882         * cppinit.c: Likewise.
13883         * cpplex.c: Likewise.
13884         * doloop.c: Likewise.
13885         * flow.c: Likewise.
13886         * function.c: Likewise.
13887         * integrate.c: Likewise.
13888         * loop.c: Likewise.
13889         * reg-stack.c: Likewise.
13890         * reload.h: Likewise.
13891         * ssa.c: Likewise.
13892
13893 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13894
13895         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
13896         * vmsdbgout.c: Include "target.h".
13897
13898 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13899
13900         * ChangeLog: Follow spelling conventions.
13901         * ChangeLog.0: Likewise.
13902         * ChangeLog.1: Likewise.
13903         * ChangeLog.2: Likewise.
13904         * ChangeLog.4: Likewise.
13905         * ChangeLog.6: Likewise.
13906         * config.gcc: Likewise.
13907         * dwarfout.c: Likewise.
13908         * reload1.c: Likewise.
13909         * simplify-rtx.c: Likewise.
13910         * unwind-sjlj.c: Likewise.
13911         * config/avr/avr.h: Likewise.
13912         * config/d30v/d30v.h: Likewise.
13913         * config/frv/frv.c: Likewise.
13914         * config/frv/frv.h: Likewise.
13915         * config/ip2k/ip2k.h: Likewise.
13916         * config/m88k/m88k-move.sh: Likewise.
13917         * config/stormy16/stormy16.c: Likewise.
13918         * config/stormy16/stormy16.h: Likewise.
13919         * doc/extend.texi: Likewise.
13920         * doc/interface.texi: Likewise.
13921         * doc/invoke.texi: Likewise.
13922         * doc/md.texi: Likewise.
13923         * doc/rtl.texi: Likewise.
13924         * doc/tm.texi: Likewise.
13925         * doc/trouble.texi: Likewise.
13926         * ginclude/float.h: Likewise.
13927         * treelang/treelang.texi: Likewise.
13928
13929 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13930
13931         * i386-protos.h (i386_pe_dllexport_name_p,
13932         i386_pe_dllimport_name_p, i386_pe_unique_section,
13933         i386_pe_declare_function_type, i386_pe_record_external_function,
13934         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
13935         prototype.
13936         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
13937         * i386/t-interix (winnt.o): Likewise.
13938
13939         * v850-protos.h (v850_output_addr_const_extra): Prototype.
13940
13941 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13942
13943         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
13944         MIPS ABI CPP macros.
13945         (TARGET_CPU_CPP_BUILTINS): Redefine.
13946         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
13947         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
13948
13949 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13950
13951         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
13952
13953 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13954
13955         * ChangeLog: Follow spelling conventions.
13956         * ChangeLog.0: Likewise.
13957         * ChangeLog.1: Likewise.
13958         * ChangeLog.2: Likewise.
13959         * ChangeLog.3: Likewise.
13960         * ChangeLog.4: Likewise.
13961         * ChangeLog.5: Likewise.
13962         * ChangeLog.6: Likewise.
13963         * FSFChangeLog.10: Likewise.
13964         * FSFChangeLog.11: Likewise.
13965         * c-common.c: Likewise.
13966         * c-common.h: Likewise.
13967         * c-format.c: Likewise.
13968         * c-opts.c: Likewise.
13969         * cpplib.c: Likewise.
13970         * langhooks.h: Likewise.
13971         * real.c: Likewise.
13972         * reg-stack.c: Likewise.
13973         * toplev.c: Likewise.
13974         * config/arm/arm.c: Likewise.
13975         * config/arm/arm.md: Likewise.
13976         * config/arm/linux-gas.h: Likewise.
13977         * config/arm/netbsd.h: Likewise.
13978         * config/c4x/c4x.c: Likewise.
13979         * config/c4x/c4x.h: Likewise.
13980         * config/c4x/c4x.md: Likewise.
13981         * config/c4x/libgcc.S: Likewise.
13982         * config/fr30/fr30.md: Likewise.
13983         * config/frv/frv.md: Likewise.
13984         * config/ia64/ia64.md: Likewise.
13985         * config/mips/mips.h: Likewise.
13986         * config/mn10300/mn10300.c: Likewise.
13987         * config/stormy16/stormy16.c: Likewise.
13988         * config/v850/v850.md: Likewise.
13989         * doc/extend.texi: Likewise.
13990         * doc/invoke.texi: Likewise.
13991         * doc/md.texi: Likewise.
13992
13993 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13994
13995         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
13996         library if -pthread is specified.
13997
13998 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13999
14000         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
14001         for --enable-threads=yes and --enable-threads=posix.
14002
14003 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
14004
14005         * config/sparc/cypress.md: Replace Sparc with SPARC.
14006         * config/sparc/freebsd.h: Likewise.
14007         * config/sparc/gmon-sol2.c: Likewise.
14008         * config/sparc/hypersparc.md: Likewise.
14009         * config/sparc/lb1spc.asm: Likewise.
14010         * config/sparc/lb1spl.asm: Likewise.
14011         * config/sparc/linux.h: Likewise.
14012         * config/sparc/linux64.h: Likewise.
14013         * config/sparc/lynx.h: Likewise.
14014         * config/sparc/sol2.h: Likewise.
14015         * config/sparc/sparc-modes.def: Likewise.
14016         * config/sparc/sparc.c: Likewise.
14017         * config/sparc/sparc.h: Likewise.
14018         * config/sparc/sparc.md: Likewise.
14019         * config/sparc/sparclet.md: Likewise.
14020         * config/sparc/supersparc.md: Likewise.
14021         * config/sparc/sysv4.h: Likewise.
14022         * config/sparc/vxsim.h: Likewise.
14023         * config/sparc/vxsparc64.h: Likewise.
14024
14025 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14026
14027         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
14028         * collect2.c (ignore_library, aix_std_libs): Move into the context
14029         where it is used.
14030         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
14031         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
14032         * m88k.c (output_call): Wrap variables with macro controlling use.
14033         * rs6000.md: Likewise.  Const-ify variable.
14034         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
14035         * final.c (only_leaf_regs_used): Likewise.
14036         * regrename.c (maybe_mode_change): Mark parameter with
14037         ATTRIBUTE_UNUSED.
14038         * reload.c (find_valid_class): Likewise.  Likewise for variable.
14039         (find_reloads_address_1): Likewise.
14040         * varasm.c (weak_finish): Wrap variable with macro controlling use.
14041
14042 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
14043
14044         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
14045
14046 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
14047
14048         * ChangeLog: Follow spelling conventions.
14049         * ChangeLog.0: Likewise.
14050         * ChangeLog.2: Likewise.
14051         * ChangeLog.3: Likewise.
14052         * ChangeLog.4: Likewise.
14053         * ChangeLog.5: Likewise.
14054         * ChangeLog.6: Likewise.
14055         * cppfiles.c: Likewise.
14056         * cppinit.c: Likewise.
14057         * cpplib.h: Likewise.
14058         * cse.c: Likewise.
14059         * debug.h: Likewise.
14060         * df.c: Likewise.
14061         * dominance.c: Likewise.
14062         * hashtable.c: Likewise.
14063         * hashtable.h: Likewise.
14064         * loop.c: Likewise.
14065         * config/arm/README-interworking: Likewise.
14066         * config/arm/arm.c: Likewise.
14067         * config/arm/arm.h: Likewise.
14068         * config/arm/arm.md: Likewise.
14069         * config/dsp16xx/dsp16xx.h: Likewise.
14070         * config/frv/frv.c: Likewise.
14071         * config/frv/frv.h: Likewise.
14072         * config/ip2k/ip2k.h: Likewise.
14073         * config/rs6000/rs6000.c: Likewise.
14074         * config/stormy16/stormy-abi: Likewise.
14075         * config/stormy16/stormy16.h: Likewise.
14076         * config/v850/v850.c: Likewise.
14077
14078 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
14079
14080         * loop.c: Fix a comment typo.
14081
14082 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
14083
14084         * config/fr30/fr30.h: Fix comment typos.
14085         * config/frv/frv.c: Likewise.
14086         * config/i386/xmmintrin.h: Likewise.
14087         * config/mips/mips.c: Likewise.
14088         * config/sh/sh.c: Likewise.
14089
14090 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
14091
14092         * haifa-sched.c: Follow spelling conventions.
14093         * regclass.c: Likewise.
14094         * regrename.c: Likewise.
14095         * config/fp-bit.c: Likewise.
14096         * config/frv/frv.h: Likewise.
14097         * config/m88k/m88k.c: Likewise.
14098         * config/mcore/mcore.c: Likewise.
14099         * config/rs6000/darwin.h: Likewise.
14100         * config/rs6000/gnu.h: Likewise.
14101         * config/rs6000/linux.h: Likewise.
14102         * config/rs6000/linux64.h: Likewise.
14103         * config/rs6000/rs6000.c: Likewise.
14104         * config/rs6000/rs6000.h: Likewise.
14105         * config/sh/sh.c: Likewise.
14106         * config/sparc/sparc.c: Likewise.
14107         * config/sparc/ultra1_2.md: Likewise.
14108
14109 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
14110
14111         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
14112         memory operand when source is 0 (K constraint).
14113         ("movsi_internal"): Likewise.
14114         ("movdf_internal"): Likewise.
14115         ("movsf_internal"): Likewise.
14116
14117 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
14118
14119         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
14120         targetm.binds_local_p to set SYMBOL_REF_FLAG.
14121         (rs6000_xcoff_encode_section_info): Likewise.
14122         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
14123
14124 2002-09-10  Theodore A. Roth  <troth@verinet.com>
14125
14126         * gcc/config/avr/avr.h: Set default options for C++ for avr.
14127
14128 2002-09-13  Roger Sayle  <roger@eyesopen.com>
14129
14130         * stmt.c (struct nexting): Remove unused alt_end_label field.
14131         (expand_start_loop): Delete initialization of alt_end_label.
14132         (expand_start_null_loop): Likewise.
14133         (expand_exit_loop_if_false): Delete updating of alt_end_label.
14134
14135 2002-09-13  Richard Henderson  <rth@redhat.com>
14136
14137         * Makefile.in (toplev.o): Depend on real.h.
14138         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
14139
14140 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
14141
14142         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
14143         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
14144         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
14145
14146 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
14147
14148         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
14149
14150 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
14151
14152         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
14153         ia64*-*-linux*): Set extra_parts.
14154         * config/ia64/t-aix (EXTRA_PARTS): Remove.
14155         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
14156
14157 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
14158
14159         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
14160         * config/h8300/h8300.c: Likewise.
14161         * config/h8300/h8300.h: Likewise.
14162         * config/h8300/h8300.md: Likewise.
14163         * doc/invoke.texi: Likewise.
14164
14165 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
14166
14167         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
14168
14169 2002-09-13  Richard Henderson  <rth@redhat.com>
14170
14171         * config/alpha/alpha.md (attr type): Add callpal.
14172         (imb, trap, load_tp, set_tp): Use it.
14173         * config/alpha/ev4.md (ev4_callpal): New.
14174         * config/alpha/ev5.md (ev5_callpal): New.
14175         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
14176         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
14177         (alphaev5_insn_pipe): Likewise.
14178
14179 2002-09-13  Andreas Jaeger  <aj@suse.de>
14180
14181         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
14182
14183 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
14184
14185         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
14186         LIB2ADDEH): New, set to NULL.
14187         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
14188
14189 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
14190
14191         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
14192         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
14193         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
14194         Add declarations.
14195         (_U_Qfneg): Remove.
14196
14197 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
14198
14199         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
14200         for H8/300, H8S aa:8 mode.
14201         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
14202         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
14203         for H8/300 aa:8 mode.
14204
14205 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
14206
14207         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
14208         insns.
14209
14210 2002-09-12  Richard Henderson  <rth@redhat.com>
14211
14212         * Makefile.in (HOST_PRINT): Use print-rtl1.o
14213         (print-rtl.o): Don't define GENERATOR_FILE.
14214         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
14215         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
14216         unless GENERATOR_FILE.
14217
14218 2002-09-12  Stan Shebs  <shebs@apple.com>
14219
14220         * config/darwin.h (USER_LABEL_PREFIX): Define here...
14221         * config/i386/darwin.h: ... instead of here.
14222
14223         * target.h (struct gcc_target): New field
14224         terminate_dw2_eh_frame_info.
14225         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
14226         (TARGET_INITIALIZER): Add it.
14227         * dwarf2out.c (output_call_frame_info): Use target hook.
14228         * dwarf2asm.c (dw2_asm_output_delta): Use macro
14229         ASM_OUTPUT_DWARF_DELTA if defined.
14230         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
14231         (ASM_OUTPUT_DWARF_DELTA): Ditto.
14232         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
14233         (ASM_OUTPUT_DWARF_PCREL): Ditto.
14234         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
14235         (powerpc-*-darwin*): Ditto.
14236         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
14237         to work correctly for Darwin.
14238         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
14239         (STARTFILE_SPEC): Add crtbegin.o.
14240         (ENDFILE_SPEC): Define.
14241         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
14242         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
14243         (ASM_OUTPUT_DWARF_DELTA): Define.
14244         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
14245         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
14246
14247 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
14248
14249         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
14250         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
14251         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
14252
14253 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
14254
14255         * toplev.c: Move default definition of USER_LABEL_PREFIX...
14256         * defaults.h: ... here.
14257
14258 2002-09-12  Richard Henderson  <rth@redhat.com>
14259
14260         * vax.c: Include tree.h earlier.
14261
14262 2002-09-12  Stan Shebs  <shebs@apple.com>
14263
14264         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
14265         (machopic_operand_p): Ditto.
14266
14267 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14268
14269         * config/arm/arm.c (arm_compute_initial_elimination_offset):
14270         Fix a comment typo.
14271
14272 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14273
14274         * toplev.c (do_abort): Fix a comment typo.
14275
14276 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14277
14278         * cselib.c: Fix comment formatting.
14279         * gengtype.c: Likewise.
14280
14281 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14282
14283         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
14284         (udivmodhi4): Likewise.
14285
14286 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
14287             Roger Sayle  <roger@eyesopen.com>
14288
14289         * i386.c (any_fp_register_operand, fp_register_operand,
14290         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
14291         New predicate functions.
14292         * i386-protos.h:  Add their prototypes.
14293         * i386.h: Add them to PREDICATE_CODES.
14294         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
14295         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
14296         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
14297         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
14298         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
14299         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
14300         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
14301         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
14302         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
14303         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
14304         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
14305         Use these new predicates to simplify and correct the use of
14306         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
14307
14308 2002-09-12  Jason Merrill  <jason@redhat.com>
14309
14310         * diagnostic.c (output_add_identifier): New fn.
14311         * diagnostic.h: Declare it.
14312
14313         * calls.c (store_one_arg): Use size_in_bytes to determine the
14314         amount of space to push.
14315
14316 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
14317
14318         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
14319
14320 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
14321
14322         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
14323         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
14324         (s390_select_ccmode): Likewise.
14325         (s390_branch_condition_mask): Likewise.
14326         (optimization_options): Do not set flag_branch_on_count.
14327         (s390_split_branches): Handle doloop branches.
14328         (s390_chunkify_pool): Likewise.
14329         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
14330         ("doloop_end"): New expander.
14331         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
14332         associated splitters): New.
14333
14334 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14335
14336         * genattrtab.c (simplify_cond): Remove unused variable(s).
14337         * global.c (record_conflicts): Likewise.
14338         * jump.c (rebuild_jump_labels): Likewise.
14339         * loop.c (scan_loop, check_final_value): Likewise.
14340         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
14341         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
14342         * rtlanal.c (reg_set_p): Likewise.
14343         * stmt.c (expand_asm_operands, expand_decl): Likewise.
14344         * genautomata.c (empty_reserv): Remove.
14345         * loop.c (max_luid): Likewise.
14346         * sched-rgn.c (bitlst_table_size): Likewise.
14347
14348 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
14349
14350         Reimplement gcov format.
14351         * gcov-io.h: Replace.
14352         * gcov.c: Reimplement.
14353         * gcov-iov.c: New file.
14354         * gcov-dump.c: New file.
14355         * libgcc2.c (L_bb): Replace with ...
14356         (L_gcov): ... this.
14357         (struct bb_function_info, struct bb): Remove.
14358         (inhibit_libc): Never inhibit.
14359         (gcov_list, gcov_crc): New static variables.
14360         (gcov_version_mismatch): New static function.
14361         (__bb_exit_func): Renamed to ...
14362         (__gcov_exit): ... here. Made static. Reimplement.
14363         (__gcov_init_func): Rename to ...
14364         (__gcov_init): ... here. Check version, update crc.
14365         (__bb_fork_func): Rename to ...
14366         (__gcov_flush): ... here.
14367         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
14368         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
14369         * calls.c (expand_call): Call __gcov_flush.
14370         * profile.c (bb_file, last_bb_file_name): Remove.
14371         (bbg_file_name): New global variable.
14372         (output_gcov_string): Remove.
14373         (get_exec_counts): Reimplement.
14374         (branch_prob): Reimplement gcov file writing.
14375         (init_branch_prob): Create bbg_file_name, don't create
14376         bb_file_name.
14377         (end_branch_prob): Adjust. Don't remove counter file when
14378         instrumenting ourselves.
14379         (create_profiler): Adjust.
14380         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
14381         point to gcov-io.h.
14382         * Makefile.in (LANGUAGES): Add gcov-dump.
14383         (coverageexts): Remove .bb.
14384         (STAGESTUFF): Add gcov-dump.
14385         (LIB2FUNCS_ST): Replace _bb with _gcov.
14386         (profile.o): Depend on gcov-iov.h.
14387         (final.o): Don't depend on profile.h, gcov.h.
14388         (gcov.o): Depend on gcov-iov.h.
14389         (gcov-iov.o): New target.
14390         (gcov-iov): New target.
14391         (gcov-iov.h): New target.
14392         (gcov-dump.o): New target.
14393         (GCOV_DUMP_OBJS): New variable.
14394         (gcov-dump): New target.
14395         (distclean): Remove coverageexts.
14396         (stage1): Remove coverageexts.
14397
14398 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
14399
14400         * fold-const.c (make_range): Only narrow to signed range if
14401         the signed range is smaller than the unsigned range.
14402
14403 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
14404
14405         * emit-rtl.c (set_mem_size): New function.
14406         * expr.h (set_mem_size): Declare.
14407         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
14408         (expand_block_move): Instead, use adjust_address and
14409         replace_equiv_address to generate proper aliasing info.
14410         Move common code out of conditionals.  Localize vars.
14411
14412 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
14413
14414         * optabs.c (expand_binop): Minor cleanup.
14415         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
14416
14417 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
14418
14419         * print-tree.c (print_node): Print the restrict qualifier.
14420
14421 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
14422
14423         * doc/install.texi: Fix typos.
14424
14425 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
14426
14427         * Makefile.in: Remove all references to s-under and underscore.c.
14428         * collect2.c, tlink.c: Change all uses of prepends_underscore
14429         to look directly at USER_LABEL_PREFIX.
14430
14431 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
14432
14433         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
14434         alignment to csect.
14435         (rs6000_xcoff_unique_section): Only set section name for public
14436         data.
14437         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
14438         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
14439         duplicate definition.
14440
14441 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14442
14443         * pa.md (extzv): Check predicates before emitting extzv_32.
14444         (insv): Likewise.
14445
14446 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
14447
14448         * config/s390/s390.h (MOVE_MAX): Define to correct value.
14449         (MAX_MOVE_MAX): Define.
14450         (MOVE_BY_PIECES_P): Define.
14451         (CLEAR_BY_PIECES_P): Define.
14452
14453 2002-09-10  Denis Chertykov  <denisc@overta.ru>
14454
14455         * config/avr/avr.md (movstrhi): Use right operands for conversion.
14456
14457 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
14458
14459         PR c/7873
14460         * arm.md (insv): Use reg_or_int_operand for operand[3].
14461
14462 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
14463
14464         * rs6000.c (rs6000_assemble_visibility): Protect declaration
14465         inside macro.  Correct function definition typo.
14466         (rs6000_xcoff_section_type_flags): New function.
14467         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
14468         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
14469         with appropriate PIC test.
14470         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
14471         determine readonly.
14472         (rs6000_binds_local_p): Combine PIC flags.
14473         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
14474         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
14475
14476 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14477
14478         * h8300.md: Fix signed/unsigned warnings.
14479         * mcore.md: Likewise.
14480         * mn10300.c (mask_ok_for_mem_btst): Likewise.
14481
14482 2002-09-09  Per Bothner  <per@bothner.com>
14483
14484         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
14485         characters, and only print TREE_STRING_LENGTH chars.
14486
14487 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
14488
14489         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
14490         (ASM_FILE_END) New.
14491         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
14492         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
14493         * config/ia64/ia64.c (ia64_asm_output_external): Create list
14494         of external functions if TARGET_HPUX_LD is true.
14495         (ia64_hpux_add_extern_decl): New, routine to put names on
14496         list of external functions.
14497         (ia64_hpux_asm_file_end): Put out declarations for external
14498         functions if and only if they are used.
14499
14500 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14501
14502         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
14503         on TARGET_64BIT before pic register restore.
14504
14505 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
14506
14507         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
14508         (TARGET_HAVE_TLS): New description.
14509
14510 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
14511
14512         * doc/extend.texi (Statement Exprs): Fix broken link.
14513
14514 2002-09-09  Denis Chertykov  <denisc@overta.ru>
14515
14516         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
14517         right conversion of operands[1].
14518
14519 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
14520
14521         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
14522         commutative.  Use "nonimmediate_operand" instead of "register_operand"
14523         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
14524
14525         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
14526         as commutative.
14527
14528         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
14529         mark as commutative.  Use "nonimmediate_operand" instead of
14530         "register_operand" as predicate for operand 1.
14531
14532         ("movstrictsi"): Fix typo in insn name.
14533
14534 2002-09-09  Jan Hubicka  <jh@suse.cz>
14535
14536         * i386.c (index_register_operand): New.
14537         * i386.h (predicate_codes): Add new predicate.
14538         * i386.md (lea_general_*): Use index_register_operand
14539         (ashift to lea splitter): Do not produce invalid leas
14540         (ashift to mov+ashift split): New.
14541
14542 2002-09-09  Nick Clifton  <nickc@redhat.com>
14543
14544         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
14545         Fix folding marks.
14546
14547 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
14548             J"orn Rennecke <joern.rennecke@superh.com>
14549
14550         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
14551
14552 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
14553
14554         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
14555         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
14556         attributes.
14557
14558 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
14559
14560         * basic_block.h (gcov_type): Explain why it is signed.
14561         * final.c: Don't include profile.h.
14562         (struct function_list, functions_head, functions_tail,
14563         end_final): Moved to profile.c
14564         (final): Move arc chaining code to profile.c.
14565         * function.c (prepare_function_start): Remove duplicate line.
14566         * output.h (end_final): Remove prototype.
14567         * predict.c (estimate_loops_at_level): Use gcov_type.
14568         * profile.c (struct function_list, functions_head,
14569         functions_tail): Moved from final.c
14570         (need_func_profiler): Remove.
14571         (instrument_edges): Don't set need_func_profiler.
14572         (get_exec_counts): Avoid signed/unsigned warning.
14573         (compute_checksum): Use crc32.
14574         (branch_prob): Adjust. Chain onto functions_head.
14575         (init_branch_prob): Absorb init_edge_profiler.
14576         (init_edge_profiler): Remove.
14577         (create_profiler): Moved and renamed from final.c:end_final.
14578         Emit data and constructor.
14579         (output_func_start_profiler): Remove.
14580         * profile.h (struct profile_info): checksum is unsigned.
14581         * rtl.h (output_func_start_profiler): Remove prototype.
14582         (create_profiler): Declare.
14583         * toplev.c (compile_file): Call create_profiler, if instrumenting
14584         arcs. Don't call end_final.
14585
14586 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14587
14588         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
14589
14590 2002-09-08  Richard Henderson  <rth@redhat.com>
14591
14592         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
14593         (DW_OP_GNU_push_tls_address): New.
14594         (DW_OP_lo_user): Fix.
14595         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
14596         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
14597         (size_of_loc_descr): Likewise.
14598         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
14599         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
14600         (loc_descriptor_from_tree): Handle TLS variables.
14601         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
14602         (add_location_or_const_value_attribute): ... not here.  Defer
14603         to loc_descriptor_from_tree for TLS variables.
14604
14605         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
14606         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
14607         * config/i386/i386-protos.h: Update.
14608
14609 2002-09-08  Roger Sayle  <roger@eyesopen.com>
14610
14611         PR optimization/6405
14612         * unroll.c (loop_iterations): last_loop_insn should be the previous
14613         non-note instruction before loop->end.
14614         * loop.c (strength_reduce): The conditional jump is the last
14615         non-note instruction before loop->end (as above).
14616
14617 2002-09-08  Roger Sayle  <roger@eyesopen.com>
14618
14619         * combine.c (try_combine): Handle the case that undobuf.other_insn
14620         has been turned into a return or unconditional jump, by inserting
14621         a BARRIER if necessary.
14622         (simplify_set):  Test if a condition code setter has a constant
14623         comparison at compile time, if so convert this insn to a no-op move
14624         and update/simplify the condition code user (undobuf.other_insn).
14625
14626 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
14627
14628         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
14629         (CLEAR_INSN_CACHE): Define.
14630
14631 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
14632
14633         * basic-block.h: Fix comment formatting.
14634         * c-common.c: Likewise.
14635         * c-common.h: Likewise.
14636         * c-lex.c: Likewise.
14637         * c-pretty-print.c: Likewise.
14638         * cfglayout.c: Likewise.
14639         * cfgloop.c: Likewise.
14640         * defaults.h: Likewise.
14641         * et-forest.c: Likewise.
14642         * explow.c: Likewise.
14643         * function.h: Likewise.
14644         * gcov.c: Likewise.
14645         * genattrtab.c: Likewise.
14646         * gengtype.c: Likewise.
14647         * ifcvt.c: Likewise.
14648         * libgcc2.c: Likewise.
14649         * loop.c: Likewise.
14650         * profile.c: Likewise.
14651         * ra-build.c: Likewise.
14652         * real.c: Likewise.
14653         * rtl.h: Likewise.
14654         * tracer.c: Likewise.
14655         * tree-inline.c: Likewise.
14656         * varasm.c: Likewise.
14657
14658 2002-09-08  Jan Hubicka  <jh@suse.cz>
14659
14660         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
14661         handling.
14662
14663         * loop.c (loop_givs_reduce):  Emit addition after.
14664
14665 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
14666
14667         * varasm.c (default_assemble_visibility): Rename from
14668         assemble_visibility.
14669         * output.h: Here too.
14670         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
14671         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
14672
14673 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
14674
14675         * reload.c (find_reloads <p constraint>): Pass operand_mode to
14676         find_reloads_address.
14677
14678 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
14679
14680         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
14681         (anonymous pattern): Likewise.
14682
14683 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14684
14685         * machmode.def: Add modes for half-float vectors.
14686
14687 2002-09-07  Scott Snyder  <snyder@fnal.gov>
14688
14689         PR target/7374
14690         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
14691
14692 2002-09-07  Roger Sayle  <roger@eyesopen.com>
14693
14694         * basic-block.h (struct loop): Remove unused cont_dominator field.
14695
14696 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14697
14698         * varasm.c (decode_rtx_const): Don't check undefined field for
14699         CONST_VECTOR.
14700
14701 2002-09-07  Glen Nakamura  <glen@imodulo.com>
14702
14703         PR opt/7814
14704         * sched-deps.c (sched_analyze_insn): Make sure to add insn
14705         to reg_last->sets after flushing the dependency lists to guarantee
14706         that subsequent clobbers will be dependent on it.
14707
14708 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14709
14710         * combine.c (simplify_shift_const): Calculate rotate count
14711         correctly for vector operands.
14712
14713 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
14714
14715         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
14716         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
14717         tree_expr_nonnegative_p.
14718         (build_conditional_expr): Likewise.
14719         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
14720
14721 2002-09-07  Richard Henderson  <rth@redhat.com>
14722
14723         * builtins.def (inf, inff, infl): Mark const.
14724         (huge_val, huge_valf, huge_vall): Likewise.
14725         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
14726
14727         * real.c (ereal_inf): Clear E before use.
14728
14729 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
14730
14731         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
14732         an expander and an anonymous pattern.  Zero out the upper half
14733         of the dividend in the expander.
14734         (udivmodqi4): Likewise.
14735
14736 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
14737
14738         * config/h8300/h8300.c: Fix formatting.
14739         * config/h8300/h8300.h: Likewise.
14740         * config/h8300/h8300.md: Likewise.
14741
14742 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14743
14744         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
14745         information.
14746
14747 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
14748
14749        * rtlanal.c (dead_or_set_regno_p): Fix typo.
14750
14751 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
14752
14753         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14754
14755         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
14756         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14757         (TARGET_ASM_OUT): Add the above here.
14758         * target.h (struct gcc_target): Add "visibility" field.
14759         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
14760         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
14761         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14762         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
14763
14764 2002-09-06  Ziemowit Laski <zlaski@apple.com>
14765
14766         * c-lang.c (objc_is_id): New stub.
14767         * c-tree.h (objc_is_id): New forward declaration.
14768         * c-typeck.c (build_c_cast): Do not strip protocol
14769         qualifiers from 'id' type.
14770         * objc/objc-act.c (objc_comptypes): Correct handling
14771         of protocol qualifiers.
14772         (objc_is_id): New.
14773
14774 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
14775
14776         * pentium.md (pentium-firstvboth): Fix typo.
14777
14778 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
14779
14780         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
14781         (enum shift_type, enum h8_cpu): Likewise.
14782         (INL, ROT, LOP, SPC macros): Likewise.
14783         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
14784         const designator.
14785         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
14786         space efficient algorithms when optimize for codesize.
14787
14788 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14789
14790         Fix PR/1727 and long-standing failing testcase
14791         objc/formal-protocol-6.m.
14792         * objc-act.c (build_protocol_expr): If compiling for the GNU
14793         runtime, create a list of Protocol statically allocated instances
14794         if it doesn't exist, then add the Protocol object to this same
14795         list.
14796         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
14797         instead of TREE_CHAIN.
14798
14799 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14800
14801         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
14802         10k.  Fixed category dumping - print out category names with the
14803         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
14804         interface.
14805         (finish_objc): Fixed the -gen-decls option.  It was printing out
14806         only the last class.  Dump an interface declaration of all classes
14807         being compiled instead.
14808
14809 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
14810
14811         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
14812         prototype.
14813         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
14814         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
14815         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
14816         rather than GEN_INT.
14817         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
14818         (return_addr_mask, *check_arch2): New.
14819
14820 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
14821
14822         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
14823         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
14824         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
14825         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
14826         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
14827         "adddf3", "*adddf3", "*adddf3_ibm",
14828         "addsf3", "*addsf3", "*addsf3_ibm",
14829         "muldi3", "mulsi3", "mulsidi3",
14830         "muldf3", "*muldf3", "*muldf3_ibm",
14831         "mulsf3", "*mulsf3", "*mulsf3_ibm",
14832         "*anddi3_cc", "*anddi3_cconly", "anddi3",
14833         "*andsi3_cc", "*andsi3_cconly", "andsi3",
14834         "*iordi3_cc", "*iordi3_cconly", "iordi3",
14835         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
14836         "*xordi3_cc", "*xordi3_cconly", "xordi3",
14837         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
14838         instead of "register_operand" as predicate for "%0" operand.
14839
14840 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
14841
14842         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
14843         unconditionally when gcc_cv_as_flags64 checks are gone.
14844         * configure: Rebuilt.
14845
14846 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
14847
14848         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
14849         2002-07-26 change.  Comment.
14850
14851 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14852
14853         * frv.c (frv_unique_section, frv_select_section,
14854         frv_select_rtx_section): Delete.
14855         (frv_in_small_data_p): New.
14856         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
14857         TARGET_ASM_SELECT_RTX_SECTION): Delete.
14858         (TARGET_IN_SMALL_DATA_P): Define.
14859
14860 2002-09-05  Dale Johannesen  <dalej@apple.com>
14861
14862         * reload1.c (reload):  Retain only those memory clobbers
14863         added for variable-array handling.
14864
14865 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
14866
14867         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
14868         return-in-memory rules.
14869         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
14870
14871 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
14872
14873         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
14874         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
14875
14876 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
14877
14878         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
14879         not a compile-time constant for the non-IBM case.
14880         * config/arm/arm-protos.h (arm_float_words_big_endian): New
14881         prototype.
14882         * config/arm/arm.c (arm_float_words_big_endian): New function.
14883         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
14884         if TARGET_VFP  and not TARGET_HARD_FLOAT.
14885         (ARM_FLAG_VFP, TARGET_VFP): Define.
14886         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
14887
14888 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
14889
14890         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
14891         URLs.  Fix AIX wording.
14892
14893 2002-09-05  Stan Shebs  <shebs@apple.com>
14894
14895         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
14896         -fPIC equivalent on Darwin.
14897
14898 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
14899
14900         * sh.c (sh_expand_builtin): Return early if encountering an
14901         error_mark for a type.
14902
14903 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
14904
14905         * config/s390/s390.c (s390_expand_plus_operand): Do not require
14906         double-word scratch register.
14907         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
14908
14909         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
14910         "*cli"): Replace s_operand by memory_operand.
14911         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
14912
14913 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
14914
14915         * config/h8300/h8300.c (asm_file_start): Add a missing
14916         semicolon.
14917
14918 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14919
14920         * c-typeck.c (build_function_call): Remove unused variable(s).
14921         (build_c_cast): Likewise.
14922         * calls.c (rtx_for_function_call): Likewise.
14923         * cfglayout.c (duplicate_insn_chain): Likewise.
14924         * cfgloop.c (flow_loop_nodes_find): Likewise.
14925         * cfgrtl.c (split_edge): Likewise.
14926         * df.c (df_ref_create): Likewise.
14927         * except.c (expand_end_catch): Likewise.
14928         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
14929         * function.c (emit_return_into_block): Likewise.
14930         (reposition_prologue_and_epilogue_notes): Likewise.
14931         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
14932         * combine.c (subst_prev_insn, need_refresh): Remove.
14933         * dwarf2out.c (primary_filename): Remove.
14934         * final.c (new_block): Remove.
14935         * gcse.c (orig_bb_count): Remove.
14936
14937 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14938
14939         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
14940         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
14941         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
14942         directly instead of using a function pointer.
14943
14944 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
14945
14946         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
14947         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
14948         (ix86_output_addr_diff_elt) Likewise.
14949         (x86_output_mi_thunk) Likewise.
14950         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
14951
14952 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14953
14954         * frv.c (frv_encode_section_info): Fix error in last change.
14955
14956 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14957
14958         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
14959         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
14960         (TARGET_BINDS_LOCAL_P): Define.
14961         (rs6000_override_options): Save original flag_pic value.
14962         (rs6000_elf_select_section): Call default_elf_select_section_1.
14963         (rs6000_elf_unique_section): Call default_unique_section_1.
14964         (rs6000_elf_in_small_data_p): New function.
14965         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
14966         (rs6000_xcoff_select_section): Update based on defaults.
14967         (rs6000_xcoff_unique_section): Set to basic name if not common.
14968         (rs6000_binds_local_p): New function.
14969         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
14970         targetm.have_srodata_section if SDATA_EABI.
14971         (TARGET_IN_SMALL_DATA_P): Define.
14972
14973 2002-09-04  Dale Johannesen  <dalej@apple.com>
14974
14975         * varasm.c (struct rtx_const, decode_rtx_const):
14976         Make veclo and vechi fields not share storage.
14977
14978 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
14979
14980         * loop.c (scan_loop): Don't mark separate insns out of a libcall
14981         for moving.
14982         (move_movables): Abort if we see the first insn of a libcall.
14983
14984 2002-09-04  Richard Henderson  <rth@redhat.com>
14985
14986         * builtin-types.def (BT_FN_FLOAT): New.
14987         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
14988         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
14989         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
14990         * builtins.c (fold_builtin_inf): New.
14991         (fold_builtin): Call it.
14992         * real.c (ereal_inf): New.
14993         * real.h: Declare it.
14994         * doc/extend.texi: Document new builtins.
14995
14996 2002-09-04  Richard Henderson  <rth@redhat.com>
14997
14998         * cse.c (cse_insn): Avoid subreg games if the equivalence
14999         is already in the proper mode.
15000
15001 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
15002
15003         PR c/7102
15004         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
15005
15006 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15007
15008         * pa.md (setccfp0, setccfp1): New patterns.
15009
15010 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15011
15012         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
15013         frv_select_section, frv_select_rtx_section,
15014         frv_encode_section_info, frv_unique_section): Delete.
15015         * frv.c: Update for target hooks.
15016         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
15017         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
15018         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
15019
15020 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15021
15022         * ip2k-protos.h (function_prologue, function_epilogue,
15023         encode_section_info): Update to match target hook specification.
15024         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
15025         (function_prologue, function_epilogue, encode_section_info):
15026         Update to match target hook specification.
15027         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
15028         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
15029         (NOTICE_UPDATE_CC): Cast to void.
15030         * ip2k.md: Add defaults in switch statements.
15031
15032 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
15033
15034         * doc/trouble.texi (Interoperation): Update information about C++ ABI
15035         issues.
15036
15037 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
15038
15039         * config/sparc/t-netbsd64: Disable multilib for now.
15040
15041 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
15042
15043         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
15044         * target.h (gcc_target): Add have_srodata_section member.
15045         * varasm.c (section_category): Add SECCAT_SRODATA.
15046         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
15047         READONLY_SDATA_SECTION defined.
15048         (decl_readonly_section_1): True for SECCAT_SRODATA also.
15049         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
15050         (default_unique_section_1): Likewise.
15051
15052 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15053
15054         * expr.c (emit_group_load): Revise to allow splitting TCmode source
15055         into DImode pieces.
15056
15057         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
15058         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
15059         for floating-point register class.
15060         * pa.c (function_arg): Fix handling of modes wider than one word for
15061         TARGET_64BIT.
15062
15063 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
15064
15065         * combine.c (make_compound_operation): Don't generate zero / sign
15066         extensions in floating point modes.
15067
15068 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
15069
15070         * doc/c-tree.texi: Fix overfull hboxes.
15071         * doc/cppopts.texi: Ditto.
15072         * doc/extend.texi: Ditto.
15073         * doc/gty.texi: Ditto.
15074         * doc/invoke.texi: Ditto.
15075         * doc/makefile.texi: Ditto.
15076         * doc/rtl.texi: Ditto.
15077         * doc/standards.texi: Ditto.
15078         * doc/tm.texi: Ditto.
15079
15080 2002-09-04  Richard Henderson  <rth@redhat.com>
15081
15082         * c-common.c (builtin_define_with_hex_fp_value): New.
15083         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
15084
15085 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
15086
15087         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
15088         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
15089         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
15090         Warn that these options can break ABI compatibility.
15091
15092 2002-09-04  Richard Henderson  <rth@redhat.com>
15093
15094         * real.c (ereal_to_decimal): Add digits parameter.
15095         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
15096         * c-pretty-print.c (pp_c_real_literal): Update call.
15097         * print-rtl.c (print_rtx): Likewise.
15098         * print-tree.c (print_node_brief, print_node): Likewise.
15099         * sched-vis.c (print_value): Likewise.
15100         * config/arc/arc.c (arc_print_operand): Likewise.
15101         * config/c4x/c4x.c (c4x_print_operand): Likewise.
15102         * config/i370/i370.h (PRINT_OPERAND): Likewise.
15103         * config/i386/i386.c (print_operand): Likewise.
15104         * config/i960/i960.c (i960_print_operand): Likewise.
15105         * config/ip2k/ip2k.c (asm_output_float): Likewise.
15106         * config/m32r/m32r.c (m32r_print_operand): Likewise.
15107         * config/m68hc11/m68hc11.c (print_operand): Likewise.
15108         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
15109         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
15110         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
15111         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
15112         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
15113         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
15114         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
15115         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
15116         * config/mips/mips.c (print_operand): Likewise.
15117         * config/ns32k/ns32k.c (print_operand): Likewise.
15118         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
15119         * config/vax/vax.h (PRINT_OPERAND): Likewise.
15120         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
15121
15122 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
15123
15124         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
15125         xtensa_multibss_section_type_flags.
15126         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
15127
15128 2002-09-04  Richard Henderson  <rth@redhat.com>
15129
15130         * doc/install-old.texi: Don't mention enquire.
15131         * doc/sourcebuild.texi: Update float.h description.
15132
15133 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
15134
15135         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
15136
15137 2002-09-03  Roger Sayle  <roger@eyesopen.com>
15138
15139         * builtins.c (build_function_call_expr): Remove prototype, export
15140         as non-static and add a comment above function definition.
15141         (builtin_mathfn_code): New function to check for math builtins.
15142         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
15143         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
15144         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
15145         log(sqrt(x)) as log(x)/2.0.
15146
15147         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
15148         in new "builtins.c" section.  Place the build_range_type prototype
15149         with the other prototypes from "tree.c".
15150
15151         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
15152         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
15153         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
15154         x/exp(y) as x*exp(-y).
15155
15156 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
15157
15158         * varasm.c (default_section_type_flags): Append _1 to name with
15159         shlib parameter.  Use original name to call new function with
15160         implicit flag_pic.
15161         (decl_readonly_section): Likewise.
15162         (default_elf_select_section): Likewise.
15163         (default_unique_section): Likewise.
15164         (default_bind_local_p): Likewise.
15165         (categorize_decl_for_section): Add shlib parameter to use in place
15166         of implicit flag_pic.
15167         * output.h: Declare new functions with _1 and shlib argument.
15168
15169 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
15170
15171         * doc/install.texi: Fix typos, formatting problems, and obvious
15172         overfull/underfull boxes.
15173
15174         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
15175         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
15176         include its file, compat.texi.
15177         * doc/compat.texi: New file with new chapter, Binary Compatibility.
15178
15179 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
15180
15181         Debian BTS Bug #157416
15182         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
15183         * cpplib.c (destringize_and_run): Kludge around getting
15184         tokens from in-progress macros.
15185         (_cpp_do__Pragma): Simplify.
15186
15187 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
15188
15189         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
15190         (CPP_CPU_SPEC): Remove.
15191         (TARGET_CPU_CPP_BUILTINS): New.
15192         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
15193         (CPP_SPEC): Remove.
15194         (TARGET_OS_CPP_BUILTINS): New.
15195         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
15196         (TARGET_OS_CPP_BUILTINS): New.
15197         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
15198         TARGET_OS_CPP_BUILTINS.
15199         (CPP_PREDEFINES): Remove.
15200         (CPLUSPLUS_CPP_SPEC): Remove.
15201         (TARGET_OS_CPP_BUILTINS): New.
15202
15203 2002-09-03  Richard Henderson  <rth@redhat.com>
15204
15205         * Makefile.in (USER_H): Add ginclude/float.h.
15206         (FLOAT_H): Remove.
15207         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
15208         (mostlyclean): Don't remove float.h intermediate files.
15209         (distclean): Don't remove float.h.
15210         * config.gcc: Remove all float_format references.
15211         * configure.in (float_format, float_h_file): Remove.
15212
15213         * c-common.c: Include tree-inline.h.
15214         (builtin_define_with_int_value): New.
15215         (builtin_define_type_precision): Use it.
15216         (builtin_define_float_constants): New.
15217         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
15218         __FLT_EVAL_METHOD__.
15219         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
15220         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
15221         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
15222         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
15223         (TARGET_FLT_EVAL_METHOD): New.
15224
15225         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
15226         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
15227         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
15228         * ginclude/float.h: New.
15229
15230 2002-09-03  Stan Shebs  <shebs@apple.com>
15231
15232         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
15233         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
15234         (PREFERRED_DEBUGGING_TYPE): Ditto.
15235         (ASM_OUTPUT_IDENT): Remove empty definition.
15236
15237 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
15238
15239         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
15240         cxx_target.
15241         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
15242         handling routine for builtin pragma.
15243         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
15244         Registered pragma handling routine.
15245         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
15246         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
15247         If builtin pragma seen for math routine and C89 conformance is
15248         requested use different math function in order to set errno.
15249         * t-ia64 (ia64-c.o): Add new rule for new file.
15250
15251 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
15252
15253         * config/s390/s390.md ("movti"): Add Q->Q alternative.
15254         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
15255         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
15256
15257         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
15258         "*movsf_ss"): Remove.
15259
15260 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15261
15262         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
15263         Delete macros.
15264
15265 2002-09-03   Arati Dikey  <aratid@kpit.com>
15266
15267         * h8300.c (asm_file_start): Corrected optimization comment.
15268
15269 2002-09-03  Stan Shebs  <shebs@apple.com>
15270
15271         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
15272         * c-tree.h (recognize_objc_keyword): Remove decl.
15273         * c-typeck.c (comp_target_types): Update a comment.
15274
15275 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
15276
15277         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
15278         and register validity checks.
15279         (general_s_operand): Adapt to s390_decompose_address interface change.
15280         (q_constraint): Likewise.
15281         (s390_expand_plus_operand): Likewise.
15282         (legitimiate_address_p): Likewise.
15283         (legitimate_la_operand_p): Likewise.
15284         (legitimize_la_operand): Likewise.
15285         (print_operand_address): Likewise.
15286         (print_operand): Likewise.
15287
15288 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15289
15290         PR objc/5956:
15291         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
15292         was causing the new selector never to match the existing ones
15293         (Patch by Alexander Malmberg <alexander@malmberg.org>).
15294
15295 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
15296
15297         * config/i386/i386.md ("femms"): Add "memory" attr "none".
15298
15299 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
15300
15301         * expr.c (expand_expr): Remove extraneous comment and code.
15302
15303 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
15304
15305         * stor-layout (finish_builtin_struct): Renamed and moved from c++
15306         frontend. Take chain of fields. Allow NULL alignment type.
15307         * tree.h (finish_builtin_struct): Declare.
15308
15309 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15310
15311         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
15312         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
15313         config/arc/arc.c config/arc/arc.h config/arm/aout.h
15314         config/arm/arm.c config/arm/arm.h config/arm/arm.md
15315         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
15316         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
15317         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
15318         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
15319         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
15320         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
15321         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
15322         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
15323         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
15324         config/pa/pa.h config/pa/pa.md config/romp/romp.h
15325         config/rs6000/linux64.h config/rs6000/lynx.h
15326         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
15327         config/s390/s390.c config/s390/s390.md config/sh/sh.c
15328         config/sparc/sparc.c config/sparc/sysv4.h
15329         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
15330         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
15331         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
15332
15333         * doc/tm.texi: Update docs.
15334         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
15335         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
15336
15337 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15338
15339         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
15340         * arc.c (arc_internal_label): New function.
15341         (TARGET_ASM_INTERNAL_LABEL): Set.
15342         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15343         * arm.c (arm_internal_label): New function.
15344         (TARGET_ASM_INTERNAL_LABEL): Set.
15345         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15346         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15347         * i370.c (i370_internal_label): New function.
15348         (TARGET_ASM_INTERNAL_LABEL): Set.
15349         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15350         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15351         * m68k.c (m68k_hp320_internal_label): New function.
15352         (TARGET_ASM_INTERNAL_LABEL): Set.
15353         * m88k.c (m88k_internal_label): New function.
15354         (TARGET_ASM_INTERNAL_LABEL): Set.
15355         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15356         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
15357         * genoutput.c (output_prologue): Include target.h in output file.
15358         * output.h (default_internal_label): Declare.
15359         * sdbout.c: Include target.h.
15360         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
15361         TARGET_ASM_OUT.
15362         * target.h (internal_label): Add to struct gcc_target.
15363         * varasm.c (default_internal_label): New function.
15364
15365 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15366
15367         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15368         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15369         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15370         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15371         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15372         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15373         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15374         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15375         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15376         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15377         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15378         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15379         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15380         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15381         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15382         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15383         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15384         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15385         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15386         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15387         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15388         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15389         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15390         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15391         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15392         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
15393         * mmix.c (mmix_asm_output_internal_label): Likewise.
15394         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15395         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15396         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15397         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15398         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15399         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15400         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15401         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15402         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15403         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15404         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15405         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15406         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15407         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15408         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15409         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15410         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15411         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15412         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15413
15414         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
15415
15416 2002-08-31  Richard Henderson  <rth@redhat.com>
15417
15418         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
15419
15420 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15421
15422         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
15423
15424 2002-08-30  Richard Henderson  <rth@redhat.com>
15425
15426         PR opt/7515
15427         * c-objc-common.c: Include target.h.
15428         (c_cannot_inline_tree_fn): Don't auto-inline functions that
15429         don't bind locally.  Factor setting DECL_UNINLINABLE.
15430         * Makefile.in (c-objc-common.o): Update.
15431
15432 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
15433
15434         * doc/install.texi (Configuration, Building): Fix a typo and
15435         some formatting directives.
15436
15437 2002-08-30  Paul Koning <pkoning@equallogic.com>
15438
15439         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
15440         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
15441         implemented" note.
15442         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
15443         for alphabetic order.
15444         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
15445         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
15446         (VAX_HALFWORD_ORDER): Document.
15447         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
15448         IEEE float format.
15449         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
15450         (ASM_OUTPUT_LABEL_REF): Fix font.
15451         (CASE_VECTOR_SHORTEN_MODE): Ditto.
15452
15453 2002-08-30  Denis Chertykov  <denisc@overta.ru>
15454
15455         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
15456         stuff.
15457         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
15458         CONST_DOUBLE constants.
15459
15460 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
15461
15462         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
15463         related defines to...
15464         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
15465         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
15466         as a no-op.
15467
15468 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
15469
15470         * config/arm/arm.c (arm_asm_output_labelref): New function.
15471         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
15472         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
15473
15474 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
15475
15476         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
15477         memory exhausted" workarounds.
15478
15479 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15480
15481         * diagnostic.c (fancy_abort): Don't repeat "internal error".
15482         * toplev.c (crash_signal): Likewise.
15483
15484 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15485
15486         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
15487         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
15488         Extended, updated documentation.
15489         (-Wundeclared-selector): Documented.
15490
15491 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
15492
15493         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
15494         the value 1.  Do not undef before defining.
15495         * config/darwin.h: Likewise.
15496         * config/dbx.h: Likewise.
15497         * config/dbxcoff.h: Likewise.
15498         * config/dbxelf.h: Likewise.
15499         * config/elfos.h: Likewise.
15500         * config/interix.h: Likewise.
15501         * config/lynx-ng.h: Likewise.
15502         * config/lynx.h: Likewise.
15503         * config/netware.h: Likewise.
15504         * config/psos.h: Likewise.
15505         * config/svr3.h: Likewise.
15506         * config/alpha/alpha.h: Likewise.
15507         * config/alpha/elf.h: Likewise.
15508         * config/alpha/vms.h: Likewise.
15509         * config/arc/arc.h: Likewise.
15510         * config/arm/aout.h: Likewise.
15511         * config/arm/coff.h: Likewise.
15512         * config/c4x/c4x.h: Likewise.
15513         * config/h8300/h8300.h: Likewise.
15514         * config/i386/cygwin.h: Likewise.
15515         * config/i386/djgpp.h: Likewise.
15516         * config/i386/gas.h: Likewise.
15517         * config/i386/gstabs.h: Likewise.
15518         * config/i386/i386-coff.h: Likewise.
15519         * config/i386/i386-interix.h: Likewise.
15520         * config/i386/sco5.h: Likewise.
15521         * config/i386/svr3dbx.h: Likewise.
15522         * config/i386/sysv3.h: Likewise.
15523         * config/i386/win32.h: Likewise.
15524         * config/i386/x86-64.h: Likewise.
15525         * config/i960/i960.h: Likewise.
15526         * config/ia64/ia64.h: Likewise.
15527         * config/ip2k/ip2k.h: Likewise.
15528         * config/m32r/m32r.h: Likewise.
15529         * config/m68k/3b1.h: Likewise.
15530         * config/m68k/3b1g.h: Likewise.
15531         * config/m68k/ccur-GAS.h: Likewise.
15532         * config/m68k/coff.h: Likewise.
15533         * config/m68k/hp2bsd.h: Likewise.
15534         * config/m68k/hp310g.h: Likewise.
15535         * config/m68k/hp320g.h: Likewise.
15536         * config/m68k/hp3bsd.h: Likewise.
15537         * config/m68k/hp3bsd44.h: Likewise.
15538         * config/m68k/linux-aout.h: Likewise.
15539         * config/m68k/m68k-aout.h: Likewise.
15540         * config/m68k/mot3300.h: Likewise.
15541         * config/m68k/netbsd.h: Likewise.
15542         * config/m68k/openbsd.h: Likewise.
15543         * config/m68k/pbb.h: Likewise.
15544         * config/m68k/plexus.h: Likewise.
15545         * config/m68k/sun2.h: Likewise.
15546         * config/m68k/sun3.h: Likewise.
15547         * config/m68k/tower-as.h: Likewise.
15548         * config/m68k/vxm68k.h: Likewise.
15549         * config/m88k/aout-dbx.h: Likewise.
15550         * config/m88k/m88k-aout.h: Likewise.
15551         * config/mcore/mcore-elf.h: Likewise.
15552         * config/mcore/mcore-pe.h: Likewise.
15553         * config/mips/elf.h: Likewise.
15554         * config/mips/elf64.h: Likewise.
15555         * config/mips/iris5gas.h: Likewise.
15556         * config/mips/iris6.h: Likewise.
15557         * config/mips/mips.h: Likewise.
15558         * config/mips/sni-gas.h: Likewise.
15559         * config/mmix/mmix.h: Likewise.
15560         * config/ns32k/netbsd.h: Likewise.
15561         * config/pa/pa64-hpux.h: Likewise.
15562         * config/romp/romp.h: Likewise.
15563         * config/rs6000/sysv4.h: Likewise.
15564         * config/rs6000/xcoff.h: Likewise.
15565         * config/sh/coff.h: Likewise.
15566         * config/sh/elf.h: Likewise.
15567         * config/sparc/linux64.h: Likewise.
15568         * config/sparc/liteelf.h: Likewise.
15569         * config/sparc/netbsd.h: Likewise.
15570         * config/sparc/openbsd.h: Likewise.
15571         * config/sparc/pbd.h: Likewise.
15572         * config/sparc/sp64-elf.h: Likewise.
15573         * config/sparc/sp86x-elf.h: Likewise.
15574         * config/sparc/sparc.h: Likewise.
15575         * config/vax/vax.h: Likewise.
15576         * config/vax/vaxv.h: Likewise.
15577
15578 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
15579
15580         * h8300.c (shift_alg_hi): Various tweaks to improve performance
15581         of HImode shifts.
15582         (get_shift_alg): Corresponding changes.
15583
15584 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15585
15586         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
15587
15588 2002-08-29  Richard Henderson  <rth@redhat.com>
15589
15590         * expr.h (enum block_op_methods): New.
15591         (emit_block_move): Update prototype.
15592         * expr.c (block_move_libcall_safe_for_call_parm): New.
15593         (emit_block_move_via_loop): New.
15594         (emit_block_move): Use them.  New argument METHOD.
15595         (emit_push_insn): Always respect the given alignment.
15596         (expand_assignment): Update call to emit_block_move.
15597         (store_expr, store_field, expand_expr): Likewise.
15598         * builtins.c (expand_builtin_apply): Likewise.
15599         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
15600         * function.c (expand_function_end): Likewise.
15601         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
15602         * config/sparc/sparc.c (sparc_va_arg): Likewise.
15603         * calls.c (expand_call, emit_library_call_value_1): Likewise.
15604         (save_fixed_argument_area): Use emit_block_move with
15605         BLOCK_OP_CALL_PARM instead of move_by_pieces.
15606         (restore_fixed_argument_area): Likewise.
15607         (store_one_arg): Fix alignment parameter to emit_push_insn.
15608
15609 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15610
15611         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
15612
15613 2002-08-29  Catherine Moore  <clm@redhat.com>
15614
15615         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
15616         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
15617         (PREDICATE_CODES): Include new predicates.
15618         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
15619         (TARGET_SWITCHES):  Add strict-align.
15620         (TARGET_STRICT_ALIGN): New.
15621         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
15622         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
15623         Define.
15624         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
15625         v850_muldi3.
15626         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
15627         L_callt_save_r2_r31, L_return_r2_r31,
15628         L_save_all_interrupt): Change addi to add.
15629         (L_save_interrupt, L_return_interrupt): Rework.
15630         (__return_r31):  Correct .size directive.
15631         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
15632         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
15633         New routines.
15634         * config/v850/v850.c (expand_prologue): Call
15635         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
15636         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
15637         (reg_or_int9_operand): New predicate.
15638         (reg_or_const_operand): New routine.
15639         * config/v850/v850.md (return_interrupt): Changed from
15640         restore_interrupt.
15641         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
15642         (callt_save_interrupt): Change save sequence.
15643         (callt_return_interrupt): New.
15644         (save_interrupt): Don't use runtime function for LONG_CALLS
15645         and TARGET_PROLOG_FUNCTION.
15646         (save_all_interrupt): Likewise.
15647         (mulsi3): Use new predicate.
15648         (moviscc): Disallow some combination of constants.
15649         Fix define_split for sasf insns, so that it will not generate bad
15650         code if operand0 and operand5 are the same.
15651         * config/v850/v850-protos.h: Prototype new predicates.
15652
15653 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
15654
15655         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
15656         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
15657
15658 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15659
15660         * c-common.c (builtin_define_type_precision): New function.
15661         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
15662         wchar_t is unsigned in C++.
15663         * doc/cpp.texi (Common Predefined Macros): Document
15664         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
15665         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
15666         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
15667
15668 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
15669
15670         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
15671         section.  Mention that it is enabled by -Wall.
15672         (-Wall): Mention that there can be language-specific warnings as well.
15673         (-Wctor-dtor-privacy): Mention that it is enabled by default.
15674         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
15675
15676 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
15677
15678         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
15679         if it is ever live.
15680
15681         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
15682         attribute for SHCOMPACT.
15683
15684         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
15685         appropriately.
15686         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
15687         by the ABI.
15688
15689         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
15690
15691 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
15692
15693         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
15694         "MASK_GAS|MASK_ABICALLS".
15695         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
15696         (TARGET_DEFAULT): Remove.
15697         (MACHINE_TYPE): Undefine before defining.
15698         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
15699
15700 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
15701
15702         * c-common.c (warn_abi): New variable.
15703         * c-common.h (warn_abi): Likewise.
15704         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
15705         (c_common_decode_option): Handle it.
15706         * doc/invoke.texi: Document -Wabi.
15707
15708 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15709
15710         * c-common.c (warn_undeclared_selector): New variable.
15711         * c-common.h (warn_undeclared_selector): Idem.
15712         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
15713         to on when -Wundeclared-selector is found.
15714         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
15715         * objc/objc-act.c (build_selector_expr): If
15716         warn_undeclared_selector is set, check that the selector has
15717         already been defined, and emit a warning if not.
15718
15719 2002-08-27  Nick Clifton  <nickc@redhat.com>
15720             Catherine Moore  <clm@redhat.com>
15721             Jim Wilson  <wilson@cygnus.com>
15722
15723         * config.gcc: Add v850e-*-* target.
15724         Add --with-cpu= support for v850.
15725         * config/v850/lib1funcs.asm: Add v850e callt functions.
15726         * config/v850/v850.h: Add support for v850e target.
15727         * config/v850/v850.c: Add functions to support v850e target.
15728         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
15729         * config/v850/v850.md: Add patterns for v850e instructions.
15730         * doc/invoke.texi: Document new v850e command line switches.
15731
15732 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
15733                           Aldy Hernandez <aldyh at redhat dot com>
15734
15735         * doc/tm.texi: Applied numerous fixes to the automaton based
15736         scheduler descrition.
15737
15738 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
15739
15740         * i386.c (classify_argument): Handle variable sized objects.
15741
15742 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
15743
15744         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
15745
15746 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
15747
15748         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
15749
15750 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
15751
15752         * i386.c (classify_argument): Properly compute word size of the analyzed object.
15753
15754 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
15755
15756         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
15757         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
15758         accordingly.
15759         (attribute insn_class): Provide default definitions based on type.
15760         Remove all insn-specific settings.
15761         (various function units): Remove old SH4 scheduling.
15762         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
15763         New attributes.  Set them where appropriate.
15764         (cpu unit FS): Don't define / use.
15765         (F3, load_store): New cpu units.
15766         (F01): New reservation.
15767         (all insn_reservations): Make dependent on sh4 pipeline model.
15768         Fix latencies.
15769         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
15770         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
15771         (mt insn_reservation): Use type mt_group.
15772         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
15773         sh4_fload and sh4_store.
15774         (insn_reservation branch_zero and branch): Replace with sh4_branch.
15775         (insn_reservation branch_far): Replace with sh4_return.
15776         (insn_reservation return_from_exp): Rename to:
15777         (sh4_return_from_exp).  Change to be just d_lock*5.
15778         (insn_reservation lds_to_pr): Rename to:
15779         (sh4_lds_to_pr).  Change to be just d_lock*2.
15780         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
15781         d_lock*2.
15782         (insn_reservation prload_mem): Rename to:
15783         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
15784         (insn_reservation fpscr_store): Rename to:
15785         (fpscr_load).  Change to d_lock,nothing,F1*3.
15786         (insn_reservation fpscr_store_mem): Rename to:
15787         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
15788         (insn_reservation multi): Change to
15789         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
15790         (insn_reservation fp_arith): Change to issue,F01,F2.
15791         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
15792         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
15793         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
15794         (insn_reservation fp_double_cmp): Change to
15795         d_lock,(d_lock+F01),F1+F2,F2.
15796         (insn_reservation dp_div): Change to
15797         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
15798         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
15799         (sh_adjust_cost, SHcompact): Differentiate between different
15800         kinds of dependencies.  Drop factor of ten for superscalar.
15801         Use new instruction types.  Add new exception rules.
15802
15803         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
15804
15805         * sh.md (mperm_w): Add DONE.
15806
15807 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
15808
15809         * longlong.h: Import current PowerPC defintion from GMP-4.1.
15810
15811         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
15812
15813         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
15814
15815 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15816
15817         * sh.h (MAX_FIXED_MODE_SIZE): Define.
15818
15819 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
15820
15821         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
15822         delimiter.
15823
15824 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15825
15826         * c-common.c (cpp_define_data_format): New function.
15827         (cb_register_builtins): Call it.
15828
15829         * doc/cpp.texi (Common Predefined Macros): Document
15830         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
15831         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
15832         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
15833         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
15834         __TARGET_USES_VAX_H_FLOAT__.
15835
15836 2002-08-26  Ziemowit Laski <zlaski@apple.com>
15837
15838         * objc/objc-act.c (get_super_receiver): If inside a class method
15839         of a category, cast the receiver to 'id' before accessing the 'isa'
15840         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
15841
15842 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
15843
15844         * config/s390/s390-protos.h (s390_function_prologue,
15845         s390_function_epilogue): Remove.
15846         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
15847         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
15848
15849         config/s390/s390.c (s390_machine_dependent_recorg): New function.
15850         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
15851         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
15852         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
15853         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
15854
15855         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
15856         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
15857         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
15858         function is not a leaf function.  Use save_gprs and restore_gprs.
15859         (s390_emit_epilogue): Likewise.
15860         (save_gprs, restore_gprs): New functions.
15861         (struct s390_frame): Remove return_reg_saved_p member.
15862         (save_fprs_p): Remove.
15863         (s390_optimize_prolog): New function.
15864         (s390_legitimate_reload_constant): Remove now unnecessary check.
15865
15866         (s390_function_count): Remove.
15867         (s390_output_symbolic_const): Replace s390_function_count by
15868         current_function_funcdef_no.
15869         (s390_output_constant_pool): Likewise.
15870
15871         (legitimize_pic_address): Use regs_ever_live to track PIC register
15872         instead of current_function_uses_pic_offset_table.
15873         (s390_emit_prologue): Likewise.
15874         config/s390/s390.md ("call", "call_value"): Likewise.
15875
15876 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
15877
15878         * c-opts.c (find_opt): Don't complain about wrong languages
15879         here.  Return exact matches even for wrong language.
15880         (c_common_decode_option): Complain about wrong languages
15881         here.
15882
15883 2002-08-24  Stuart Hastings  <stuart@apple.com>
15884
15885         * function.h (struct function): Add flag
15886         all_throwers_are_sibcalls.
15887         * except.c (set_nothrow_function_flags): Replaces
15888         nothrow_function_p. Set new flag.
15889         * except.h (set_nothrow_function_flags): Replaces
15890         nothrow_function_p.
15891         * dwarf2out.c (struct dw_fde_struct): Add flag
15892         all_throwers_are_sibcalls.
15893         (output_call_frame_info): Test it.
15894         (dwarf2out_begin_prologue) Propagate it from cfun to
15895         dw_fde_struct.
15896         * toplev.c (rest_of_compilation): Update calls to
15897         nothrow_function_p.
15898
15899 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
15900
15901         * ggc-page.c (compute_inverse): Short circuit calculation for
15902         object sizes larger than half a page.
15903
15904 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
15905
15906         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
15907         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
15908         default.
15909         (rs6000_elf_unique_section): Likewise.
15910
15911 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15912
15913         * ns32k.c (ns32k_globalize_label): Delete.
15914         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
15915
15916 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
15917
15918         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
15919         for loading delta with num_insns_constant_wide.  Calculate
15920         delta_low, delta_high without using a conditional.
15921
15922 2002-08-22  Jason Merrill  <jason@redhat.com>
15923
15924         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
15925         * c-common.def: Adjust.
15926         * c-dump.c (c_dump_tree): Adjust.
15927         * c-semantics.c (genrtl_return_stmt): Adjust.
15928         * c-pretty-print.c (pp_c_statement): Adjust.
15929         * tree-inline.c (copy_body_r): Adjust.
15930
15931 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
15932
15933         * ggc-page.c: Avoid division in ggc_set_mark.
15934         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
15935         compute_inverse): New.
15936         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
15937         (init_ggc): Initialize inverse_table.
15938
15939 2002-08-22  Tom Tromey  <tromey@redhat.com>
15940
15941         * doc/install.texi (Configuration): Document --datadir.
15942
15943 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
15944
15945         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
15946
15947 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
15948
15949         * gengtype-lex.l (ID): Allow underscore as first character.
15950
15951 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
15952
15953         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
15954         function.
15955         (rs6000_xcoff_asm_named_section): Rename.
15956         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15957
15958 2002-08-21  Tom Tromey  <tromey@redhat.com>
15959
15960         For PR java/6005 and PR java/7611:
15961         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
15962         (fold): Likewise.
15963         * langhooks.c (lhd_can_use_bit_fields_p): New function.
15964         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
15965         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
15966         (LANG_HOOKS_INITIALIZER): Use it.
15967         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
15968         field.
15969
15970 2002-08-21  Stan Shebs  <shebs@apple.com>
15971
15972         * tree.c (finish_vector_type): Fix a typo in a comment.
15973         * Makefile.in: Fix "the the" stutters in comments.
15974         * genautomata.c: Ditto.
15975         * ifcvt.c: Ditto.
15976         * regrename.c: Ditto.
15977         * config/alpha/alpha.c: Ditto.
15978         * config/alpha/vms-crt0-64.c: Ditto.
15979         * config/alpha/vms-crt0.c: Ditto.
15980         * config/alpha/vms-psxcrt0-64.c: Ditto.
15981         * config/alpha/vms-psxcrt0.c: Ditto.
15982         * config/d30v/d30v.h: Ditto.
15983         * config/fr30/fr30.h: Ditto.
15984         * config/rs6000/rs6000.c: Ditto.
15985         * config/stormy16/stormy16.h: Ditto.
15986         * doc/md.texi: Ditto.
15987
15988 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15989
15990         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
15991
15992 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
15993
15994         * c-decl.c (grokdeclarator): Make invalid combinations with long,
15995         short, signed or unsigned into hard errors.  Fixes PR c/4319.
15996         Also make duplicate modifiers such as "short short" into hard
15997         errors.
15998
15999 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
16000             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16001
16002         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
16003         to the actual end.  Add '@end table' and '@table @code'.
16004
16005 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
16006
16007         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
16008
16009         * unroll.c (biv_total_increment): Don't try to compute the total
16010         increment for FP BIVs.
16011
16012 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16013
16014         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
16015         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
16016         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16017         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
16018         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
16019         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
16020         (GLOBAL_ASM_OP): Define.
16021         * arm.c (aof_globalize_label): New function.
16022         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
16023         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16024         * c4x.c (c4x_globalize_label): New function.
16025         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
16026         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
16027         (GLOBAL_ASM_OP): Define.
16028         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
16029         * darwin-protos.h (darwin_globalize_label): Declare.
16030         * darwin.c (darwin_globalize_label): New function.
16031         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
16032         (ASM_GLOBALIZE_LABEL): Delete.
16033         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
16034         * dsp16xx.c (asm_output_common): Use target hook.
16035         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
16036         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
16037         (GLOBAL_ASM_OP): Define.
16038         * i370.c (i370_globalize_label): New function.
16039         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
16040         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
16041         * i386.c (ix86_asm_file_end): Use target hook.
16042         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
16043         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
16044         * ia64.c (ia64_asm_output_external): Likewise.
16045         * ia64/sysv4.h: Update comment.
16046         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16047         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
16048         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
16049         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
16050         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
16051         * mmix-protos.h (mmix_asm_globalize_label): Delete.
16052         * mmix.c (mmix_asm_globalize_label): Likewise.
16053         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
16054         (GLOBAL_ASM_OP): Define.
16055         * ns32k.c (ns32k_globalize_label): New function.
16056         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
16057         (ASM_GLOBALIZE_LABEL): Delete.
16058         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
16059         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
16060         * pa.c (pa_globalize_label): New function.
16061         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
16062         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
16063         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
16064         (GLOBAL_ASM_OP): Define.
16065         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
16066         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16067         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
16068         (GLOBAL_ASM_OP): Define.
16069         * v850.c (v850_output_aligned_bss): Use target hook.
16070         * vax.c (vms_globalize_label): New function.
16071         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
16072         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
16073         (GLOBAL_ASM_OP): Define.
16074         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
16075         * doc/tm.texi: Update docs.
16076         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
16077         target hook.
16078         * final.c (output_alternate_entry_point): Likewise.
16079         * hooks.c (hook_FILEptr_constcharptr_void): New function.
16080         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
16081         * output.h (assemble_global): Delete.
16082         (default_globalize_label): Declare.
16083         * system.h (ASM_GLOBALIZE_LABEL): Poison.
16084         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
16085         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
16086         * target.h (gcc_target): Add globalize_label member.
16087         * varasm.c (asm_output_bss, asm_output_aligned_bss,
16088         globalize_decl): Use target hook.
16089         (assemble_global): Delete.
16090         (default_globalize_label): New function.
16091
16092 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16093
16094         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
16095
16096 2002-08-20  Devang Patel  <dpatel@apple.com>
16097         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
16098
16099 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16100
16101         * arc.c (output_shift): Use stdio instead of asm_fprintf.
16102         * arm.c (thumb_output_function_prologue): Likewise.
16103         * avr.c (print_operand): Likewise.
16104         * c4x.c (c4x_print_operand): Likewise.
16105         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
16106         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
16107         * cris.c (cris_target_asm_function_prologue,
16108         cris_asm_output_mi_thunk): Likewise.
16109         * h8300.c (print_operand): Likewise.
16110         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16111         * ip2k.c (print_operand): Likewise.  Fix format specifier.
16112         * m68hc11.c (asm_print_register, print_operand,
16113         print_operand_address): Use stdio instead of asm_fprintf.
16114         (print_operand_address): Fix format specifier.
16115         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
16116         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
16117         asm_fprintf.
16118         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16119         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16120         * m68k.c (m68k_output_function_prologue,
16121         m68k_output_function_epilogue, print_operand): Likewise.
16122         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
16123         Likewise.  Fix format specifier.
16124         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16125         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16126         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16127
16128 2002-08-15  Eric Christopher  <echristo@redhat.com>
16129             Jeff Knaggs  <jknaggs@redhat.com>
16130
16131         * config.gcc (mipsisa64sr71k-elf): New target.
16132         * config/mips/sr71k.md: New file.
16133         * config/mips/mips.md: Use it.
16134         (rot*): Add sr71k specifics.
16135         * config/mips/t-sr71k: New file.
16136         * config/mips/mips.h (sr71k): New cpu.
16137         (TARGET_SR71K): Use it.
16138         (TUNE_SR71K): Ditto.
16139         (GENERATE_BRANCHLIKELY): Ditto.
16140         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
16141         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
16142         * config/mips/mips.c (sr71k): New cpu.
16143         (mips_use_dfa_pipeline_interface): Use.
16144
16145 2002-08-15  Eric Christopher  <echristo@redhat.com>
16146             Richard Sandiford <rsandifo@redhat.com>
16147             Aldy Hernandez  <aldyh@redhat.com>
16148             Graham Stott    <grahams@redhat.com>
16149             Michael Meissner  <meissner@redhat.com>
16150             Gavin Romig-Koch  <gavin@redhat.com>
16151             Ken Raeburn  <raeburn@cygnus.com>
16152             Alexandre Oliva <aoliva@redhat.com>
16153
16154         * config.gcc (mips64vr-elf): New target.
16155         * config/mips/5400.md: New file.
16156         * config/mips/5500.md: Ditto.
16157         * config/mips/mips.md: Use them.
16158         (frsqrt): New.
16159         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
16160         cpus.
16161         (mips_issue_rate): Use them.
16162         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
16163         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
16164         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
16165         cpus.
16166         (TARGET_MIPSx): Use them.
16167         (TUNE_MIPSx): Ditto.
16168         (GETNATE_MULT3_SI): Ditto.
16169         (ISA_HAS_BRANCHLIKELY): Ditto.
16170         (ISA_HAS_CONDMOVE): Ditto.
16171         (ISA_HAS_NMADD_NMSUB): Ditto.
16172         (ISA_HAS_MULHI): New. Ditto.
16173         (ISA_HAS_MULS): Ditto.
16174         (ISA_HAS_MSAC): Ditto.
16175         (ISA_HAS_MACC): Ditto.
16176         (ISA_HAS_ROTR_SI): Ditto.
16177         (ISA_HAS_ROTR_DI): Ditto.
16178         (RTX_COSTS): Use.
16179
16180 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16181
16182         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
16183         at head.
16184         (remove_dup_nonsys_dirs): New function.
16185         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
16186         (merge_include_chains): Remove non-system include directories from
16187         quote and bracket include chains when they duplicate equivalent system
16188         directories.
16189         * doc/cpp.texi (-I): Update.
16190         * doc/cppopts.texi (-I): Update.
16191         * doc/install.texi (--with-local-prefix): Further document usage of
16192         this option.
16193         * doc/invoke.texi (-I): Update.
16194
16195 2002-08-20  Richard Henderson  <rth@redhat.com>
16196
16197         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
16198         (emit_block_move): Split out subroutines.
16199         (emit_block_move_via_movstr): New.
16200         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
16201         (emit_block_move_libcall_fn): New.  Construct function prototype for
16202         bcopy as well.
16203         (clear_storage): Split out subroutines.
16204         (clear_storage_via_clrstr): New.
16205         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
16206         (clear_storage_libcall_fn): New.  Construct function prototype for
16207         bzero as well.
16208         (emit_push_insn): Use emit_block_move.
16209         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
16210         (store_constructor): Likewise.
16211
16212 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
16213
16214         * objc/objc-act.c (building_objc_message_expr): Rename to
16215         current_objc_message_selector.
16216
16217 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
16218
16219         * objc/objc-act.c (build_ivar_chain): Remove.
16220         (objc_copy_list): Likewise.
16221         (get_class_ivars): Inline call to removed build_ivar_chain
16222         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
16223         slot; use that slot (rather than CLASS_IVARS) when accessing
16224         ivars for base classes.  Call copy_list and chainon instead of
16225         objc_copy_list.
16226         (build_private_template): Call get_class_ivars instead of
16227         build_ivar_chain.
16228         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
16229         (continue_class): Call get_class_ivars instead of
16230         build_ivar_chain.
16231         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
16232         of DECL_BIT_FIELD (which may have been cleared).
16233         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
16234
16235 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16236
16237         * genautomata.c (output_translate_vect, output_state_ainsn_table,
16238         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
16239         in output file.
16240         (output_internal_min_issue_delay_func): Initialize variable in
16241         output file.
16242
16243 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
16244
16245         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
16246         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
16247
16248 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
16249             Steve Ellcey  <sje@cup.hp.com>
16250
16251         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
16252         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
16253         * explow.c (trunc_int_for_mode): Abort when the mode is not
16254         a scaler integer mode.
16255         * combine.c (expand_compound_operation): Don't expand Vector
16256         or Complex modes into shifts.
16257         (expand_field_assignment): Don't do bitwise arithmatic and
16258         shifts on Vector or Complex modes.
16259         (simplify_comparison): Don't call trunc_int_for_mode
16260         for VOIDmode.
16261         * recog.c (general_operand): Likewise.
16262         (immediate_operand): Likewise.
16263         (nonmemory_operand): Likewise.
16264
16265 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
16266
16267         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
16268         multi-instruction SImode constant.  Add REG_EQUAL note.
16269         * config/rs6000/rs6000.md (movsi splitter): Use
16270         rs6000_emit_set_const.
16271
16272 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16273
16274         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
16275         the macro test controlling its use.
16276
16277 2002-08-18  H.J. Lu  (hjl@gnu.org)
16278
16279         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
16280         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
16281         gnu_ld=yes.
16282         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
16283         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
16284         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
16285         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
16286         here.
16287         (cris-*-linux*): Remove setting thread_file here.
16288
16289 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
16290
16291         PR preprocessor/7602
16292         * cppinit.c (path_include): Treat the system environment
16293         variables as being cxx_aware.
16294
16295 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
16296
16297         * c-decl.c (flexible_array_type_p): New function.
16298         (grokdeclarator, finish_struct): Use it.
16299         * doc/extend.texi: Document constraints on use of structures with
16300         flexible array members.
16301
16302 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
16303
16304         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
16305         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
16306         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
16307
16308 2002-08-16  Stan Shebs  <shebs@apple.com>
16309
16310         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
16311         for ObjC with -fnext-runtime.
16312         * doc/cpp.texi: Document it.
16313
16314 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
16315
16316         * doc/install.texi (Final installation): Replace links to individual
16317         build status pages with a link to a common page that lists them all.
16318
16319 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
16320
16321         * doc/invoke.texi: Fix typo.
16322
16323 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
16324
16325         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
16326
16327 2002-08-16  Andrew Haley  <aph@redhat.com>
16328
16329         * tree-inline.c: Add includes for Java inliner.
16330         (remap_decl): Don't handle anonymous types for Java.
16331         (remap_block): Add handling for Java trees.
16332         (copy_scope_stmt): Conditionalize for non-Java use only.
16333         (copy_body_r): Handle Java trees.  Add handling for
16334         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
16335         (initialize_inlined_parameters):  Handle Java trees.
16336         (declare_return_variable): Likewise.
16337         (expand_call_inline): Handle Java trees.
16338         (walk_tree): Likewise.
16339         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
16340         (add_stmt_to_compound): New function.
16341
16342 2002-08-15  Richard Henderson  <rth@redhat.com>
16343
16344         * Makefile.in (LOOSE_WARN): Remove -fno-common.
16345         (NOCOMMON_FLAG): New substitution point.
16346         (GCC_WARN_CFLAGS): Include it.
16347         * configure.in (ac_checking): Set nocommon_flag.
16348         (nocommon_flag): New substitution point.
16349
16350 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
16351
16352         * c-tree.h (skip_evaluation): Move declaration...
16353         * c-common.h: ... here.
16354         * c-typeck.c (build_external_ref): Don't assemble_external nor
16355         mark a tree as used if skip_evaluation is set.
16356         * c-parse.in (typeof): New non-terminal to set skip_evaluation
16357         around TYPEOF.
16358         (typespec_nonreserved_nonattr): Use it.
16359
16360 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
16361
16362         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
16363         (xcoff_debug_hooks): Update end_prologue.
16364         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
16365         * debug.h (end_prologue): Add file arg.
16366         (end_epilogue): Add line and file args.
16367         (dwarf2out_end_epilogue): Add line and file args.
16368         (vmsdbgout_after_prologue): Remove.
16369         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
16370         (dwarf2_debug_hooks): Update end_prologue.
16371         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
16372         (dwarfout_end_prologue): Add file arg.
16373         * final.c (vmsdbgout_after_prologue): Remove
16374         (final_end_function): Update end_epilogue call.
16375         (final_scan_insn): Update end_prologue call.
16376         * sdbout.c (sdbout_end_epilogue): Add line and file args.
16377         (sdbout_end_prologue): Add file arg.
16378         (sdb_debug_hooks): Update end_prologue.
16379         (sdb_begin_prologue): Update sdbout_end_prologue call.
16380         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
16381         vmsdbgout_end_function.
16382         (vmsdbgout_end_prologue): New function renamed from
16383         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
16384         (vmsdbgout_end_function): New function.
16385         (vmsdbgout_end_epilogue): Add line and file args. Call
16386         vmsdbgout_source_line.
16387         (write_pclines): Write only valid line numbers.
16388         (write_srccorr): Don't write source correlation records if 0 lines.
16389         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
16390
16391 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
16392
16393         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
16394         (_Unwind_Internal_Ptr): 32 bit version for use in
16395         read_encoded_value_with_base.
16396         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
16397         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
16398         right size.
16399
16400 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16401
16402         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
16403         signed/unsigned warnings.
16404
16405         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
16406         record_reg_classes): Likewise.
16407
16408         * reload.c (reload_inner_reg_of_subreg, push_reload,
16409         find_reloads_address_1): Likewise.
16410
16411 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
16412
16413         * rs6000.c (output_mi_thunk): Return to function section on
16414         TARGET_ELF.
16415
16416         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
16417
16418 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
16419
16420         * config/s390/s390.c (legitimize_address): Optimize loading
16421         of large displacements.
16422
16423 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
16424
16425         * config/alpha/alpha-protos.h: Update.
16426
16427         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
16428         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
16429         (alpha_linkage_symbol_p): New static function.
16430         (print_operand_address): Print linkage operand.
16431
16432         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
16433         variables.
16434         (reloc_kind): New enum.
16435         (struct alpha_funcs): New struct.
16436         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
16437
16438         (alpha_need_linkage): Rewrite.
16439         (alpha_use_linkage): New global function.
16440         (alpha_write_linkage): Rewrite and make static.
16441         (alpha_write_one_linkage): Rewrite
16442
16443         (alpha_start_function): Remove procedure descriptor output.
16444         (alpha_end_function): Write linkages at end of each function.
16445
16446         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
16447         (call_vms_1, call_value_vms_1): Rewrite.
16448
16449         * config/alpha/vms.h (ASM_FILE_END): Remove.
16450
16451 2002-08-14  Richard Henderson  <rth@redhat.com>
16452
16453         * ggc-page.c (RTL_SIZE): New.
16454         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
16455         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
16456
16457 2002-08-14  Richard Henderson  <rth@redhat.com>
16458
16459         * calls.c: Include target.h.
16460         * Makefile.in (calls.o): Update.
16461
16462         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
16463         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
16464
16465 2002-08-14  Richard Henderson  <rth@redhat.com>
16466
16467         * Makefile.in (LOOSE_WARN): Add -fno-common.
16468         * c-common.h (constant_string_class_name): Add missing extern.
16469
16470 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
16471
16472         PR preprocessor/7358
16473         * c-opts.c (check_deps_environment_vars): Ignore main file
16474         for SUNPRO_DEPENDENCIES.
16475         * cppfiles.c (stack_include_file): Ignore main file if
16476         appropriate.
16477         * cpplib.h (struct cpp_options): New member in deps.
16478         * doc/cppenv.texi: Update.
16479
16480 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16481
16482         PR preprocessor/7526
16483         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
16484
16485 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
16486
16487         * doc/invoke.texi (-a): Remove documentation.
16488         (-fprofile-arcs): Remove reference to -a, -ax options.
16489         * doc/gcov.texi (Gcov Data Files): Data might be merged.
16490
16491 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16492
16493         Fix PR/7566
16494         * c-semantics.c (genrtl_case_label): Don't (mis)use
16495         warning_with_decl.
16496
16497 2002-08-14  Dale Johannesen  <dalej@apple.com>
16498
16499         * explow.c (emit_stack_restore):  Emit memory clobbers
16500         preceding the stack pop, to prevent the scheduler from
16501         moving refs to variable arrays below this pop.
16502         * reload1.c (reload):  Preserve these clobbers for sched2.
16503         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
16504
16505 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16506
16507         * c-opts.c (c_common_post_options): Correct test.
16508
16509 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16510
16511         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
16512         order in call to fprintf.
16513
16514 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16515
16516         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
16517
16518 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
16519
16520         * reload.c (find_reloads): Handle constraint letters marked by
16521         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
16522         (alternative_allows_memconst): Likewise.
16523         * reload1.c (maybe_fix_stack_asms): Likewise.
16524         * recog.c (asm_operand_ok, preprocess_constraints,
16525         constrain_operands): Likewise.
16526         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
16527         * local-alloc.c (block_alloc, requires_inout): Likewise.
16528         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
16529
16530         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
16531         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
16532         * doc/tm.texi: Document these two new target macros.
16533
16534         * config/s390/s390.c (s390_expand_plus_operand): Accept already
16535         valid operands.
16536         (q_constraint): New function.
16537         config/s390/s390-protos.h (q_constraint): Declare it.
16538         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
16539         (EXTRA_MEMORY_CONSTRAINT): New macro.
16540
16541         * config/s390/s390.md: Throughout the machine description,
16542         replace all instances of the constraint combinations 'Qo'
16543         or 'oQ' with simply 'Q'.
16544
16545 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16546
16547         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
16548         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
16549         (LIBGCC2_CFLAGS): Compile with -mrelax.
16550
16551 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16552
16553         * doc/invoke.texi: Document -minmax for 68HC12.
16554
16555         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
16556         ("uminqi3"): Likewise.
16557         ("uminhi3", "umaxhi3"): Likewise.
16558
16559         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
16560         (TARGET_MIN_MAX): Define.
16561         (TARGET_SWITCHES): New option -minmax/-mnominmax.
16562
16563 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16564
16565         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
16566         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
16567
16568         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
16569         (ret, declare, farsym): New gas macros.
16570         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
16571         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
16572         and declare the symbol far when compiled with -mlong-calls.
16573         (__far_trampoline): New for 68HC12 trampoline code to invoke a
16574         far handler using jsr/bsr.
16575
16576         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
16577         (jsr): New macro to transform a 'jsr' into a 'call'.
16578
16579 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16580
16581         * doc/invoke.texi: Document -mlong-calls for 68HC12.
16582
16583         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
16584         -mlong-calls is specified.
16585         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
16586         assembler directives.
16587         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
16588         (TARGET_SWITCHES): Add -mlong-calls options.
16589         (current_function_far): Declare.
16590
16591         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
16592         into account the page register saved on the stack.
16593         (m68hc11_override_options): Take into account -mlong-calls option.
16594         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
16595
16596         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
16597         if the function is going to be in 68HC12 banked memory (-mlong-calls).
16598         ("*return_16bit"): Likewise.
16599         ("*return_void"): Likewise.
16600         ("call", "call_value"): Use call for a far function call.
16601
16602 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16603
16604         * toplev.c (parse_options_and_default_flags): Don't call
16605         post_options here.
16606         (general_init): Initialize GC, pools and tree hash here,
16607         instead of lang_independent_init.
16608         (lang_independent_init): Rename backend_init.
16609         (do_compile): Call post_options hook; exit early if there
16610         have been errors after switch processing.
16611         (toplev_main): Update.
16612
16613 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16614
16615         * c-pretty-print.h: Guard against multiple inclusion.
16616         Robustify macros.
16617         (pp_c_attributes): Declare.
16618         * c-pretty-print.c (pp_c_attributes): New function.
16619
16620 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16621
16622         * m68k.c (m68k_output_function_prologue,
16623         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
16624         and NEWS/MOTOROLA.
16625         * genattrtab.c: Remove dpx2 comment.
16626         * libgcc2.c (__enable_execute_stack): Delete versions for
16627         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
16628         sony_news/SYSTYPE_BSD.
16629         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
16630         __gmicro__, __i860__, __NeXT__ and __pyr__.
16631         * rtl.h: Remove convex comment.
16632         * varasm.c: Likewise.
16633
16634 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16635
16636         * c-opts.c (lang_flags): Const-ify.
16637         * ra-build.c (undef_table): Likewise.
16638         * ra.c (eliminables): Likewise.
16639
16640 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16641
16642         * tree.h: Guard against multiple inclusion.
16643
16644 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
16645
16646         * reload1.c (reload_cse_simplify): Before checking
16647         REG_FUNCTION_VALUE_P, check REG_P.
16648
16649 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
16650
16651         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
16652
16653 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16654
16655         * c-opts.c (c_common_init_options): Extra braces needed.
16656
16657 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
16658
16659         * sh.c (sh_init_builtins): Add PARAMS to declaration.
16660         (sh_media_init_builtins, sh_expand_builtin): Likewise.
16661         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
16662         (sh_expand_binop_v2sf): Likewise.
16663         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
16664         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
16665         (sh_initialize_trampoline): Likewise.
16666
16667 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
16668
16669         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
16670         new condition code modes.
16671         s390.c (s390_match_ccmode_set): Handle those new CC modes.
16672         (s390_select_ccmode): Likewise.
16673         (s390_branch_condition_mask): Likewise.
16674
16675         * s390-protos.h (s390_tm_ccmode): Declare.
16676         s390.c (s390_tm_ccmode): New function.
16677         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
16678
16679         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
16680         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
16681         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
16682
16683         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
16684         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
16685         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
16686         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
16687         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
16688
16689         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
16690         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
16691         "*cmpqi_ccs_0"): Remove, replace by ...
16692         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
16693         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
16694         "*tstqi", "*tstqi_cconly"): ... these new patterns.
16695
16696         ("*cmpsidi_ccs"): Remove, replace by ...
16697         ("*cmpsi_ccs_sign"): ... this new pattern.
16698         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
16699
16700         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
16701         ("*cli"): ... this new pattern.
16702
16703         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
16704         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
16705         New patterns.
16706         ("adddi3_64"): Rename to "*adddi3_64".
16707         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
16708         ("adddi3"): Adapt expander.
16709
16710         ("*addsi3_cc"): Allow "general_operand" for operand 2.
16711         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
16712         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
16713
16714         ("addhi3", "addqi3"): Remove, replace by ...
16715         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
16716
16717         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
16718         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
16719         ("subdi3"): Replace by insn and splitter "*subdi3_31".
16720         ("subdi3"): New expander.
16721
16722         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
16723
16724         ("subhi3", "subqi3"): Remove, replace by ...
16725         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
16726
16727         ("*muldi3_sign"): New pattern.
16728         ("muldi3"): Do not clobber CC.
16729         ("mulsi3"): Likewise.
16730         ("mulsi_6432"): Likewise.
16731
16732 2002-08-13  Denis Chertykov  <denisc@overta.ru>
16733
16734         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
16735         which can change CC0.
16736
16737 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
16738
16739         * gcse.c (adjust_libcall_notes): New function.
16740         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
16741
16742 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
16743
16744         * libgcc2.c (L_bb): Remove unneeded #includes.
16745         (__global_counters, __gthreads_active): Remove unused globals.
16746         (__bb_exit_func): Merge counts into files rather than appending.
16747         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
16748         (ALL_CFLAGS): ... to here.
16749
16750 2002-08-13  Denis Chertykov  <denisc@overta.ru>
16751
16752         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
16753         (function_epilogue): Don't calculate function size.
16754         (ip2k_set_compare): Don't use lookup_const_double.
16755         (asm_file_start): Initialization of commands_in_file removed.
16756         (asm_file_end): Output of commands_in_file removed.
16757
16758         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
16759         __INT_MAX__.
16760
16761 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16762
16763         * c-opts.c (c_common_init_options): Check option array is
16764         sorted if checking enabled.
16765
16766 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
16767
16768         * c-pretty-print.c: #include "c-tree.h".
16769         (pp_c_simple_type_specifier): Tweak.
16770         (pp_c_storage_class_specifier): New.
16771         (pp_c_function_specifier): Likewise.
16772         (pp_c_declaration_specifiers): Likewise.
16773         (pp_c_init_declarator): Likewise.
16774         (pp_c_declaration): Likewise.
16775         (pp_c_direct_declarator): Stub.
16776         (pp_c_declarator): Likewise.
16777         (pp_c_parameter_declaration): Likewise.
16778
16779 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16780
16781         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
16782         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
16783         struct deferred_opt): New.
16784         (COMMAND_LINE_OPTIONS): Add -M*.
16785         (missing_arg): Update.
16786         (c_common_decode_option): Handle -M*.
16787         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
16788         don't call cpp_post_options.
16789         (c_common_finish, check_deps_environment_vars): Update.
16790         * cppfiles.c (stack_include_file, handle_missing_header): Update.
16791         * cpphash.h (CPP_PRINT_DEPS): Remove.
16792         * cppinit.c: Don't include version.h.
16793         (cpp_create_reader): Don't call deps_init.  Initialize
16794         warn_long_long.
16795         (cpp_read_main_file): Init deps if necessary.
16796         (cpp_destroy): Conditionally free deps.
16797         (cpp_finish): Update.
16798         (no_tgt): Remove.
16799         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
16800         (cpp_post_options): Rename post_options.
16801         * cpplib.h (struct cpp_options): Remove some dependency options;
16802         move others to a new structure.
16803         (cpp_post_options): Remove.
16804         (cpp_finish): Comment.
16805         * fix-header.c (read_scan_file): Don't call cpp_post_options.
16806
16807 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
16808
16809         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
16810         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
16811         MMIX_rR_REGNUM as clobbered.
16812         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
16813
16814 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
16815
16816         * diagnostic.h (output_formatted_scalar): Rename from
16817         output_formatted_integer.
16818         * diagnostic.def: Add DK_DEBUG.
16819         * diagnostic.c (output_decimal): Adjust.
16820         (output_long_decimal): Likewise.
16821         (output_unsigned_decimal): Likewise.
16822         (output_octal): Likewise.
16823         (output_long_octal): Likewise.
16824         (output_hexadecimal): Likewise.
16825         (output_long_hexadecimal): Likewise.
16826         * c-pretty-print.c (pp_c_type_specifier): New function.
16827         (pp_c_specifier_qualifier_list): Likewise.
16828         (pp_c_abstract_declarator): Likewise.
16829         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
16830
16831 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
16832
16833         * doc/trouble.texi (Disappointments): Add static constructor and
16834         destructor dependency information for AIX.
16835
16836 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
16837
16838         * cpphash.h (struct printer): New from cppmain.c.
16839         (cpp_reader): New member.
16840         * cppmain.c (struct printer): Move to cpphash.h.
16841         (options, print): Remove.
16842         (account_for_newlines, print_line, maybe_print_line,
16843         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
16844         scan_translation_unit_trad, cb_line_change, cb_ident,
16845         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
16846         cb_def_pragma): Make reentrant.
16847
16848 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16849
16850         * real.c (ieee_64): Always define.
16851         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
16852         (dec_h): Not used yet, hide it.
16853         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
16854         macro controlling use.
16855         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
16856
16857 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
16858
16859         * i386.md (tablejump): Sign extend the operand.
16860         * i386.c (classify_argument): Fix missed case from previous patch.
16861
16862 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
16863
16864         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
16865         to c-copts.c.
16866         (warn_multichar): Die.
16867         (cb_register_builtins): Export.
16868         * c-common.h (warn_multichar, preprocess_file): Remove.
16869         (cb_register_builtins): New.
16870         * c-lang.c (c_init): Remove.
16871         (LANG_HOOKS_INIT): Use c_objc_common_init.
16872         * c-lex.c (init_c_lex): Don't canonicalize filename.
16873         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
16874         (preprocess_file): Make static.  Update for cpplib.
16875         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
16876         (c_common_post_options): Set some cpp options here.
16877         (c_common_init): Move from c-common.c.
16878         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
16879         * cpplib.h (struct cpp_options): Remove in_fname.
16880         (cpp_preprocess_file): Update.
16881         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
16882
16883 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16884
16885         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
16886
16887 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16888
16889         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
16890         backslash in comment preceeding macro definition.
16891         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
16892         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
16893         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
16894
16895 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
16896
16897         * expr.c (store_expr): In condition for checking if value is
16898         generated in TARGET, move call to expr_size last.
16899
16900 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16901
16902         * c-common.c (c_common_init): Call preprocess_file instead.
16903         (c_common_finish): Move to c-opts.c.
16904         * c-common.h (preprocess_file): new.
16905         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
16906         check_deps_environment_vars, c_common_finish): New.
16907         (c_common_decode_option): Update for out_fname and dependencies.
16908         * cppinit.c (init_dependency_output, output_deps): Remove.
16909         (cpp_destroy): Update prototype.
16910         (cpp_add_dependency_target): New.
16911         (cpp_read_main_file): Don't overlay a buffer.
16912         (cpp_finish): Take a deps output stream and write deps to it.
16913         Return the error count.
16914         (cpp_post_options): Don't canonicalize out_fname, or do anything
16915         with dependencies.
16916         * cpplib.h (struct cpp_options): Remove out_fname and
16917         preprocess_only.
16918         (cpp_add_dependency_target): New.
16919         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
16920         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
16921         set preprocess_only.  Don't handle the output stream directly.
16922
16923 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16924
16925         * dsp16xx.c (print_operand): Fix format specifier.
16926         * dsp16xx.md: Avoid automatic aggregate initialization.
16927         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
16928         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
16929         integer constant modifier.
16930         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
16931         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
16932         guards.
16933         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
16934         * v850.c (v850_select_section): Mark parameter with
16935         ATTRIBUTE_UNUSED.
16936         * global.c (global_alloc): Const-ify.
16937         * ra-colorize.c (hardregset_to_string): Fix format specifier.
16938
16939 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16940
16941         * darwin-c.c (darwin_pragma_options): Const-ify.
16942         * darwin.c (machopic_non_lazy_ptr_name,
16943         machopic_validate_stub_or_non_lazy_ptr): Likewise.
16944         (machopic_indirect_data_reference): Wrap variables in macros
16945         controlling their use.
16946         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
16947         (machopic_select_section): Use parentheses around && within ||.
16948         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
16949
16950 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16951
16952         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
16953         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
16954         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
16955         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
16956         mdr_try_remove_redundant_insns, track_w_reload,
16957         mdr_try_wreg_elim): Make function static to match prototype.
16958         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
16959         parameter with ATTRIBUTE_UNUSED.
16960
16961 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16962
16963         * arc.c (arc_init): Don't use ISO C style function definitions.
16964         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
16965         arm_get_strip_length, arm_strip_name_encoding): Likewise.
16966         * avr.h (progmem_section): Likewise.
16967         * h8300.c h8300_asm_insn_count): Likewise.
16968         * m32r.c (init_idents): Likewise.
16969         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
16970         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
16971         * xtensa.c (xtensa_build_va_list): Likewise.
16972
16973 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16974
16975         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
16976         * c-opts.c (parse_option): Rename find_opt.
16977         (set_std_c99): New function.
16978         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
16979         (missing_arg): Remove OPT_std_bad.  Handle -o.
16980         (c_common_decode_option): Handle input and output file names,
16981         -o and -remap.  Clean up -std= handling.
16982         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
16983         (cpp_handle_option): Similarly.  Don't handle filenames.
16984
16985 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
16986
16987         * i386.c (classify_argument): Fix computing of field's offsets.
16988
16989 2002-08-11  Andreas Jaeger  <aj@suse.de>
16990
16991         PR target/7531:
16992         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
16993
16994 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
16995
16996         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
16997         reference to clk_objective_c with flag_objc.
16998         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
16999         Likewise.
17000         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
17001
17002 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
17003
17004         * c-opts.c (set_std_cxx98, set_std_c89): New.
17005         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
17006         (c_common_decode_option): Handle new switches from cppinit.c.
17007         Add -std=gnu++98.
17008         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
17009         (no_arg, no_num): Remove.
17010         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
17011         switches apart from -lang-objc and lang-asm.
17012         (cpp_handle_option): Similarly.
17013         * cpplib.h (cpp_set_lang): New.
17014         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
17015         -std=gnu++98.
17016         * objc/lang-specs.h: Remove -ansi.
17017
17018 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
17019                                Graham Stott
17020
17021         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
17022         errors.
17023
17024 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17025
17026         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
17027         emit_jump_insn): Fix uninitialized variable.
17028         * gcov.c (init_line_info): Likewise.
17029         * genautomata.c (transform_3): Add braces around ambiguous
17030         else.
17031         * ifcvt.c (cond_exec_process_insns): Mark parameter with
17032         ATTRIBUTE_UNUSED.
17033         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
17034         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
17035         variable.
17036
17037         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
17038         warnings in output files.
17039
17040 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
17041
17042         * c-common.c (flag_objc): New.
17043         * c-common.h (c_language_kind): Get rid of clk_objective_c
17044         enum value.
17045         (flag_objc): New extern declaration.
17046         * c-decl.c (implicitly_declare): Call objc_check_decl
17047         instead of maybe_objc_check_decl.
17048         (finish_decl): Likewise.
17049         (grokfield): Likewise.
17050         (finish_struct): Likewise.
17051         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
17052         (maybe_objc_comptypes): Rename to objc_comptypes.
17053         (maybe_building_objc_message_expr): Rename to
17054         objc_message_selector.
17055         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
17056         replace with flag_objc as needed.
17057         * c-opts.c (c_common_init_options): Likewise.
17058         (c_common_decode_option): Likewise.
17059         * c-parse.in (init_reswords): Likewise.
17060         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
17061         (maybe_objc_comptypes): Rename to objc_comptypes.
17062         (maybe_building_objc_message_expr): Rename to
17063         objc_message_selector.
17064         * c-typeck.c (comptypes): Call objc_comptypes instead of
17065         maybe_objc_comptypes, and/or objc_message_selector instead of
17066         maybe_building_objc_message_expr.
17067         (comp_target_types): Likewise.
17068         (convert_for_assignment): Likewise.
17069         (warn_for_assignment): Likewise.
17070         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
17071         independently of those for other languages.
17072         * objc/objc-act.c (maybe_objc_comptypes): Delete.
17073         (maybe_objc_check_decl): Delete.
17074         (maybe_building_objc_message_expr): Rename to
17075         objc_message_selector.
17076         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
17077         clk_objective_c; set flag_objc flag.
17078
17079 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
17080
17081         * ifcvt.c (find_if_case_2): Test correct basic block for size.
17082
17083 2002-08-09  Dale Johannesen  <dalej@apple.com>
17084
17085         * config/rs6000/rs6000.md: Add sibcall patterns.
17086         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
17087         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
17088         Rewritten to handle sibcalls.
17089         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
17090         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
17091
17092 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
17093
17094         * profile.c (da_file_name): New static var.
17095         (init_branch_prob): Initialize it.
17096         (end_branch_prob): Remove da file.
17097
17098         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
17099         * configure.in (coverage_flags): Default to nothing.
17100         * configure: Rebuilt.
17101
17102 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
17103
17104         * Makefile.in (c-opts.o): Update
17105         * c-opts.c: Include intl.h.
17106         (print_help): Move from cppinit.c.  Remove unused options.
17107         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
17108         (missing_arg): Complain for switches without an argument.
17109         (c_common_decode_option): Reject missing joined arguments.
17110         Handle new switches from cppinit.c.
17111         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
17112         (cpp_handle_option): Similarly.
17113         (print_help): Moved to c-opts.c.
17114         * cpplib.h (struct cpp_options): Remove help_only.
17115         * gcc.c (cpp_unique_options): Remove -$.
17116         * doc/cppopts.texi: Undocument -h.
17117
17118 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
17119
17120         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
17121         legitimate constant.
17122         (legitimate_pic_operand_p): Neither pic operand.
17123         (legitimate_address_p): But legitimate address.
17124         (get_thread_pointer): Generate MEM/u instead of CONST around
17125         UNSPEC_TP.
17126         (print_operand): Remove printing of UNSPEC_TP.
17127         (print_operand_address): And print it here.
17128
17129 2002-08-08  Devang Patel  <dpatel@apple.com>
17130
17131         * objc/objc-act.c (build_selector_translation_table): Issue warning,
17132         when  -Wselector is used,if method for which selector is being
17133         created does not exist.
17134
17135 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
17136
17137         * config/sh/sh.c (prepare_move_operands): Only call
17138         target_reg_operand if TARGET_SHMEDIA.
17139
17140 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
17141
17142         * config/rs6000/rs6000.h, config/rs6000/aix.h,
17143         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
17144         two patches.
17145         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
17146
17147 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
17148             Richard Henderson  <rth@redhat.com>
17149
17150         * emit-rtl.c (gen_rtx_REG): After reload, only return
17151         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
17152
17153 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
17154
17155         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
17156         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
17157         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
17158         macro.
17159
17160 2002-08-08  Adam Nemet  <anemet@lnxw.com>
17161
17162         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
17163         register.
17164         (thumb_expand_prologue): Likewise.
17165         (thumb_output_function_prologue): Likewise.
17166         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
17167         the additional push of the PIC register.
17168
17169 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
17170
17171         * configure.in (enable_coverage): New enable switch.
17172         * configure: Rebuilt.
17173         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
17174         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
17175         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
17176         (mostlyclean): Remove coverage files.
17177         * doc/install.texi: Document enable_coverage.
17178
17179         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
17180         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
17181         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
17182         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
17183         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
17184         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
17185         files.
17186
17187 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
17188
17189         * c-opts.c (cpp_opts): New.
17190         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
17191         (c_common_decode_options): Handle cpplib switches.
17192         (c_common_init_options): Set cpp_opts.
17193         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
17194         (cpp_handle_option): Similarly.
17195
17196 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
17197
17198         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
17199         (TARGET_ALTIVEC_ABI): Same.
17200         (TARGET_ALTIVEC_VRSAVE): Same.
17201
17202         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
17203         icode not CODE_FOR_nothing.  Change switch to if.
17204
17205 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
17206
17207         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
17208
17209 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
17210
17211         * stor-layout.c (place_union_field): For bitfields if
17212         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
17213         TYPE_USER_ALIGN.
17214
17215 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17216
17217         * pa.c (struct deferred_plabel): Constify name field.
17218
17219 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
17220
17221         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
17222
17223 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17224
17225         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
17226         local_prefix are the same.
17227         * configure: Rebuilt.
17228
17229 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
17230             Richard Henderson  <rth@redhat.com>
17231
17232         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
17233         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
17234         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
17235         (place_field): Likewise.
17236         * config/i386/i386.c (x86_field_alignment): Don't check
17237         DECL_USER_ALIGN here.
17238         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
17239         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
17240         prototype.
17241         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
17242         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
17243         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
17244         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
17245         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
17246         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
17247
17248 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
17249
17250         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
17251         * c-common.c: Don't include tree-inline.h.
17252         (c_common_init_options, c_common_post_options): Move to c-opts.c.
17253         * c-common.h (c_common_decode_option): New.
17254         * c-decl.c (c_decode_option): Remove.
17255         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
17256         * c-opts.c: New file.
17257         * c-tree.h (c_decode_option): Remove.
17258         * doc/passes.texi: Update.
17259         * objc/objc-act.c (objc_decode_option): Remove.
17260         * objc/objc-act.h (objc_decode_option): Remove.
17261         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
17262         c_common_decode_option.
17263
17264 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
17265
17266         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
17267         dependency on TARGET_DOUBLE_FLOAT.
17268
17269 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
17270
17271         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
17272         overwrite callee-save registers.  Fix comment.
17273
17274 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
17275
17276         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
17277         in target_flags based on ISA, if it was not set on the command
17278         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
17279         support Branch Likely instructions.
17280         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
17281         (TARGET_BRANCHLIKELY): Likewise.
17282         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
17283         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
17284         ISA_HAS_BRANCHLIKELY.
17285         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
17286         * doc/invoke.texi: Document new MIPS -mbranch-likely and
17287         -mno-branch-likely options.
17288
17289 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17290
17291         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
17292
17293         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
17294         $(GCONFIG_H).
17295
17296 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
17297
17298         * c-decl.c (duplicate_decls): Error out for incompatible TLS
17299         declarations.
17300
17301         * testsuite/gcc.dg/tls/diag-3.c: New.
17302
17303 2002-08-06  Dale Johannesen  <dalej@apple.com>
17304
17305         * c-common.c (fname_decl): Use line number 0 for
17306         __func__, to avoid confusing debuggers.
17307
17308 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
17309
17310         * gcov.c: Tidy.
17311         (struct line_info, struct coverage): New structures.
17312         (gcov_file_name, gcov_file): Remove globals.
17313         (output_data): Take source file parameter. Fix memory leak. Break
17314         up into ...
17315         (init_line_info, output_line_info, make_gcov_file_name,
17316         accumulate_branch_counts): ... here.
17317         (calculate_branch_probs, function_summary): Adjust.
17318         (main): Adjust.
17319         (function_*): Remove global variables.
17320
17321 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17322
17323         * dwarf2out.c: Remove unused macros.
17324
17325 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17326
17327         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
17328
17329 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17330
17331         * cppinit.c (struct lang_flags): Rename trigraphs std.
17332         (set_lang): Update.
17333         * cpplib.h (struct cpp_options): New member std.
17334         * cppmacro.c (_cpp_builtin_macro_text): Use std.
17335         (collect_args): Flag whether to swallow a possible future
17336         comma pasted with varargs.
17337         (replace_args): Use this flag.
17338         * doc/cpp.texi: Update varargs extension documentation.
17339
17340 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17341
17342         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
17343
17344 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17345
17346         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
17347         and MODE_CLASS_INT modes.
17348
17349 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17350
17351         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
17352         --{enable,disable}-threads is given to configure.
17353         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
17354         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
17355         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
17356         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
17357         Remove thread_file setting here.
17358
17359 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
17360
17361         * doc/install.texi (Binaries): Update Bull Freeware URL.
17362
17363 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17364
17365         * doc/gcc.texi (Top): Rename Index to Keyword Index.
17366
17367 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
17368
17369         * gcov.c (output_data): Round to % to nearest, tweak formatting.
17370
17371 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
17372
17373         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
17374         of the operands into MINUS_EXPR if code is PLUS_EXPR.
17375
17376 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
17377
17378         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
17379         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
17380         drectve_section): Define.
17381         * config/i386/t-interix: Replace interix.o rule with winnt.o.
17382         * config/i386/interix.c: Remove.
17383
17384 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
17385
17386         * attribs.c: Don't include obstack.h.
17387         * builtins.c: Likewise.
17388         * cfganal.c: Likewise.
17389         * cfgbuild.c: Likewise.
17390         * cfgcleanup.c: Likewise.
17391         * emit-rtl.c: Likewise.
17392         * loop.c: Likewise.
17393         * stmt.c: Likewise.
17394
17395         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
17396
17397 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
17398
17399         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
17400
17401 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
17402
17403         * doc/invoke.texi: Remove duplicated paragraph describing
17404         TARGET_SWITCHES.
17405
17406 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
17407
17408         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
17409         * collect2.h (permanent_obstack): Delete declaration.
17410         * collect2.c (permanent_obstack): Delete definition.
17411         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
17412         * expr.c: Don't include obstack.h.
17413         (permanent_obstack): Delete declaration.
17414         * function.c: Don't include obstack.h.
17415         (permanent_obstack): Delete declaration.
17416         * integrate.c: Don't include obstack.h.
17417         (function_maybepermanent_obstack): Delete declaration.
17418         * print-tree.c (debug_tree): Use x*alloc not permalloc.
17419         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
17420         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
17421         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
17422         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
17423         of permalloc, expralloc, perm_calloc.
17424         * tree.c (permanent_obstack): Delete definition.
17425         (init_ttree): Rename from init_obstacks.
17426         (permalloc): Delete.
17427         (perm_calloc): Delete.
17428         (dump_tree_statistics): Don't print information about
17429         permanent_obstack.
17430         * varasm.c (assemble_start_function): Use xstrdup instead of
17431         permalloc/strcpy.
17432         (assemble_variable): Likewise.
17433         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
17434         permalloc.
17435         (unicosmk_add_extern): Likewise.
17436         * config/c4x/c4x.c (c4x_external_ref): Likewise.
17437         (c4x_global_label): Likewise.
17438         * config/frv/frv.c (frv_encode_section_info): Likewise.
17439         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
17440         (i386_pe_record_exported_symbol): Likewise.
17441         * config/mips/mips.c (mips_output_external): Likewise.
17442         (mips_output_external_libcall): Likewise.
17443         * config/pa/pa.c: (permanent_obstack): Delete declaration.
17444         (output_call): Use ggc_strdup instead of allocating on
17445         permanent_obstack.
17446         * config/romp/romp.c: Include ggc.h.
17447         (get_symref): Don't declare permanent_obstack, use ggc_strdup
17448         intead of permanent_obstack.
17449         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
17450         instead of permalloc.
17451         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
17452         instead of permalloc
17453         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
17454         instead of permalloc.
17455         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
17456         permalloc.
17457
17458 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
17459
17460         Contribute a port developed primarily by Michael Meissner,
17461         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
17462         * config.gcc: Add frv-elf target.
17463         * config/frv/cmovd.c: New file.
17464         * config/frv/cmovh.c: New file.
17465         * config/frv/cmovw.c: New file.
17466         * config/frv/frv-abi.h: New file.
17467         * config/frv/frv-asm.h: New file.
17468         * config/frv/frv-modes.def: New file.
17469         * config/frv/frv-protos.h: New file.
17470         * config/frv/frv.c: New file.
17471         * config/frv/frv.h: New file.
17472         * config/frv/frv.md: New file.
17473         * config/frv/frvbegin.c: New file.
17474         * config/frv/frvend.c: New file.
17475         * config/frv/lib1funcs.asm: New file.
17476         * config/frv/media.h: New file.
17477         * config/frv/modi.c: New file.
17478         * config/frv/t-frv: New file.
17479         * config/frv/uitod.c: New file.
17480         * config/frv/uitof.c: New file.
17481         * config/frv/ulltod.c: New file.
17482         * config/frv/ulltof.c: New file.
17483         * config/frv/umodi.c: New file.
17484         * config/frv/xm-frv.h: New file.
17485
17486         * config/frv/media.h: Removed again.
17487
17488 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17489
17490         * gcov.c (bb_file_time): New static variable.
17491         (object_directory): May also be object file.
17492         (preserve_paths): New static variable.
17493         (print_usage): Adjust.
17494         (options): Adjust.
17495         (process_args): Adjust.
17496         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
17497         file. Find modification date on bb file.
17498         (read_profile): Don't rewind a NULL file.
17499         (format_hwint): New static function.
17500         (function_summary): Use format_hwint.
17501         (output_data): SOURCE_FILE_NAME is never relative to
17502         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
17503         mangling. Adjust output format to make it more machine readable.
17504         * doc/gcov.texi: Document & clarify semantics.
17505
17506 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
17507
17508         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
17509
17510 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17511
17512         * gcc.c (cc1_options): Pass output file as auxbase when
17513         appropriate.
17514         * profile.c (init_branch_prob): FILENAME has already had ending
17515         stripped.
17516         * final.c (end_final): Likewise.
17517         * toplev.c (aux_base_name): New global.
17518         (compile_file): Pass aux_base_name to init init_branch_prob and
17519         end_final.
17520         (independent_decode_option, case 'a'): New auxinfo options.
17521         (case 'd'): Protect against mising basename.
17522         (do_compile): Initialize aux_base_name.
17523         * toplev.h (aux_base_name): New global.
17524         * doc/invoke.texi: Adjust documentation.
17525
17526 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17527
17528         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
17529         of TARGET_ALIGN_DOUBLE.
17530
17531 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
17532
17533         * diagnostic.c (inform): New function.
17534         * diagnostic.h (inform): Declare.
17535
17536 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
17537
17538         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
17539         (movhi_internal): Same.
17540         (movqi_internal): Same.
17541         (movdi_internal64): Same.
17542
17543         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
17544
17545         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
17546         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
17547         (COMMON_ASM_OP): Define.
17548         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
17549         Use ALIGN parameter.
17550         (LOCAL_COMMON_ASM_OP): Define.
17551         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
17552
17553 2002-08-03  Roger Sayle  <roger@eyesopen.com>
17554
17555         * builtins.def: Define new builtin functions exp, expf, expl,
17556         log, logf and logl (and their __builtin_* variants).
17557         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
17558         Define exp_optab and log_optab.
17559         * optabs.c (init_optans): Initialize exp_optab and log_optab.
17560         * genopinit.c (optabs): Implement exp_optab and log_optab
17561         using exp?f2 and log?f2 patterns.
17562         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
17563         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
17564         (expand_builtin): Ignore the new builtins (and all cos and
17565         sin variants) when not optimizing.  Expand new builtins via
17566         expand_builtin_mathfn when flag_unsafe_math_optimizations.
17567
17568         * doc/extend.texi: Document new exp and log builtins.
17569         * doc/md.texi: Document new exp?f2 and log?f2 patterns
17570         (and previously undocumented cos?f2 and sin?f2 patterns).
17571
17572 2002-08-03  Jason Merrill  <jason@redhat.com>
17573
17574         * explow.c (int_expr_size): New fn.
17575         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
17576         * expr.h: Declare it.
17577
17578 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
17579
17580         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
17581         gengtype-* dependencies.
17582
17583 2002-08-02  Eric Christopher  <echristo@redhat.com>
17584
17585         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
17586         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
17587         #ifndef to #undef.
17588         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
17589
17590 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
17591
17592         PR optimize/7067
17593         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
17594         small if optimizing for size.
17595
17596 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
17597
17598         * configure.in (FORBUILD): Use $build_alias.
17599         * configure: Regenerated.
17600
17601 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
17602
17603         * config.gcc: Don't include mips/abi64.h in $tm_file.
17604         * hard-reg-set.h (call_really_used_regs): Declare.
17605         * config/mips/abi64.h: Remove file.
17606         * config/mips/linux.h,
17607         * config/mips/iris6.h: Don't include it.
17608         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
17609         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
17610         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
17611         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
17612         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
17613         Bring across definitions from abi64.h.
17614         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
17615         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
17616         (struct mips_args): Use it.
17617         * config/mips/mips.c (mips_conditional_register_usage): Define.
17618
17619 2002-08-02  Jason Merrill  <jason@redhat.com>
17620
17621         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
17622         * langhooks.c (lhd_expr_size): Define default.
17623         * langhooks.h (struct lang_hooks): Add expr_size.
17624         * explow.c (expr_size): Call it.
17625         * expr.c (store_expr): Don't copy an expression of size zero.
17626         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
17627         to store.
17628         * Makefile.in (builtins.o): Depend on langhooks.h.
17629
17630 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17631
17632         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
17633         * ra-debug.c: Include "tm_p.h".
17634         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
17635
17636 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
17637
17638         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
17639         when not honoring signalling NaNs.
17640         (simplify_ternary_operation): a == b has a definite value
17641         when not honoring NaNs.
17642
17643 2002-08-02  Jason Merrill  <jason@redhat.com>
17644
17645         * gdbinit.in (pct): New macro.
17646
17647 2002-08-01  Stan Shebs  <shebs@apple.com>
17648             Andreas Tobler  <toa@pop.agri.ch>
17649
17650         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
17651         plays nice with Darwin headers.
17652         (_BSD_RUNE_T_DEFINED_): Likewise.
17653
17654 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
17655
17656         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
17657         * cppinit.c (cpp_post_options): Likewise.
17658
17659         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
17660         warning about 'LL' suffix (but not 'ULL' etc) when
17661         -Wno-long-long is in effect.
17662
17663         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
17664         Check for failing time()/localtime(), issue a warning, and
17665         make __TIME__ and __DATE__ expand to fallback strings.
17666
17667         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
17668         and __TIME__ when the date and time cannot be determined.
17669
17670 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
17671
17672         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
17673
17674 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
17675
17676         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
17677
17678 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
17679
17680         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
17681         (mipsisa64sb1el-*-elf*): Likewise.
17682         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
17683         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
17684         (TARGET_SB1, TUNE_SB1): New macros.
17685         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
17686         -mtune flags.
17687
17688 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
17689
17690         * varasm.c (asm_emit_uninitialized): Return false if global BSS
17691         and ASM_EMIT_BSS not supported by target.
17692         (assemble_variable): Do not duplicate uninitialized logic.
17693         Fall through if asm_emit_uninitialized failed.
17694
17695 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
17696
17697         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
17698
17699 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
17700
17701         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
17702         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
17703
17704         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
17705         HOST_BITS_PER_WIDE_INT == 64.
17706
17707 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17708
17709         * df.c (df_insn_table_realloc): Change parameter to unsigned.
17710         * optabs.c (expand_binop): Make variable unsigned.
17711         * simplify-rtx.c (simplify_subreg): Likewise.
17712         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
17713
17714 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17715
17716         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
17717
17718 2002-08-01  Richard Henderson  <rth@redhat.com>
17719
17720         * toplev.c (parse_options_and_default_flags): Don't set
17721         flag_reorder_blocks for -Os.
17722
17723         * config/avr/avr.c (avr_optimization_options): Remove.
17724         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
17725         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
17726         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
17727
17728 2002-08-01  H.J. Lu <hjl@gnu.org>
17729             Richard Henderson  <rth@redhat.com>
17730
17731         * output.h (DECL_READONLY_SECTION): Remove.
17732         (decl_readonly_section): Declare.
17733         * varasm.c (decl_readonly_section): New.
17734         (default_section_type_flags, default_select_section): Use it.
17735         * config/arm/pe.c (arm_pe_unique_section): Likewise.
17736         * config/i386/interix.c (i386_pe_unique_section): Likewise.
17737         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
17738         * config/mcore/mcore.c (mcore_unique_section): Likewise.
17739         * config/mips/mips.c (mips_unique_section): Likewise.
17740
17741 2002-08-01  Richard Henderson  <rth@redhat.com>
17742
17743         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
17744         refers to a subroutine parameter.
17745
17746 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
17747
17748         * varasm.c (assemble_visibility): Strip name encoding.
17749
17750 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
17751
17752         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
17753         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
17754         when there is no frame pointer.
17755         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
17756         registers properly.
17757         * config/ns32k/__unorddf2.c: New file.
17758         * config/ns32k/__unordsf2.c: New file.
17759         * config/ns32k/t-ns32k: New file.
17760         * config.gcc (ns32k-*-netbsd*): Use it.
17761
17762 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
17763
17764         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
17765
17766 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17767
17768         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
17769
17770 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
17771
17772         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
17773
17774 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
17775
17776         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
17777
17778 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
17779
17780         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
17781         n_sets): Removed.
17782         (expr_hash_table, set_hash_table): Type changed to ...
17783         (struct hash_table): New type.
17784         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
17785         insert_expr_in_table, insert_set_in_table, compute_hash_table,
17786         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
17787         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
17788         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
17789         (alloc_hash_table): New.
17790         (free_set_hash_table, free_expr_hash_table): Merged to ...
17791         (free_hash_table): New.
17792         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
17793         (compute_hash_table_work): New.
17794         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
17795         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
17796         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
17797         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
17798         hoist_code, one_code_hoisting_pass,
17799         trim_ld_motion_mems): Altered due to changed type of hash tables.
17800
17801 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
17802
17803         * final.c (output_alternate_entry_point):
17804         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
17805
17806 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17807
17808         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
17809         avoid ISO C style function definition.
17810
17811         * expr.c (expand_assignment): Delete unused variable.
17812
17813 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
17814
17815         * c-common.c (cb_register_builtins): Set
17816         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
17817         is given, and to 0 otherwise.
17818         * combine.c (simplify_if_then_else): HONOR_NANS
17819         implies FLOAT_MODE_P.
17820
17821 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17822
17823         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
17824         (cpp_handle_option): Don't handle it.
17825         (print_help): Update.
17826         * doc/cppopts.texi: Update.
17827
17828 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17829
17830         * c-common.c (cb_register_builtins): If C++, define
17831         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
17832         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
17833 cp:
17834         * lang-specs.h: Simplify in accordance with new code in
17835         c-common.c.
17836
17837 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17838
17839         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
17840         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
17841         * c-decl.c: Move all warning and flag variables to c-common.c.
17842         * c-format.c: Move all warning variables to c-common.c.
17843         * c-tree.h: Move all warning and flag declarations to c-common.h.
17844         * objc/objc-act.c: Move all warning variables to c-common.c.
17845         (flag_warn_protocol): Rename warn_protocol.
17846
17847 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17848
17849         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
17850
17851 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
17852
17853         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
17854         .section prefix.
17855
17856 2002-07-31  Stan Shebs  <shebs@apple.com>
17857
17858         * config.gcc (i[34567]86-*-darwin*): New configuration.
17859         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
17860         defining.
17861         (TARGET_ENCODE_SECTION_INFO): Ditto.
17862         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
17863         * config/darwin.c (machopic_indirect_data_reference): Remove
17864         setting of RTX_UNCHANGING_P.
17865         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
17866         not to be applied to sums.
17867         * config/i386/t-darwin: New file.
17868         * config/i386/darwin.h: New file.
17869         * config/i386/i386.h (TARGET_MACHO): Add default definition.
17870         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
17871         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
17872         label and not the GOT add.
17873         (constant_address_p): For Mach-O, seeing a CONST is enough.
17874         (legitimate_pic_address_disp_p): Add a Mach-O case.
17875         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
17876         (legitimize_pic_address): Use generic Mach-O code to legitimize.
17877         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
17878         if outputting a difference.
17879         (ix86_output_addr_diff_elt): Add Mach-O case.
17880         (ix86_expand_move): Similarly.
17881         (ix86_expand_call): Similarly.
17882         (current_machopic_label_num): New global.
17883         (machopic_output_stub): New function.
17884         (ix86_value_regno): New function.
17885         (ix86_function_value): Use it instead of VALUE_REGNO.
17886         (ix86_libcall_value): Ditto.
17887         * config/i386/unix.h (VALUE_REGNO): Remove.
17888
17889 2002-07-31  Graham Stott  <grahas@btinternet.com>
17890
17891         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
17892         hash for LABEL_REF's.
17893
17894 2002-07-31  Graham Stott  <grahams@btinternet.com>
17895
17896         * config/rs6000/rs6000.c (spe_init_builtins,
17897         altivec_init_builtins, rs6000_common_init_builtins):
17898         Replace ANSI with K&R function def.
17899
17900 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
17901
17902         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
17903         for CCFPmode.
17904
17905 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17906
17907         * config/mips/crtn.asm: Don't use __mips16 to determine the
17908         return-address offset.  Define RA to a suitable temporary
17909         register for the return address.
17910
17911 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17912
17913         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
17914         constraints to 'd'.
17915
17916 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
17917
17918         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
17919         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
17920         patch on 2002-07-29.)
17921         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17922
17923 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17924
17925         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
17926         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
17927         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
17928         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
17929         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
17930         (ASM_GLOBALIZE_LABEL): Delete.
17931         (GLOBAL_ASM_OP): Define.
17932
17933         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
17934
17935         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
17936         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
17937
17938 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
17939
17940         * doc/extend.texi (Hints implementation): Document that GCC
17941         mostly ignores `register'.
17942
17943 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
17944
17945         * flags.h: Declare flag_finite_math_only.
17946         Use it in definition of HONOR_NANS and
17947         HONOR_INFINITIES.
17948         * c-common.c (cb_register_builtins): Emit
17949         __FINITE_MATH_ONLY__ when flag_finite_math_only
17950         is set.
17951         * combine.c (simplify_if_then_else): If
17952         flag_finite_math_only is set, a == b has a
17953         definite value.
17954         * toplev.c: Initialize flag_finite_math_only.
17955         (set_flags_fast_math): Set it on -ffast-math.
17956         (flag_fast_math_set_p): Test it.
17957         * doc/invoke.texi: Document -ffinite-math-only.
17958
17959 2002-07-30  Richard Henderson  <rth@redhat.com>
17960
17961         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
17962         (noce_process_if_block): Likewise.
17963
17964 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
17965
17966         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
17967         Bail out early if false_expr is NULL and we'd crash due to this.
17968         * genemit.c (gen_expand): Recognize return insns even if the return
17969         appears in a parallel.
17970         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
17971         * config/fp-bit.c: Likewise.
17972         * doc/tm.texi: Document it.
17973
17974 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
17975             Zack Weinberg  <zack@codesourcery.com>
17976
17977         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
17978         CODE_FOR_nothing.  Change switch to if.
17979         (rs6000_expand_binop_builtin): Same.
17980         (rs6000_expand_builtin): Expand builtin if target support enabled.
17981         (rs6000_init_builtins): Init builtin if target support enabled.
17982         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
17983
17984 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17985
17986         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
17987
17988 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
17989
17990         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
17991
17992 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
17993
17994         * sh.md (cond_delay_slot): New attribute.
17995         (cbranch delay): Use it for anulled-true case.
17996         (stuff_delay_slot): New pattern.
17997         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
17998         delay slot insn.
17999         (gen_far_branch): Emit stuff_delay_slot pattern.
18000
18001 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
18002
18003         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
18004
18005 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
18006
18007         * fold-const.c: Fix comment typos.
18008         * gcse.c: Likewise.
18009         * reload1.c: Likewise.
18010
18011 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18012
18013         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
18014         for TARGET_SPE.
18015
18016 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
18017
18018         * c-pretty-print.h (pp_c_statement): Declare.
18019         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
18020         (pp_c_statement): Define.
18021
18022 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18023
18024         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
18025         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
18026         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
18027         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
18028         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
18029         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
18030
18031         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
18032         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
18033
18034 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
18035
18036         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
18037         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
18038         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
18039         (pp_c_expression): Update.
18040
18041 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18042
18043         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
18044         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
18045         * alpha/vms-ld.c (main): Likewise.
18046         * dsp16xx.c (double_reg_to_memory): Likewise.
18047         * mcore.c (mcore_expand_prolog): Likewise.
18048         * cppfiles.c (read_name_map): Likewise.
18049         * gensupport.c (process_rtx, identify_predicable_attribute,
18050         alter_test_for_insn): Likewise.
18051         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
18052
18053 2002-07-29  Roger Sayle  <roger@eyesopen.com>
18054
18055         * builtins.c (expand_builtin):  Change the default behavior to
18056         only issue an error if the builtin function doesn't have a
18057         fallback library call.  Remove several cases handled by the
18058         new default.
18059
18060 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
18061
18062         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
18063         floating point format of the target is IEEE.
18064         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
18065         format of the target is DEC.
18066
18067 2002-07-29  Richard Henderson  <rth@redhat.com>
18068
18069         * unroll.c (verify_addresses): Remove.
18070         (find_splittable_givs): Never split DEST_ADDR givs.
18071
18072 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
18073
18074         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
18075         is exhaustive.
18076         (Files): Improve documentation on generated source files.
18077
18078         * doc/extend.texi (Translation implementation): Document what
18079         diagnostics look like.
18080         (Identifiers implementation): Document that there's normally no
18081         limit on identifier names.
18082         (Integers implementation): Document two's complement.
18083         (Hints implementation): Document that GCC honors 'inline', mostly.
18084         (Preprocessing directives implementation): Document that GCC
18085         requires the current time.
18086
18087 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
18088
18089         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
18090         (pp_initializer): New macro.
18091         (pp_c_initializer): Declare.
18092         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
18093         (pp_c_initializer): Define.
18094         (pp_c_initializer_list): New function.
18095         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
18096         VECTOR_CST, CONSTRUCTOR.
18097         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
18098         IMAGPART_EXPR.
18099         (pp_c_cast_expression): Handle FLOAT_EXPR.
18100         (pp_c_assignment_expression): Handle INIT_EXPR.
18101         (pp_c_expression): Update.
18102
18103 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
18104
18105         * objc/objc-act.c (objc_init): Return immediately if filename
18106         is NULL.
18107
18108 2002-07-29  Eric Christopher  <echristo@redhat.com>
18109
18110         * config/mips/elf.h: Remove ecoff.h and gofast includes.
18111         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
18112         (SDB_DEBUGGING_INFO): Undefine.
18113         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
18114         (PUT_SDB_SIZE): Remove.
18115         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
18116         (STARTFILE_SPEC): Add isa3264 define.
18117         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
18118         * config/mips/ecoff.h: Remove. and here...
18119         * config/mips/iris3.h: and here...
18120         * config/mips/sni-svr4.h: and here...
18121         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
18122         Add assembler -mmdebug options for non-dwarf debugging.
18123         * config/mips/r3900.h: Remove debug info defines.
18124         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
18125         * config/mips/isa3264.h: Ditto.
18126         * config/mips/t-isa3264: Fix up for file removal and gofast configure
18127         change.
18128         * config/mips/t-elf: Ditto.
18129         * config/mips/t-ecoff: Ditto.
18130         * config/mips/t-r3900: Ditto.
18131         * config/mips/t-iris5-6: Ditto.
18132         * config/mips/t-isa3264: Ditto.
18133         * config/mips/t-linux: Remove.
18134         * config/mips/t-netbsd: Remove.
18135         * config/mips/t-mips: New file.
18136         * config/mips/t-gofast: Ditto.
18137         * config/mips/netbsd.h: Remove unnecessary undefines.
18138         * config/mips/linux.h: Remove #include of mips.h.
18139         * config.gcc: Add mips.h include for elf targets. Remove tm_file
18140         for ecoff. Add gofast configure option for mips.
18141
18142 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
18143
18144         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
18145         linker scripts use STARTUP directives consistently.
18146         * configure: Regenerate.
18147         * config.in: Regenerate.
18148         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
18149         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
18150         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18151         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
18152         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
18153         will be the same.
18154
18155 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18156
18157         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
18158
18159 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18160
18161         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
18162
18163 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
18164
18165         * config/rs6000/rs6000.md: Move altivec patterns from here...
18166
18167         * config/rs6000/altivec.md: ...to here.
18168
18169 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18170
18171         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
18172
18173 2002-07-29  Richard Henderson  <rth@redhat.com>
18174
18175         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
18176         set_mem_attributes and add BITPOS argument.  Subtract it from
18177         OFFSET when same is adjusted.
18178         (set_mem_attributes): New wrapper function.
18179         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
18180         remove offset adjustment hack.
18181         * expr.h (set_mem_attributes_minus_bitpos): Declare.
18182
18183 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
18184
18185         * Makefile.in (C_OBJS): Include c-pretty-print.o
18186         (c-pretty-print.o): Add depency rule.
18187         * pretty-print.h: Add more macros.
18188         * c-pretty-print.c: New file.
18189         * c-pretty-print.h: Likewise.
18190
18191 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18192
18193         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
18194         constants to __ev64_s32__.
18195         (__internal_ev_mwhgsmian): Same.
18196         (__internal_ev_mwhgsmfan): Same.
18197         (__internal_ev_mwhgssfan): Same.
18198         (__internal_ev_mwhgumiaa): Same.
18199         (__internal_ev_mwhgsmiaa): Same.
18200         (__internal_ev_mwhgsmfaa): Same.
18201         (__internal_ev_mwhgssfaa): Same.
18202
18203 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
18204
18205         * varasm.c (assemble_variable): Narrow test for uninitialized
18206         without BSS target support.
18207
18208 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
18209
18210         * profile.c: Add file comment describing the overall algorithm and
18211         structures.
18212         (struct edge_info): Add comments.
18213         (struct bb_info): Add comments.
18214         * basic-block.h (EDGE_*): Add comments.
18215         * doc/gcov.texi (Gcov Data Files): Document bit flags.
18216
18217 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
18218
18219         * config/xtensa/elf.h, config/xtensa/linux.h
18220         (TARGET_OS_CPP_BUILTINS): Define.
18221         (CPP_PREDEFINES): Remove.
18222         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
18223         (CPP_SPEC): Remove.
18224
18225 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
18226
18227         * gensupport.c: Include hashtab.h.
18228         (insn_elision, condition_table, hash_c_test, cmp_c_test,
18229         maybe_eval_c_test): New routines and data structures to
18230         support insn elision.
18231         (init_md_reader): Read and initialize the condition_table.
18232         (read_md_rtx): Discard insn patterns whose C test is provably
18233         always false.
18234         * gensupport.h: Declare new functions and data structures.
18235
18236         * genconditions.c, dummy-conditions.c: New files.
18237         * Makefile.in: Build genconditions; run it to construct
18238         insn-conditions.c; build that and link it into most gen*
18239         programs.
18240         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
18241         (GEN): Delete, unused.
18242         (STAGESTUFF): Update.
18243
18244         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
18245         CODE_FOR_nothing for all elided patterns.
18246         (main): Tweaked to support this.
18247         * genflags.c (gen_proto): Emit a static inline generator
18248         function here for all elided patterns, which simply returns
18249         NULL_RTX.
18250         (gen_insn): Do not define HAVE_xxx for elided patterns.
18251         (main): Tweaked to support this.  No need to forward-declare
18252         struct rtx_def.
18253         * genrecog.c: Do not bother emitting the C test if it's known
18254         to be true at compile time.
18255
18256 2002-07-29  Mike Stump  <mrs@apple.com>
18257
18258         * config.gcc (target_gtfiles): Initialize, as otherwise cross
18259         compilers hosted on powerpc-apple-darwin6.0 won't even build.
18260
18261 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
18262
18263         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
18264         remove clobber of LR.
18265         (sibcall_insn, sibcall_value_insn): Update accordingly.
18266         (sibcall_epilogue): Remove debugging comment from assembler stream.
18267
18268 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
18269
18270         * pretty-print.h: Define more macros.
18271         * diagnostic.h (output_formatted_integer): Moved from...
18272         * diagnostic.c: ... here.
18273
18274 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18275
18276         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
18277
18278 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
18279
18280         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
18281         arguments.  Always use ".-symbol" as expression argument.
18282         * doc/tm.texi: Update to match.  Document requirement for
18283         ".size symbol, .-symbol" to be acceptable to assembler.
18284
18285         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
18286         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
18287         config/i386/freebsd-aout.h, config/i386/sco5.h,
18288         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
18289         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
18290
18291 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18292
18293         * Makefile.in (gengtype-lex.c): Fix error in last change.
18294
18295         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
18296         backslash.
18297
18298         * Makefile.in (vmsdbgout.o): Depend on function.h.
18299
18300         * vmsdbgout.c: Include function.h.
18301
18302 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
18303
18304         * prefix.c (update_path): Don't strip single `.' path components
18305         unless stripping a later `..' component.  Exit loop as soon as
18306         a valid path is found.
18307
18308 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18309
18310         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
18311         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
18312         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
18313         floating point unordered comparisons (e.g. __builtin_isgreater)
18314         as const, and leave the remaining GCC_BUILTINs unchanged.
18315
18316         * c-decl.c (builtin_function): No need to explicitly mark
18317         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
18318
18319 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18320
18321         * Makefile.in: rtlanal.o now depends upon real.h.
18322
18323         * flags.h [flag_signaling_nans]: New flag.
18324         [HONOR_SNANS]: New macro.
18325
18326         * toplev.c [flag_signaling_nans]: Initialize to false.
18327         (f_options): Add processing for "-fsignaling-nans".
18328         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
18329         (process_options): flag_signaling_nans implies flag_trapping_math.
18330
18331         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
18332         when -fsignaling-nans.  First step to implementing WG14's N965.
18333
18334         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
18335         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
18336         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
18337
18338         * simplify-rtx.c (simplify_relational_operation): Conditionalize
18339         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
18340
18341         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
18342         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
18343         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
18344         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
18345         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
18346
18347         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
18348
18349 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18350
18351         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
18352         * gengtype-lex.l (YY_USE_PROTOS): Undef.
18353         (YY_DECL): Define.
18354
18355 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18356
18357         * doc/invoke.texi: Document that both -fno-builtin-foo and
18358         -fno-builtin are supported by the g++ front-end.
18359
18360 2002-07-27  Stan Shebs  <shebs@apple.com>
18361
18362         * configure.in: Rename config_gtfiles to target_gtfiles.
18363         * configure: Regenerate.
18364         * doc/gty.texi: Update reference.
18365         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
18366         instead of appending to it.
18367
18368 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
18369
18370         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
18371         vectors are split into two registers.
18372         (function_arg): Same.
18373
18374 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
18375
18376         * pa.md (extv): Check predicates before emitting extv_32.
18377
18378 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
18379
18380         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
18381         (rs6000_traceback): New var.
18382         (rs6000_override_options): Set rs6000_traceback.
18383         (rs6000_output_function_epilogue): Implement traceback options.
18384         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
18385         (rs6000_traceback_name): Declare.
18386
18387         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
18388         label reference when NO_PROFILE_COUNTERS.
18389
18390 2002-07-26  Jason Merrill  <jason@redhat.com>
18391
18392         * function.c (assign_parms): Handle frontend-directed pass by
18393         invisible reference.
18394
18395 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18396
18397         * doc/cppopts.texi: Update.
18398
18399 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18400
18401         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
18402         warnings on assertions.
18403
18404 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18405
18406         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
18407         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
18408         RID_COMPL): Remove.
18409         * c-parse.in (rid_to_yy): Similarly.
18410
18411 2002-07-26  Jason Merrill  <jason@redhat.com>
18412
18413         * c-dump.c: Resurrect.
18414         * tree-dump.c: Move C-specific stuff to c-dump.c.
18415         * c-common.h: Declare c_dump_tree.
18416         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
18417         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
18418         (c-dump.o): New rule.
18419
18420 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
18421
18422         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
18423         PowerPC64.  Replace "T" and "S" constraints with "n" when the
18424         predicate will do.  Formatting fixes.
18425         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
18426         as for extzvsi_internal1.
18427
18428 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18429
18430         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
18431         DERIV_END_LABEL_FMT): Remove.
18432         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
18433
18434 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18435
18436         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
18437         Remove.
18438
18439 2002-07-25  Stan Shebs  <shebs@apple.com>
18440
18441         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
18442         local var dwarfp.
18443         (output_compiler_stub): Remove unused locals.
18444         (output_call): Always initialize line number.
18445
18446 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
18447
18448         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
18449         * sh.md (truncdiqi2, movqi_media): Likewise.
18450
18451 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18452
18453         * gcse.c (obstack_chunk_alloc): Remove.
18454         (gcse_alloc): Fix to count allocated bytes.
18455         * collect2.c (SYMBOL__MAIN): Remove.
18456
18457 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18458
18459         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
18460         HAVE_TARGET_EXECUTABLE_SUFFIX.
18461
18462 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
18463
18464         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
18465         SIZE, EXPR and OFFSET.
18466
18467 2002-07-25  Richard Henderson  <rth@redhat.com>
18468
18469         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
18470         in ARRAY_REF of DECL_P case.
18471
18472 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
18473
18474         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
18475         description.  Document -mips32, -mips64, and the associated -march
18476         values.  Describe the "mipsN" arguments to -march.  Say that the
18477         -mipsN options are equivalent to -march.  Reword the description
18478         of default type sizes.
18479         * toplev.h (target_flags_explicit): Declare.
18480         * toplev.c (target_flags_explicit): New var.
18481         (set_target_switch): Update target_flags_explicit.
18482         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
18483         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
18484         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
18485         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
18486         * config/mips/mips.h (mips_cpu_info): New struct.
18487         (mips_cpu_string, mips_explicit_type_size_string): Remove.
18488         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
18489         (MIPS_CPP_SET_PROCESSOR): New macro.
18490         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
18491         Define _MIPS_ARCH and _MIPS_TUNE.
18492         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
18493         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
18494         MIPS_ISA_DEFAULT were already defined.
18495         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
18496         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
18497         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
18498         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
18499         (ABI_GAS_ASM_SPEC): Remove.
18500         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
18501         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
18502         Invoke %(asm_abi_default_spec) if no ABI was specified.
18503         (CC1_SPEC): Remove ISA -> register-size rules.
18504         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
18505         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
18506         (mips_cpu_string, mips_explicit_type_size_string): Remove.
18507         (mips_cpu_info_table): New array.
18508         (mips_set_architecture, mips_set_tune): New fns.
18509         (override_options): Rework to make -mipsN equivalent to -march.
18510         Detect more erroneous cases, including those removed from CC1_SPEC.
18511         Don't change the ABI based on architecture, or vice versa.
18512         Unify logic with GAS.
18513         (mips_asm_file_start): Get architecture name from mips_arch_info.
18514         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
18515         (mips_parse_cpu): Take the name of the option as argument.  Handle
18516         'from-abi'.  Raise an error if the option is wrong.
18517         (mips_cpu_info_from_isa): New fn.
18518
18519 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
18520
18521         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
18522         (tablejump_mips162): Likewise.
18523
18524 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
18525
18526         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
18527         int_mode_for_mode.
18528
18529 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
18530
18531         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
18532         complaining.
18533         * c-common.h (c_sizeof): Adjust definition.
18534         (c_alignof): Likewise.
18535         * c-tree.h (c_sizeof_nowarn): Now macro.
18536         * c-typeck.c (c_sizeof_nowarn): Remove definition.
18537
18538 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18539
18540         * c-decl.c (c_decode_option): No need to handle switches
18541         cpplib handles.
18542
18543 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
18544
18545         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
18546         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
18547         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
18548         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18549
18550         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
18551         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
18552         config/cris/aout.h, config/i386/freebsd-aout.h,
18553         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
18554         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
18555         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
18556         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
18557         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
18558         config/xtensa/elf.h, config/xtensa/linux.h:
18559         Use the new macros.
18560         Where possible, remove redundant definitions of SIZE_ASM_OP,
18561         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18562
18563 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
18564
18565         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
18566         TARGET_ISEL, and TARGET_FPRS.
18567
18568         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
18569         -mabi=spe, -mabi=no-spe, and -misel=.
18570
18571         * config/rs6000/rs6000-protos.h: Add output_isel.
18572         Move vrsave_operation prototype here.
18573
18574         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
18575         (smaxsi3): Same.
18576         (uminsi3): Same.
18577         (umaxsi3): Same.
18578         (abssi2_nopower): Disallow when TARGET_ISEL.
18579         (*ne0): Same.
18580         (negsf2): Change to expand and rename old pattern to *negsf2.
18581         (abssf2): Change to expand and rename old pattern to *abssf2.
18582
18583         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
18584         fixunssfsi2.
18585
18586         Change patterns that check for TARGET_HARD_FLOAT or
18587         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
18588
18589         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
18590         rs6000_isel, rs6000_fprs, rs6000_isel_string.
18591         (rs6000_override_options): Add 8540 case to
18592         processor_target_table.
18593         Set rs6000_isel for the 8540.
18594         Call rs6000_parse_isel_option.
18595         (enable_mask_for_builtins): New.
18596         (rs6000_parse_isel_option): New.
18597         (rs6000_parse_abi_options): Add spe and no-spe.
18598         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
18599         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
18600         for TARGET_HARD_FLOAT.
18601         Add case for SPE_VECTOR_MODE.
18602         (rs6000_legitimize_reload_address): Handle SPE vector modes.
18603         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
18604         vector modes.
18605         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
18606         (rs6000_emit_move): Check for TARGET_FPRS.
18607         Add cases for SPE vector modes.
18608         (function_arg_boundary): Return 64 for SPE vector modes.
18609         (function_arg_advance): Check for TARGET_FPRS and
18610         Handle SPE vectors.
18611         (function_arg): Same.
18612         (setup_incoming_varargs): Check for TARGET_FPRS.
18613         (rs6000_va_arg): Same.
18614         (struct builtin_description): Un-constify mask field.  Move up in
18615         file.
18616         (bdesc_2arg): Un-constify and add SPE builtins.
18617         (bdesc_1arg): Same.
18618         (bdesc_spe_predicates): New.
18619         (bdesc_spe_evsel): New.
18620         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
18621         (rs6000_expand_binop_builtin): Same.
18622         (bdesc_2arg_spe): New.
18623         (spe_expand_builtin): New.
18624         (spe_expand_predicate_builtin): New.
18625         (spe_expand_evsel_builtin): New.
18626         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
18627         (rs6000_init_builtins): Initialize SPE builtins.  Call
18628         rs6000_common_init_builtins.
18629         (altivec_init_builtins): Move all non-altivec builtin code to...
18630         (rs6000_common_init_builtins): ...here.  New function.
18631         (branch_positive_comparison_operator): Allow NE code for SPE.
18632         (ccr_bit): Return correct ccr bit for SPE fp.
18633         (print_operand): Emit crnor in 'D' case for SPE.
18634         New case 't'.
18635         Add SPE code for 'y' case.
18636         (rs6000_generate_compare): Generate rtl for SPE fp.
18637         (output_cbranch): Handle SPE hard floats.
18638         (rs6000_emit_cmove): Handle isel.
18639         (rs6000_emit_int_cmove): New.
18640         (output_isel): New.
18641         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
18642         64-bits for SPE.
18643         (debug_stack_info): Add SPE info.
18644         (gen_frame_mem_offset): New.
18645         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
18646         Change mode of frame pointer, when saving it, to Pmode.
18647         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
18648         Misc cleanups and use gen_frame_mem_offset when appropriate.
18649
18650         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
18651         (TARGET_SPE_ABI): New.
18652         (TARGET_SPE): New.
18653         (TARGET_ISEL): New.
18654         (TARGET_FPRS): New.
18655         (FIXED_SCRATCH): New.
18656         (RTX_COSTS): Add PROCESSOR_PPC8540.
18657         (ASM_CPU_SPEC): Add case for 8540.
18658         (TARGET_OPTIONS): Add isel= case.
18659         (rs6000_spe_abi): New.
18660         (rs6000_isel): New.
18661         (rs6000_fprs): New.
18662         (rs6000_isel_string): New.
18663         (UNITS_PER_SPE_WORD): New.
18664         (LOCAL_ALIGNMENT): Adjust for SPE.
18665         (HARD_REGNO_MODE_OK): Same.
18666         (DATA_ALIGNMENT): Same.
18667         (MEMBER_TYPE_FORCES_BLK): New.
18668         (FIRST_PSEUDO_REGISTER): Set to 113.
18669         (FIXED_REGISTERS): Add SPE registers.
18670         (reg_class): Same.
18671         (REG_CLASS_NAMES): Same.
18672         (REG_CLASS_CONTENTS): Same.
18673         (REGNO_REG_CLASS): Same.
18674         (REGISTER_NAMES): Same.
18675         (DEBUG_REGISTER_NAMES): Same.
18676         (ADDITIONAL_REGISTER_NAMES): Same.
18677         (CALL_USED_REGISTERS): Same.
18678         (CALL_REALLY_USED_REGISTERS): Same.
18679         (SPE_ACC_REGNO): New.
18680         (SPEFSCR_REGNO): New.
18681         (SPE_SIMD_REGNO_P): New.
18682         (HARD_REGNO_NREGS): Adjust for SPE.
18683         (VECTOR_MODE_SUPPORTED_P): Same.
18684         (REGNO_REG_CLASS): Same.
18685         (FUNCTION_VALUE): Same.
18686         (LIBCALL_VALUE): Same.
18687         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
18688         (SPE_VECTOR_MODE): New.
18689         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
18690         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
18691         (rs6000_stack): Add spe_gp_size, spe_padding_size,
18692         spe_gp_save_offset.
18693         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
18694         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
18695         (SPE_CONST_OFFSET_OK): New.
18696         (rs6000_builtins): Add SPE builtins.
18697
18698         * testsuite/gcc.dg/ppc-spe.c: New.
18699
18700         * config/rs6000/eabispe.h: New.
18701
18702         * config/rs6000/spe.h: New.
18703
18704         * config/rs600/spe.md: New.
18705
18706         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
18707         __SIMD__ for TARGET_SPE.
18708
18709         * config.gcc: Add powerpc-*-eabispe* case.
18710         Add spe.h to user headers for powerpc.
18711
18712 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
18713
18714         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
18715         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18716         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
18717
18718 2002-07-24  Richard Henderson  <rth@redhat.com>
18719
18720         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
18721         form when not optimizing.
18722
18723 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
18724
18725         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
18726         thread_pointer_rtx as unchanging.
18727
18728 2002-07-24  Michael Matz  <matz@suse.de>
18729
18730         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
18731         (free_reg): Use it.
18732
18733 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
18734
18735         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
18736         pattern.
18737         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
18738         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
18739
18740 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
18741
18742         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
18743         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18744         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
18745
18746 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
18747
18748         * toplev.c (rest_of_compilation): Dump loops before clobbering
18749         the structure.
18750
18751 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
18752
18753         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
18754
18755 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
18756
18757         PR optimization/7291
18758         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
18759         problem on x86_64.
18760
18761 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
18762
18763         * pretty-print.h: Add macros from cp/error.c
18764
18765 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
18766
18767         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
18768         (mask64_2_operand): Declare.
18769         (build_mask64_2_operands): Declare.
18770         (and64_2_operand): Declare.
18771         (extract_MB): Declare.
18772         (extract_ME): Declare.
18773         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
18774         CONST_DOUBLE code.
18775         (mask_operand_wrap): New insn predicate.
18776         (mask64_2_operand): Likewise.
18777         (and64_2_operand): Likewise.
18778         (build_mask64_2_operands): New function.
18779         (extract_MB): New function.
18780         (extract_ME): New function.
18781         (print_operand <case m,M>): Use extract_MB and extract_ME.
18782         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
18783         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
18784         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
18785         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
18786         * config/rs6000/rs6000.md (andsi3_internal3): New
18787         (andsi3_internal3+1): Enable split for powerpc64.
18788         (andsi3_internal3+2): New split.
18789         (andsi3_internal4): Renamed old andsi3_internal3.
18790         (andsi3_internal5): New.
18791         (andsi3_internal5+1): Enable split for powerpc64.
18792         (andsi3_internal5+2): New split.
18793         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
18794         (anddi3): Handle 't' constraint.
18795         (anddi3+1): New split.
18796         (anddi3_internal2): Handle 't' constraint.
18797         (anddi3_internal2+1): New split.
18798         (anddi3_internal3): Handle 't' constraint.
18799         (anddi3_internal3+1): New split.
18800
18801 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
18802
18803         * config/rs6000/rs6000.md: Remove scratch reg on insns using
18804         addze and similar (plus (comparison r1 r2) r3) insns.  Add
18805         missing scratch reg in one case.  Formatting fixes.
18806
18807 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
18808
18809         * cppexp.c (parse_defined): Mark macro used.
18810         * cpphash.h (struct cpp_macro): New member "used".
18811         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
18812         (struct cpp_reader): New member.
18813         * cppinit.c (cpp_finish_options): Set first_unused_line.
18814         (cpp_finish): Warn of unused macros if requested.
18815         (OPT_TABLE): New switches.
18816         (cpp_handle_option): Handle them.
18817         * cpplib.c (do_undef): Warn if macro unused.
18818         (do_ifdef, do_ifndef): Mark macro used.
18819         * cpplib.h (struct cpp_options): New member.
18820         * cppmacro.c (_cpp_warn_if_unused_macro): New.
18821         (enter_macro_context): Mark macro used.
18822         (_cpp_create_definition): Mark macro unused; warn if unused
18823         when redefined.
18824         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
18825         Mark macros used.
18826         * doc/cppopts.texi: Update.
18827
18828 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18829
18830         * dwarf2out.c (SECTION_ASM_OP,
18831         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18832         * system.h (SECTION_ASM_OP): Poison.
18833         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
18834         * config/alpha/alpha-interix.h, config/mips/linux.h
18835         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18836         * config/mmix/mmix-protos.h, config/mmix/mmix.c
18837         (mmix_asm_output_define_label_difference_symbol): Remove.
18838         * config/mmix/mmix.h
18839         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18840         * doc/tm.texi: Remove documentation.
18841
18842 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
18843
18844         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
18845         (constrain_operands): Likewise.
18846         * regclass.c (record_reg_classes): Likewise.
18847         * reload.c (find_reloads): Likewise.
18848         * doc/md.texi: Likewise.
18849
18850         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
18851         * simplify-rtx.c (simplify_subreg): When converting to a non-int
18852         mode, try to convert to an integer mode of matching size first.
18853
18854         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
18855         from individual subregs, check that each subreg has been generated
18856         sucessfully.
18857
18858 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18859
18860         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
18861         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
18862         FOR_EACH_BB_IN_SBITMAP): Remove.
18863         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
18864         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
18865         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
18866         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
18867         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
18868         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
18869
18870 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18871
18872         * pretty-print.h: New file.
18873
18874 2002-07-23      Paul Koning     <pkoning@equallogic.com>
18875
18876         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
18877         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
18878         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
18879         (TARGET_G_FLOAT): Default to 0 if not defined.
18880         (ieeetoe): New, common routine to convert target format floats
18881         to internal form.
18882         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
18883         vs. others.
18884         (e113toe): Change to use ieeetoe.
18885
18886 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18887
18888         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
18889         IBM.
18890         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
18891         (e64toe): Remove special cases for DEC and IBM. Remove support for
18892         ARM_EXTENDED_IEEE_FORMAT.
18893         (e24toe): Remove special cases for DEC.
18894         (significand_size): Simplify. Indent.
18895         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
18896         (etoieee, toieee): New.
18897         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
18898         etoieee and toieee for IEEE arithmetic.
18899
18900 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18901
18902         * doc/extend.texi: Say ISO C90, not ISO C89.
18903         * doc/invoke.texi: Likewise.
18904         * doc/standards.texi: Likewise.
18905
18906 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
18907
18908         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
18909         Fix permutation of conversion and plus/mult.
18910         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
18911         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
18912         (expand_builtin_strncpy) Ditto.
18913         (expand_builtin_memset) Ditto.
18914
18915 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18916
18917         Fix PR/7363:
18918         * c-common.c (c_sizeof_or_alignof_type): New function.
18919         (c_alignof): Remove definition.
18920         * c-common.h (c_sizeof, c_alignof): Define as macros.
18921         (c_sizeof_or_alignof_type): Declare.
18922         (my_friendly_assert): Moved from cp/cp-tree.h
18923         * c-typeck.c (c_sizeof): Remove definition.
18924
18925 2002-07-23  Jan Hubicka  <jh@suse.cz>
18926
18927         * gcse.c (try_replace_reg): Use num_changes_pending.
18928         * recog.c (num_changes_pending): New function.
18929         (validate_replace_src): Use validate_repalce_src_group.
18930         (validate_replace_src_group): New.
18931         * recog.h (validate_repalce_src_group): New.
18932         (num_changes_pending): Likewise.
18933
18934 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
18935
18936         * calls.c (emit_library_call_value_1): If
18937         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
18938         libcall, const call nor pure call.
18939
18940 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18941
18942         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
18943
18944 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18945
18946         * vmsdbgout.c (SECTION_ASM_OP): Remove.
18947
18948 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18949
18950         * config/i386/i386.c (AT_BP): Remove.
18951
18952 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18953
18954         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
18955         Default definition.
18956         * gcse.c: Don't define obstack_chunk_free.
18957         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
18958         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
18959         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
18960         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
18961         Don't define obstack macros.
18962
18963 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18964
18965         PR target/6744
18966         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
18967         ASM_OPERANDS instructions.
18968
18969 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18970
18971         PR target/7361
18972         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
18973         constant addresses only on 68HC12.
18974
18975 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18976
18977         * cppfiles.c (stack_include_file): Correct test of whether
18978         a dependency should be output.
18979
18980 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
18981
18982         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
18983
18984 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
18985
18986         * arm.md (movqi): If optimizing and we can create pseudos, use
18987         a ZERO_EXTEND to load from memory, then copy the result into the
18988         target.
18989         (movhi): Likewise, but only for ARMv4.
18990
18991 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18992
18993         * ssa-ccp.c (PHI_PARMS): Remove.
18994
18995 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
18996
18997         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
18998         on big-endian targets.
18999
19000 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19001
19002         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
19003         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
19004         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
19005         New formatting macros.
19006
19007         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
19008
19009 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
19010
19011         * rtlanal.c (subreg_regno_offset): Return correct offset for
19012         big endian paradoxical subregs.
19013
19014         * optabs.c (expand_vector_unop): Don't expand using sub_optab
19015         if we got the wrong mode.
19016
19017         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
19018         * genrecog.c (write_switch, write_cond): Use it.
19019         * genemit.c (gen_exp): Likewise.
19020
19021 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
19022
19023         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
19024
19025 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
19026
19027         * c-decl.c (build_compound_literal): Defer compound literal decls
19028         until until file end to emit them only if they are actually used.
19029
19030 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19031
19032         * ra-build.c (check_conflict_numbers): Hide unused function.
19033         (livethrough_conflicts_bb): Avoid automatic aggregate
19034         initialization.
19035         (parts_to_webs_1): Avoid `U' integer constant modifier.
19036         (conflicts_between_webs): Wrap a variable in the macro controlling
19037         its usage.
19038         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
19039         (dump_igraph, dump_graph_cost): Avoid string concatenation
19040         (dump_static_insn_cost): Avoid automatic aggregate
19041         initialization.
19042         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
19043         initialization.
19044         (dump_cost): Avoid string concatenation
19045
19046 2002-07-21  Richard Henderson  <rth@redhat.com>
19047
19048         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
19049         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
19050
19051 2002-07-21  Richard Henderson  <rth@redhat.com>
19052
19053         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
19054         that are not unrolled completely.
19055
19056 2002-07-21  Richard Henderson  <rth@redhat.com>
19057
19058         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
19059         * loop.c (strength_reduce): Update.
19060         * toplev.c (rest_of_compilation): Do unrolling in the first
19061         loop pass, not the second.
19062
19063 2002-07-21  Richard Henderson  <rth@redhat.com>
19064
19065         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
19066         when flag_argument_noalias == 2.
19067         * alias.c (nonoverlapping_memrefs_p): Handle that.
19068         * print-rtl.c (print_mem_expr): Likewise.
19069
19070 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
19071
19072         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
19073         instead of __negdi2 directly.
19074
19075 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
19076
19077         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
19078         * function.c (SYMBOL__MAIN): Remove definition.
19079         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
19080         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
19081         * profile.c (GCOV_INDEX_TO_BB): Remove.
19082         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
19083         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
19084
19085 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
19086
19087         * c-lex.c (GET_ENVIRONMENT): Remove.
19088         * collect2.c (GET_ENV_PATH_LIST): Remove.
19089         (prefix_from_env): Use GET_ENVIRONMENT.
19090         * cppinit.c (GET_ENV_PATH_LIST): Remove.
19091         (init_standard_includes): Use GET_ENVIRONMENT.
19092         * defaults.h (GET_ENVIRONMENT): Define here if not already.
19093         * gcc.c (GET_ENV_PATH_LIST): Remove.
19094         (make_relative_prefix, process_command): Update.
19095         * protoize.c (GET_ENV_PATH_LIST): Remove.
19096         (do_processing): Update.
19097
19098 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
19099
19100         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
19101         (grokdeclarator): Likewise.
19102         * c-format.c (C_STD_NAME): Likewise.
19103         * c-lex.c (interpret_integer): Likewise.
19104         * c-typeck.c (build_array_ref): Likewise.
19105         * cpplex.c (_cpp_lex_direct): Likewise.
19106         * toplev.c (documented_lang_options): Likewise.
19107
19108 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
19109
19110         * c-format.c (T99_I, T99_UI): Remove.
19111
19112 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
19113
19114         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
19115
19116 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
19117
19118         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
19119         do_local_cprop.
19120
19121 2002-07-21  Andreas Jaeger  <aj@suse.de>
19122
19123         * reload1.c (fixup_abnormal_edges): Remove unused variable.
19124
19125 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
19126
19127         Improvements for the ifcvt pass from Michael Meissner, with patches
19128         by Richard Sandiford <rsandifo@redhat.com>
19129         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
19130         * ifcvt.c (cond_exec_changed_p): New static variable.
19131         (last_active_insn): New function, renamed from last_active_insn_p
19132         and changed to return the last active insn in a basic block. All
19133         callers updated.
19134         (block_fallthru): New function.
19135         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
19136         IFCVT_MODIFY_INSN.  All callers updated.
19137         Return false if START or END are NULL.
19138         Handle case where we're processing an insn that is already
19139         conditional.
19140
19141         (noce_process_if_block): CE_INFO argument rather than
19142         multiple args containing the involved basic blocks.  All callers
19143         changed.
19144         (process_if_block, merge_if_block, find_if_block,
19145         cond_exec_process_if_block): Likewise.
19146
19147         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
19148         changed.
19149         Use new function last_active_insn to simplify some code.
19150         New code to handle multiple tests.
19151         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
19152         cond_exec_changed_p to TRUE.
19153
19154         (process_if_block): New code to handle multiple tests.
19155         (merge_if_block): Likewise.
19156         (find_if_header): New arg PASS.  Changed to return the currently
19157         processed basic block or NULL instead of true/false. All callers
19158         changed.
19159         Call IFCVT_INIT_EXTRA_FIELDS.
19160         (block_jumps_and_fallthru_p): New function.
19161         (find_if_block): Discover opportunities to convert multiple tests.
19162         Add additional debugging output.
19163         Update the ce_info structure before returning.
19164
19165         (if_convert): Run multiple passes of if-conversion.
19166         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
19167         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
19168         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
19169         these macros.
19170
19171 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
19172
19173         * gcse.c: Include cselib.h
19174         (constptop_register): Break out from ...
19175         (cprop_insn): ... here; kill basic_block argument.
19176         (do_local_cprop, local_cprop_pass): New functions.
19177         (one_cprop_pass): Call local_cprop_pass.
19178
19179 2002-07-20  Roger Sayle  <roger@eyesopen.com>
19180
19181         * simplify-rtx.c (simplify_relational_operation): Optimize
19182         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
19183
19184 2002-07-20  Michae Matz  <matz@suse.de>
19185
19186         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
19187
19188 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
19189
19190         * cppexp.c (struct op): Add token pointer.
19191         (check_promotion, CHECK_PROMOTION): New.
19192         (optab): Update.
19193         (_cpp_parse_expr): Update, use token pointer of struct op.
19194         (reduce): Warn about change of sign owing to promotion.
19195         * cppinit.c (cpp_handle_option): New warning if -Wall.
19196         * cpplib.h (struct cpp_options): New member.
19197
19198 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
19199
19200         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
19201         fpu list.  Separate Power4 compare and delayed_compare.  Correct
19202         Power4 fpcompare.
19203         (fix_truncdfsi2_internal): Restore FPR preference.
19204         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
19205         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
19206
19207 2002-07-19  Momchil Velikov <velco@fadata.bg>
19208
19209         * reload1.c (reload_as_needed): Duplicate oldpat.
19210
19211 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
19212
19213         PR optimization/7130
19214         * loop.h (struct loop_info): Add "preconditioned".
19215         * unroll.c (unroll_loop): Set it.
19216         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
19217
19218 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
19219
19220         * rtl.def (CODE_LABEL): Remove slot 8.
19221         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
19222         (LABEL_ALTERNATE_NAME): Delete.
19223         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
19224         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
19225
19226         * final.c (output_alternate_entry_point): New.
19227         (final_scan_insn): Use it instead of
19228         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
19229         of a case label being an alternate entry point.
19230
19231         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
19232         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
19233         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
19234         (field deleted).
19235         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
19236
19237         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
19238         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
19239         * doc/tm.texi: Delete documentation of
19240         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
19241
19242 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19243
19244         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
19245         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
19246         (LINK_SPEC): Define.
19247         (STARTFILE_SPEC): Define.
19248         (ENDFILE_SPEC): Define.
19249
19250         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
19251         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
19252
19253         * config/mips/iris6-o32-gas.h: New file.
19254         * config.gcc (mips-sgi-irix6*o32): Use it.
19255
19256         * config/mips/t-iris5-gas: New file.
19257         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
19258
19259 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
19260
19261         * cppexp.c (ALWAYS_EVAL): Remove.
19262         (optab, reduce): Always evaluate.
19263         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
19264         only if not skipping evaluation.
19265
19266 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19267
19268         * config/avr/avr.c (debug_hard_reg_set): Remove.
19269
19270 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
19271
19272         * gcc.c (cpp_options): Include "%1" (cc1_spec).
19273
19274 2002-07-19  Richard Henderson  <rth@redhat.com>
19275
19276         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
19277
19278 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
19279
19280         * prefix.c (update_path): Don't zap single `.' path components
19281         unless followed by another `.' and fix typo last patch.
19282
19283 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
19284
19285         * cppexp.c (cpp_num_mul): Remove unused parameter.
19286         (UNARY, BINARY, OTHER, binary_handler): Remove.
19287         (ALWAYS_EVAL): New.
19288         (optab): Update.
19289         (reduce): Refactor to a large switch, don't use a function
19290         pointer.
19291
19292 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
19293
19294         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
19295
19296 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
19297
19298         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
19299         (sh_expand_binop_v2sf): Likewise.
19300         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
19301         (int_gpr_dest, trunc_hi_operand): New functions.
19302         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
19303         trunc_hi_operand.
19304         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
19305         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
19306         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
19307         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
19308         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
19309         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
19310         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
19311         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
19312         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
19313         (movsf_ie+1): Likewise.
19314         (loaddi_trunc): Use int_gpr_dest predicate.
19315         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
19316         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
19317         (casesi_worker_0+[12], casesi_worker): Likewise.
19318         (shcompact_preserve_incoming_args): Likewise.
19319         (mov_nop): Use any_register_operand predicate.
19320         (mperm_w0): Use trunc_hi_operand predicate.
19321
19322 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19323
19324         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
19325         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
19326         numbering.
19327
19328 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19329
19330         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
19331
19332 2002-07-18  Richard Henderson  <rth@redhat.com>
19333
19334         PR optimization/7147
19335         * ifcvt.c (noce_get_condition): Make certain that the condition
19336         is valid at JUMP.
19337
19338 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
19339
19340         * sh.c (barrier_align, push): Shut up compiler warnings.
19341         (initial_elimination_offset,sh_media_init_builtins): Likewise.
19342         (reg_no_subreg_operand): Delete.
19343
19344 2002-07-17  Bo Thorsen  <bo@suse.de>
19345
19346         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
19347         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
19348         (STARTFILE_SPEC): Remove hardcoded library paths.
19349         (ENDFILE_SPEC): Likewise.
19350
19351 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
19352
19353         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
19354
19355         * gcse.c (try_replace_reg): Do not return false positives.
19356
19357 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
19358
19359         * prefix.c: (update_path): Strip ".." components when prior dir
19360         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
19361
19362         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
19363         (ASM_OUTPUT_REG_POP): Likewise.
19364
19365 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
19366
19367         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
19368         adjustments to first_reg for profiling case.
19369         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
19370         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
19371         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
19372         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
19373         (ASM_OUTPUT_REG_POP): Define.
19374         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
19375         (ASM_OUTPUT_REG_POP): Undef.
19376
19377 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
19378
19379         * cpplib.c (do_sccs): Handle #sccs on all systems.
19380         * system.h (SCCS_DIRECTIVE): Poison.
19381         * config/darwin.h, config/freebsd.h, config/netbsd.h,
19382         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
19383         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
19384         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
19385         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
19386         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
19387         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
19388         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
19389         Remove all references to SCCS_DIRECTIVE.
19390         * doc/cpp.texi, doc/tm.texi: Update.
19391
19392 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
19393
19394         * regrename.c (maybe_mode_change): New function.
19395         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
19396
19397 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
19398
19399         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
19400         suppress addition when either ct or cf are zero.
19401
19402 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
19403             Glen Nakamura <glen@imodulo.com>
19404
19405         PR optimization/6713
19406         * loop.c (loop_givs_rescan): Explicitly delete the insn that
19407         sets a non-replaceable giv after issuing the new one.
19408
19409 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
19410
19411         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
19412         eval_token): Clarify and correct use of "bool" variables.
19413         * cpplib.h (struct cpp_options): Similarly.
19414         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
19415         * cpptrad.c (recursive_macro): Similarly.
19416
19417 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
19418
19419         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
19420         SHmedia code.
19421
19422         * sh.md (cmpgtudi_media): Remove spurious @.
19423
19424         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
19425         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
19426
19427         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
19428         * sh-protos.h (sh_initialize_trampoline): Declare.
19429         * sh.c (sh_initialize_trampoline): New function.
19430         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
19431         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
19432         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
19433         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
19434         * sh.md (initialize_trampoline, double_shori): New patterns.
19435         (initialize_trampoline_compact): Likewise.
19436         (shmedia32_initialize_trampoline_big): Remove.
19437         (shmedia32_initialize_trampoline_little): Likewise.
19438
19439         * sh-protos.h (binary_float_operator): Remove declaration.
19440         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
19441         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
19442         (unary_float_operator, sh_expand_unop_v2sf): New functions.
19443         (sh_expand_binop_v2sf): Likewise.
19444         (zero_vec_operand): Delete.
19445         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
19446         all non-shared ones.
19447         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
19448         Enable nsb and byterev.
19449         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
19450         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
19451         in general regs.
19452         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
19453         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
19454         immediate operands.
19455         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
19456         Add DF_HI_REGS.
19457         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
19458         lowpart fp regs - only for big endian for now.
19459         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
19460         when FPU is in use.
19461         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
19462         (LOAD_EXTEND_OP): NIL for SImode.
19463         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
19464         general and fp registers is 4.
19465         PREDICATE_CODES: Amend binary_float_operator entry.
19466         Remove zero_vec_operand.  Add unary_float_operator.
19467         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
19468         subreg SET_DEST.
19469         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
19470         (truncdiqi2): Do sign extension.
19471         (movsi_media, movdi_media): Allow to use r63 to an fp register.
19472         (movdf_media, movsf_media): Likewise.
19473         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
19474         Collapse to one define_insn_and_split.  Allow immediate sources.
19475         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
19476         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
19477         (movv4sf): Allow immediate sources.
19478         (movsf_media_nofpu+1): Don't split moves to FP registers.
19479         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
19480         (movv8qi_i+3): Check against CONST0_RTX.
19481         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
19482         for input and output operands.  Fix argument 3 to gen_mextr_rl.
19483         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
19484         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
19485         (mshf0_w, fipr, ftrv): Likewise.
19486         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
19487
19488 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
19489
19490         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
19491         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
19492         * arm.c: Similarly.
19493
19494 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
19495
19496         * config/mips/mips-protos.h (mips_sign_extend): Declare.
19497         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
19498         (TARGET_SWITCHES): Remove debugh.
19499         (ISA_HAS_TRUNC_W): New macro.
19500         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
19501         (PREDICATE_CODES): Remove se_nonimmediate_operand.
19502         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
19503         any SImode move_operand.
19504         (se_nonimmediate_operand): Remove.
19505         (mips_sign_extend): New.
19506         (mips_move_2words): Use it for sign-extended source operands.
19507         (override_options): Allow integers to be put into single FPRs.
19508         (mips_secondary_reload_class): Handle integers in float registers.
19509         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
19510         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
19511         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
19512         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
19513         (fix_truncdfdi2): Provide only a single alternative, in which the
19514         integer is in a float register.  Depend on TARGET_FLOAT64 rather
19515         than TARGET_64BIT.
19516         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
19517         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
19518         (movdi_internal2): Don't allow the source operand to be sign-extended.
19519         Add alternatives for float registers.
19520         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
19521         allows sign-extension.
19522         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
19523         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
19524         float registers.  Remove TARGET_DEBUG_H_MODE test.
19525         (movhi_internal1): Rename to movhi_internal.  Don't check
19526         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
19527         (movqi_internal1): Rename to movqi_internal and remove
19528         TARGET_DEBUG_H_MODE dependency.
19529         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
19530
19531 2002-07-16  Jim Wilson  <wilson@redhat.com>
19532
19533         * toplev.c (lang_dependent_init): Create function context for
19534         init_expr_once.
19535
19536 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
19537
19538         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
19539         --gc-sections if -r.
19540         * config/cris/cris.h: Ditto.
19541
19542 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
19543
19544         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
19545         the comparison directly gives a mask suppress addition when cf is
19546         zero by complementing the mask.
19547
19548 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
19549
19550         * Makefile.in: Delete references to enquire.
19551         * enquire.c: Move to contrib.
19552
19553 2002-07-16  Stan Shebs  <shebs@apple.com>
19554
19555         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
19556         config/rs6000/darwin.h.
19557         (ASM_OUTPUT_SKIP): Ditto.
19558         (TEXT_SECTION_ASM_OP): Ditto.
19559         (DATA_SECTION_ASM_OP): Ditto.
19560         (ASM_APP_ON): Define.
19561         (ASM_APP_OFF): Define.
19562         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
19563         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
19564
19565         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
19566         (machopic_function_base_name): Declare result to be const.
19567         (machopic_non_lazy_ptr_name): Ditto.
19568         (machopic_stub_name): Ditto.
19569         * config/darwin-protos.h: Ditto for the prototypes.
19570
19571 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
19572
19573         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
19574
19575 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
19576
19577         * i386.md (prefetch): Fix for 64bit mode.
19578         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19579
19580 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
19581
19582         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
19583         * i386.c (x86_machine_dependent_reorg): New function.
19584         * i386-protos.h (x86_machine_dependent_reorg): Declare.
19585
19586 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
19587
19588         * builtins.c (std_expand_builtin_va_start): Remove unused
19589         first argument.
19590         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
19591         std_expand_builtin_va_start with just two arguments.
19592         * expr.h: Update prototypes.
19593
19594         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
19595         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
19596         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
19597         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
19598         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
19599         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
19600         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
19601         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
19602         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
19603         argument from all implementations of EXPAND_BUILTIN_VA_START
19604         and all uses of std_expand_builtin_va_start.
19605
19606 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
19607
19608         * regrename.c (copy_value): Don't record high part copies.
19609
19610 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
19611
19612         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
19613         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
19614         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
19615
19616 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
19617
19618         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
19619
19620         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
19621         into addsi3 using register class "x" and "y".
19622
19623         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
19624         "earlyclobber" constraint modifier for some alternative.
19625
19626         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
19627         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
19628         unordered.
19629         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
19630
19631         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
19632         (TARGET_SWITCHES): Add -mieee-compare option.
19633         (OVERRIDE_OPTIONS): 32332 is a subset of
19634         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
19635         (TARGET_SWITCHES): Fix description of bitfield option.
19636         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
19637         -mieee-compare option. Remove 32332 flag.
19638
19639 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
19640
19641         * explow.c (convert_memory_address): Remove special handling
19642         when POINTERS_EXTEND_UNSIGNED < 0.
19643         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
19644         (movedi_symbolic): Fix typo.
19645         (load_fptr): Remove mode restriction so it works for SI and DI.
19646         (load_fptr_internal1): Ditto.
19647         (load_gprel): Ditto.
19648         (load_symptr_internal1): Ditto.
19649         (call_pic): Ditto.
19650         * config/ia64.c (call_operand): Modify mode check.
19651         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
19652         (ia64_expand_move): Ditto.
19653         (ia64_assemble_integer): Handle SImode function pointers.
19654         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
19655         (ia64_expand_op_and_fetch): Ditto.
19656         (ia64_expand_compare_and_swap): Ditto.
19657         (ia64_expand_lock_test_and_set): Ditto.
19658         (ia64_expand_lock_release): Ditto.
19659
19660 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19661
19662         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
19663
19664 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19665             Richard Earnshaw  <rearnsha@arm.com>
19666
19667         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
19668         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
19669
19670 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
19671
19672         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
19673         understands to be a memory clobber.
19674         * arm.c (arm_expand_prologue): Use it.
19675
19676 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
19677
19678         * ra-rewrite.c: #include reload.h, insn-config.h
19679         * ra-build.c: #include reload.h
19680         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
19681         depend on reload.h, insn-config.h.
19682
19683 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
19684
19685         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
19686         the same size as a word.
19687
19688         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
19689         BYTES_BIG_ENDIAN into account.
19690
19691 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
19692
19693         * i386.md (prefetch): Fix for 64bit mode.
19694         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19695
19696         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
19697
19698 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19699
19700         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
19701
19702 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
19703
19704         * ginclude/varargs.h: Replace with stub which issues #error.
19705         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
19706         __builtin_va_start.
19707
19708         * builtins.def (BUILT_IN_VARARGS_START): Delete.
19709         (BUILT_IN_VA_START): New.
19710         * builtins.c (expand_builtin_va_start): Eliminate first
19711         argument and code to implement pre-ISO varargs.
19712         (std_expand_builtin_va_start): Ignore first argument; it is
19713         always 1.
19714         (expand_builtin): Handle BUILT_IN_VA_START and
19715         BUILT_IN_STDARG_START identically.  Delete
19716         BUILT_IN_VARARGS_START case.
19717
19718         * function.c (assign_parms): Delete hide_last_arg and all
19719         its uses.
19720         (mark_varargs): Delete function.
19721         * function.h (struct function): Delete 'varargs' bit.
19722         (current_function_varargs): Delete macro.
19723         * tree.h: Don't declare mark_varargs.
19724
19725         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
19726         (c_expand_body): Don't call mark_varargs.
19727         * c-objc-common.c: Handle BUILT_IN_VA_START and
19728         BUILT_IN_STDARG_START identically.  Delete
19729         BUILT_IN_VARARGS_START case.
19730         * c-tree.h: Don't declare c_mark_varargs.
19731         * c-parse.in: Remove grammar rules for '&...' (which has been
19732         commented out since before 2.7.2) and for '...' in K+R
19733         argument declarations.
19734
19735         * builtins.c, function.c, integrate.c, sibcall.c,
19736         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
19737         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
19738         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
19739         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
19740         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
19741         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
19742         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
19743         config/stormy16/stormy16.c: Delete all references to
19744         current_function_varargs, and code predicated on that flag.
19745
19746         * config/alpha/alpha.c (alpha_va_start),
19747         config/arc/arc.c (arc_va_start),
19748         config/i386/i386.c (ix86_va_start),
19749         config/mips/mips.c (mips_va_start),
19750         config/mn10300/mn10300.c (mn10300_va_start),
19751         config/rs6000/rs6000.c (rs6000_va_start),
19752         config/s390/s390.c (s390_va_start),
19753         config/sh/sh.c (sh_va_start),
19754         Ignore first argument; it is always 1.
19755
19756         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
19757         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
19758         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
19759         Delete m68hc11_va_start.
19760         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
19761         No need to define EXPAND_BUILTIN_VA_START.
19762
19763         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
19764         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
19765
19766 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
19767
19768         PR optimization/7153
19769         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
19770         dies in more than one insn.
19771
19772 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
19773
19774         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
19775
19776 2002-07-15  Michael Matz  <matz@suse.de>,
19777             Daniel Berlin  <dberlin@dberlin.org>,
19778             Denis Chertykov  <denisc@overta.ru>
19779
19780         Add a new register allocator.
19781
19782         * ra.c: New file.
19783         * ra.h: New file.
19784         * ra-build.c: New file.
19785         * ra-colorize.c: New file.
19786         * ra-debug.c: New file.
19787         * ra-rewrite.c: New file.
19788
19789         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
19790         (ra-rewrite.o): New .o files for libbackend.a.
19791         (GTFILES): Add basic-block.h.
19792
19793         * toplev.c (flag_new_regalloc): New.
19794         (f_options): New option "new-ra".
19795         (rest_of_compilation): Call initialize_uninitialized_subregs()
19796         only for the old allocator.  If flag_new_regalloc is set, call
19797         new allocator, instead of local_alloc(), global_alloc() and
19798         friends.
19799
19800         * doc/invoke.texi: Document -fnew-ra.
19801         * basic-block.h (FOR_ALL_BB): New.
19802         * config/rs6000/rs6000.c (print_operand): Write small constants
19803         as @l+80.
19804
19805         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
19806         (df_reg_table_realloc): Make size at least as large as max_reg_num().
19807         (df_insn_table_realloc): Size argument now is absolute, not relative.
19808         Changed all callers.
19809
19810         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
19811         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
19812
19813         2002-06-20  Michael Matz  <matz@suse.de>
19814
19815         * df.h (struct ref.id): Make unsigned.
19816         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
19817
19818         2002-06-13  Michael Matz  <matz@suse.de>
19819
19820         * df.h (DF_REF_MODE_CHANGE): New flag.
19821         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
19822         involving subregs with invalid mode changes, when
19823         CLASS_CANNOT_CHANGE_MODE is defined.
19824
19825         2002-05-07  Michael Matz  <matz@suse.de>
19826
19827         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
19828
19829         2002-05-03  Michael Matz  <matz@suse.de>
19830
19831         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
19832
19833         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
19834
19835         * regclass.c (regclass): Work with all regs which have sets or
19836         refs.
19837         (reg_scan_mark_refs): Count regs inside (clobber ...).
19838
19839         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
19840
19841         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
19842         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
19843         add new refs.
19844         (df_bb_refs_update): Don't clear insns_modified here, ...
19845         (df_analyse): ... but here.
19846
19847         * sbitmap.c (dump_sbitmap_file): New.
19848         (debug_sbitmap): Use it.
19849
19850         * sbitmap.h (dump_sbitmap_file): Add prototype.
19851
19852         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
19853
19854         * df.c (df_insn_modify): Grow the UID table if necessary, rather
19855         than assume all emits go through df_insns_modify.
19856
19857         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
19858
19859         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
19860         increase REG_N_REFS (like flow does), so that regclass doesn't
19861         think a reg is useless, and thus, not calculate a class, when it
19862         really should have.
19863
19864         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
19865
19866         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
19867         dataflow analysis.
19868
19869 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
19870
19871         PR middle-end/7245
19872         * config/i386/i386.c (const_int_1_31_operand): New.
19873         * config/i386/i386.h (PREDICATE_CODES): Add it.
19874         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
19875         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
19876         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
19877
19878 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
19879
19880         PR target/7282
19881         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
19882         (floatunssidf2): Likewise.
19883         (floatsidf_ppc64): New insn_and_split.
19884         (floatunssidf_ppc64): Likewise.
19885
19886 2002-07-14  Andreas Jaeger  <aj@suse.de>
19887
19888         * config.gcc (sh64): Remove unused
19889         target_requires_64bit_host_wide_int.
19890
19891 2002-07-12  Roger Sayle  <roger@eyesopen.com>
19892
19893         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
19894         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
19895         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
19896         whether clear_by_pieces should be used to clear storage.
19897         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
19898
19899         * doc/tm.texi: Document these two new target macros.
19900
19901 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
19902
19903         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
19904         the scratch register.
19905         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
19906         of it, forbid reload to use it.
19907
19908 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19909
19910         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
19911         usage on 64-bit hosts, return value was truncated to 32 bits.
19912
19913 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
19914
19915         * simplify-rtx.c (simplify_subreg): Handle floating point
19916         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
19917         the element mode is requested, compute a subreg with an
19918         integer mode of the same size as the element mode first.
19919
19920 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
19921
19922         * combine.c (try_combine): When converting a paradoxical subreg
19923         to an extension, take LOAD_EXTEND_OP into account.
19924
19925 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19926
19927         * config.gcc (mips-sgi-irix6*o32): New configuration.
19928
19929         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
19930         configurations.
19931         * configure: Regenerate.
19932
19933         * config/mips/iris6-o32-as.h: New file.
19934         * config/mips/iris6-o32.h: New file.
19935
19936         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
19937         (NM_FLAGS): Define.
19938         (HAVE_AS_SHF_MERGE): Undefine.
19939
19940         * config/mips/t-iris5-as: New file.
19941         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
19942
19943         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
19944         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
19945         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
19946         dp-bit.c, fp-bit.c): Move ...
19947         * config/mips/t-iris5-6: ... here.
19948         New file, shared by IRIX 5 and IRIX 6.
19949         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
19950         mips-sgi-irix5*): Use it.
19951
19952         * config/mips/iris6.h: Remove duplicate comment.
19953
19954         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
19955         !TARGET_IRIX6]: Define.
19956         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
19957
19958         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
19959
19960 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19961
19962         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
19963         and delete code to force constant to register.
19964         * pa-protos.h (adddi3_operand): Add prototype.
19965         * pa.c (adddi3_operand): New function.
19966
19967 2002-07-11  Roger Sayle  <roger@eyesopen.com>
19968
19969         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
19970         non-ANSI builtin functions.
19971
19972 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
19973
19974         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
19975         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
19976         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
19977         (gen_const_vector_0): Use it.
19978
19979 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19980
19981         * pa.md (adddi3): For 32-bit targets, force constants to a register
19982         if they don't fit in an 11-bit immediate.  Change insn predicate to
19983         arith11_operand.  Remove comment.
19984         * pa.c (cint_ok_for_move): Fix comment.
19985         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
19986         targets.
19987
19988 2002-07-11  Tim Josling  <tej@melbpc.org.au>
19989
19990         Remove front end hard coding from gengtype.c.
19991
19992         * Makefile.in
19993         (STAGESTUFF): add gtyp-gen.h
19994         (GTFILES): Remove front end specific files.
19995         (GTFILES_FILES_LANGS): New, from configure..
19996         (GTFILES_FILES_FILES): Likewise.
19997         (GTFILES_LANG_DIR_NAMES): Likewise.
19998         (GTFILES_SRCDIR): Likewise.
19999         (gtyp-gen.h): Build from configure information.
20000         (s-gtype): Remove command line parameters from gengtype.
20001         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
20002         (mostlyclean): Delete files generated by and for gengtype.
20003
20004         * c-config-lang.in: New file.
20005
20006         * configure.in (all_gtfiles_files_langs): New. Accumulate files
20007         for each language.
20008         (all_gtfiles_files_files): New. Accumulate language for each file
20009         accumulated.
20010         (gtfiles): Pick up value for C.
20011         (srcdir): AC-SUBST this variable.
20012         (all_gtfiles_files_langs): AC-SUBST this variable.
20013         (all_gtfiles_files_files): AC-SUBST this variable.
20014
20015         * configure: Regenerate.
20016
20017         * gengtype-lex.l (parse_file): Make parameter const.
20018
20019         * gengtype.c (toplevel): include gtyp-gen.h.
20020         (BASE_FILE_<language> unnamed enum): Delete.
20021         (lang_names): Delete (replaced by gtyp-gen.h)
20022         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
20023         all references.
20024         (NUM_GT_FILES): New.
20025         (NUM_LANG_FILES): New.
20026         (srcdir_len): New.
20027         (NUM_BASE_FILES): Change calculation.
20028         (open_base_files): Change prototype to avoid warning.
20029         (startswith): Delete.
20030         (get_file_basename): Iterate through generated language list not
20031         hard coded list.
20032         (get_base_file_bitmap): Use generated list of files and languages.
20033         (close_output_files): Add prototype to rmove warning.
20034         (main): Iterate through list of generated files from gtyp-gen.h
20035         rather than command line paramaters.  Ignore duplicated file
20036         names.
20037
20038         * gengtype.h (parse_file): Amend prototype for const parameter.
20039
20040         * doc/sourcebuild.texi: Document gtfiles variable.
20041
20042         * doc/gty.texi: Document changes to gtfiles variable for front
20043         ends.
20044
20045         * objc/config-lang.in (gtfiles): Add files needed for objc front
20046         end.
20047
20048 2002-07-10  Roger Sayle  <roger@eyesopen.com>
20049
20050         PR c/2454
20051         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
20052         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
20053
20054 2002-07-10  Roger Sayle  <roger@eyesopen.com>
20055             Zack Weinberg <zack@codesourcery.com>
20056
20057         * builtins.def: Make the argument types of abort and exit
20058         independent of the front-end.
20059
20060 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
20061
20062         * config/rs6000/linux64.h (ASM_SPEC): Define.
20063
20064 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
20065
20066         * config/rs6000/rs6000.c (emit_frame_save): New.
20067         (rs6000_frame_related): Replace reg2 before reg.
20068         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
20069         and eh_return registers.
20070
20071 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
20072
20073         Revert all patches for optimization of Complex .op. Real.
20074         * complex_part_zero_p: Remove
20075         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
20076         with x.
20077         * expand_cmplxdiv_wide: Ditto.
20078         * expand_binop: Ditto.
20079
20080 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
20081
20082         * config/avr/avr.md: Fix two 0x80000000 constants to make them
20083         negative also on 64-bit hosts.
20084
20085         Default to -fno-reorder-blocks when optimizing for size.
20086         * config/avr/avr-protos.h (avr_optimization_options): Declare.
20087         * config/avr/avr.c (avr_optimization_options): New function.
20088         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
20089
20090         Optimize returning from simple functions.
20091         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
20092         * config/avr/avr.c (avr_simple_epilogue): New function.
20093         * config/avr/avr.md (return): New insn.
20094
20095 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
20096
20097         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
20098         HAS_INIT_SECTION to protection.
20099
20100 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
20101
20102         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
20103         deprecated.
20104
20105 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
20106
20107         * combine.c (gen_lowpart_for_combine): Handle vector modes.
20108         Supply non-VOID mode to simplify_gen_subreg.
20109
20110 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
20111
20112         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
20113
20114 2002-07-10  Jeffrey A Law  <law@redhat.com>
20115
20116         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
20117         as appropriate.
20118
20119         * mn10200.c (expand_epilogue): Fix test to determine which scratch
20120         register to use.
20121
20122 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
20123
20124         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
20125         Get mode from dest.
20126         If simplify_gen_subreg fails, try next equivalent.
20127
20128 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
20129
20130         * diagnostic.h: #include location.h
20131         (location_t): Move definition to..
20132         * location.h: ... here.  New file.
20133         * tree.h: #include location.h
20134         (DECL_SOURCE_LOCATION): New macro.
20135         (DECL_SOURCE_FILE): Use.
20136         (DECL_SOURCE_LINE): Likewise.
20137         (struct tree_decl): REplace filename and linenum with locus.
20138         * Makefile.in (TREE_H): add location.h
20139         (diagnostic.o): Depends on gt-location.h
20140         (gt-location.h): Depends on s-gtype
20141
20142 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
20143
20144         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
20145         TARGET_OS_CPP_BUILTINS.
20146         * config/rs6000/aix31.h: Likewise.
20147         * config/rs6000/aix41.h: Likewise.
20148         * config/rs6000/aix43.h: Likewise.
20149         * config/rs6000/aix51.h: Likewise.
20150         * config/rs6000/beos.h: Likewise.
20151         * config/rs6000/darwin.h: Likewise.
20152         * config/rs6000/eabi.h: Likewise.
20153         * config/rs6000/eabisim.h: Likewise.
20154         * config/rs6000/linux.h: Likewise.
20155         * config/rs6000/linux64.h: Likewise.
20156         * config/rs6000/lynx.h: Likewise.
20157         * config/rs6000/mach.h: Likewise.
20158         * config/rs6000/rtems.h: Likewise.
20159         * config/rs6000/sysv4.h: Likewise.
20160         * config/rs6000/vxppc.h: Likewise.
20161
20162 2002-07-09 Devang Patel <dpatel@apple.com>
20163         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
20164         Do not allow ObjC objects as a parameter type for Objective-C methods.
20165         My previous patch restricted  'struct' also.
20166
20167 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
20168
20169         * cpperror.c (cpp_error): Default to directive_line within
20170         directives here.
20171         * cppexp.c (cpp_interpret_integer): Only use traditional
20172         number semantics in directives.
20173         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
20174         (do_include_common): Similarly.
20175         * cpptrad.c (scan_out_logical_line): Implement accurate
20176         quoting of <> in #include.
20177         * doc/cpp.texi: Update.
20178
20179 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
20180                           J"orn Rennecke <joern.rennecke@superh.com>
20181
20182         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
20183         * sh.md (attribute issues): Replace with:
20184         (attribute pipe_model).  All users changed.
20185         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
20186         All users changed.
20187         (function units sh5issue, sh5fds): New.
20188         (attribute is_mac_media): New.
20189         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
20190         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
20191         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
20192         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
20193         (call_media, call_value_media, sibcall_media): Likewise.
20194         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
20195         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
20196         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
20197         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
20198         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
20199         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
20200         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
20201         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
20202         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
20203         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
20204         (truncdfsf2_media): Likewise.
20205         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
20206         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
20207
20208 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
20209
20210         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
20211         * sh.c (general_extend_operand, inqhi_operand): New functions.
20212         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
20213         alternatives using 'N' modifier.  Add type.
20214         (adddi3z_media): Likewise.  Enable generator function generation.
20215         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
20216         exact predicates / constraints.  Add type.
20217         (subsi3): Allow 0 for SHMEDIA.
20218         (udivsi3_i4_media): Use match_operand for input values
20219         rather than hard registers.
20220         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
20221         unnecessarily through hard registers.  Keep copies of pseudo
20222         registers outside of the libcall sequence.
20223         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
20224         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
20225         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
20226         (extendhidi2, extendqidi2): Likewise.
20227         (andsi3_compact): Name.
20228         (andcdi3): Enable generator function generation.
20229         (zero_extendhisi2, zero_extendqisi2): Rename to
20230         (zero_extendhisi2_compact, zero_extendqisi2_compact).
20231         (extendhisi2, extendqisi2): Rename to
20232         (extendhisi2_compact, extendqisi2_compact).
20233         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
20234         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
20235         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
20236         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
20237         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
20238         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
20239         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
20240         (shmedia32_initialize_trampoline_big): Likewise.
20241         (shmedia32_initialize_trampoline_little): Likewise.
20242         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
20243         (negdi2): Remove spurious T clobber.
20244         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
20245         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
20246         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
20247         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
20248         (ic_invalidate_line_media): Write back data cache before invalidating
20249         instruction cache.  Add type.
20250         (movsf_media): Sign-extend when the destination is a general
20251         purpose register.  Add type.
20252         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
20253         (casesi_worker_0+1): Only increment ref count for proper label.
20254         (casesi_worker_0+2): Likewise.
20255
20256 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
20257
20258         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
20259
20260 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
20261
20262         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
20263         from Pmode to ptr_mode.
20264         (get_exception_pointer): Ditto.
20265         (connect_post_landing_pads): Ditto.
20266         (dw2_build_landing_pads): Ditto.
20267
20268 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
20269         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
20270         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
20271         (handle_pragma_redefine_extname): Change to use new function.
20272
20273 2002-07-08  Roger Sayle  <roger@eyesopen.com>
20274
20275         * combine.c (combine_simplify_rtx): Add an explicit cast
20276         to avoid signed/unsigned comparison warning.
20277         (simplify_if_then_else): Likewise.
20278         (extended_count): Likewise.
20279         (simplify_shift_const): Likewise.
20280         (simplify_comparison): Likewise.
20281
20282 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
20283
20284         * config/mips/mips.md: Add imadd type.  Update scheduler description
20285         to use imadd as well as imul.
20286         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
20287         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
20288         (*mul_sub_si): Likewise for first alternative.  Change second
20289         alternative from imul to multi.
20290
20291 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
20292
20293         * c-common.c (c_common_post_options): Update prototype;
20294         don't init backends if preprocessing only.
20295         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
20296         * langhooks.h (struct lang_hooks): Update post_options to
20297         return a boolean.
20298         * toplev.c (parse_options_and_default_flags, do_compile,
20299         lang_independent_init): Update prototypes.  Allow the
20300         front end to specify that there is no need to initialize
20301         the back end.
20302         (general_init): Move call to hex_init here...
20303         (toplev_main): ...from here.  Pass flag for back end init
20304         suppression.
20305
20306 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
20307
20308         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
20309         (PREDICATE_CODES): Add entries for equality_comparison_operator,
20310         greater_comparison_operator and less_comparison_operator.
20311         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
20312         more operators.
20313         (equality_comparison_operator): New function.
20314         (greater_comparison_operator, less_comparison_operator): Likewise.
20315         * sh.md (beq_media_i): Disable generator function generation.
20316         Use match_operator to handle a whole class of comparisons.  Add
20317         modifier in output template to provide branch prediction.  Add type.
20318         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
20319         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
20320         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
20321         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
20322
20323 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
20324
20325         Emit MMIX function prologue and epilogue as rtl.
20326         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
20327         not unprototyped get_hard_reg_initial_val.
20328         ("call_value", "nonlocal_goto_receiver"): Ditto.
20329         ("return"): Make define_expand.  Move real insn to...
20330         ("*expanded_return"): New pattern.
20331         ("prologue", "epilogue"): New define_expands.
20332         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
20333         (struct machine_function): New member in_prologue.
20334         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
20335         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
20336         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
20337         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
20338         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
20339         (LOCAL_REGNO): Define.  Adjust comment.
20340         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
20341         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
20342         leaf_function_p.
20343         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
20344         the prologue.
20345         (mmix_target_asm_function_prologue): Make static.  Just mark that
20346         the prologue is being emitted.  Move guts to...
20347         (mmix_expand_prologue): New function.  Adjust for emitting
20348         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
20349         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
20350         \n.  Move guts to...
20351         (mmix_expand_epilogue): New function.  Adjust for emitting
20352         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
20353         (mmix_target_asm_function_end_prologue): Mark that the prologue
20354         has ended.
20355         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
20356         (mmix_conditional_register_usage): Improve comments.
20357         (mmix_local_regno): New function.
20358         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
20359         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
20360         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
20361         (mmix_get_hard_reg_initial_val): Ditto.
20362
20363 2002-07-06  Andreas Jaeger  <aj@suse.de>
20364
20365         * toplev.c (set_fast_math_flags): Don't use ISO C style function
20366         definitions.
20367         * gengtype.c (open_base_files): Likewise.
20368         (close_output_files): Likewise.
20369         * tracer.c (find_best_predecessor): Likewise.
20370         (find_best_successor): Likewise.
20371         (ignore_bb_p): Likewise.
20372
20373 2002-07-05  Roger Sayle  <roger@eyesopen.com>
20374
20375         PR c++/7099
20376         * builtin-attrs.def: Define new attribute lists for use in
20377         builtins.def.
20378         * builtins.def [DEF_BUILTIN]: Modify to take an additional
20379         ATTRS argument, an enumerated value defined in builtin-attrs.def
20380         that represents the attribute list for the builtins.  Modify
20381         all builtin functions to pass an appropriate attribute list.
20382         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
20383         their required noreturn attributes.
20384         * tree.h (enum_builtin_function): Ignore the additional parameter
20385         to DEF_BUILTIN.
20386         * builtins.c (built_in_names): Likewise.
20387         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
20388         argument with a tree representing the functions attribute list.
20389         Pass this "attrs" argument to builtin_function.  No longer handle
20390         the noreturn_p processing manually.
20391         (built_in_attributes): Move the definitions from builtin-attrs.def
20392         before c_common_nodes_and_builtins.
20393         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
20394         DEF_BUILTIN, passing it to both builtin_function and the changed
20395         builtin_function_2.
20396
20397         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
20398         __builtin__exit and __builtin__Exit.
20399
20400 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20401
20402         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
20403         QI mode registers in soft registers.
20404         ("zero_extendqihi2"): Do not take into account soft registers
20405         for register allocation (use '*' constraint).
20406
20407 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20408
20409         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
20410         it is dead.
20411         ("*ashrsi3"): Likewise.
20412         ("*lshrsi3"): Likewise.
20413
20414 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
20415
20416         * genautomata.c (output_max_insn_queue_index_def): Take latencies
20417         into account.
20418
20419 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20420
20421         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
20422         address computation and memory moves.
20423
20424 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
20425
20426         PR c++/6706
20427         * dwarfout.c (output_reg_number): Fix warning message.
20428         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
20429         before using it.
20430
20431 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
20432
20433         * gcc/gcc.c (asm_debug): Move initialization ...
20434         (init_spec): ... here.
20435
20436 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
20437
20438         * c-parse.in (extdef): Append ';'.
20439         (old_style_parm_decls): Append ';'.
20440
20441 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
20442
20443         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
20444         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
20445         to gcc_cv_as_gstabs_flag.
20446         * configure: Rebuilt.
20447
20448 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
20449
20450         * ggc.h (ggc_add_root): Document as obsolete.
20451
20452 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
20453
20454         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
20455         (mshflo_w): Likewise.
20456
20457 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
20458
20459         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
20460         vector mode subregs of constants to finding integer mode
20461         subregs of constants.
20462         * cse.c (cse_insn): Use simplify_gen_subreg.
20463         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
20464         From a vector mode expression of different size than the
20465         target mode.
20466
20467 2002-07-03  Eric Christopher  <echristo@redhat.com>
20468
20469         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
20470         * config/mips/mips.h: Remove deprecated -m<processor> options
20471         and cc1_cpu_spec associated.
20472         (CONSTANT_ADDRESS_P): Fix last patch.
20473         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
20474         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
20475         sunge_sf): Remove.
20476
20477 2002-07-03  Stan Shebs  <shebs@apple.com>
20478
20479         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
20480         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
20481         (CPP_SPEC): Remove insertion of APPLE_CC definition.
20482
20483 2002-07-03  Roger Sayle  <roger@eyesopen.com>
20484
20485         * combine.c (struct_undo): Change types of recorded substitutions
20486         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
20487         (do_SUBST_INT): Change types of the substitution from unsigned int
20488         to int, to avoid compilation warning from SUBST_INT's only caller.
20489
20490         (make_extraction): Add cast to avoid compilation warning.
20491         (force_to_mode): Remove cast to avoid compilation warning.
20492
20493 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
20494             Jeff Law  <law@redhat.com>
20495
20496         * i386.md (length_immediate attribute): Fix typo.
20497         (length_address attribute): Likewise.
20498         (modrm attribute): Set it to 0 for immediate call instructions.
20499         (jcc_1 pattern): Set modrm attribute to 0.
20500         (jcc_2 pattern ): Likewise.
20501         (jump pattern): Likewise.
20502         (doloop_end_internal pattern): Explicitly set length.
20503         (leave pattern): Fix typo.
20504         (leave_rex64 pattern): Likewise.
20505
20506 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
20507
20508         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
20509         in FPR as preference.
20510         (fctiwz): Same.
20511         (floatdidf2, fix_truncdfdi2): Same.
20512         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
20513         (floatditf2): Same.
20514         (floatsitf2, fix_trunctfsi2): SImode in GPR.
20515         (ctrdi): Remove FPR alternative and splitter.
20516
20517 2002-07-03  Will Cohen  <wcohen@redhat.com>
20518
20519         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
20520
20521 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
20522
20523         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
20524         than UNITS_PER_WORD, unless this is little endian and the first unit
20525         in this word.  Let extract_bit_field decide how to load an element.
20526         Force arguments to matching mode.
20527         (expand_vector_unop): Likewise.
20528
20529         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
20530         consist of word_mode elements.
20531         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
20532         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
20533         (build_unary_op): Allow vector types for BIT_NOT_EPR.
20534         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
20535         CONST_VECTOR.
20536         * optabs.c (expand_vector_binop): Try to perform operation in
20537         smaller vector modes with same inner size.  Add handling of AND, IOR
20538         and XOR.  Reject expansion to inner-mode sized scalars when using
20539         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
20540         (expand_vector_unop): Try to perform operation in smaller vector
20541         modes with same inner size.  Add handling of one's complement.
20542         When there is no vector negate operation, try a vector subtract
20543         operation.  Use simplify_gen_subreg on constants.
20544         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
20545         constants into smaller vectors with same inner mode, and to
20546         integer CONST_DOUBLEs.
20547
20548 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20549
20550         * c-parse.in (parsing_iso_function_signature): New variable.
20551         (extdef_1): New, copied from...
20552         (extdef): ... here.  Reset parsing_iso_function_signature.
20553         (old_style_parm_decls):  Reset parsing_iso_function_signature.
20554         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
20555         Warn about ISO C style function definitions.
20556         (nested_function, notype_nested_function): Reset
20557         parsing_iso_function_signature.
20558         (parmlist_2): Set parsing_iso_function_signature.
20559
20560         * doc/invoke.texi (-Wtraditional): Document new behavior.
20561
20562 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
20563
20564         * config.gcc (mips*el-*-*): Use tm_defines to set
20565         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
20566         * config/mips/little.h: Remove.
20567
20568 2002-07-02 Devang Patel <dpatel@apple.com>
20569
20570         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
20571         object as parameter. Prevent something like 'NSObject' to be
20572         used as the type for a method argument.
20573
20574 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
20575
20576         * cpptrad.c: Update comment.
20577
20578 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
20579
20580         * doc/cpp.texi: Update for traditional preprocessing changes.
20581         * goc/cppopts.texi: Similarly.
20582
20583 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
20584
20585         * c-parse.in (designator): Enable designated initializers if ObjC.
20586         (objcmessageexpr): Remove references to objc_receiver_context.
20587         * objc/objc-act.h (objc_receiver_context): Remove decl.
20588         * objc/objc-act.c (objc_receiver_context): Remove.
20589         (lookup_objc_ivar): Test objc_method_context instead of
20590         objc_receiver_context.
20591
20592 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
20593
20594         * sh.c (print_operand, case 'N'): Allow zero vector.
20595         (arith_reg_or_0_operand): Likewise.
20596         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
20597         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
20598         IOR, XOR, PLUS and SET and take their respective constant
20599         ranges into account.
20600         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
20601         * sh.md (subdi3, subdi3_media): Allow zero operand.
20602         (movv8qi_i+3): Only vector that is not split is the zero vector.
20603         Fix operand 3 to simplify_subreg.
20604         (movv2si_i): Split alternative 1.
20605         (mshfhi_l_di_rev+1): New splitter.
20606
20607 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
20608
20609         PR preprocessor/7029
20610         * cppinit.c (cpp_handle_option):  Suppress warnings with an
20611         implicit "-w" for "-M" and "-MM".
20612         * doc/cppopts.texi: Update.
20613
20614 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20615
20616         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
20617         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
20618         builtin_function.
20619
20620 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
20621
20622         * README.Portability: Fix typos.
20623
20624 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
20625
20626         PR target/7177
20627         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
20628         of indirections for register inside sign-extended mem part.
20629
20630 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20631
20632         * tree.h:  Modify builtin_function interface to take an extra
20633         argument ATTRS, which is a tree representing an attribute list.
20634
20635         * c-decl.c (builtin_function): Accept additional parameter.
20636         * objc/objc-act.c (builtin_function): Likewise.
20637         * f/com.c (builtin_function): Likewise.
20638         * java/decl.c (builtin_function): Likewise.
20639         * ada/utils.c (builtin_function): Likewise.
20640         * cp/decl.c (builtin_function): Likewise.
20641         (builtin_function_1): Likewise.
20642
20643         * c-common.c (c_common_nodes_and_builtins): Pass an additional
20644         NULL_TREE argument to builtin_function.  (builtin_function_2):
20645         Likewise.
20646         * cp/call.c (build_java_interface_fn_ref): Likewise.
20647         * objc/objc-act.c (synth_module_prologue): Likewise.
20648         * java/decl.c (java_init_decl_processing): Likewise.
20649         * f/com.c (ffe_com_init_0): Likewise.
20650
20651         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
20652         NULL_TREE argument to builtin_function.
20653         * config/arm/arm.c (def_builtin): Likewise.
20654         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
20655         * config/i386/i386.c (def_builtin): Likewise.
20656         * config/ia64/ia64.c (def_builtin): Likewise.
20657         * config/rs6000/rs6000.c (def_builtin): Likewise.
20658
20659 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
20660
20661         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
20662         * config/mips/t-isa3264: Likewise.
20663         * config/mmix/t-mmix: Likewise.
20664
20665 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
20666
20667         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
20668
20669 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20670
20671         PR opt/4046
20672         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
20673         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
20674         B are truth values.
20675
20676 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
20677
20678         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
20679
20680 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
20681
20682         * README.Portability (Function prototypes): Give an example of
20683         declaring and defining a function with no arguments.
20684
20685         * README.Portability (Function prototypes): Document new
20686         variable-argument function macros.
20687
20688 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
20689
20690         * sh.c (langhooks.h): Include.
20691         (sh_init_builtins, sh_media_init_builtins): New functions.
20692         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
20693         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
20694         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
20695         (builtin_description): New struct tag.
20696         (signature_args, bdesc): New arrays.
20697         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
20698         (print_operand): Add 'N' modifier.
20699         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
20700         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
20701         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
20702         (CONST_COSTS): Add special case for SHmedia AND.
20703         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
20704         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
20705         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
20706         target_operand can also be const or unspec.
20707         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
20708         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
20709         (attribute type): Add new types.
20710         (anddi3): Add splitter.
20711         (movdi_const_16bit+1): Add code to handle vector constants and
20712         bitmasks efficiently.
20713         (shori_media): Have generator function made.
20714         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
20715         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
20716         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
20717         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
20718         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
20719         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
20720         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
20721         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
20722         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
20723         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
20724         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
20725         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
20726         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
20727         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
20728         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
20729         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
20730         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
20731         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
20732         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
20733         (ftrv): Likewise.
20734
20735         (fpu_switch+1, fpu_switch+2): Remove constraint.
20736
20737 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
20738
20739         * tree.c (build_function_type_list): Update function comment.
20740         Rename first argument to return_type.
20741
20742 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
20743
20744         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
20745         tradcif.y and related files.
20746
20747 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
20748
20749         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
20750
20751 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20752
20753         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
20754
20755 See ChangeLog.7 for earlier changes.