combine.c (combine_simplify_rtx, [...]): Use CC0_P.
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2003-02-25  Roger Sayle  <roger@eyesopen.com>
2
3         * combine.c (combine_simplify_rtx, simplfy_comparison):  Use CC0_P.
4         * cse.c (invalidate_skipped_set):  Likewise.
5         * integrate.c (subst_constants):  Likewise.
6         * jump.c (reversed_comparison_code_parts):  Likewise.
7         * loop.c (canonicalize_condition):  Likewise.
8         * simplify-rtx.c (simplify_relational_operation):  Likewise.
9
10 2003-02-25  Roger Sayle  <roger@eyesopen.com>
11
12         * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
13         (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit):  Use
14         the appropriate macro to define built-in function.
15         (fmod,fmodf,fmodl): New built-in functions.
16
17         * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
18
19 2003-02-25  Richard Henderson  <rth@redhat.com>
20
21         * config/i386/i386.c (function_arg): Pass variable sized
22         structures correctly on the stack.
23
24 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
25
26         * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
27         does not reduce the cost of SET.
28
29 2003-02-25  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
30
31         PR target/9732
32         * config/rs6000/rs6000.c (first_reg_to_save): Handle
33         PIC_OFFSET_TABLE_REGNUM for -fPIC too.
34         (rs6000_emit_prologue): Likewise.
35         (rs6000_emit_epilogue): Likewise.
36         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
37         PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
38
39 2003-02-25  Richard Henderson  <rth@redhat.com>
40
41         * real.c (real_to_integer2): Force overflow result only for
42         unsigned overflow.
43
44 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
45
46         * gcse.c (cprop_jump): Revert the 2003-02-23 change.
47
48 2003-02-25  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
49             Richard Henderson  <rth@redhat.com>
50
51         * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
52         there is no similar load.
53
54 2003-02-25  Vladimir Makarov  <vmakarov@redhat.com>
55             Richard Henderson  <rth@redhat.com>
56
57         * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
58         sched-rgn.c.
59         (add_forward_dependence): New function prototype.
60
61         * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
62         sched-init.h.
63         (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
64         them to haifa-sched.c.
65
66         * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
67         haifa_classify_insn): Move them from sched-rgn.c.
68
69         * sched-deps.c (add_dependence): Return flag of creating a new
70         entry.
71         (add_forward_dependence): New function.
72         (compute_forward_dependences): Use the function.
73         
74         * sched-ebb.c (earliest_block_with_similiar_load): New function.
75         (add_deps_for_risky_insns): New function.
76         (schedule_ebb): Call the function.
77
78 2003-02-20  Aldy Hernandez  <aldyh@redhat.com>
79
80         * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
81         TARGET_VECTOR_OPAQUE_P.  Document accordingly.
82
83         * testsuite/gcc.dg/20030218-1.c: Check that initialization of
84         opaque types fail.
85
86         * c-typeck.c (comptypes): Change call to vector_types_compatible
87         to vector_opaque_p.
88         (convert_for_assignment): Call vector_opaque_p instead of
89         vector_types_compatible.
90         (really_start_incremental_init): Disallow initialization of opaque
91         types.
92
93         * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
94         Define TARGET_VECTOR_OPAQUE_P.
95         (TARGET_INITIALIZER): Same.
96
97         * target.h (struct gcc_target): Remove vector_types_compatible.
98         Add vector_opaque_p.
99
100         * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
101         Remove.
102         (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
103         a vector type.  Change return type to bool.
104         (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
105         (TARGET_VECTOR_OPAQUE_P): Define.
106
107         * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
108         target hook.
109         Include target.h.
110         (cp_parser_init_declarator): Fix typo in function comments.
111
112 Tue Feb 25 12:35:34 CET 2003  Jan Hubicka  <jh@suse.cz>
113
114         * Makefile.in (lcm.o):  Add dependency on function.h
115         * lcm.c (function.h): Include.
116         * i386.c (machine_function, ix86_stack_locals,
117         * ix86_save_varrargs_registers) : Move to
118         ...
119         * i386.h (machine_function, ix86_stack_locals,
120         ix86_save_varrargs_registers): ... here; add optimize_mode_switching
121         (ix86_optimize_mode_switching): New.
122         * i386.md (fix patterns): Set ix86_optimize_mode_switching
123
124 2003-02-25  Nick Clifton  <nickc@redhat.com>
125
126         * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo.  Name
127         of fourth arg is 'fndecl' not 'indirect'.  Update comment
128         describing the function's parameters.
129
130 Mon Feb 24 22:08:22 CET 2003  Jan Hubicka  <jh@suse.cz>
131
132         * combine.c (simplify_shift_const):  Fix previous patch.
133
134 2003-02-24  Jeff Law  <law@redhat.com>
135
136         * i386.md (testdi_1_rex64): Discourage reload from using the %eax
137         alternative.
138         (testsi_1, testhi_1, testqi_1): Likewise.
139
140 2003-02-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
141
142         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
143         __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
144         * doc/extend.texi (Tru64 Pragmas): Reflect this.
145
146         * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
147         extern_prefix support for Tru64 UNIX V5 <sys/stat.h>. 
148         * fixinc/fixincl.x: Regenerate.
149         * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
150         testcase.
151         Fixes PR c/5059, c/6126, other/9671.
152         
153 2003-02-24  Roger Sayle  <roger@eyesopen.com>
154
155         * gcc.c (do_spec_1) ['{']:  Handle pending argument upon return
156         from handle_braces in "%{...}".
157
158 2003-02-24  Kaz Kojima  <kkojima@gcc.gnu.org>
159
160         * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
161         (prepare_move_operands): Handle TLS operands.
162         (tls_symbolic_operand): New.
163         (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
164         (legitimize_pic_address): Do nothing for the TLS symbol.
165         (sh_encode_section_info): Handle TLS case.
166         (sh_strip_name_encoding): Drop TLS encoding.
167         * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
168         * config/sh/sh.h (SH_TLS_ENCODING): Define.
169         (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
170         (ASM_OUTPUT_LABELREF): Drop TLS encoding.
171         (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
172         * config/sh/sh.md: Define TLS UNSPEC constants.
173         (type): Add tls_load.
174         ("tls_global_dynamic", "tls_local_dynamic"): New insns.
175         ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
176         ("tls_initial_exec"): New insn.
177         ("sym2TPOFF", "symTPOFF2reg"): New expanders.
178         ("load_gbr"): New insn.
179
180         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
181         * configure: Regenerate.
182
183 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
184
185         * calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
186         2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
187         * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
188         (enum block_op_methods): Reorder for better store_expr optimization.
189         * expr.c (store_expr): Test bit 1 of "want_value" for call param
190         stores, test bit 0 for original want_value meaning.  Pass
191         BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set.  Adjust
192         recursive calls, and calls to expand_param.
193         (expand_expr): Handle EXPAND_STACK_PARM modifier.  When cse
194         expected, set target to 0 rather than to subtarget.  Formatting.
195
196 2003-02-23  Kazu Hirata  <kazu@cs.umass.edu>
197
198         * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
199
200 2003-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
201
202         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
203         new default behavior.
204         * ggc-common.c: Include sys/resource.h.
205         (ggc_rlimit_bound): New function.
206         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
207         defaults to account for rlimits.
208
209 2003-02-22  Richard Henderson  <rth@redhat.com>
210
211         * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
212
213 2003-02-22  Kelley Cook <kelley@dwhoops.info>
214
215         * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
216         (ix86_tune_string): Rename from ix86_cpu_string.
217
218 2003-02-22  Kelley Cook <kelleycook@comcast.net>
219
220         * config/i386/i386.c: Replace "mcpu" with "mtune".
221         * config/i386/i386.h (TARGET_OPTIONS): Likewise.
222         (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
223         * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
224         with "mtune".  Note that "mcpu" is a deprecated synonym for "mtune".
225
226 2003-02-23  Andreas Schwab  <schwab@suse.de>
227
228         * config.gcc: Delete references to m68k/t-linux and
229         m68k/t-linux-aout.
230         * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
231
232 Sat Feb 22 20:22:19 CET 2003  Jan Hubicka  <jh@suse.cz>
233
234         * toplev.c (rest_of_compilation):  Apply fotgotten hunk
235         of track scheduling patch.
236
237 Sat Feb 22 19:29:28 CET 2003  Jan Hubicka  <jh@suse.cz>
238
239         * config/linux.h (TARGET_HAS_F_SETLKW): Define.
240         * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
241
242 Sat Feb 22 12:42:16 CET 2003  Jan Hubicka  <jh@suse.cz>
243
244         * c-decl.c (c_expand_body_1): Fix.
245
246 Sat Feb 22 03:13:36 CET 2003  Jan Hubicka  <jh@suse.cz>
247
248         * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
249
250         * cfgcleanup.c (try_forward_edges):  Don't check loop structures
251         when not optimizing.
252         (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
253         when not expensive.
254         * toplev.c (rest_of_compilation):  Duplicate loop headers only when
255         optimizing;  Delete trivially dead insns early; fix optimize check.
256
257         * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
258         dependency on cgraph.h
259         * c-decl.c: Include cgraph.h
260         (finish_function): Update call of tree_inlinable_function_p.
261         * c-objc-common.c: Include cgraph.h
262         * cgraph.h: New file.
263         * cgraphunit.c: New file.
264         * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
265         (cgraph_nodes, cgraph_n_nodes): Globalize.
266         (cgraph_finalize_function, cgraph_finalize_compilation_unit
267         cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
268         Move into cgraphunit.c
269         * tree-inline.c: Include cgraph.h
270         * tree-inline.c: Include cgraph.h
271
272 2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
273
274         * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
275         for copying a register.
276
277 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
278
279         PR other/3782
280         * toplev.c (process_options): If flag_detailed_statistics is set,
281         then set time_report as well.
282
283         PR c/8828
284         * jump.c (never_reached_warning): Don't fall through BARRRIER
285         insns.  Update comments to reflect what the function really does.
286
287 2003-02-21  Roger Sayle  <roger@eyesopen.com>
288
289         * fold-const.c (omit_one_operand): No longer static.
290         * tree.h (omit_one_operand): Prototype here.
291         (div_and_round_double): Keep fold-const.c prototypes together.
292         * builtins.c (builtin_mathfn_code): Handle binary built-in
293         funtions, such as "pow" and "atan2".
294         (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
295         Simplify optimizations using "type" the builtin's return type.
296
297 2003-02-22  Hans-Peter Nilsson  <hp@axis.com>
298
299         * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
300         Fix functionalization typo.
301
302         * regmove.c (optimize_reg_copy_1): Do not replace a hard register
303         in an asm.
304
305 2003-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
306
307         * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
308         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
309         documentation.
310         * ggc-common.c: Include params.h
311         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
312         init_ggc_heuristics): New functions.
313         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
314         init_ggc_heuristics): Prototype.
315         * toplev.c (print_version):  Output GGC heuristics.
316         (parse_options_and_default_flags): Call init_ggc_heuristics.
317
318 Sat Feb 22 02:35:07 CET 2003  Jan Hubicka  <jh@suse.cz>
319
320         * i386.c (def_builtin):  Special case 64bit builtins.
321         (MASK_SSE164, MASK_SSE264): New constants.
322         (builtin_description): Add 64bit builtins.
323         (ix86_init_mmx_sse_builtins): Likewise.
324         * i386.h (enum ix86_builtins): Likewise.
325         * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
326         sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
327         (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
328         * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
329         * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
330         _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
331         _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
332
333 Sat Feb 22 00:48:22 CET 2003  Jan Hubicka  <jh@suse.cz>
334
335         * i386.c (builtin_description): Add __builtin_ia32_paddq and
336         __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
337          and __builtin_ia32_psubq128.
338         * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
339         * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
340         (mmx_adddi3, mmx_subdi3): New.
341         * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
342         * xmmintrin.h (_mm_movepi64_pi64): New.
343         (_mm_add_epi64, _mm_sub_epi64): fix.
344         (_mm_mul_pu16): Rename to...
345         (_mm_mul_su32): ... this one.
346
347         * builtins.c (expand_builtin_expect):  Do not predict
348         flag_guess_branch_prob is not set.
349         * c-semantics.c (expand_stmt): Likewise.
350         * predict.c (predict_insn): Likewise.
351         * stmt.c (expand_continue_loop): Likewise.
352         * toplev.c (rest_of_compilation): Do not call
353         note_prediction_to_br_prob and note_prediction_to_br_prob
354         when not optimizing.
355
356 Fri Feb 21 23:10:13 CET 2003  Jan Hubicka  <jh@suse.cz>
357
358         * cfgrtl.c (commit_edge_insertions):  Call
359         find_many_sub_basic_block only when some code has been emitted.
360         (commit_edge_insertions_watch_calls): Bring into sync with
361         commit_edge_insertions
362
363 Fri Feb 21 20:41:29 2003  J"orn Rennecke <joern.rennecke@superh.com>
364
365         * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
366
367         * sh.md (binary_sf_op): Use extra constant operand instead of
368         negating constant operand 4.
369         * sh.c (sh_expand_binop_v2sf): Supply it.
370
371 2003-02-21  Zack Weinberg  <zack@codesourcery.com>
372
373         * cpphash.h (struct lexer_state): Add directive_wants_padding.
374         * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
375         for directives of type INCL.
376         (glue_header_name, parse_include): Use get_token_no_padding.
377         * cppmacro.c (replace_args): If directive_wants_padding,
378         provide padding tokens.
379
380 2003-02-21  Kazu Hirata  <kazu@cs.umass.edu>
381
382         * config/h8300/h8300.md (a peephole2): New.
383
384 Fri Feb 21 11:05:44 CET 2003  Jan Hubicka  <jh@suse.cz>
385
386         * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
387         (commit_edge_insertions): Call find_many_sub_basic_blocks
388
389         * reg-stack.c (convert_regs): Cleax aux for blocks.
390
391 Fri Feb 21 10:29:52 CET 2003  Jan Hubicka  <jh@suse.cz>
392
393         * toplev.c (parse_options_and_default_flags): Undo accidental commit.
394
395 2003-02-21  Glen Nakamura  <glen@imodulo.com>
396
397         PR optimization/8613
398         * builtins.c (expand_builtin): Emit postincrements before expanding
399         builtin functions.
400
401 2003-02-21  Ben Elliston  <bje@redhat.com>
402
403         PR other/5634
404         * doc/install.texi (Configuration): Explain using $HOME instead of
405         the ~ metacharacter when referring to home directories.
406
407 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
408
409         * configure.in (TARGET_SYSTEM_ROOT): Set default to
410         ${exec_prefix}/${target_alias}/sys-root.  Match explicit
411         '${exec_prefix}' (in addition to the expansion thereof) as
412         relocatable.
413         * configure: Rebuilt.
414
415 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
416
417         * config/h8300/h8300.md (addhi3_incdec): Change the name to
418         *addhi3_incdec.
419         (addsi3_incdec): Change the name to *addsi3_incdec.
420
421 2003-02-20  Roger Sayle  <roger@eyesopen.com>
422
423         * explow.c (force_reg): Avoid useless REG_EQUAL notes.
424
425 2003-02-20  Toon Moene  <toon@moene.indiv.nluug.nl>
426
427         PR fortran/9038
428         * c-opts.c (sanitize_cpp_opts): Add Fortran front end
429         options to be ignored.
430         (c_common_decode_option): Ignore them when preprocessing.
431
432 Thu Feb 20 21:41:19 CET 2003  Jan Hubicka  <jh@suse.cz>
433
434         * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
435         global variables.
436         (lang_independent_options):  Add -fsched2-use-superblocks
437         -fsced2-use-traces.
438         (rest_of_compilation): Deal with it.
439         * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
440         * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
441         Declare.
442         * rtl.h (reg_to_stack):  Update prototype.
443         * reg-stack.c (reg_to_stack): Return when something has changed;
444         update liveness when executing after superblock scheduling.
445
446         * combine.c (simplify_shift_const):  Simplify few special cases
447         into constants.
448
449 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
450
451         * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
452         (add.,subf.,neg.): Change attribute to fast_compare.
453         All DFA descriptions updated.
454
455 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
456
457         Change base class access representation.
458         * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
459         TREE_VIA_PRIVATE): Remove.
460         (BINFO_BASEACCESSES): New binfo elt.
461         (BINFO_BASEACCESS): New accessor.
462         (BINFO_ELTS): Increase.
463         (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
464         (access_public_node, access_protected_node,
465         access_private_node): New global nodes.
466         * tree.c (build_common_tree_nodes_2): Initialize access nodes.
467         * dbxout.c (dbxout_type): Adjust.
468         * dwarf2out.c (gen_inheritance_die): Add access parameter.
469         (gen_member_die): Adjust.
470         * dwarfout.c (output_inheritance_die): ARG is array of two trees.
471         (output_type): Adjust.
472         * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
473
474         Change base class access representation. Share virtual base
475         binfos.
476         * cp/call.c (build_special_member_call): Remove binfo_for_vbase
477         call.
478         * cp/class.c (build_base_path): Likewise.
479         (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
480         (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
481         (make_new_vtable): Adjust.
482         (force_canonical_binfo_r): Delete.
483         (force_canonical_binfo): Delete.
484         (mark_primary_virtual_base): Delete.
485         (dfs_unshared_virtual_bases): Delete.
486         (mark_primary_bases): Adjust.
487         (maybe_warn_about_overly_private_class): Adjust.
488         (dfs_base_derived_from): Delete.
489         (base_derived_from): Follow the inheritance chain.
490         (struct find_final_overrider_data): Add vpath member.
491         (dfs_find_final_overrider): Adjust.
492         (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
493         (find_final_overrider): Adjust.
494         (update_vtable_entry_for_fn): Adjust.
495         (modify_all_vtables): Adjust.
496         (walk_subobject_offsets): Adjust.
497         (layout_nonempty_base_or_field): Adjust.
498         (layout_empty_base): Remove last parameter. Adjust.
499         (build_base_field): Adjust.
500         (build_base_fields): Adjust.
501         (propagate_binfo_offsets): Remove last parameter. Adjust.
502         (dfs_set_offset_for_unshared_vbases): Delete.
503         (layout_virtual_bases): Adjust.
504         (finish_struct_1): Adjust.
505         (init_class_processing): Don't init access nodes.
506         (dfs_get_primary_binfo): Delete.
507         (get_primary_binfo): Adjust.
508         (dump_class_hierarchy_r): Remove most derived arg, add IGO
509         parameter. Adjust.
510         (dump_class_hierarchy): Adjust.
511         (finish_vtbls): Adjust.
512         (get_original_base): Delete.
513         (build_vtt_inits): Adjust.
514         (dfs_build_secondary_vptr_vtt_inits): Adjust.
515         (dfs_ctor_vtable_bases_queue_p): Adjust.
516         (build_ctor_vtbl_group): Adjust.
517         (dfs_accumulate_vtbl_inits): Adjust.
518         (build_vtbl_initializer): Adjust.
519         (build_vbase_offset_vtbl_entries): Adjust.
520         (add_vcall_offset_vtbl_entries_1): Adjust.
521         * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
522         (access_*_node): Remove.
523         (CANONICAL_BINFO): Delete.
524         (BINFO_UNSHARED_MARKED): Remove.
525         (BINFO_MARKED): Set LANG_FLAG_0 directly.
526         (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
527         (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
528         (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
529         Delete.
530         (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
531         (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
532         (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
533         Delete.
534         (BINFO_DEPENDENT_BASE_P): New.
535         (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
536         index.
537         (markedp, unmarkedp): Adjust.
538         (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
539         dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
540         find_vbase_instance, binfo_for_vbase): Delete.
541         (copied_binfo, original_binfo): Declare.
542         (finish_base_specifier): Add virtual_p arg.
543         (unshare_base_binfos): Delete.
544         (copy_base_binfos): Declare.
545         (reverse_path): Delete.
546         * cp/decl.c (xref_basetypes): Access and virtuality passed
547         differently. Don't copy direct base binfos here. Call
548         copy_base_binfos.
549         * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
550         (initialize_vtbl_ptrs): Adjust.
551         (expand_member_init): Adjust.
552         * cp/parser.c (cp_parser_base_specifier): Adjust.
553         * cp/pt.c (instantiate_class_template): Adjust.
554         (get_template_base_recursive): Adjust.
555         * cp/rtti.c (get_pseudo_ti_init): Adjust.
556         (get_pseudo_ti_desc): Adjust.
557         * cp/tree.c (unshare_base_binfos): Rename to ...
558         (copy_base_binfos): ... here, reimplement.
559         (make_binfo): Set BINFO_DEPENDENT_BASE_P.
560         (reverse_path): Remove.
561         * cp/typeck.c (get_delta_difference): Adjust error messages.
562         * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
563         * cp/search.c (lookup_base_r): Adjust.
564         (dynamic_cast_base_recurse): Adjust.
565         (canonical_binfo): Remove.
566         (dfs_canonical_queue): Remove.
567         (dfs_assert_unmarked_p): Remove.
568         (assert_canonical_unmarked): Remove.
569         (shared_marked_p, shared_unmarked_p): Remove.
570         (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
571         (dfs_access_in_type): Adjust.
572         (access_in_type): Adjust.
573         (dfs_accessible_queue_p): Adjust.
574         (dfs_accessible_p): Adjust.
575         (is_subobject_of_p_1, is_subobject_of_p): Remove.
576         (struct lookup_field_info): Remove from_dep_base_p field.
577         (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
578         (lookup_field_r): Remove dependent base code.
579         (lookup_member): Likewise.
580         (dfs_walk, dfs_walk_real): Add access arg to queue fn.
581         (dfs_unmarked_real_bases_queue_p): Remove.
582         (dfs_marked_real_bases_queue_p): Remove.
583         (dfs_skip_vbases): Remove.
584         (dfs_get_pure_virtuals): Adjust.
585         (markedp, unmarkedp): Adjust.
586         (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
587         (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
588         (dfs_unmark): Adjust.
589         (dfs_get_vbase_types):Remove.
590         (dfs_build_inheritance_graph_order): Remove.
591         (get_vbase_types): Remove
592         (dfs_find_vbase_instance): Remove.
593         (find_vbase_instance): Remove.
594         (dfs_debug_unmarkedp): Adjust.
595         (dependent_base_p): Remove.
596         (dfs_push_type_decls): Adjust.
597         (dfs_push_decls): Adjust.
598         (dfs_no_overlap_yet): Adjust.
599         (copied_binfo): New function.
600         (original_binfo): New function.
601         (binfo_for_vbase): Remove.
602
603         Change base class access representation.
604         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
605         (add_interface_do): Likewise.
606
607 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
608
609         * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
610         * config/rs6000/power4.md (power4-store,power4-vecstore): New
611         insn reservations.
612         (power4-fpstore): Compact.
613
614 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
615
616         * config/h8300/h8300.md (*iorsi3_w): New.
617
618 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
619
620         * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
621         * rtl.c (reg_note_name): Likewise.
622         * rtl.h (enum reg_note): Likewise.
623         * doc/invoke.texi: Likewise.
624         * doc/rtl.texi: Likewise.
625
626 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
627
628         * bb-reorder.c (find_traces_1_round): Fix comment typo.
629
630 2003-02-19  Roger Sayle  <roger@eyesopen.com>
631
632         * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
633         addition in the presence of signaling NaNs.
634
635 2003-02-19  Krister Walfridsson  <cato@df.lth.se>
636
637         * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
638
639 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
640
641         * config/h8300/h8300.c (output_logical_op): Optimize or.l when
642         ORing with 0xffff??00 with the highest bit of the ?? part set.
643         (compute_logical_op_length): Update.
644         (compute_logical_op_cc): Likewise.
645
646 2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
647
648         * bb-reorder.c (find_traces_1_round): Fixed condition for small
649         destination block with multiple predecessors.
650         (connect_traces): Check whether the block is a start of trace.
651
652 Wed Feb 19 19:00:24 CET 2003  Jan Hubicka  <jh@suse.cz>
653
654         * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
655         * function.c (assign_params): Likewise.
656         * arm-protos.h (arm_init_cumulative_args): Update prototype.
657         * arm.c (arm_init_cumulative_args): Update function.
658         * arm.h (INIT_CUMULATIVE_ARGS): Update.
659         * avr-protos.h (init_cumulative_args): Update prototype.
660         * avr.c (init_cumulative_args): Update function.
661         * avr.h (INIT_CUMULATIVE_ARGS): Update.
662         * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
663         * d30v.c (d30v_init_cumulative_args): Update function.
664         * d30v.h (INIT_CUMULATIVE_ARGS): Update.
665         * frv-protos.h (frv_init_cumulative_args): Update prototype.
666         * frv.c (frv_init_cumulative_args): Update function.
667         * frv.h (INIT_CUMULATIVE_ARGS): Update.
668         * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
669         * pa.h (INIT_CUMULATIVE_ARGS): Update.
670         * sparc-protos.h (init_cumulative_args): Update prototype.
671         * sparc.c (init_cumulative_args): Update function.
672         * sparc.h (INIT_CUMULATIVE_ARGS): Update.
673         * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
674
675 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
676
677         * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
678         (*ashiftsi_sextqi_7): Likewise.
679
680 2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
681
682         * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
683         ISO C99 and C++.
684
685         * fixinc/inclhack.def (irix___restrict): Don't change __restrict
686         for C++ on IRIX 6.5.1[89].
687         * fixinc/tests/base/internal/sgimacros.h: New file.
688
689         * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
690         * fixinc/tests/base/internal/wchar_core.h: New file.
691
692         * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
693         socklen_t definition.
694         * fixinc/fixincl.x: Regenerate.
695         * fixinc/tests/base/sys/socket.h: New file.
696         Fixes PR libgcj/9652.
697
698 Wed Feb 19 17:22:51 CET 2003  Jan Hubicka  <jh@suse.cz>
699
700         * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
701
702 2003-02-19  David Edelsohn  <edelsohn@gnu.org>
703
704         * config/rs6000/rs6000.c (rs6000_override_options): Initialize
705         align_jumps_max_skip and align_loops_max_skip.
706
707 2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
708
709         * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
710         test size if named section.
711
712 2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
713
714         * expr.c (expand_expr): Use gen_int_mode for the argument
715         to gen_rtx_MULT.
716
717 Wed Feb 19 14:22:42 CET 2003  Jan Hubicka  <jh@suse.cz>
718
719         * i386.md (cosxf2):  Fix conditional.
720
721 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
722
723         * config/h8300/h8300.md (extendqisi2): Change to an expander.
724         (*extendqisi2_h8300): New.
725         (*extendqisi2_h8300hs): Likewise.
726
727 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
728
729         * config/h8300/h8300-protos.h: Update the prototype for
730         split_adds_subs.  Remove the prototypes for
731         const_int_le_2_operand and const_int_le_6_operand.
732         * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
733         (const_int_le_2_operand): Remove.
734         (const_int_le_6_operand): Likewise.
735         * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
736         for const_int_le_2_operand and const_int_le_6_operand.
737         * config/h8300/h8300.md: Update all uses of split_adds_subs.
738         (a peephole2): New.
739
740 Tue Feb 18 23:50:59 CET 2003  Jan Hubicka  <jh@suse.cz>
741
742         * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
743         (cgraph_expand_function): Rewrite.
744
745 2003-02-18  Matt Austern <austern@apple.com>
746
747         * toplev.c, langhooks.c, langhooks-def.h: Move
748         write_global_declarations from toplev.c to langhooks.c.
749
750 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
751
752         * config/h8300/h8300.c (general_operand_src): Always check
753         MODE.
754         (general_operand_dst): Likewise.
755
756 2003-02-18  Roger Sayle  <roger@eyesopen.com>
757
758         * convert.c (convert_to_real): Also optimize (float)log(x) into
759         logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
760
761 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
762
763         * config/sh/sh.c (unspec_caller_rtx_p): New.
764         (sh_cannot_copy_insn_p): New.
765         (TARGET_CANNOT_COPY_INSN_P): New.
766
767 2003-02-18  Richard Henderson  <rth@redhat.com>
768
769         * c-common.c (handle_used_attribute): Accept static data too.
770
771 2003-02-18  Nick Clifton  <nickc@redhat.com>
772             Aldy Hernandez  <aldyh@redhat.com>
773
774         * testsuite/gcc.dg/20030218-1.c: New.
775
776         * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
777
778         * target-def.h (TARGET_INITIALIZER): Add
779         TARGET_VECTOR_TYPES_COMPATIBLE.
780         (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
781
782         * target.h (struct gcc_target): Add field vector_types_compatible.
783
784         * c-typeck.c (comptypes): Take into account
785         TARGET_VECTOR_TYPES_COMPATIBLE.
786         (convert_for_assignment): Same.
787
788         * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
789         (rs6000_spe_vector_types_compatible): New.
790         (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
791
792 2003-02-19  Andreas Schwab  <schwab@suse.de>
793
794         * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
795         * toplev.c: Include langhooks-def.h.
796
797 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
798
799         * config/mips/mips.h (enum processor_type): Sort entries
800         alphabetically.
801         * config/mips/mips.md (define_attr cpu): Sync with processor_type
802         enum values, including adding entries that were missing.
803
804 Tue Feb 18 20:15:54 2003  J"orn Rennecke <joern.rennecke@superh.com>
805
806         * sh.c (calc_live_regs): Also check GET_CODE when checking if
807         initial value for PR_REG is still the PR_REG register.
808
809 2003-02-18  Jim Wilson  <wilson@redhat.com>
810
811         * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
812         instruction in output template.
813         (bsp_value): Change output template from string to C code, add %,
814         before actual instruction.
815         (flushrs): Mark as not predicable.
816
817 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
818
819         * inclhack.def (netbsd_bogus_semicolon): New fix.
820         * fixincl.x: Rebuilt.
821         * tests/base/ctype.h: Update.
822
823 2003-02-18  Roger Sayle  <roger@eyesopen.com>
824
825         * fold-const.c (negate_expr_p): New function to determine whether
826         an expression can be negated cheaply.
827         (fold) [MINUS_EXPR]: Use it to determine whether to transform
828         -A - B into -B - A for floating point types.
829
830 2003-02-18  Roger Sayle  <roger@eyesopen.com>
831
832         * sbitmap.c (sbitmap_resize): New function.
833         * sbitmap.h (sbitmap_resize): Prototype here.
834         * recog.c (split_all_insns): Use sbitmap_resize.
835
836 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
837
838         * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
839         insn length.
840         (extendqisi2): Likewise.
841         (*extendhisi2_h8300): Likewise.
842
843 2003-02-18  Matt Austern <austern@apple.com>
844
845         * langhooks.h, langhooks-def.h: introduce new langhook,
846         final_write_globals, with write_global_declarations as default.
847         * toplev.c: Move invocation of wrapup_global_declarations from
848         compile_file to new function, write_global_declarations.  Change
849         compile_file to use final_write_globals hook.  Change
850         wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
851         conditional.
852
853 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
854
855         * pa.md: Correct and enhance comment.
856
857 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
858
859         * gcc.c (validate_switches): Don't scan past closing '}'.
860
861 2003-02-18  Ben Elliston  <bje@redhat.com>
862
863         PR c++/1607
864         * doc/extend.texi (Function Attributes): Document the effect of
865         the C++ "this" parameter on the counting of arguments for the
866         "format" and "format_arg" attributes.
867
868 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
869
870         * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
871         (__ev_stdw): Same.
872         (__ev_stdh): Same.
873
874 Mon Feb 17 16:16:54 CET 2003  Jan Hubicka  <jh@suse.cz>
875
876         * recog.c (split_all_insns):  Fix memory overflow.
877
878 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
879
880         * config/h8300/h8300.md (cmpqi): Remove mode from compare.
881         (cmphi): Likewise.
882         (*cmphi_h8300): Likewise.
883         (*cmphi_h8300hs): Likewise.
884         (cmpsi): Likewise.
885         (7 peephole2): Likewise.
886
887 Sun Feb 16 23:07:52 CET 2003  Jan Hubicka  <jh@suse.cz>
888
889         * c-typeck.c (build_c_cast):  Fold constant variables into
890         initial values.
891
892 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
893
894         * doc/install.texi (Specific): Fix link for m68k-att-sysv.
895         (Binaries): Ditto for Sinix/Reliant Unix.
896
897 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
898
899         * arm.c (arm_reload_in_hi): Ensure that the scratch register does
900         not overlap the final result register.
901
902 2003-02-16 Arend Bayer <arend.bayer@web.de>
903            Richard Henderson  <rth@redhat.com>
904
905         PR c/8068
906         * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
907         rearrange mult arguments for less recursion.
908         (extract_muldiv): New.  Prevent runaway recursion.
909
910 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
911
912         * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
913         MASK_ALIGN_DOUBLE.
914
915 2003-02-15  Roger Sayle  <roger@eyesopen.com>
916
917         * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
918         to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
919         (ext_80387_constants_table): Global table of 80387 special constants
920         guarded by ext_80387_constants_init flag when not initialized.
921         (init_ext_80387_constants): New function to initialize this table.
922         (standard_80387_constant_p): Extend to recognize extra 80387
923         constants, in XFmode, on processors where this is a win.
924         (standard_80387_constant_opcode): New function to return the
925         opcode associated with standard_80387_constant_p.
926         (standard_80387_constant_rtx): New function to return the XFmode
927         CONST_DOUBLE associated with standard_80387_constant_p.
928         (ix86_rtx_costs): Give the new constants the same cost as 1.0.
929
930         * config/i386/i386-protos.h (standard_80387_constant_opcode):
931         Prototype here.
932         (standard_80387_constant_rtx): Likewise.
933
934         * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
935         *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
936         *movtf_integer): Simplify using new standard_80387_constant_opcode.
937
938 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
939
940         * doc/invoke.texi (Optimize Options): Correct @option syntax.
941
942 2003-02-15  Richard Henderson  <rth@redhat.com>
943
944         * Makefile.in (cfglayout.o): Depend on TARGET_H.
945         * cfglayout.c: Include target.h.
946         (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
947         * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
948         * target.h (struct gcc_target): Add cannot_copy_insn_p.
949
950         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
951         (TARGET_CANNOT_COPY_INSN_P): New.
952         (override_options): Revert 2003-02-08 hack.
953
954 2003-02-15  Richard Henderson  <rth@redhat.com>
955
956         * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
957         (bypass_conditional_jumps): Accept computed_jump_p insns as well.
958
959 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
960
961         * config/rs6000/rs6000.h (processor_type): Add PPC440.
962         * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
963         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
964         TARGET_SCHED_VARIABLE_ISSUE): Define.
965         (rs6000_use_dfa_pipeline_interface): New function.
966         (rs6000_multipass_dfa_lookahead): New Function.
967         (rs6000_variable_issue): New function.
968         (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
969         (rs6000_issue_rate): Add PPC440.
970         * config/rs6000/rs6000.md (unspec list): Correct typo.
971         (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
972         store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
973         cmp, delayed_cr, mfcr, mtcr.
974         (automata_option): Set "ndfa".
975         (extendMMNN2): Update attributes.
976         (movcc_internal1): Discourage move to non-cr0.  Update
977         attributes.
978         (movMM_update): Update attributes.
979         (cmpMM_internal): Update attributes.
980         (sCC CR materialization): Update attributes.
981         (branch patterns): Do not discourage non-cr0.
982         (cr logical patterns): Prefer destructive register allocation.
983         Update attributes.
984         (movesi_from_cr): Update attribute.
985         (mtcrf_operation): Update attribute.
986         (mtcrfsi): Update attribute.
987         * config/rs6000/40x.md: New file.
988         * config/rs6000/603.md: New file.
989         * config/rs6000/6xx.md: New file.
990         * config/rs6000/7450.md: New file.
991         * config/rs6000/7xx.md: New file.
992         * config/rs6000/mpc.md: New file.
993         * config/rs6000/power4.md: New file.
994         * config/rs6000/rios1.md: New file.
995         * config/rs6000/rios2.md: New file.
996         * config/rs6000/rs64.md: New file.
997         [Some DFA descriptions based on work by Michael Hayes]
998
999 2003-02-15  Richard Henderson  <rth@redhat.com>
1000
1001         * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
1002         successors with multiple predecessors.
1003         (connect_traces): Try harder to copy traces of length 1.
1004
1005         * function.h (struct function): Add computed_goto_common_label,
1006         computed_goto_common_reg.
1007         * function.c (free_after_compilation): Zap them.
1008         * stmt.c (expand_computed_goto): Use them to produce one
1009         indirect branch per function.
1010
1011 2003-02-15  Richard Henderson  <rth@redhat.com>
1012
1013         * cfgcleanup.c: Include params.h.
1014         (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
1015         too many outgoing edges from a block.
1016         * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
1017         * params.def (max-crossjump-edges): New.
1018         * doc/invoke.texi: Document it.
1019
1020 2003-02-15  Richard Henderson  <rth@redhat.com>
1021
1022         * recog.c (split_all_insns): Include new blocks in life update;
1023         do a global life update.
1024
1025 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
1026
1027         * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
1028         Update copyright.
1029         * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
1030         -mno-cygwin case.
1031
1032 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1033
1034         PR optimization/7702
1035         * reload1.c (reload_cse_simplify_set): Honor
1036         CANNOT_CHANGE_MODE_CLASS.
1037
1038 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
1039
1040         * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
1041         function.
1042         * config/mn10300/mn10300-protos.h: Declare it.
1043         * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
1044         attribute cc of instructions that may use clr.
1045
1046 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
1047
1048         * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
1049         (x - (x & y)) is found.
1050
1051 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1052
1053         * configure.in: Fix typo.
1054         * configure: Regenerate.
1055
1056 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
1057
1058         * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
1059
1060 2003-02-13  Adam Nemet  <anemet@lnxw.com>
1061
1062         PR opt/2391
1063         * combine.c: Fix spelling in comment.
1064         (cached_nonzero_bits): New function.
1065         (cached_num_sign_bit_copies): New function.
1066         (nonzero_bits_with_known): New macro.
1067         (num_sign_bit_copies_with_known): New macro.
1068         (nonzero_bits1): Rename from nonzero_bits.  Add three new
1069         arguments.  Change calls from nonzero_bits to
1070         nonzero_bits_with_known.
1071         (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
1072         three new arguments.  Change calls from num_sign_bit_copies to
1073         num_sign_bit_copies_with_known.
1074         (nonzero_bits): New macro.
1075         (num_sign_bit_copies): New macro.
1076         (update_table_tick): Don't traverse identical subexpression more
1077         than once.
1078         (get_last_value_validate): Likewise.
1079
1080 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
1081
1082         * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
1083         * function.h (struct emit_status): Length of regno_pointer_align
1084         and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
1085         not regno_pointer_align_length (i.e. length actually used, not
1086         length as allocated)
1087
1088         * config/i386/i386.c (struct stack_local_entry): New.
1089         (struct machine_function): Replace huge array with alist.
1090         (assign_386_stack_local): Change to match.
1091
1092 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
1093
1094         * inclhack.def (hpux_long_double): Tighten select and add bypass
1095         regexp.
1096         * fixincl.x: Rebuilt.
1097
1098 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
1099
1100         * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
1101         edge and block ends with a jump insn it must be simple jump.
1102
1103 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
1104
1105         * Makefile.in (PREPROCESSOR_DEFINES): Add
1106         @TARGET_SYSTEM_ROOT_DEFINE@.
1107         * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
1108         is specified or if building a cross compiler.
1109         (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
1110         if the sysroot is under $exec_prefix.
1111         * configure: Regenerated.
1112         * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
1113         defined.
1114         (struct default_include): Add add_sysroot field.
1115         (cpp_SYSROOT): Declare.
1116         * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
1117         field.
1118         (cpp_SYSROOT): New variable.
1119         * cppinit.c (cpp_create_reader): Initialize
1120         CPP_OPTION (pfile, sysroot).
1121         (init_standard_includes): Handle add_sysroot.  Do not
1122         add unrelocated copies of relocated directories.
1123         (COMMAND_LINE_OPTIONS): Add -isysroot.
1124         (cpp_handle_option): Handle -isysroot.
1125         * cpplib.h (struct cpp_options): Add sysroot member.
1126         * gcc.c (The Specs Language): Update description of %I.
1127         (target_system_root_changed): New variable.
1128         (process_command): Conditionalize make_relative_prefix call
1129         on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
1130         target_system_root_changed.
1131         (do_spec_1): Add -isysroot to %I.
1132         * doc/invoke.texi (Spec Files): Update description of %I.
1133         * doc/install.texi (--with-sysroot): Update comment about
1134         relocation.
1135
1136 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
1137
1138         * config/h8300/h8300.md (a peephole2): New.
1139
1140 2003-02-13  Robert Lipe <robertlipe@usa.net>
1141             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1142
1143         * doc/install.texi (Specific): Update three SCO-related URLs.
1144
1145 2003-02-13  Andreas Schwab  <schwab@suse.de>
1146
1147         * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
1148         Parenthesize properly.
1149         (NPREDECESORS): Parenthesize properly.
1150
1151 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1152
1153         * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
1154
1155 2003-02-12  Roger Sayle  <roger@eyesopen.com>
1156
1157         * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
1158         (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
1159
1160         * reg-stack.c (subst_stack_regs_pat): Add support for binary
1161         UNSPEC instructions (e.g. "fpatan").
1162
1163 2003-02-12  Mike Stump  <mrs@apple.com>
1164
1165         * varray.c (element_size): Remove.
1166         (uses_ggc): Remove.
1167         (element): Add.
1168         (varray_init): Use new interface.
1169         (varray_grow): Use new interface.
1170         (varray_clear): Use new interface.
1171
1172 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
1173
1174         * config/rs6000/spe.h: Add casts to the arguments of the following
1175         macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
1176         evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
1177         evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
1178         __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
1179         __ev_get_u16, __ev_get_s16.
1180
1181 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1182
1183         * config/h8300/h8300.md (a peephole2): New.
1184
1185 Wed Feb 12 22:47:18 CET 2003  Jan Hubicka  <jh@suse.cz>
1186
1187         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
1188         (OBJS): Add callgraph.o
1189         (callgraph.o): New.
1190         * c-decl.c (expand_body_1): Break out from ...
1191         (expand_body): This one;  change calling convention
1192         (finish_function): Move some of expand_body logic here.
1193         (c_expand_deferred_function): Update call of expand_body
1194         (c_expand_stmt): Use c_expand_body_1.
1195         * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
1196         * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
1197         * c-tree.h (c_expand_body): Declare.
1198         * callgraph.c: New file.
1199         * flags.h (flag_unit_at_a_time): Declare.
1200         * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
1201         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
1202         LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
1203         * langhooks.h (struct lang_hooks_for_callgraph): New.
1204         (struct lang_hooks): Add callgraph field.
1205         * toplev.c (flag_unit_at_a_time): New.
1206         (lang_independent_options): Add flag_unit_at_a_time.
1207         (process_options): Disable unit-at-a-time mode for frontends not
1208         supporting callgraph.
1209         * tree-inline.c (typedef struct inline_data): Add "decl"
1210         (expand_call_inline): Update callgraph.
1211         (optimize_inline_calls): Set id.decl.
1212         * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
1213         cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
1214         cgraph_calls_p): Declare.
1215         * invoke.texi (-funit-at-a-time): Document
1216
1217 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
1218
1219         * config/rs6000/spe.h: Fix misc formatting.
1220         (__ev_create_ufix32_fs): Cast ev argument.
1221         (__ev_create_sfix32_fs): Same.
1222         (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
1223         (__ev_get_ufix32_fs_internal): Same.
1224
1225 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
1226
1227         * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
1228         * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
1229
1230 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
1231
1232         * cpplib.c (do_include_common): Move warnings for
1233         #include_next and #import out to callers.  Use early-return
1234         instead of nested ifs.  Don't do check_eol here.
1235         (parse_include): Do check_eol here with the rest of the
1236         parsing stuff.
1237         (do_include_next, do_import): Now handle warnings.
1238
1239 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1240
1241         * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
1242
1243 Wed Feb 12 15:19:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1244
1245         * predict.c (estimate_probability):  Fix roundoff error.
1246
1247 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1248
1249         * config/h8300/h8300.md (a peephole2): Don't handle 65535.
1250         (two peephole2): New.
1251
1252 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1253
1254         * config/h8300/h8300.md (several peephole2): Replace
1255         find_regno_note with peep2_reg_dead_p.
1256
1257 2003-02-11  Richard Henderson  <rth@redhat.com>
1258
1259         * gcse.c (lookup_set): Remove unused argument PAT.  Update
1260         both callers.
1261
1262 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
1263
1264         * diagnostic.c (real_abort): New.
1265         (diagnostic_report_diagnostic): Call real_abort on error.
1266         * diagnostic.h (diagnostic_abort_on_error): New.
1267         (struct diagnostic_context): Add abort_on_error field.
1268         * toplev.c (setup_core_dumping): New.
1269         (decode_d_option): Handle 'H' case.
1270         * doc/invoke.texi (Debugging Options): Document -dH.
1271
1272 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
1273
1274         * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
1275         which refers to obsolete directories.
1276
1277 2003-02-11  Richard Henderson  <rth@redhat.com>
1278
1279         * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
1280
1281 Mon Oct 21 17:07:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
1282
1283         * i386.c (contains_128bit_aligned_vector_p): New function.
1284         (ix86_function_arg_boundary): Properly align vector modes.
1285
1286 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
1287
1288         * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
1289         * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
1290         as a SET pattern.
1291
1292 2003-02-11  Roger Sayle  <roger@eyesopen.com>
1293
1294         * builtins.c:  Fix failure caused by commiting wrong patch.
1295
1296 2003-02-11  Dale Johannesen  <dalej@apple.com>
1297         * ra-build.c (compare_and_free_webs):  Relax checking.
1298         * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
1299         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
1300
1301 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1302
1303         PR optimization/9651
1304         * rtlanal.c (may_trap_p): Handle FIX.
1305
1306 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
1307
1308         * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
1309         * doc/invoke.texi: Extra alias.
1310
1311 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
1312
1313         * config/rs6000/host-darwin.c: Fix comment.
1314
1315 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
1316
1317         * config/rs6000/rs6000.md (divmodsi4): Use register_operand
1318         predicate for mod result.
1319
1320 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1321
1322         * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
1323         hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
1324         * fixincl.x: Rebuilt.
1325         * tests/base/stdlib.h: Update.
1326         * tests/base/ctype.h: New file.
1327
1328 Tue Feb 11 20:44:45 CET 2003  Jan Hubicka  <jh@suse.cz>
1329
1330         * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
1331
1332 2003-02-11  Richard Henderson  <rth@redhat.com>
1333
1334         * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
1335         appropriated as globals.
1336         (ix86_expand_clrstr): Similarly.
1337         * config/i386/i386.md (cmpstrsi): Similarly.
1338
1339 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1340
1341         * config/h8300/h8300.md (a peephole2): Add a case of 255.
1342
1343 2003-02-11  Roger Sayle  <roger@eyesopen.com>
1344
1345         * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
1346         (pow_optab, atan2_optab): Define corresponding macros.
1347         * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
1348         * genopinit.c (optabs): Implement pow_optab and atan2_optab
1349         using pow?f3 and atan2?f3 patterns.
1350         * builtins.c (expand_errno_check): New function to update errno
1351         if necessary, split out from expand_builtin_mathfn.
1352         (expand_builtin_mathfn): Use expand_errno_check.
1353         (expand_builtin_mathfn_2): New function to handle expanding binary
1354         math functions, reusing the code in expand_errno_check.
1355         (expand_builtin): Handle the pow and atan2 math built-ins,
1356         BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
1357         expand_builtin_mathfn_2.
1358
1359         * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
1360
1361 Tue Feb 11 19:03:22 MET 2003  Jan Hubicka  <jh@suse.cz>
1362
1363         * combine.c (combine_simplify_rtx): Fix folding of
1364         nested float_truncates.
1365
1366 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1367
1368         * config/h8300/h8300.md (a peephole2): Fix a typo.
1369
1370 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
1371
1372         * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
1373         register number.
1374
1375 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1376
1377         * config/h8300/h8300-protos.h: Add a prototype for
1378         gtuleu_operator.
1379         * config/h8300/h8300.c (gtuleu_operator): New.
1380         * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
1381         * config/h8300/h8300.md (a peephole2): New.
1382
1383 Tue Feb 11 13:32:12 CET 2003  Jan Hubicka  <jh@suse.cz>
1384
1385         * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
1386
1387 Tue Feb 11 10:02:54 CET 2003  Jan Hubicka  <jh@suse.cz>
1388
1389         * predict.c (choose_function_section): Choose sections correctly.
1390
1391 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1392
1393         * reload1.c (first_label_num): New.
1394         (reload): Index offsets_known_at and offsets_at using difference of
1395         label number and first label number.  Don't use offset pointers.
1396         (set_label_offsets, set_initial_label_offsets): Likewise.
1397
1398 2003-02-10  Roger Sayle  <roger@eyesopen.com>
1399
1400         * mips-tfile.c (init_file): Add missing initializers in the
1401         "#ifdef __alpha" case.
1402         (file_offset, max_file_offset): Declare as unsigned long.
1403         (write_varray): Cast to "unsigned long" in comparisons against
1404         either file_offset or max_file_offset.
1405         (write_object): Likewise.
1406         (read_seek): Likewise.
1407         (copy_object): Likewise. Declare "ifd" as int to match its use
1408         in add_ext_symbol, and avoid signed/unsigned conditional warning.
1409
1410 2003-02-10  Nick Clifton  <nickc@redhat.com>
1411             Aldy Hernandez  <aldyh@redhat.com>
1412
1413         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
1414         override options which have been specified on the command line.
1415
1416 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1417
1418         * config/h8300/h8300.md (abssf2): New.
1419         (*abssf2_h8300): Likewise.
1420         (*abssf2_h8300hs): Likewise.
1421
1422 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
1423
1424         * tree.c (build_tree_list):  Fix parameter names in comment.
1425
1426 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
1427
1428         * config/rs6000/ppc64-fp.c: New file.
1429         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
1430
1431 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
1432
1433         * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
1434         * bb-reorder.c (make_reorder_chain): Deleted.
1435         (make_reorder_chain_1): Deleted.
1436         (find_traces): New function.
1437         (rotate_loop): New function.
1438         (mark_bb_visited): New function.
1439         (find_traces_1_round): New function.
1440         (copy_bb): New function.
1441         (bb_to_key): New function.
1442         (better_edge_p): New function.
1443         (connect_traces): New function.
1444         (copy_bb_p): New function.
1445         (get_uncond_jump_length): New function.
1446         (reorder_basic_blocks): Use new functions (Software Trace Cache).
1447         * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
1448         boundaries.
1449
1450 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
1451
1452         * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
1453
1454 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
1455
1456         * tree.h (struct tree_decl): Remove unused live_range_rtl field.
1457         (DECL_LIVE_RANGE_RTL): Remove.
1458
1459 2003-02-10  Nick Clifton  <nickc@redhat.com>
1460
1461         * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
1462         config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
1463         config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
1464         config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
1465         config/arm/freebsd.h, config/arm/linux-elf.h,
1466         config/arm/linux-gas.h, config/arm/netbsd-elf.h,
1467         config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
1468         config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
1469         config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
1470         config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
1471         config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
1472         config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
1473         and reformat as appropriate.
1474
1475 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1476
1477         * config/h8300/clzsi2.c: Remove.
1478         * config/h8300/ctzsi2.c: Likewise.
1479         * config/h8300/paritysi2.c: Likewise.
1480         * config/h8300/popcountsi2.c: Likewise.
1481         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
1482         ctzsi2, paritysi2, and popcountsi2.
1483
1484 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1485             Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1486
1487         PR c/7741
1488         * c-decl.c (duplicate_decls): Discard the initializer of the
1489         new decl when the types are conflicting.
1490
1491 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
1492
1493         * Makefile.in (sreal.o): Added.
1494         (predict.o): Depends on sreal.h instead of real.h.
1495         * sreal.c: New file.
1496         * sreal.h: New file.
1497         * predict.c: Use sreal.c instead of real.c.
1498
1499 2003-02-10  Nick Clifton  <nickc@redhat.com>
1500
1501         * Contributed support for the Cirrus EP9312 "Maverick"
1502         floating point co-processor.  Written by Aldy Hernandez
1503         <aldyh@redhat.com>.
1504         (config/arm/arm.c): Add Cirrus support.
1505         (config/arm/arm.h): Likewise.
1506         (config/arm/aout.h): Likewise.
1507         (config/arm/arm.md): Likewise.
1508         (config/arm/arm-protos.h): Likewise.
1509         (config.gcc): Likewise.
1510         (doc/invoke.texi): Describe new -mcpu value and new
1511         -mcirrus-fix-invalid-insns switch,
1512         (cirrus.md): New file.
1513
1514 Mon Feb 10 11:40:18 CET 2003  Jan Hubicka  <jh@suse.cz>
1515
1516         * combine.c (combine_simplify_rtx): Simplify using
1517         (float_truncate (float x)) is (float x)
1518         (float_extend (float_extend x)) is (float_extend x).
1519
1520 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
1521
1522         * calls.c (try_to_integrate): Tidy stack_usage_map access.
1523         (emit_library_call_value_1): Likewise.  Formatting.
1524         (store_one_arg): Likewise.
1525
1526 2003-02-09  Nick Clifton  <nickc@redhat.com>
1527             Aldy Hernandez  <aldyh@redhat.com>
1528
1529         * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
1530         spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
1531         spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
1532         spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
1533         spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
1534         docs.  Add range test for immediate value.
1535
1536 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
1537
1538         Rename spe_evxor to xorv2si3.
1539         (xorv4hi3): New.
1540         (xorv1di3): New.
1541
1542 2003-02-10  Glen Nakamura  <glen@imodulo.com>
1543
1544         * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
1545         tag.
1546
1547 Mon Feb 10 00:29:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1548
1549         * i386.c (vector_move_operand): New predicate.
1550         (ix86_expand_vector_move): Be happy about 0.
1551         * i386.h (PREDICATE_CODES): Add sse-move_operand.
1552         * i386.md (mov*_internal): Add 'C' alternative.
1553
1554 Sun Feb  9 23:58:33 CET 2003  Jan Hubicka  <jh@suse.cz>
1555
1556         * i386.md (floathi*): Deal with SSE.
1557
1558 Sun Feb  9 23:54:59 CET 2003  Jan Hubicka  <jh@suse.cz>
1559
1560         * simplify-rtx.c (simplify_unary_operation,
1561         simplify_binary_operation):  Deal with vector modes
1562         (simplify_ternary_operation):  Deal with no-op VEC_MERGE.
1563
1564 2002-02-09  Richard Sandiford  <rsandifo@redhat.com>
1565
1566         * toplev.c (rest_of_compilation): Recompute register usage after
1567         split_all_insns.
1568
1569 2003-02-09  Richard Henderson  <rth@redhat.com>
1570
1571         * libgcc-std.ver (__clztf2): New.
1572         (__ctztf2, __popcounttf2, __paritytf2): New.
1573         * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
1574         __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
1575         adjust code to match the different type sizes.
1576         * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
1577         __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
1578
1579         * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
1580         TImode; select word_mode and twice that.
1581         (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
1582         select the modes from float, double, and long double.
1583         (init_optabs): Remove duplicate initializations.
1584
1585 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
1586
1587         * doc/install.texi: Squeeze and streamline section on
1588         testing and regression checking.
1589
1590 Sun Feb  9 13:33:34 CET 2003  Jan Hubicka  <jh@suse.cz>
1591
1592         * i386.md (ahi?v*3): Set third operand type to TImode.
1593         * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
1594
1595         * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
1596         integer mode.
1597
1598         * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
1599         Change code so they are arithmetic expressions now.
1600         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
1601         simplify_ternary_operation): Deal with VEC_* expressions.
1602
1603         * i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
1604
1605 Sat Feb  8 00:21:22 CET 2003  Jan Hubicka  <jh@suse.cz>
1606
1607         * cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
1608         * reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
1609         possibly got duplicated.
1610
1611 2003-02-08  Richard Henderson  <rth@redhat.com>
1612
1613         * config/alpha/alpha.c (override_options): Turn off explicit
1614         relocs until post-peep2 code duplication resolved.
1615
1616 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1617
1618         * optabs.c (expand_unop): Widen clz properly when clz is done
1619         via libcall.
1620
1621 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1622
1623         * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
1624         * config/h8300/crti.asm: Likewise.
1625         * config/h8300/crtn.asm: Likewise.
1626         * config/h8300/ctzsi2.c: Likewise.
1627         * config/h8300/fixunssfsi.c: Likewise.
1628         * config/h8300/h8300-protos.h: Likewise.
1629         * config/h8300/h8300.c: Likewise.
1630         * config/h8300/h8300.h: Likewise.
1631         * config/h8300/h8300.md: Likewise.
1632         * config/h8300/paritysi2.c: Likewise.
1633         * config/h8300/popcountsi2.c: Likewise.
1634         * config/h8300/rtems.h: Likewise.
1635
1636 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1637
1638         * doc/invoke.texi: Documentation for my previous commit.
1639         * doc/passes.texi: Ditto.
1640
1641 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1642
1643         * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
1644         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1645         Declare.
1646         (DLTHE_FLAG_UPDATE_FREQ): New.
1647         * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
1648         loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
1649         rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
1650         fix_bb_placement, fix_bb_placements, place_new_loop,
1651         scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
1652         New static functions.
1653         (fix_loop_placement, can_duplicate_loop_p,
1654         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1655         New functions.
1656
1657         * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
1658         unswitch_loops): Declare.
1659         * loop-init.c: New file.
1660         * loop-unswitch.c: New file.
1661         * Makefile.in (loop-init.o, loop-unswitch.o): New.
1662         * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
1663         * toplev.c (DFI_loop2): New dump.
1664         (flag_unswitch_loops): New.
1665         (lang_independent_options): Add it.
1666         (rest_of_compilation): Call new loop optimizer.
1667         (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
1668
1669 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1670
1671         * config/h8300/clzsi2.c: New.
1672         * config/h8300/ctzsi2.c: Likewise.
1673         * config/h8300/paritysi2.c: Likewise.
1674         * config/h8300/popcountsi2.c: Likewise.
1675         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
1676
1677 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
1678
1679         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
1680         * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
1681         (ctzsi2): New pattern.
1682         (ffssi2): Use clz instead of unspec.
1683         (clzdi2): Rename from cntlzd2.
1684         (ctzdi2): New pattern.
1685         (ffsdi2): Use clz instead of unspec.
1686
1687 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
1688
1689         * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
1690         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
1691         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1692         * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
1693
1694 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
1695
1696         * doc/trouble.texi: Document pitfalls of two-stage name lookup.
1697
1698 2003-02-07  Richard Henderson  <rth@redhat.com>
1699
1700         PR 9226
1701         * gcse.c (local_cprop_find_used_regs): New.
1702         (local_cprop_pass): Use it.
1703
1704 2003-02-07  Fred Fish  <fnf@intrinsity.com>
1705
1706         * mips-tfile.c (parse_def): Parenthesize assignments to fix
1707         precedence bugs.
1708
1709 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
1710
1711         * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
1712
1713 2003-02-07  Roger Sayle  <roger@eyesopen.com>
1714
1715         * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
1716         (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
1717         (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
1718         * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
1719         builtin functions (and their __builtin_* variants).
1720         * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
1721         (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
1722         when not optimizing.
1723
1724         * doc/extend.texi: Document new pow and atan2 builtins, and
1725         their float and long double variants.  Realphabetize builtins.
1726
1727 Fri Feb  7 23:24:28 CET 2003  Jan Hubicka  <jh@suse.cz>
1728
1729         * i386.md (sse2_nandv2di3): Fix.
1730
1731 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
1732
1733         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
1734         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
1735         definition.
1736         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
1737         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
1738
1739 Fri Feb  7 22:22:40 CET 2003  Jan Hubicka  <jh@suse.cz>
1740
1741         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
1742
1743 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
1744
1745         * cfg.c (dump_flow_info): Add back accidently deleted line.
1746
1747 2003-02-07  Andrey Petrov <petrov@netbsd.org>
1748
1749         * optabs.c (expand_float): Search wider integer modes first.
1750
1751 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
1752
1753         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
1754         based on preprocessor flag.
1755
1756 2003-02-07  Roger Sayle  <roger@eyesopen.com>
1757             Richard Henderson  <rth@redhat.com>
1758
1759         * gcse.c (implicit_sets): New.
1760         (compute_hash_table_work): Include them in hash table.
1761         (find_implicit_sets, fis_get_condition): New.
1762         (one_cprop_pass): Allocate and free implicit_sets; call
1763         find_implicit_sets before building hash table.
1764
1765 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
1766
1767         * config/t-netbsd (USER_H): Revert previous change.
1768
1769 2003-02-07  Gabor Greif  <ggreif@lucent.com>
1770
1771         * doc/c-tree.texi (Namespaces): Fix typo.
1772
1773 Fri Feb  7 02:18:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1774
1775         * regrename.c (do_replace, find_oldest_value_reg,
1776         copyprop_hardreg_forward_1): Update register attributes.
1777
1778 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
1779
1780         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
1781         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
1782         variables starting with underscore.
1783         (struct unit_usage): New structure.
1784         (unit_usages, cycle_alt_unit_usages): New global variables.
1785         (check_unit_distribution_in_reserv): Remove it.
1786         (store_alt_unit_usage): New function.
1787         (check_regexp_units_distribution): Rewrite it.
1788
1789 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1790
1791         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
1792         target_cpu_default.
1793         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
1794         if not MASK_NO_SPACE_REGS.
1795         (output_call): Adjust return pointer, don't load new space register
1796         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
1797         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
1798         TARGET_NO_SPACE_REGS is true.
1799         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
1800         conditions.
1801         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
1802         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
1803         true.  Use bve when TARGET_64BIT is true.
1804
1805 2003-02-06  Richard Henderson  <rth@redhat.com>
1806
1807         * combine.c (nonzero_bits): Fix double break.
1808
1809 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
1810             Richard Henderson <rth@redhat.com>
1811
1812         PR c/9530
1813         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
1814         from functions that return a float to functions that don't.
1815
1816 Thu Feb  6 00:18:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1817
1818         * i386.c (x86_inter_unit_moves): New variable.
1819         (ix86_secondary_memory_needed): Fix 64bit case, honor
1820         TARGET_INTER_UNIT_MOVES
1821         * i386.h (x86_inter_unit_moves): Declare.
1822         (TARGET_INTER_UNIT_MOVES): New macro.
1823         * i386.md (movsi_1): Cleanup constraints; disable
1824         when not doing inter-unit moves.
1825         (movsi_1_nointernunit): New.
1826         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
1827         (movdi_1_rex64_nointerunit): New.
1828         (mivsf_1): disable when not doing inter-unit moves.
1829         (movsf_1_nointerunit): New.
1830
1831         * basic-block.h (inside_basic_block_p):  Declare.
1832         * cfgbuild.c (inside_basic_block_p): Make global.
1833         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
1834         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
1835         update CFG.
1836         (fix_basic_block_boundaries, add_missing_bbs): New.
1837         (rank): Use profile.
1838         (scheudle_ebbs): Rely on CFG; update coments.
1839
1840 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
1841
1842         * Makefile.in (host_hook_obj): New.
1843         (OBJS): Add $(host_hook_obj).
1844         (host_default.o): New rule.
1845         * config.gcc (host_hook_obj): New, default to host-default.o.
1846         (powerpc-*-darwin*): Use host-darwin.o.
1847         (out_host_hook_obj): New.
1848         * configure: Regenerate.
1849         * configure.in: Print information about out_host_hook_obj, substitute
1850         into output files.
1851         * host-default.c: New file.
1852         * hosthooks.h: New file.
1853         * toplev.c (general_init): Call host_hooks.extra_signals.
1854         * config/rs6000/host-darwin.c: New file.
1855         * config/rs6000/x-darwin: New file.
1856         * doc/hostconfig.texi: Add documentation for new host hook.
1857         Rearrange existing documentation.
1858
1859 2003-02-05  Roger Sayle  <roger@eyesopen.com>
1860
1861         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
1862         with *targetm.delegitimize_address.
1863         (rtl_for_decl_location): Likewise.
1864         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
1865         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
1866
1867         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1868         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
1869         prototype.
1870         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
1871         i386_simplify_dwarf_addr.  Made static.  Prototyped.
1872         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
1873         i386_simplify_dwarf_addr to ix86_delegitimize_address.
1874         (ix86_find_base_term): Likewise.
1875         (maybe_get_pool_constant): Likewise.
1876
1877         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1878         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
1879         prototype.
1880         * config/s390/s390.c (s390_delegitimize_address): Renamed from
1881         s390_simplify_dwarf_addr.  Made static.  Prototyped.
1882         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
1883
1884 2003-02-05  Richard Henderson  <rth@redhat.com>
1885
1886         PR c/8602
1887         * integrate.c (output_inline_function): Reset input_filename
1888         and lineno from the decl before rest_of_compilation.
1889
1890 2003-02-05  Richard Henderson  <rth@redhat.com>
1891
1892         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1893         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1894         * doc/rtl.texi, doc/tm.texi: Document them.
1895
1896         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
1897         of the value at zero properly.
1898         * fold-const.c (tree_expr_nonnegative_p): Likewise.
1899         * simplify-rtx.c (simplify_unary_operation): Likewise.
1900
1901         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1902         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1903
1904         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
1905         (TARGET_EXPAND_BUILTIN): Remove.
1906         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
1907         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1908         (enum arm_builtins): Remove.
1909         * config/arm/arm.md (UNSPEC_CLZ): Remove.
1910         (clzsi2): Rename from clz; use clz instead of unspec.
1911         (ctzsi2): New.
1912         * config/arm/arm-protos.h: Update.
1913
1914 Wed Feb  5 23:12:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1915
1916         * i386-protos.h (x86_emit_floatuns):  Declare.
1917         * i386.c (x86_emit_floatuns): New global function.
1918         * i386.md (floatunssisf2, floatunsdisf2,
1919         floatunsdidf2):  New patterns.
1920
1921 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1922
1923         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
1924
1925 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
1926
1927         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
1928           config/ia64/linux.h
1929
1930 2002-02-05  Roger Sayle  <roger@eyesopen.com>
1931
1932         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
1933
1934 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
1935
1936         PR optimization/8555
1937         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
1938         instead of aborting.
1939
1940 2003-02-04  Richard Henderson  <rth@redhat.com>
1941
1942         * config/i386/i386.md (UNSPEC_BSF): Remove.
1943         (ffssi2): Split into cmove and no_cmove insns and splitters;
1944         lose pentium float trick for now.
1945         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
1946         (ctzsi2, clzsi2, bsr): New.
1947
1948 2003-02-04  Richard Henderson  <rth@redhat.com>
1949
1950         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
1951         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
1952         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
1953         (ffsdi2): Use popcount instead of unspec.
1954         (popcountdi2): Rename from *popcnt.
1955         (ctzdi2, clzdi2, getf_exp_tf): New.
1956
1957 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
1958
1959         * genconfig.c (main): Generate CC0_P.
1960         * rtl.h (CC0_P): Remove.
1961
1962 2003-02-04  Richard Henderson  <rth@redhat.com>
1963
1964         * libgcc2.h, libgcc2.c (__ffsSI2): New.
1965         (__ffsDI2): Rename from __ffsdi2.
1966         * mklibgcc.in (lib2funcs): Add _ffssi2.
1967
1968 2003-02-04  Richard Henderson  <rth@redhat.com>
1969
1970         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
1971         rounds with a "bit table" lookup.
1972
1973 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
1974
1975         * reload.c (find_reloads): Do not use the mode specified in the insn
1976         pattern as reload mode for address operands.  Do not generate optional
1977         reloads for operands where a mandatory reload was already pushed.
1978
1979 2003-02-04  Richard Henderson  <rth@redhat.com>
1980
1981         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
1982         builtins instead of inline assembly.
1983
1984 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1985
1986         PR c/9376
1987         * libgcc2.c (__subvdi3): Fix typo.
1988
1989 Tue Feb  4 21:46:05 CET 2003  Jan Hubicka  <jh@suse.cz>
1990
1991         * i386.md (movti_rex64):  Fix constraint.
1992
1993 Tue Feb  4 18:40:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1994
1995         * i386.md (vector push splitters):  Fix typo in resolving conflict.
1996
1997 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
1998
1999         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
2000
2001 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
2002
2003         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
2004         for recent libstdc++.  Remove formatting cruft.
2005
2006 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
2007
2008         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
2009         attribute even if input file name is absolute, but one of the
2010         includes is relative.
2011
2012 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
2013
2014         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
2015         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
2016         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
2017
2018 2003-02-03  Richard Henderson  <rth@redhat.com>
2019
2020         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2021         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
2022         return type to "int".  Shuffle declarations and undef int trap.
2023         * libgcc2.h: Remove their declarations.
2024         * optabs.c (expand_unop): Force outmode to int for bitops.
2025
2026 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
2027
2028         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
2029         coprocessor registers before floating-point registers.
2030         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
2031         to account for a previously removed register.
2032         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
2033         Delete unused macros.
2034
2035 Mon Feb  3 21:19:11 CET 2003  Jan Hubicka  <jh@suse.cz>
2036
2037         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
2038         (mov*_internal): Fix predicates; require one of operands to not be
2039         memory.
2040         (SSE?MMX move expanders):  Fix predicates; force one of operands to
2041         register.
2042         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
2043         (movups/movupd/movdqu patterns): Force one of operands to not be
2044         memory.
2045
2046 2002-02-03  Roger Sayle  <roger@eyesopen.com>
2047
2048         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
2049         takes a single rtx and returns it unmodified.
2050         * hooks.h (hook_rtx_rtx_identity): Prototype here.
2051         * target.h (struct gcc_target): Add "delegitimize_address"
2052         field to target structure.
2053         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
2054         for delegitimize_address target using hook_rtx_rtx_identity.
2055         (TARGET_INITIALIZER): Initialize delegitimize_address field
2056         using TARGET_DELEGITIMIZE_ADDRESS macro.
2057         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
2058         extensions of constant pool references.  Use delegitimize_address
2059         to undo the obfuscation of "-fpic".
2060         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
2061
2062         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
2063         i386_simplify_dwarf_addr.
2064         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
2065         (maybe_get_pool_constant): Likewise.
2066
2067 Mon Feb  3 16:01:17 CET 2003  Jan Hubicka  <jh@suse.cz>
2068
2069         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
2070
2071 Mon Feb  3 01:30:11 CET 2003  Jan Hubicka  <jh@suse.cz>
2072
2073         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
2074
2075 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2076
2077         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
2078         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
2079
2080 2003-02-02  Andreas Schwab  <schwab@suse.de>
2081
2082         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
2083
2084 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
2085
2086         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
2087         (epilogue_insns): Likewise.
2088
2089 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2090
2091         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
2092
2093 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2094
2095         * pa-protos.h (attr_length_millicode_call): Remove second argument.
2096         (attr_length_indirect_call, attr_length_indirect_call,
2097         attr_length_save_restore_dltp): New prototypes.
2098         * pa.c (attr_length_millicode_call): Remove second argument.  Check
2099         INSN_ADDRESSES_SET_P in distance calculation.
2100         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
2101         INSN_ADDRESSES.
2102         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
2103         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
2104         Call attr_length_call directly.
2105         (attr_length_indirect_call, output_indirect_call,
2106         attr_length_save_restore_dltp): New functions.
2107         * pa.md (attr_length_millicode_call): Drop second argument from all
2108         patterns.
2109         (return_internal_pic): Delete.
2110         (return_external_pic): Remove use of PIC register and pic operand and
2111         flag checks.
2112         (epilogue): Use return_internal for both normal and pic code.
2113         (call, call_value): Emit new 32-bit pic patterns for symref and
2114         indirect calls.  Remove uses for arg pointer and pic register.
2115         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
2116         call_reg_pic_post_reload, call_val_symref_pic,
2117         call_val_symref_pic_post_reload, call_val_reg_pic,
2118         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
2119         Implement define_split and define_peephole2 patterns for pre reload
2120         patterns.
2121         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
2122         call_value_internal_reg_64bit): Shorten names.
2123         (all call patterns): Explicitly indicate registers used and clobbered.
2124         Use attr_length_indirect_call and attr_length_save_restore_dltp for
2125         attribute length calculation.  Move code generation for indirect calls
2126         to output_indirect_call.
2127         (sibcall, sibcall_value): Don't restore PIC register.
2128         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
2129         register retore.
2130
2131 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2132
2133         * doc/install.texi (Testing): Simplify and compress instructions
2134         concerning Dejagnu.
2135
2136 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2137
2138         * collect2.c (pexecute_pid): Rename to pid.
2139         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
2140         pid.
2141
2142 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
2143
2144         * doc/extend.texi (Function Attributes): Remove documentation
2145         for PowerPC Windows NT function attributes..
2146
2147 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
2148
2149         * dwarf2out.c (gen_type_die): Check for typedefs before calling
2150         for TYPE_MAIN_VARIANT.
2151
2152 2003-02-01  Richard Henderson  <rth@redhat.com>
2153
2154         * libgcc2.c: Include auto-host.h.
2155         (ATTRIBUTE_HIDDEN): New.
2156         (__clz_tab): Don't declare here for clz and ctz.
2157         (__clzsi2, __clzdi2): Use count_leading_zeros.
2158         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
2159         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
2160         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
2161         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
2162
2163 2003-02-01  Richard Henderson  <rth@redhat.com>
2164
2165         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
2166         to the conditional.
2167         (ashlsi3_1_zext splitter): Likewise.
2168
2169 2003-02-01  Richard Henderson  <rth@redhat.com>
2170
2171         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
2172         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2173         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
2174         return type to Wtype.
2175
2176         * libgcc-std.ver (GCC_3.4): Fix inheritance.
2177
2178         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
2179         expander input constraint.
2180
2181 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
2182
2183         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
2184         OTI_parity.
2185         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
2186         * optabs.c (widen_clz, expand_parity): New.
2187         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
2188         for libcalls to clz, ctz, popcount, and parity.
2189         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
2190         parity_optab, and set up libfunc handlers.
2191         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2192         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
2193         __popcount_tab): New.
2194         * libgcc2.h: Declare them.
2195         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
2196         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
2197         and parity_optab.
2198         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
2199         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
2200         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
2201         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
2202         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
2203         BUILT_IN_PARITYLL): New.
2204         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
2205         and add optab argument.
2206         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
2207         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
2208         * expr.c (expand_expr): Handle them.
2209         * fold-const.c (tree_expr_nonnegative_p): Likewise.
2210         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
2211         * reload1.c (eliminate_regs): Handle them.
2212         (elimination_effects): Likewise.
2213         * function.c (instantiate_virtual_regs_1): Likewise
2214         * genattrtab.c (check_attr_value): Likewise.
2215         * simplify-rtx.c (simplify_unary_operation): Likewise.
2216         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
2217         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
2218         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
2219         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
2220         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
2221         __builtin_arm_clz.
2222         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
2223         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
2224         * doc/extend.texi (Other Builtins): Add new builtins.
2225         * doc/md.texi (Standard Names): Add new patterns.
2226
2227 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
2228
2229         * reload.c: Revert 2003-01-31 change.
2230
2231 Sat Feb  1 14:14:40 CET 2003  Jan Hubicka  <jh@suse.cz>
2232
2233         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
2234
2235 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
2236
2237         * flags.h (flag_volatile): Remove declaration.
2238         (flag_volatile_global, flag_volatile_static): Likewise.
2239         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
2240         * toplev.c (flag_volatile): Remove definition.
2241         (flag_volatile_global, flag_volatile_static): Likewise.
2242         (f_options): Remove corresponding entries here.
2243         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
2244         or flag_volatile_static.
2245         * doc/invoke.texi: Remove documentation of -fvolatile,
2246         -fvolatile-global and -fvolatile-static.
2247
2248 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2249
2250         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
2251         updating of total_code_bytes from prologue to epilogue.
2252
2253 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
2254
2255         * reload.c (find_reloads): Do not use the mode specified in the insn
2256         pattern as reload mode for address operands.  Do not generate optional
2257         reloads for operands where a mandatory reload was already pushed.
2258         Generate optional reloads only in the final pass though find_reloads.
2259         (have_replacement_p): New function.
2260
2261 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2262
2263         * doc/install.texi (Testing): Remove a reference to our obsolete
2264         /testresults web pages and strip redundant information concerning
2265         test results.
2266         (Binaries): Refer to Microsoft Windows instead of listing all
2267         possible variants.
2268
2269 Sat Feb  1 00:28:30 CET 2003  Jan Hubicka  <jh@suse.cz>
2270
2271         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
2272         RTL chain.
2273
2274         * combine.c (simplify_set): Reverse order of ragumetns to
2275         REG_CANNOT_CHANGE_MODE_P
2276         * df.c (df_def_record_1): Likewise.
2277         * recog.c (register_operand): Likewise.
2278         * simplify-rtx.c (simplify_subreg): Likewise.
2279         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
2280         CANNOT_CHANGE_MODE_CLASS.
2281         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
2282         Likewise.
2283         * reload.c (push_reload): Likewise.
2284         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2285         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2286         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2287         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
2288         * mips.c (mips_cannot_change_mode_class): Update.
2289         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2290         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2291         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2292         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2293         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
2294         * sh.c (sh_cannot_change_mode_class): Update.
2295         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
2296         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
2297
2298 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
2299
2300         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
2301         change to LINK_COMMAND_SPEC in gcc.c.
2302
2303 2003-01-31  Jan Hubicka  <jh@suse.cz>
2304
2305         PR c/9506
2306         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
2307
2308 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2309
2310         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
2311         duplicated code.
2312
2313 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
2314
2315         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
2316         (BINFO_ELTS): New #define.
2317         * stor-layout.c (finalize_record_size): Don't set them.
2318         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
2319         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
2320         (BINFO_LANG_ELTS): New #define.
2321         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
2322         * java/class.c (make_class): Use BINFO_ELTS.
2323         (set_super_info): Likewse.
2324         (add_interface_do): Likewise.
2325         * objc/objc-act.c (start_class): Use BINFO_ELTS.
2326
2327 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
2328
2329         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
2330         (times): Don't ever declare if not HAVE_TIMES.
2331         (clock): Don't ever declare if not HAVE_CLOCK.
2332
2333 2003-01-30  Richard Henderson  <rth@redhat.com>
2334
2335         * flow.c (update_life_info): Zap life info after cleanup_cfg.
2336         (regno_uninitialized): Use correct live at function entry set.
2337         (regno_clobbered_at_setjmp): Likewise.
2338
2339         * expr.c (store_expr): Promote all MEM intermediates to regs.
2340
2341 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2342
2343         * config/arm/arm.c: Fix comment typos.
2344         * config/arm/arm.h: Likewise.
2345         * config/arm/netbsd-elf.h: Likewise.
2346         * config/arm/netbsd.h: Likewise.
2347
2348 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
2349
2350         * gengtype.c (struct walk_type_data): Add needs_cast_p.
2351         (walk_type): Set needs_cast_p in walk_type_data.
2352         (write_types_process_field): Supply casts when required to suppress
2353         warnings.
2354         (write_root): Cast gt_pch_n_S to suppress warning.
2355         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
2356         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
2357         when they might exist.
2358         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
2359         insn-conditions.o, and rs6000.o.
2360
2361 2003-01-30  Richard Henderson  <rth@redhat.com>
2362
2363         * ggc-page.c (G.context_depth_allocations): New.
2364         (G.context_depth_collections): New.
2365         (alloc_page): Set G.context_depth_allocations.
2366         (ggc_collect): Set G.context_depth_collections.
2367         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
2368         (ggc_pop_context): Early exit for no allocations or collections.
2369
2370 2003-01-30  Richard Henderson  <rth@redhat.com>
2371
2372         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
2373
2374 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
2375
2376         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
2377         size, the link register is always saved if any other register is
2378         saved.
2379
2380 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2381
2382         * config/h8300/h8300-protos.h: Update the prototype for
2383         compute_plussi_cc.
2384         (cpp_reader): Declare before it is used.
2385         * config/h8300/h8300.c (compute_plussi_cc): Change the return
2386         type to int.
2387         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
2388         see an unknown H8 variant.
2389
2390 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
2391
2392         PR target/9316
2393         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
2394         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
2395         * config/rs6000/t-rtems: New file. multilib variants to match OS.
2396         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
2397         rs6000/t-ppcgas so we get the desired multilibs.
2398
2399 2003-01-30  Nick Clifton  <nickc@redhat.com>
2400
2401         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
2402         when popping saved IP register off the stack.
2403
2404 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2405
2406         * config/rs6000/aix43.h: Fix comment typos.
2407         * config/rs6000/aix51.h: Likewise.
2408         * config/rs6000/aix52.h: Likewise.
2409         * config/rs6000/altivec.h: Likewise.
2410         * config/rs6000/rs6000.c: Likewise.
2411         * config/rs6000/rs6000.h: Likewise.
2412         * config/rs6000/rs6000.md: Likewise.
2413         * config/rs6000/spe.md: Likewise.
2414
2415 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
2416
2417         * c-common.c (builtin_define_float_constants): Define
2418         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
2419
2420 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2421
2422         * config/sh/lib1funcs.asm: Fix comment typos.
2423         * config/sh/linux.h: Likewise.
2424         * config/sh/sh.c: Likewise.
2425         * config/sh/sh.md: Likewise.
2426
2427 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
2428
2429         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
2430
2431 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
2432
2433         * config/fp-bit.h (__make_dp): Declare if TMODES.
2434
2435 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
2436
2437         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
2438         general_operand_src and general_operand_dst.
2439
2440 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
2441
2442         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
2443         Return true for variable sized types.
2444         (rs6000_va_arg): Handle variable sized types passed by reference
2445         on non-SVR4 ABI.
2446
2447 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
2448
2449         * arm.c (arm_legtimize_address): New function.
2450         * arm-protos.h (arm_legtimize_address): Add prototype.
2451         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
2452         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
2453         do ... while (0)
2454
2455 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2456
2457         PR bootstrap/9296
2458         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
2459         depended on it being defined until now.
2460
2461 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2462
2463         PR target/9295
2464         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
2465         RTEMS code knows which C++ initialization style the toolset
2466         configuration is using.
2467
2468 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2469
2470         PR bootstrap/9293
2471         * config/m68k/t-crtstuff: Replace spaces with tabs, add
2472          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2473
2474 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2475
2476         PR bootstrap/9292
2477         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
2478         RTEMS threads.
2479         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
2480
2481 2003-01-29  Nick Clifton  <nickc@redhat.com>
2482
2483         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
2484         not $(srcdir).
2485
2486 2003-01-29  Andrew Haley  <aph@redhat.com>
2487
2488         * tree-inline.c (walk_tree): Add CHAR_TYPE.
2489
2490 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
2491
2492         * i386.md (subdi3_carry_rex64): Fix typo.
2493
2494 2003-01-28  Stan Shebs  <shebs@apple.com>
2495
2496         * coretypes.h (cpp_reader): Forward declare struct.
2497         * c-pragma.h (cpp_reader): Remove forward declaration.
2498         * hashtable.h (cpp_reader): Likewise.
2499         * scan.h (cpp_reader): Likewise.
2500         * tree.h (cpp_reader): Likewise.
2501         * config/darwin-protos.h (cpp_reader): Likewise.
2502         * config/arm/arm-protos.h (cpp_reader): Likewise.
2503         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
2504         struct cpp_reader in prototypes.
2505
2506 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2507
2508         * doc/install.texi: Add documentation for installation into
2509         tooldirs and with DESTDIR.
2510
2511 2003-01-28  Richard Henderson  <rth@redhat.com>
2512
2513         * config.gcc (ia64*-*-aix*): Remove.
2514         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
2515         * config/ia64/unwind-aix.c: Remove file.
2516
2517 2003-01-28  Andreas Schwab  <schwab@suse.de>
2518
2519         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
2520         register.
2521         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
2522         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
2523         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
2524         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
2525         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
2526         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
2527         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
2528
2529 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
2530
2531         * combine.c (nonzero_bits): Fix check for negative divide operands.
2532
2533 2003-01-28  Richard Henderson  <rth@redhat.com>
2534
2535         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
2536         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
2537
2538 2003-01-28  Richard Henderson  <rth@redhat.com>
2539
2540         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
2541
2542         * config/cris/cris.c (cris_address_cost): Make static.
2543         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
2544         * config/cris/cris.h (ADDRESS_COST): Remove.
2545         * config/cris/cris-protos.h: Update.
2546
2547 2003-01-23  Mike Stump  <mrs@apple.com>
2548
2549         * regclass.c (init_reg_autoinc): New function.
2550         (regclass): Move initialization of forbidden_inc_dec_class from
2551         here...
2552         (init_regs): to here.  Avoids reinitialization for each function,
2553         saving compilation time.
2554
2555 2003-01-28  Jason Merrill  <jason@redhat.com>
2556
2557         * cpplib.h (struct cpp_options): Add warn_deprecated field.
2558         * cppinit.c (cpp_create_reader): Turn it on by default.
2559         * c-opts.c (c_common_decode_option): Set it.
2560         * cpplib.c (do_pragma_once): Only complain about #pragma once
2561         if warn_deprecated is set.
2562
2563 2003-01-28  Dale Johannesen  <dalej@apple.com>
2564
2565         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
2566         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
2567         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
2568
2569 2003-01-28  Richard Henderson  <rth@redhat.com>
2570
2571         * target.h (targetm.address_cost): New.
2572         * target-def.h (TARGET_ADDRESS_COST): New.
2573         (TARGET_RTX_COSTS): Uncomment.  Oops.
2574         * cse.c (address_cost): Use new target hook.
2575         (default_address_cost): New.
2576         * output.h (default_address_cost): Declare.
2577         * hooks.c (hook_int_rtx_0): New.
2578         * hooks.h (hook_int_rtx_0): Declare.
2579         * loop.c (combine_givs_p): Remove if 0 code.
2580         * system.h (ADDRESS_COST): Poison.
2581
2582         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
2583         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
2584         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
2585         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
2586         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
2587         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
2588         config/xtensa/xtensa.c, config/xtensa/xtensa.h
2589         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
2590         (ADDRESS_COST): Remove.
2591
2592         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
2593         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
2594         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
2595         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2596         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
2597         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
2598         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
2599         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
2600         config/mips/mips.c, config/mips/mips.h,
2601         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
2602         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
2603         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
2604         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
2605         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
2606         config/vax/vax.c, config/vax/vax.h
2607         (foo_address_cost): Make static.
2608         (TARGET_ADDRESS_COST): New.
2609         (ADDRESS_COST): Remove.
2610
2611         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
2612         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
2613         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
2614         config/stormy16/stormy16.h
2615         (ADDRESS_COST): Move code ...
2616         (foo_address_cost): ... here.
2617         (TARGET_ADDRESS_COST): New.
2618
2619         * config/m32r/m32r.c (m32r_address_cost): Remove.
2620         * config/m32r/m32r-protos.h: Update.
2621
2622         * config/mmix/mmix.c (mmix_address_cost): Remove.
2623         * config/mmix/mmix-protos.h: Update.
2624
2625         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
2626         mn10300_address_cost; move unsig allocation ...
2627         (mn10300_address_cost): ... here.
2628         (TARGET_ADDRESS_COST): New.
2629         * config/mn10300/mn10300-protos.h: Update.
2630         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
2631
2632         * doc/tm.texi: Update.
2633
2634 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
2635
2636         * haifa-sched.c (schedule_insn): Return necessary cycle advance
2637         after issuing the insn.
2638         (rank_for_schedule): Make a insn with /S the highest priority
2639         insn.
2640         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
2641         (choose_ready): Check SCHED_GROUP_P.
2642         (schedule_block): Advance cycle after issuing insn if it is
2643         necessary.  Don't reorder insns if there is an insn with /S.
2644         (set_priorities): Ignore schedule groups.
2645
2646         * sched-deps.c (remove_dependence, group_leader): Remove the
2647         functions.
2648         (add_dependence): Ignore schedule groups.
2649         (set_sched_group_p): Don't make copy of dependencies from previous
2650         insn of the schedule group.  Add anti-dependency to the previous
2651         insn of the schedule group.
2652         (compute_forward_dependences): Ignore schedule groups.
2653
2654         * sched-ebb.c (init_ready_list): Ignore schedule groups.
2655
2656         * sched-rgn.c (init_ready_list): Ditto.
2657         (can_schedule_ready_p): Ditto.
2658
2659 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
2660
2661         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
2662         register to another one.
2663
2664 2003-01-28  Richard Henderson  <rth@redhat.com>
2665
2666         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
2667
2668 2003-01-28  Roger Sayle  <roger@eyesopen.com>
2669
2670         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
2671
2672 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
2673
2674         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
2675         class contains a floating-point register, return the size of the
2676         mode in half words.
2677
2678 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
2679
2680         * i386.c (ix86_carry_flag_operator):  New predicate.
2681         (fcmov_operator): Fix whitespace.
2682         (ix86_expand_carry_flag_compare):  Deal with floating point.
2683         (ix86_expand_int_movcc): Deal with fp; update insn expansion
2684         (ix86_expand_int_addcc): Likewise.
2685         (ix86_expand_strlensi_unroll_1): likewsie.
2686         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
2687         * i386.md (add?i_carry_rex64): Use new predicate.
2688         (sub?i3_carry_rex64): Likewise.
2689         (x86_mov?icc_0_m1*): Likewise.
2690
2691 2003-01-28  Andreas Schwab  <schwab@suse.de>
2692
2693         * cfgloopmanip.c (create_preheader): Initialize src to avoid
2694         warning.
2695
2696         * expmed.c (emit_store_flag): Fix cast to avoid sign
2697         comparison warning.
2698
2699         * combine.c (force_to_mode): Add cast to fix warning when
2700         STORE_FLAG_VALUE is negative.
2701
2702 2003-01-27  Richard Henderson  <rth@redhat.com>
2703
2704         * Makefile.in (cse.o): Depend on TARGET_H.
2705         * cse.c (rtx_cost): Use targetm.rtx_costs.
2706         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
2707         * doc/tm.texi: Update.
2708
2709         * target.h (targetm.rtx_costs): New.
2710         * target-def.h (TARGET_RTX_COSTS): New.
2711         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
2712         * hooks.h: Update.
2713
2714         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
2715         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
2716         * config/alpha/alpha.h (PROCESSOR_MAX): New.
2717         (CONST_COSTS, RTX_COSTS): Remove.
2718
2719         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
2720         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
2721         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
2722         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
2723         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
2724         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
2725         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
2726         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
2727         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
2728         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
2729         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
2730         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
2731         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
2732         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
2733         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
2734         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
2735         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
2736         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
2737         config/v850/v850.c, config/v850/v850.h,
2738         config/xtensa/xtensa.c, config/xtensa/xtensa.h
2739         (CONST_COSTS, RTX_COSTS): Move code ...
2740         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
2741
2742         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
2743         (arm_rtx_costs, TARGET_RTX_COSTS): New.
2744         * config/arm/arm-protos.h: Update.
2745         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
2746
2747         * config/avr/avr.h (CONST_COSTS): Move code ...
2748         * config/avr/avr.c (avr_rtx_costs): ... here.
2749         (default_rtx_costs): Make static.
2750         * config/avr/avr-protos.h: Update.
2751
2752         * config/h8300/h8300.c (const_costs): Make static.
2753         (h8300_and_costs, h8300_shift_costs): Likewise.
2754         * config/h8300/h8300-protos.h: Update.
2755
2756         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
2757         (CONST_COSTS): Move code ...
2758         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
2759         default_rtx_costs; update for signature change.
2760         * config/ip2k/ip2k-protos.h: Update.
2761
2762         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
2763         (CONST_COSTS): Move code ...
2764         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
2765         (TARGET_RTX_COSTS): New.
2766         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
2767         * config/m68hc11/m68hc11-protos.h: Update.
2768
2769         * config/m68k/m68k.c (const_int_cost): Make static.
2770         * config/m68k/m68k-protos.h: Update.
2771
2772         * config/mcore/mcore.c (mcore_const_costs): Make static.
2773         (mcore_and_cost, mcore_ior_cost): Likewise.
2774         * config/mcore/mcore-protos.h: Update.
2775
2776         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
2777         (mmix_rtx_cost_recalculated): Remove.
2778         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
2779         * config/mmix/mmix-protos.h: Update.
2780
2781         * config/sh/sh.c (shiftcosts): Make static.
2782         (addsubcosts, andcosts, multcosts): Likewise.
2783         * config/sh/sh-protos.h: Update.
2784
2785         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
2786         (sparc_rtx_costs): Make static; update for change in signature.
2787         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
2788         * config/sparc/sparc-protos.h: Update.
2789
2790         * config/v850/v850.c (const_costs): Make static.
2791         * config/v850/v850-protos.h: Update.
2792
2793         * config/vax/vax.h (RTX_COSTS): Remove.
2794         (CONST_COSTS): Move code ...
2795         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
2796         from vax_rtx_cost.
2797         (vax_rtx_costs, TARGET_RTX_COSTS): New.
2798
2799 2003-01-27  Richard Henderson  <rth@redhat.com>
2800
2801         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
2802         * config/vax/vax-protos.h: Update.  Really.
2803
2804 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
2805
2806         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
2807         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
2808         zero if no hardware floating point.
2809         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
2810         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
2811         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
2812         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
2813         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
2814         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
2815         even FP registers on N32 and N64.
2816         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
2817         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
2818         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
2819         even-register-like alignment to 128-bit arguments.
2820         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
2821         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
2822         on N32 or N64.
2823         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
2824         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
2825         (TPBIT): Set to tp-bit.c.
2826         (tp-bit.c): Create out of fp-bit.c.
2827
2828 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2829
2830         * c-parse.in: Remove '%expect 32' directive in objc mode.
2831
2832 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
2833
2834         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
2835         (LIBGCOV): New variable.
2836         (libgcc.mk): Add LIBGCOV.
2837         (LIBGCC_DEPS): Add libgcov.c.
2838         (libgcov.a): New target.
2839         (clean): Remove libgcov.a.
2840         (install-libgcc): Do libgcov too.
2841         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
2842         with libgcov.a.
2843         * libgcc2.c (L_gcov): Move into ...
2844         * libgcov.c: ... here. New file.
2845         * mklibgcc.in: Add libgcov rules.
2846         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
2847
2848         * doc/invoke.texi (profile-arcs, test-coverage): Update and
2849         clarify.
2850
2851         * profile.c (index_counts_file): Remove duplicate check for open file.
2852
2853 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
2854
2855         * gcc/doc/invoke.texi (Optimization Options): Group together
2856         optional and experimental flags.  Move trapv and bounds-check
2857         out of this section.  Group floating point flags together.
2858         (Code Gen Options): Move trapv and bounds-check to here.
2859
2860 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
2861
2862         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
2863
2864 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
2865
2866         PR optimization/9090
2867         * function.c (purge_addressof_1): After pushing an addressed register
2868         onto the stack, simplify the result.
2869
2870 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2871
2872         * doc/extend.texi: Fix typo.
2873
2874 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2875
2876         * doc/cppopts.texi: Fix typo.
2877         * doc/objc.texi: Likewise.
2878         * doc/passes.texi: Likewise.
2879
2880 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
2881
2882         * real.c (ibm_extended_format): Add 53 to minimum exponent.
2883         (encode_ibm_extended): Adjust.
2884
2885 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
2886
2887         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
2888         timevar_id enumerations.
2889
2890 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2891
2892         * combine.c: Fix formatting.
2893
2894 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2895
2896         * doc/gccint.texi: Update the copyright.
2897
2898 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2899
2900         * doc/cpp.texi: Fix typos.
2901         * doc/extend.texi: Likewise.
2902         * doc/gty.texi: Likewise.
2903         * doc/install.texi: Likewise.
2904         * doc/passes.texi: Likewise.
2905         * doc/rtl.texi: Likewise.
2906         * doc/tm.texi: Likewise.
2907
2908 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2909
2910         * config/ia64/fde-glibc.c: Fix comment typos.
2911         * config/ia64/hpux.h: Likewise.
2912         * config/ia64/ia64.c: Likewise.
2913         * config/ia64/ia64.h: Likewise.
2914         * config/ia64/unwind-ia64.c: Likewise.
2915
2916 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2917
2918         * config/i386/i386-modes.def: Fix comment typos.
2919         * config/i386/i386.c: Likewise.
2920         * config/i386/i386.md: Likewise.
2921
2922 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2923
2924         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
2925         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
2926         ASM_FINISH_DECLARE_OBJECT before defining it.
2927         * toplev.c (rest_of_decl_compilation):  Don't define
2928         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
2929         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
2930         parameters for DWARF2 targets because they _are_ used.
2931
2932 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2933
2934         * fp-bit.h: Define macros for TFmode floating-point constants
2935         in IBM-extended TFmode types.
2936         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
2937         widths.
2938         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
2939         TFmode type.
2940
2941         * config/fp-bit.h: Define macros for TFmode floating-point
2942         constants in IEEE quad TFmode type.  Declare functions according
2943         to L_ macros.
2944         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
2945         (TFtype, TItype, UTItype): Define if TMODES is defined.
2946         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
2947         (F_T_BITOFF, D_T_BITOFF): Define.
2948         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
2949         guaranteed to be wide enough.
2950         * config/fp-bit.c: Check for L_ macros for tf functions.
2951         (__thenan_tf): New.
2952         (nan): Adjust.
2953         (pack_d, unpack_d): Support IEEE 854 quad type.
2954         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
2955         from FRAC_NBITS, FRAC_BITS and NGARDS.
2956         (usi_to_float): Cast constants to be shifted to fractype
2957         instead of assuming long long is wide enough.
2958         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
2959
2960 2003-01-26  Andreas Jaeger  <aj@suse.de>
2961
2962         * df.c: Remove prototype of unused function df_regno_rtl_debug.
2963
2964 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2965
2966         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
2967         (DBBIT_FUNCS): Added _df_to_tf.
2968         (TPBIT_FUNCS): New.
2969         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
2970         (LIBGCC_DEPS): Added TPBIT.
2971         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
2972
2973         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
2974         been able to move the result to target.
2975
2976         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
2977         for the appropriate mode.
2978
2979         * calls.c (emit_library_call_value_1): Handle return values
2980         in a PARALLEL.
2981
2982         * rtl.c (get_mode_alignment): Moved to...
2983         * stor-layout.c: ... here.
2984
2985         * print-rtl.c (print_rtx): Don't print MEM details in
2986         GENERATOR_FILEs.
2987
2988 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
2989
2990         * df.h: Update comments, tidy formatting.
2991         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
2992         REVERSE, UNION, INTERSECTION.  All uses updated.
2993         (OLD_DF_INTERFACE): Remove.
2994         (struct insn_info): Remove commented out insn field.
2995         * df.c: Update comments, tidy formatting.
2996         (df_def_table_realloc): Remove.
2997
2998
2999 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
3000
3001         * calls.c (save_fixed_argument_area): Tidy.
3002         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
3003         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
3004         call chain loop at 1 if !try_tail_call.  Formatting.
3005         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
3006         Use save_fixed_argument_area and restore_fixed_argument_area.
3007
3008 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3009
3010         * df.c (df_uses_record): Handle CC0.
3011
3012 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
3013
3014         * reload.c (maybe_memory_address_p): New function.
3015         (find_reloads_address): Use it instead of memory_address_p.
3016
3017 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
3018
3019         * final.c (shorten_branches): Align the address of code label
3020         when computing initial lengths and addresses.
3021
3022 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
3023
3024         * config/m68hc11/m68hc11.md: Fix a comment typo.
3025
3026 2003-01-25  Andreas Jaeger  <aj@suse.de>
3027
3028         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
3029         TARGET_MACHO.
3030
3031 2003-01-25  Roger Sayle  <roger@eyesopen.com>
3032
3033         * gcse.c (bypass_last_basic_block): New global variable.
3034         (bypass_block):  Use redirect_edge_and_branch_force to redirect
3035         fall-through edges.  Use bypass_last_basic_block to determine
3036         which blocks have valid PRE information.
3037         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
3038
3039 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
3040
3041         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
3042
3043 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
3044                               Eric Botcazou <ebotcazou@libertysurf.fr>
3045         PR opt/8492
3046         * gcse.c (one_cprop_pass): Delete unreachable blocks.
3047
3048 2003-01-25  Richard Henderson  <rth@redhat.com>
3049
3050         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
3051         from ia64_aix_select_rtx_section.
3052         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
3053         instead of saving and restoring flag_pic.
3054         (ia64_rwreloc_unique_section): Similarly.
3055         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
3056         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
3057         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
3058         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
3059
3060 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
3061
3062         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
3063         comment.
3064
3065 2002-01-25  Richard Henderson  <rth@redhat.com>
3066
3067         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
3068
3069 2002-01-25  Kelley Cook <kelleycook@comcast.net>
3070
3071         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
3072
3073 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
3074
3075         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
3076         type for bitmaps.  Use unsigned long.
3077         (nBITMAP_WORD_BITS): New macro.
3078         (BITMAP_WORD_BITS): New macro.
3079         (rest of file): Use it.
3080         * bitmap.c: Use it.
3081
3082 2003-01-25  Richard Henderson  <rth@redhat.com>
3083
3084         2002-02-19  Robert Lipe  <robertlipe@usa.net>
3085         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
3086
3087 2002-01-25  Roger Sayle  <roger@eyesopen.com>
3088
3089         * builtins.c (purge_builtin_constant_p): Scan insn stream
3090         sequentially rather than by basic block.
3091         * function.c (purge_addressof): Simplify test with INSN_P.
3092
3093 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
3094
3095         * combine.c (simplify_comparison, case AND): Remove a redundant test.
3096
3097 2002-01-25  Roger Sayle  <roger@eyesopen.com>
3098
3099         * function.h (struct function): New field calls_constant_p.
3100         (current_function_calls_constant_p): New macro for above.
3101         * function.c (prepare_function_start): Initialize calls_eh_return
3102         and calls_constant_p.
3103         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
3104         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
3105         when the current_function_calls_constant_p.
3106         * integrate.c (expand_inline_function): Set calls_constant_p if
3107         the function being inlined has calls_constant_p set.
3108
3109 2002-01-25  Roger Sayle  <roger@eyesopen.com>
3110
3111         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
3112         optimizing, even if flag_gcse is true.
3113         * toplev.c (rest_of_compilation): purge_builtin_constant_p
3114         only needs to be called when "optimize > 0 && flag_gcse".
3115
3116 2003-01-25  Roger Sayle  <roger@eyesopen.com>
3117
3118         * stmt.c (emit_case_bit_tests): New routine to implement suitable
3119         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
3120         (case_bit_test_cmp): New comparison function for "qsort" to order
3121         case_bit_tests by decreasing number of destination nodes.
3122         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
3123         (expand_end_case_type): Use emit_case_bit_tests to implement
3124         suitable switch statments.
3125         (CASE_USE_BIT_TESTS): New target macro to disable the above.
3126         * Makefile.in (stmt.o): Add dependency on optab.h.
3127         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
3128
3129 2003-01-23  Andreas Schwab  <schwab@suse.de>
3130
3131         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
3132         __do_global_ctors_aux hidden global and don't put it in
3133         .init_array.
3134         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
3135         instead so that it comes first.
3136
3137 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
3138
3139         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
3140         subreg is read/modify.
3141
3142 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
3143
3144         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
3145         do libcall for large blocks.
3146         * i386.md (comi patterns): Set type to ssecomi.
3147         (sse2_unpck?pd): Fix mode of vec_select.
3148
3149         * cse.c: Include except.h
3150         (cse_set_around_loop):  Do not create new basic blocks.
3151         * Makefile.in (cse.o): Add dependnecy on except.h
3152
3153 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
3154
3155         * builtins.c (fold_trunc_transparent_mathfn): New function.
3156         (fold_builtin): Use it.
3157         * convert.c (convert_to_real): Re-enable code to convert
3158         math functions; add support for floor familly functions.
3159
3160 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3161
3162         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
3163         dependencies on coretypes.h and $(TM_H).
3164
3165 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
3166
3167         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
3168
3169 2002-01-24  Stuart Hastings  <stuart@apple.com>
3170
3171         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
3172
3173 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3174
3175         * config/c4x/c4x.md (UNSPEC_BU): New constants.
3176         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
3177         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
3178         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
3179         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
3180         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
3181         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
3182         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
3183
3184 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
3185
3186         * emit-rtl.c (reg_attrs_htab): New static variable.
3187         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
3188         functions.
3189         (reg_rtx): Do not maintain regno_decl.
3190         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
3191         set_mem_attrs_from_reg): New global function.
3192         (init_emit): Do not initialize regno_decl.
3193         (init_emit_once): initialize reg_attrs_htab.
3194         * final.c (alter_subreg): Do not replace REG by SUBREG.
3195         (gen_mem_expr_from_op): Improve output.
3196         (output_asm_operands): Likewise.
3197         * function.c (assign_params): Do not set REGNO_DECL.
3198         * function.h (struct function): Kill regno_decl.
3199         (REGNO_DECL): Kill.
3200         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
3201         * print_rtl.c (print_rtx): Output REG information.
3202         * regclass.c (reg_scan_mark_refs): Update attrs.
3203         * reload1.c (alter_reg): Likewise.
3204         * simplify_rtx.c (simplify_subreg): Likewise.
3205         * stmt.c (expand_decl): Likewise.
3206         * rtl.def (REG): Add new field.
3207         * rtl.h (struct reg_attrs): New.
3208         (rtunion_def): At rtreg.
3209         (X0MEMATTR): Add checking.
3210         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
3211         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
3212         Declare.
3213         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
3214
3215 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
3216
3217         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
3218         (xtensa_emit_call, print_operand): Fix printf format strings
3219         to avoid compile warnings.
3220         (xtensa_function_prologue, xtensa_function_epilogue): Change type
3221         of "size" argument to HOST_WIDE_INT to fix compile warnings.
3222         * config/xtensa/xtensa-protos.h
3223         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
3224
3225 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
3226
3227         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
3228         (implicit_built_in_decls): New global array.
3229         (mathfn_built_in): New global function.
3230         (fold_trunc_transparent_mathfn): New static function
3231         (expand_builtin_strstr, expand_bultin_strchr,
3232         expand_builtin_strpbrk, expand_builtin_strcpy,
3233         expand_builtin_strncpy, expand_bultin_strcmp,
3234         expand_bultin_strncat, expand_builtin_fputs): Use
3235         implicint_built_in_decls.
3236         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
3237         * builtins.def: Fix comments.
3238         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
3239         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
3240         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
3241         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
3242         (DEF_C99_C90RES_BULTIN): New.
3243         (*f, *l builtins): Update.
3244         * c-common.c (DEF_BUILTIN): Initialize implicit array.
3245         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
3246         * convert.c (strip_float_extensions): New global function.
3247         * tree.h (DEF_BUILTIN): Accept 10 arguments.
3248         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
3249         Declare.
3250         * java/builtins.c (define_builtin): Handle implicit.
3251         (DEF_BUILTIN): Update.
3252         * tm.texi (TARGET_C99_FUNCTIONS): Document.
3253         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
3254         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
3255         when using glibc2.
3256
3257 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
3258
3259         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
3260         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
3261         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
3262         * config/xtensa/crti.asm: New file.
3263         * config/xtensa/crtn.asm: New file.
3264         * config/xtensa/t-elf: New file.
3265         * config/xtensa/t-linux: New file.
3266         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
3267         Move various CFLAGS settings to new t-elf file.
3268
3269 2003-01-24  Richard Henderson  <rth@redhat.com>
3270
3271         PR optimization/4382
3272         * tree-inline.c (find_builtin_longjmp_call_1): New.
3273         (find_builtin_longjmp_call): New.
3274         (inlinable_function_p): Use it.
3275
3276 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3277
3278         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
3279         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
3280         * config/i386/i386.c (function_arg_pass_by_reference): New.
3281         (ix86_va_arg): Support arguments passed by reference.
3282
3283 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3284
3285         * cfgloopanal.c: New file.
3286         * cfgloopmanip.c: New file.
3287         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
3288         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
3289         cfglayout.o): Add dependency on cfgloop.h.
3290         (cfgloop.o): Add flags.h dependency.
3291         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
3292         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
3293         (struct loop, struct loops, flow_loops_find, flow_loops_update,
3294         flow_loops_free, flow_loops_dump, flow_loop_dump,
3295         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
3296         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
3297         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
3298         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
3299         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
3300         find_common_loop, verify_loop_structure): Declarations moved to ...
3301         * cfgloop.h: New file.
3302         * bb-reorder.c (reorder_basic_blocks): Modified.
3303         * cfglayout.c: Include cfgloop.h.
3304         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
3305         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
3306         (break_superblocks): New static function.
3307         (cfg_layout_finalize): Use it.
3308         (cfg_layout_split_block): New function.
3309         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
3310         fields.
3311         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
3312         changed.
3313         (cfg_layout_split_block): Declare.
3314         * cfgloop.c: Include cfgloop.h and flags.h.
3315         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
3316         get_loop_body): Avoid signed versus unsigned comparison warnings.
3317         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
3318         loop_latch_edge): Modified.
3319         (verify_loop_structure): Modified to use flags stored in loop structure;
3320         check irreducible loops.
3321         (cancel_loop, cancel_loop_tree): New functions.
3322         (estimate_probability): Use loop analysis code for predictions.
3323         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
3324         warnings.
3325         * doloop.c: Include cfgloop.h.
3326         * loop.c: Include cfgloop.h.
3327         * predict.c: Include cfgloop.h.
3328         * toplev.c: Include cfgloop.h.
3329         * unroll.c: Include cfgloop.h.
3330         * tracer.c (tracer): Modified.
3331
3332 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
3333
3334         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
3335
3336 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
3337
3338         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
3339         * configure: Regenerate.
3340
3341         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
3342         (tls_symbolic_reference_mentioned_p): Add prototype.
3343         (s390_tls_get_offset): Add prototype.
3344         (emit_pic_move): Remove prototype, replace by ...
3345         (emit_symbolic_move): .. this new prototype.
3346
3347         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
3348         (tls_model_chars): New global variable.
3349         (s390_encode_section_info): Encode TLS model.
3350         Use targetm.binds_local_p to check for local symbols.
3351         (s390_strip_name_encoding): New function.
3352         (TARGET_STRIP_NAME_ENCODING): Define.
3353
3354         (get_thread_pointer): New function.
3355         (legitimize_tls_address): New function.
3356         (legitimize_address): Call it.
3357         (emit_pic_move): Remove, replace by ...
3358         (emit_symbolic_move): ... this new function.
3359
3360         (larl_operand): Handle TLS operands.
3361         (legitimate_constant_p): Likewise.
3362         (s390_decompose_address): Likewise.
3363         (s390_cannot_force_const_mem): New function.
3364         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
3365
3366         (s390_output_symbolic_const): Handle TLS unspecs.
3367         (print_operand): New code 'J'.
3368         (machine_function): Add struct member 'some_ld_name'.
3369         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
3370
3371         (enum s390_builtin): New type.
3372         (code_for_builtin_64, code_for_builtin_31): New global variables.
3373         (s390_init_builtins, s390_expand_builtin): New functions.
3374         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
3375
3376         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
3377         (ASM_OUTPUT_LABELREF): Define.
3378         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
3379
3380         * config/s390/s390.md: Define TLS UNSPEC constants.
3381         ("movdi", "movsi"): Handle TLS operands.
3382         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
3383         ("*tls_load_64", "*tls_load_31"): New insns.
3384         ("call_value_tls", "call_value_tls_exp"): New expanders.
3385         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
3386         "bas_tls_64", "bas_tls_31"): New insns.
3387
3388 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
3389
3390         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
3391         spe ABI is configured, if requested.
3392
3393 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3394
3395         * doc/passes.texi: Fix typo.
3396
3397 2003-01-24  Andreas Schwab  <schwab@suse.de>
3398
3399         * stor-layout.c (excess_unit_span): Only define if used.
3400
3401 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
3402
3403         * gcc/doc/invoke.texi (Optimization Options): List -O levels
3404         for each optimization flag.
3405
3406 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
3407
3408         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
3409
3410 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3411
3412         * doc/bugreport.texi: Use @command instead of @code for commands.
3413         * doc/collect2.texi: Likewise.
3414         * doc/headerdirs.texi: Likewise.
3415         * doc/invoke.texi: Likewise.
3416         * doc/standards.texi: Likewise.
3417         * doc/tm.texi: Likewise.
3418         * doc/trouble.texi: Likewise.
3419
3420 2003-01-24  Nick Clifton  <nickc@redhat.com>
3421
3422         * config/arm/arm.c (use_return_insn): Do not use a single return
3423         instruction for interrupt handelrs which have to create a stack
3424         frame.
3425         (arm_expand_prologue): Do not pre-bias the return address of
3426         interrupt handlers which create a stack frame.
3427
3428 2003-01-24  Nick Clifton  <nickc@redhat.com>
3429
3430         * Add sh2e support:
3431
3432         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
3433
3434                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
3435                 med_cbranches.  Fix logic in short_cbranches.
3436
3437         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
3438
3439                 * config/sh/sh.md (delay for cbranch): Don't annul delay
3440                 slots on SH2e.
3441                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
3442                 cbranch with unfilled delay slot on SH2e.
3443                 (output_branch): Fill with a nop the delay slot of a
3444                 branch that required a delay slot but didn't get one.
3445
3446         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
3447
3448                 * doc/invoke.texi (SH options): Document -m2e.
3449                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
3450                 * config/sh/lib1funcs.asm: Likewise.
3451                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
3452                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
3453                 not __sh1__.
3454                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
3455                 SH2E up.
3456                 (SH3E_BIT): Renamed to...
3457                 (SH_E_BIT): ... this.  Replace all uses.
3458                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
3459                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
3460                 (TARGET_SWITCHES): Added 2e.
3461                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
3462                 (processor_type): Added PROCESSOR_SH2E.
3463                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
3464                 TARGET_SH2E, except in sqrtsf2_i.
3465                 (attribute cpu): Added sh2e.
3466                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
3467                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
3468                 * config.gcc: Add sh2e target support.
3469
3470 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
3471
3472         Rename -W to -Wextra.
3473         * c-decl.c:  Update comments.
3474         * c-typeck.c:  Likewise.
3475         * flags.h:  Likewise.
3476         * function.c:  Likewise.
3477         * stmt.c:  Likewise.
3478         * toplev.c:  Update comments.
3479         (W_options):  Add 'extra'.
3480         (display_help):  Remove '-W'.
3481         (decode_W_option):  Special warn_uninitialized treatment in the case
3482         of -Wextra.
3483         * doc/invoke.texi:  Update with new entries.
3484
3485 2003-01-23  Richard Henderson  <rth@redhat.com>
3486
3487         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
3488         in no-else-block case.  Add commentary.
3489
3490 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3491
3492         * configure.in: Revert last change.
3493
3494 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3495
3496         * configure.in: Don't include ansidecl.h in tconfig.h.
3497         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
3498         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
3499         ATTRIBUTE_UNUSED.
3500
3501         * configure: Regenerate.
3502
3503 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3504
3505         PR java/6748
3506         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
3507         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
3508         kernels.
3509
3510 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3511
3512         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
3513
3514 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
3515
3516         * genattrtab.c (write_attr_get): Mark 'insn' paramter
3517         as ATTRIBUTE_UNUSED.
3518
3519 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
3520
3521         * arm.c (thumb_base_register_rtx_p): New function.
3522         (thumb_index_register_rtx_p): New function.
3523         (thumb_legitimate_address_p): New function.
3524         (thumb_legitimate_offset_p): New function.
3525         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
3526         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
3527         definitions.
3528         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
3529         (THUMB_LEGITIMATE_OFFSET): Delte.
3530         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
3531         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
3532         (thumb_legitimate_offset_p): Likewise.
3533
3534 2003-01-23  Andreas Schwab  <schwab@suse.de>
3535
3536         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
3537
3538 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3539
3540         * fixinc/Makefile.in (FL_LIST): Revert last change.
3541
3542 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3543
3544         PR other/7341
3545         * invoke.texi (ftest-coverage): Fix broken cross-reference.
3546         Change @code to @command for gcov command.
3547
3548         * gcc.texi: Adjust title of gcov section.
3549         Adjust copyright.
3550         * gcov.texi: Likewise.
3551
3552 2003-01-22  Roger Sayle  <roger@eyesopen.com>
3553
3554         PR optimization/8423
3555         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
3556         its argument is constant, or 0 if !flag_gcse.
3557         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
3558         if it's argument is constant.
3559         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
3560         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
3561         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
3562         * builtins.c (purge_builtin_constant_p): New function to force
3563         instantiation of any remaining CONSTANT_P_RTX nodes.
3564         * rtl.h (purge_builtin_constant_p): Prototype here.
3565         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
3566         pass after GCSE and before loop.
3567         (flag_gcse): No longer static.
3568         * flags.h (flag_gcse): Prototype here.
3569
3570 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
3571
3572         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
3573         introduced by last change.
3574
3575 2003-01-22  Andreas Schwab  <schwab@suse.de>
3576
3577         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
3578
3579 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
3580
3581         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
3582         request a scratch reg on H8S when the shift count is 8.
3583
3584 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
3585
3586         * config/s390/s390-protos.h (preferred_la_operand_p):
3587         Remove second parameter.
3588         * config/s390/s390.c (preferred_la_operand_p): Likewise.
3589         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
3590         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
3591         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
3592         Add peepholes to transform ADD to LOAD ADDRESS.
3593
3594 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
3595
3596         * arm.c (arm_address_register_rtx_p): New function.
3597         (arm_legitimate_address_p): New function.
3598         (arm_legitimate_index_p): New function.
3599         (legitimize_pic_address): Use arm_legitimate_index_p.
3600         * arm-protos.h (arm_legtimate_address_p): Add prototype.
3601         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
3602         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
3603
3604 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
3605
3606         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
3607         * config/s390/2064.md (define_bypass): Correct 'Load' and
3608         'Load-address' bypass values.
3609
3610 2003-01-22  Andreas Schwab  <schwab@suse.de>
3611
3612         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
3613
3614 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3615
3616         * genautomata.c (output_internal_insn_latency_func,
3617         output_print_reservation_func): Short circuit when there is no
3618         automaton to generate code for.
3619
3620 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3621
3622         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
3623         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
3624
3625 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
3626
3627         * config/rs6000/rs6000.md: Remove warning.
3628         (builtin_setjmp_receiver): Likewise.
3629         * config/darwin.c (update_stubs): Slightly improve terrible hack
3630         with identifiers.  Add comment pointing out problems with it.
3631         (update_non_lazy_ptrs): Likewise.
3632
3633 2003-01-21  Richard Henderson  <rth@redhat.com>
3634
3635         * dwarf2out.c (lookup_filename): Fix printf format warning.
3636         * system.h (fread_unlocked, fwrite_unlocked): Undef.
3637
3638         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
3639         (fixincl.o-warn, gnu-regex.o-warn): New.
3640         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
3641         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
3642         * fixinc/fixincl.c (process): Fix printf format warning.
3643
3644 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3645
3646         * dwarf2out (output_file_names): Don't crash if called
3647         with empty file_table.
3648
3649 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3650
3651         * genautomata.c (output_internal_insn_latency_func): Add
3652         missing break statement to generated code.
3653
3654 2003-01-21  Roger Sayle  <roger@eyesopen.com>
3655
3656         * stmt.c (same_case_target_p): New function to determine whether
3657         two case labels branch to the same target.  Split out from...
3658         (group_case_nodes): ... here.  Use same_case_target_p instead.
3659         (strip_default_case_nodes): Remove explicit case nodes
3660         that branch to the default destination.
3661         (expand_end_case_type): Call strip_default_case_nodes after
3662         group_case_nodes, to simplify the case-list before we count it.
3663         Only generate table_label RTX when actually needed.  Try to share
3664         thiscase->exit_label and thiscase->data.case_stmt.default_label
3665         when a switch has no explicit default case.  Simplify test for
3666         constant index.
3667
3668 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
3669
3670         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
3671         \t.
3672         (*negsf2_h8300hs): Likewise.
3673         (*addsi3_lshiftrt_16_zexthi): Likewise.
3674         (*iorhi3_lshiftrt_8): Likewise.
3675
3676 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3677
3678         * dwarf2out.c (fde_table_in_use): Mark GTY.
3679         (dwarf2out_cfi_label_num): New variable, marked GTY.
3680         (dwarf2out_cfi_label): Use it instead of static label_num.
3681         * emit-rtl.c (label_num): Mark GTY.
3682
3683 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
3684
3685         * config/h8300/h8300.c (output_plussi): Support H8/300.
3686         (compute_plussi_length): Likewise.
3687         (compute_plussi_cc): Likewise.
3688         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
3689         output assembly instructions.
3690
3691 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3692
3693         * calls.c (fix_unsafe_tree): Prototype.
3694
3695         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
3696         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
3697         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
3698         c-parse.o-warn): Add -Wno-error.
3699         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
3700
3701         * configure.in (--enable-werror): Add new flag.
3702         * doc/install.texi (--enable-werror): Document.
3703         * configure: Regenerate.
3704
3705         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
3706
3707 2003-01-21  Andreas Schwab  <schwab@suse.de>
3708
3709         * genautomata.c (output_internal_insn_latency_func): Fix missing
3710         close paren in output.
3711
3712 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3713
3714         * genautomata.c: Space savings in generated code:
3715         (output_dfa_insn_code_func): Split out the table-enlargement
3716         path to an out-of-line static function, dfa_insn_code_enlarge.
3717         (output_internal_insn_latency_func): Use a lookup table for the
3718         default latencies.
3719         (output_print_reservation_func): Use a lookup table for the
3720         strings.
3721
3722 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
3723
3724         PR opt/7507
3725         * calls.c (fix_unsafe_tree): Split out from ...
3726         (expand_call): ... here.  Use it on the function address too.
3727
3728 2003-01-20  Richard Henderson  <rth@redhat.com>
3729
3730         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
3731
3732 2003-01-20  Richard Henderson  <rth@redhat.com>
3733
3734         PR opt/7154
3735         * stmt.c (expand_asm_operands): Validize memory operands.
3736
3737 2003-01-20  Richard Henderson  <rth@redhat.com>
3738
3739         PR opt/8848
3740         * ifcvt.c (noce_process_if_block): Correct arguments to
3741         modified_between_p for no-else-block case.
3742
3743 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3744
3745         * config/h8300/h8300.c (const_costs): Remove a warning.
3746         (output_plussi): Likewise.
3747         (compute_plussi_length): Likewise.
3748         (compute_plussi_cc): Likewise.
3749
3750 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3751
3752         * config/h8300/h8300.md (addsi_h8300): Remove the last
3753         alternative.
3754
3755 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3756
3757         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3758
3759 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3760
3761         * system.h (__NO_STRING_INLINES): Define.
3762
3763 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3764
3765         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
3766         is not a scalar int mode.
3767
3768 2003-01-20  Roger Sayle  <roger@eyesopen.com>
3769
3770         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
3771         insn's notes following a substitution inside a libcall.
3772
3773 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
3774
3775         * configure.in: Check for system-provided 'uchar' type.
3776         * configure, config.in: Regenerate.
3777         * cpphash.h: Only typedef 'uchar' if the system doesn't.
3778
3779 2003-01-20  Richard Henderson  <rth@redhat.com>
3780
3781         * expr.h (MUST_PASS_IN_STACK): Move implementation...
3782         * calls.c (default_must_pass_in_stack): ... here.
3783
3784 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
3785
3786         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
3787
3788         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
3789
3790         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
3791         Wrap up definition of `insn_alts'.
3792
3793         * genattrtab.c (main): Wrap up `insn_alts'.
3794
3795 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3796
3797         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
3798         prototyping.
3799         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
3800
3801         * config.in, configure: Regenerate.
3802
3803 2003-01-20  Nick Clifton  <nickc@redhat.com>
3804
3805         * config/arm/arm.md (sibcall_epilogue): Add an
3806         UNSPEC_PROLOGUE_USE to prevent the link register from being
3807         considered dead.
3808
3809 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
3810
3811         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
3812
3813 2003-01-20  Andreas Schwab  <schwab@suse.de>
3814
3815         * system.h: Don't declare strsignal if the decl test hasn't been
3816         run yet.
3817
3818 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3819
3820         * config/h8300/h8300.c (notice_update_cc): Don't assume that
3821         recog_data.operands[0] is always associated with cc0.
3822
3823 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
3824
3825         * collect2.c (ldgetname): Expand declaration to prototype.
3826         * read-rtl.c (atoll): Add prototype.
3827         * system.h (strsignal): Also declare if no declaration found.
3828
3829 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
3830
3831         * config.gcc (mips64*-*-linux*): Added.
3832         * config/mips/linux64.h, config/mips/t-linux64: New file.
3833         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
3834         * config/mips/mips.c (override_options): Use it.
3835         * config/mips/mips.h (TARGET_SWITCHES): Added...
3836         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
3837         * Makefile.in (SPECS): New.
3838         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
3839         * gcc.c (process_command): Move self-spec processing past spec
3840         file loading.
3841         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
3842         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
3843         CRTSTUFF_T_CFLAGS.
3844         (SPECS): Document.
3845         * doc/invoke.texi (-mabi-fake-default): Document.
3846
3847 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
3848
3849         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
3850         z_reg, z_reg_qi): Declare static and GTY().
3851         (da_reg): Remove.
3852         (create_regs_rtx): Don't create da_reg.
3853         ("gt-m68hc11.h"): Include for GTY roots.
3854         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
3855         and GTY() here.
3856         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
3857         (m68hc11_soft_tmp_reg): Likewise.
3858         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
3859
3860 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
3861
3862         * basic-block.h: Fix comment formatting.
3863         * calls.c: Likewise.
3864         * combine.c: Likewise.
3865         * convert.c: Likewise.
3866         * gcov.c: Likewise.
3867         * haifa-sched.c: Likewise.
3868         * libgcc2.c: Likewise.
3869         * loop.c: Likewise.
3870         * profile.c: Likewise.
3871         * system.h: Likewise.
3872
3873 2003-01-18  Roger Sayle  <roger@eyesopen.com>
3874
3875         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
3876
3877 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3878
3879         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
3880
3881 2003-01-17  Dale Johannesen  <dalej@apple.com>
3882
3883         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
3884           (*floatunssidf2_internal):  Ditto.
3885
3886 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3887
3888         * alias.c: Fix comment typos.
3889         * basic-block.h: Likewise.
3890         * c-common.c: Likewise.
3891         * c-common.h: Likewise.
3892         * c-decl.c: Likewise.
3893         * c-opts.c: Likewise.
3894         * c-pragma.c: Likewise.
3895         * c-pretty-print.h: Likewise.
3896         * cfg.c: Likewise.
3897         * cfganal.c: Likewise.
3898         * cfgbuild.c: Likewise.
3899         * cfgcleanup.c: Likewise.
3900         * cfglayout.c: Likewise.
3901         * cfgrtl.c: Likewise.
3902         * convert.c: Likewise.
3903         * cpphash.h: Likewise.
3904         * cpplex.c: Likewise.
3905         * cpplib.h: Likewise.
3906         * df.h: Likewise.
3907         * diagnostic.c: Likewise.
3908         * diagnostic.h: Likewise.
3909         * dwarf2.h: Likewise.
3910
3911 2003-01-17  Stan Shebs  <shebs@apple.com>
3912
3913         * config/darwin-protos.h: Forward-declare struct cpp_reader.
3914
3915 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
3916
3917         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
3918         mistake in last checkin.
3919
3920 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3921
3922         * et-forest.c: Fix comment typos.
3923         * et-forest.h: Likewise.
3924         * except.c: Likewise.
3925         * expr.c: Likewise.
3926         * flags.h: Likewise.
3927         * flow.c: Likewise.
3928         * gcc.c: Likewise.
3929         * gcse.c: Likewise.
3930         * genattrtab.c: Likewise.
3931         * genautomata.c: Likewise.
3932         * gengtype.c: Likewise.
3933         * genrecog.c: Likewise.
3934         * global.c: Likewise.
3935         * gthr-rtems.h: Likewise.
3936
3937 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3938
3939         * i386.c (x86_function_profiler): Fix format specifier.
3940
3941 2003-01-17  Richard Henderson  <rth@redhat.com>
3942
3943         * gengtype.c (walk_type): Allow paramN_is.
3944
3945 2003-01-17  Nick Clifton  <nickc@redhat.com>
3946
3947         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
3948
3949 2003-01-16  Richard Henderson  <rth@redhat.com>
3950
3951         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
3952
3953 2003-01-16  Richard Henderson  <rth@redhat.com>
3954
3955         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
3956         (alpha_next_sequence_number): Likewise.
3957         (alpha_this_literal_sequence_number): Likewise.
3958         (alpha_this_gpdisp_sequence_number): Likewise.
3959         (struct alpha_funcs, alpha_funcs_num): Likewise.
3960         (struct alpha_links): Fix branch merge error.
3961         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
3962
3963 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
3964
3965         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
3966         R. Ghazi.
3967
3968 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
3969
3970         * ifcvt.c: Fix comment typos.
3971         * lcm.c: Likewise.
3972         * libgcc2.c: Likewise.
3973         * local-alloc.c: Likewise.
3974         * loop.c: Likewise.
3975         * predict.c: Likewise.
3976         * ra-build.c: Likewise.
3977         * ra.c: Likewise.
3978         * ra-colorize.c: Likewise.
3979         * ra.h: Likewise.
3980         * ra-rewrite.c: Likewise.
3981         * regmove.c: Likewise.
3982         * reload.h: Likewise.
3983         * rtlanal.c: Likewise.
3984         * toplev.c: Likewise.
3985         * tree.h: Likewise.
3986         * unwind-dw2-fde-glibc.c: Likewise.
3987         * vmsdbgout.c: Likewise.
3988
3989 2003-01-16  Richard Henderson  <rth@redhat.com>
3990
3991         * dwarf2out.c (struct file_table): Remove.
3992         (FILE_TABLE_INCREMENT): Remove.
3993         (file_table): Make a varray; mark for GC.  Update all users.
3994         (file_table_last_lookup_index): Extract from struct file_table.
3995         (output_file_names): Fix unsigned compare warnings.
3996         (add_name_attribute): Remove inline marker.
3997         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
3998         (lookup_filename): Don't manage size of file_table.
3999         (init_file_table): Allocate file_table with GC.
4000         (dwarf2out_init): Don't record main_input_filename here.
4001         (dwarf2out_finish): Do it here instead.
4002
4003 2003-01-16  Bruce Korb  <bkorb@gnu.org>
4004
4005         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
4006
4007 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
4008
4009         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
4010         instead of rotldi3_mextr.
4011
4012 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
4013
4014         * haifa-sched.c (move_insn): Restore moving all schedule group.
4015         (set_priorities): Restore taking SCHED_GROUP_P into account.
4016
4017         * sched-deps.c (add_dependence): Restore processing the last group
4018         insn.
4019         (remove_dependence, group_leader): Restore the functions.
4020         (set_sched_group_p): Restore adding dependencies from previous insn
4021         in the group.
4022         (compute_forward_dependences): Restore usage of group_leader.
4023
4024         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
4025         account.
4026
4027         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
4028         account.
4029         (can_schedule_ready_p): Ditto.
4030         (add_branch_dependences): Restore skipping over the group insns.
4031
4032 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
4033
4034         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
4035         68HC12 pre/post inc/dec side effects.
4036
4037 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
4038
4039         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
4040
4041 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
4042
4043         * sh.md (mshflo_w_x): Fix description of operation.
4044
4045 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
4046
4047         * config/rs6000/rs6000.h: Mention Altivec registers in
4048         commentary.  Fix typo.
4049
4050 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
4051
4052         * config/rs6000/rs6000.md (movti_string): Remove clobber.
4053         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
4054         generate PARALLEL with clobber for TARGET_POWER.
4055
4056 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4057
4058         * ra-colorize.c (colorize_one_web): Initialize variable.
4059         * regmove.c (fixup_match_1): Likewise.
4060         * reload1.c (reload_as_needed): Likewise.
4061         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
4062
4063 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4064
4065         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
4066
4067 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4068
4069         * dbxout.c (lastfile, cwd): Fix `unused' warning.
4070         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
4071         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
4072         is_main_source, file_table, decl_die_table_in_use,
4073         abbrev_die_table_in_use, line_info_table_in_use,
4074         separate_line_info_table_in_use, pubname_table_in_use,
4075         arange_table_in_use, ranges_table_in_use,
4076         current_function_has_inlines): Likewise.
4077         * flow.c (life_analysis): Likewise.
4078         * genemit.c (gen_insn): Likewise.
4079         * protoize.c (cplus_suffix): Likewise.
4080
4081         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
4082         * arm.h (ROUND_UP_WORD): Likewise.
4083
4084         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
4085         warning.
4086         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
4087         init_emit_once): Likewise.
4088         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
4089         Likewise.
4090         * function.c (assign_stack_temp_for_type): Likewise.
4091         * loop.c (loop_invariant_p): Likewise.
4092         * recog.c (push_operand): Likewise.
4093         * regclass.c (init_reg_sets_1): Likewise.
4094         * reload.c (update_auto_inc_notes): Likewise.
4095         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
4096         * stmt.c (expand_asm_operands): Likewise.
4097         * stor-layout.c (start_record_layout): Likewise.
4098
4099 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
4100
4101         * config/c4x/c4x.md (epilogue): Correct last patch.
4102
4103 2003-01-15  Richard Henderson  <rth@redhat.com>
4104
4105         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
4106         also check that GP is being used.
4107         (alpha_find_lo_sum_using_gp): New.
4108         (alpha_does_function_need_gp): Use get_attr_usegp.
4109         * config/alpha/alpha-protos.h: Update.
4110         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
4111         as needed.
4112
4113 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4114
4115         * gcse.c (one_cprop_pass): Change function arguments to take both
4116         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
4117         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
4118         (bypass_jumps): New function to perform separate jump bypassing pass.
4119         * rtl.h (bypass_jumps): Add function prototype.
4120         * timevar.def (TV_BYPASS): New timing variable.
4121         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
4122         (dump_file): New entry for the bypass RTL dump file.
4123         (rest_of_compilation): Insert new jump bypassing optimization
4124         pass after loop.
4125         * doc/passes.texi: Document new pass.
4126
4127 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4128
4129         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
4130         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
4131         * pa.h (TARGET_SOM_SDEF): Define.
4132         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
4133
4134 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
4135
4136         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
4137         allocate 4-bytes of locals on 68HC11.
4138         (expand_epilogue): Likewise.
4139         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
4140
4141 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
4142
4143         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
4144         and -mshort-double to the assembler to specify the ABI.
4145         (LINK_SPEC): Likewise.
4146         (CPP_SPEC): Pass HCS12 specific define.
4147         (MASK_M68S12): New define.
4148         (TARGET_M68S12): Likewise.
4149         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
4150         (TARGET_VERSION): Update.
4151         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
4152         (LINK_SPEC): Update.
4153         (ASM_SPEC): Update.
4154         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
4155         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
4156
4157 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
4158
4159         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
4160         the return code.
4161
4162 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
4163
4164         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
4165         flag before setting it.
4166
4167 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4168
4169         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
4170         when loop condition is known true, i.e.  "while (1) { ... }".
4171         (genrtl_for_stmt): Similarly for "for" statements.
4172
4173 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4174
4175         * real.c (real_sqrt): Return a bool result indicating whether
4176         a floating point exception or trap should be raised.
4177         * real.h (real_sqrt): Update function prototype.
4178         * builtins.c (fold_builtin): Only fold non-trapping square
4179         roots unless we're ignoring errno and trapping math.
4180
4181 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
4182
4183         * expr.h (emit_conditional_add): Add PARAMS to declaration.
4184         * gengtype-lex.l (malloc, realloc): Move defines after include of
4185         system.h.  Remove duplicate include of system.h.
4186
4187 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4188
4189         PR middle-end/9009
4190         * optabs.c (expand_unop):  When manipulating the FP sign bit
4191         using integer operations, account for targets with different
4192         integer and FP word orders.
4193         (expand_abs): Likewise.
4194
4195 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
4196
4197         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
4198         file extension in section name.
4199
4200 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
4201
4202         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
4203         constant offset.
4204
4205 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
4206
4207         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
4208         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
4209         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
4210         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
4211
4212 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
4213
4214         PR f/9258
4215         * global.c (struct allocno): Add no_stack_reg.
4216         (global_conflicts): Set no_stack_reg.
4217         (find_reg): Use it.
4218
4219         * convert.c (convert_to_real): Fold - and abs only when profitable.
4220         * fold-const.c (fold): Fold truncates in - and abs.
4221
4222 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
4223
4224         Segher Boessenkool  <segher@koffie.nl>
4225
4226         * predict.c (real_inv_br_prob_base): New variable.
4227         (propagate_freq): Use multiply by reciprocal instead of
4228         division.  Don't divide by 1.0 at all.
4229         (estimate_bb_frequencies): Similar.
4230
4231 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
4232
4233         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
4234         * configure: Rebuilt.
4235
4236 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
4237
4238         * config/s390/s390.c (s390_safe_attr_type): New function.
4239         (s390_use_dfa_pipeline_interface): New function, return true for z900.
4240         (s390_issue_rate): New function.
4241         (s390_agen_dep_p): New function.
4242         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
4243         (s390_adjust_cost): Return 'cost' if new DFA is used.
4244         (s390_adjust_priority): Delete function.
4245         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
4246         * config/s390/s390.md (atype attribute): Attribute 'atype' default
4247         determined by 'op_type'.
4248         (type attribute): Added more type attributes.
4249         * config/s390/2064.md: New DFA description for z900 pipeline.
4250
4251 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
4252
4253         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
4254         forced to memory.  Fixes PR bootstrap/9036.
4255
4256         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
4257         to set $gp before the call.
4258
4259 2003-01-14  Richard Henderson  <rth@redhat.com>
4260
4261         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
4262         for force_const_mem.
4263
4264 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4265
4266         * genattr.c (main): Rearrange output to avoid prototype warning.
4267         * genautomata.c (transform_3): Fix ambiguous-else warning.
4268         * local-alloc.c (requires_inout): Add parentheses around
4269         assignment used as truth-value.
4270         * timevar.c: Move system includes above local includes.  Include
4271         toplev.h
4272         * Makefile.in (timevar.o): Depend on toplev.h.
4273
4274 2003-01-14  Denis Chertykov  <denisc@overta.ru>
4275
4276         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
4277         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
4278
4279         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
4280         attributes.
4281         (TARGET_ATTRIBUTE_TABLE): New macro.
4282         (valid_machine_type_attribute): Remove.
4283         (valid_machine_decl_attribute): Remove.
4284         (ip2k_handle_progmem_attribute): New function.
4285         (ip2k_handle_fndecl_attribute): New function.
4286
4287 2003-01-10  Andrew Haley  <aph@redhat.com>
4288
4289         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
4290         registers to be in correct order.  Add rip.
4291
4292 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
4293
4294         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
4295         (*iorsi3_and_lshiftrt_9_sb): Likewise.
4296
4297 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
4298
4299         * convert.c (strip_float_extensions):  Look for narrowest type handling
4300         FP constants.
4301
4302         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
4303         float1 CMP float2.
4304         * convert.c (strip_float_extensions): Make global.
4305         * tree.h (strip_float_extensions): Declare.
4306
4307 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4308
4309         * timevar.def: define TV_NAME_LOOKUP.
4310         * timevar.c (timevar_pop): Be verbose when aborting.
4311
4312 2003-01-13  Andreas Schwab  <schwab@suse.de>
4313
4314         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
4315         $(parsedir), just move the temporary file at the end.
4316         ($(parsedir)/gengtype-yacc.c): Likewise.
4317
4318 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
4319
4320         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
4321         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
4322         splitting.
4323         * configure: Rebuilt.
4324
4325 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4326
4327         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
4328         internal_mcount): Don't use PARAMS.
4329         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
4330         ISO C style.
4331         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
4332
4333 2003-01-13  Andreas Schwab  <schwab@suse.de>
4334
4335         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
4336         directive.
4337
4338 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
4339
4340         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
4341         (*iorsi3_and_lshiftrt_n_sb): Likewise.
4342
4343 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
4344
4345         PR c++/9264
4346         * c-lex.c (c_lex): Set the token value to error_mark_node for
4347         invalid numeric constants.
4348
4349 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4350
4351         * c-pch.c (asm_file_startpos): Change to `long'.
4352         (pch_init): Use ftell, not ftello.
4353         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
4354         Use `long' instead of `off_t'.
4355         (c_common_read_pch): Likewise.
4356         * ggc-common.c (gt_pch_save): Use long/ftell instead of
4357         off_t/ftello.
4358
4359 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
4360
4361         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
4362
4363 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
4364
4365         * arm-protos.h (struct cpp_reader): Add declaration.
4366
4367 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
4368
4369         PR target/9068
4370         * i386.c (output_fp_compare): Fix typo.
4371
4372 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
4373
4374         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
4375
4376 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
4377
4378         * Makefile.in (parsedir): New variable.
4379         (docobjdir): New variable.
4380         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
4381         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
4382         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
4383         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
4384         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
4385         Use docobjdir.
4386         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
4387         objc.maintainer-clean): Use parsedir.
4388
4389         * varasm.c (struct constant_descriptor_rtx): Remove unused
4390         `label' field.
4391
4392         * toplev.c (documented_lang_options): Document -Winvalid-pch.
4393
4394 2003-01-10  Richard Henderson  <rth@redhat.com>
4395
4396         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
4397         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
4398
4399 2003-01-10  Richard Henderson  <rth@redhat.com>
4400
4401         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
4402         not INTEGRAL_MODE_P when widening extensions.
4403
4404 2003-01-10  Richard Henderson  <rth@redhat.com>
4405
4406         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
4407
4408 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
4409
4410         * ggc-page.c (ggc_collect): Avoid overflow computing
4411         min_expand.
4412
4413         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
4414         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
4415         Remove calls.
4416         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
4417
4418 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
4419
4420         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
4421         with weird operands.
4422
4423 2003-01-10  Dale Johannesen <dalej@apple.com>
4424
4425         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
4426         parameters.  Call check_sibcall_argument_overlap if indicated.
4427         (check_sibcall_argument_overlap):  Add mark_stored_args_map
4428         parameter.  Don't mark parameter area as clobbered if not set.
4429         (expand_call):  Adjust calls to above.
4430
4431 2003-01-10 Kelley Cook <kelleycook@comcast.net>
4432
4433         * configure.in (linker read-only and read-write section mixing):
4434         Squelch some assembler warnings.
4435         * configure: Likewise.
4436
4437 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
4438
4439         * doc/invoke.texi: Document -mtune, delete -mcpu
4440         option for S/390 and zSeries.
4441         * config/s390/s390.c (s390_tune_string) New variable.
4442         (s390_cpu_string) Delete variable.
4443         (override_options): Use s390_tune_string instead of
4444         s390_cpu_string.
4445         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
4446
4447 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
4448
4449         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
4450
4451 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
4452
4453         * jump.c (next_nonnote_insn_in_loop): New function.
4454         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
4455         next_nonnote_insn.
4456         (duplicate_loop_exit_test). Likewise.
4457
4458 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
4459
4460         Merge from pch-branch:
4461
4462         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
4463
4464         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
4465         load.
4466
4467         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
4468
4469         * cpplib.c (count_registered_pragmas): New function.
4470         (save_registered_pragmas): New function.
4471         (_cpp_save_pragma_names): New function.
4472         (restore_registered_pragmas): New function.
4473         (_cpp_restore_pragma_names): New function.
4474         * cpphash.h (_cpp_save_pragma_names): Prototype.
4475         (_cpp_restore_pragma_names): Likewise.
4476         * cpppch.c (struct save_macro_item): Split from save_macro_data.
4477         (struct save_macro_data): New field 'saved_pragmas'.
4478         (save_macros): Update for changes to struct save_macro_data.
4479         (cpp_prepare_state): Call _cpp_save_pragma_names, update
4480         for changes to struct save_macro_data.
4481         (cpp_read_state): Call _cpp_restore_pragma_names, update
4482         for changes to struct save_macro_data.
4483
4484         * cpppch.c (cpp_read_state): Restore the hashtable references
4485         in the cpp_reader.
4486
4487         * tree.h (built_in_decls): Mark for PCH.
4488
4489         * dbxout.c (lastfile): Don't mark for PCH.
4490
4491         * ggc.h: Document PCH calls into memory managers.
4492
4493         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
4494
4495         * doc/invoke.texi (Precompiled Headers): Document the
4496         directory form of PCH.
4497         * cppfiles.c (validate_pch): New function.
4498         (open_file_pch): Search suitably-named directories for PCH files.
4499
4500         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
4501
4502         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
4503         reorder options.
4504         (Type Information): Mention that the information is also
4505         used to implement PCH.
4506         * doc/passes.texi (Passes): Improve documentation of
4507         language-specific files.
4508
4509         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
4510
4511         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
4512         (struct walk_type_data): Add reorder_fn field.
4513         (walk_type): Process 'reorder' option.
4514         (write_types_process_field): Reorder parameters to gt_pch_note_object,
4515         call reorder_note_routine.
4516         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
4517         (ggc_wtd): Update for change to struct write_types_data.
4518         (pch_wtd): Likewise.
4519         * ggc.h (gt_pch_note_object): Reorder parameters.
4520         (gt_handle_reorder): New definition.
4521         (gt_pch_note_reorder): New prototype.
4522         * ggc-common.c (struct ptr_data): Add reorder_fn.
4523         (gt_pch_note_object): Reorder parameters.
4524         (gt_pch_note_reorder): New.
4525         (gt_pch_save): Call reorder_fn.
4526         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
4527
4528         * dbxout.c (cwd): Don't mark for PCH.
4529
4530         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
4531
4532         * gengtype.c (finish_root_table): Fix some warnings.
4533         (write_root): Handle TYPE_STRING.
4534         * ggc.h (gt_ggc_m_S): Add prototype.
4535         * stringpool.c (gt_ggc_m_S): New function.
4536
4537         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
4538
4539         * dwarf2out.c (dw2_string_counter): New.
4540         (AT_string_form): Use it.
4541         (same_dw_val_p): Update for removal of hashtable.h hash tables.
4542
4543         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4544
4545         * dbxout.c: Include gt-dbxout.h.
4546         (lastfile): Mark for PCH/GGC.
4547         (cwd): Likewise.
4548         (struct typeinfo): Likewise.
4549         (typevec): Likewise.
4550         (typevec_len): Likewise.
4551         (next_type_number): Likewise.
4552         (struct dbx_file): Likewise.
4553         (current_file): Likewise.
4554         (next_file_number): Likewise.
4555         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
4556         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
4557         (dbxout_end_source_file): Don't free struct dbx_file.
4558         (dbxout_type): Use GGC to allocate typevec.
4559         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
4560         (GTFILES): Add dbxout.c.
4561         (gt-dbxout.h): New rule.
4562
4563         * Makefile.in (c-pch.o): Add debug.h as dependency.
4564         * c-pch.c: Include debug.h.
4565         (pch_init): Call start_source_file to keep nesting right.
4566         (c_common_read_pch): Add orig_name parameter.  Call
4567         start_source_file debug hook.  Call end_source_file debug hook.
4568         * c-common.h (c_common_read_pch): Update prototype.
4569         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
4570         callback.
4571         * cppfiles.c (struct include_file): Add new field `header_name'.
4572         (find_or_create_entry): Default it to `name'.
4573         (open_file_pch): Set it to the original header file searched for.
4574         (stack_include_file): Don't stack an empty buffer, just handle
4575         PCH files immediately.  Pass header_name field to read_pch callback.
4576
4577         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
4578
4579         * function.c (funcdef_no): Mark to be saved in a PCH.
4580
4581         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
4582
4583         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
4584
4585         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
4586
4587         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
4588
4589         * optabs.h (code_to_optab): Add GTY marker.
4590
4591         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
4592
4593         * Makefile.in (GTFILES): Add cpplib.h.
4594         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
4595         * c-decl.c (build_compound_literal): Don't use var_labelno.
4596         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
4597         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
4598         * varasm.c (const_labelno): Use gengtype to mark.
4599         (var_labelno): Likewise.
4600         (in_section): Likewise.
4601         (in_named_name): Likewise.
4602         (struct in_named_entry): Likewise.
4603         (in_named_htab): Likewise.
4604         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
4605         (init_varasm_once): Use GGC to allocate in_named_htab.
4606         * config/darwin.c (current_pic_label_num): Mark for PCH.
4607
4608         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
4609
4610         * ggc-simple.c (init_ggc_pch): New stub procedure.
4611         (ggc_pch_count_object): Likewise.
4612         (ggc_pch_total_size): Likewise.
4613         (ggc_pch_this_base): Likewise.
4614         (ggc_pch_alloc_object): Likewise.
4615         (ggc_pch_prepare_write): Likewise.
4616         (ggc_pch_write_object): Likewise
4617         (ggc_pch_finish): Likewise.
4618         (ggc_pch_read): Likewise.
4619
4620         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
4621
4622         * c-pch.c (c_common_write_pch): Write the macro definitions after
4623         the GCed data.
4624         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
4625         definitions after the GCed data.
4626         * cpplib.c (save_macros): New.
4627         (reset_ht): New.
4628         (cpp_write_pch_deps): Split out of cpp_write_pch.
4629         (cpp_write_pch_state): Split out of cpp_write_pch.
4630         (cpp_write_pch): Delete.
4631         (struct save_macro_data): Delete.
4632         (cpp_prepare_state): New.
4633         (cpp_read_state): Erase and restore initial macro definitions.
4634         * cpplib.h (struct save_macro_data): Forward-declare.
4635         (cpp_write_pch_deps): Prototype.
4636         (cpp_write_pch_state): Prototype.
4637         (cpp_write_pch): Delete prototype.
4638         (cpp_prepare_state): Prototype.
4639         (cpp_read_state): Add fourth argument.
4640
4641         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
4642
4643         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
4644         (write_array): Remove warning.
4645
4646         * gengtype.c (contains_scalar_p): New.
4647         (finish_root_table): Add the table to all languages, even if it's
4648         empty.
4649         (write_roots): Output gt_pch_scalar_rtab.
4650         * ggc-common.c (gt_pch_save): Write out scalars.
4651         (gt_pch_restore): Read scalars back.
4652
4653         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
4654         (struct page_entry): Delete pch_page field.
4655         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
4656         (clear_marks): Likewise.
4657         (sweep_pages): Likewise.
4658         (poison_pages): Likewise.
4659         (ggc_print_statistics): Likewise.
4660         (ggc_pch_read): Don't free objects read from a PCH.
4661         Properly set up in_use_p and page_tails.
4662
4663         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
4664
4665         * gengtype.c (struct write_types_data): New.
4666         (struct walk_type_data): Make `cookie' const; add extra
4667         prev_val item; add `orig_s' field.
4668         (walk_type): Update prev_val[3].
4669         (write_types_process_field): New.
4670         (write_func_for_structure): Take write_types_data structure.
4671         (write_types): New.
4672         (ggc_wtd): New.
4673         (pch_wtd): New.
4674         (write_types_local_process_field): New.
4675         (gc_mark_process_field): Delete.
4676         (write_local_func_for_structure): New.
4677         (gc_mark_func_name): Delete.
4678         (write_gc_types): Delete.
4679         (write_local): New.
4680         (finish_root_table): Don't include 'ggc_' in PFX.
4681         (write_root): Rename from write_root.  Fill pchw field of structures.
4682         (write_array): New.
4683         (write_roots): Rename from write_gc_roots.  Split out to write_array.
4684         Update to changes to other routines.  Write gt_pch_cache_rtab table.
4685         (main): Write PCH walking routines.
4686         * ggc-common.c: Include toplev.h, sys/mman.h.
4687         (ggc_mark_roots): For cache hashtables, also mark the hash table
4688         and the array of entries.
4689         (saving_htab): New.
4690         (struct ptr_data): New.
4691         (POINTER_HASH): New.
4692         (gt_pch_note_object): New.
4693         (saving_htab_hash): New.
4694         (saving_htab_eq): New.
4695         (struct traversal_state): New.
4696         (call_count): New.
4697         (call_alloc): New.
4698         (compare_ptr_data): New.
4699         (relocate_ptrs): New.
4700         (write_pch_globals): New.
4701         (struct mmap_info): New.
4702         (gt_pch_save): New.
4703         (gt_pch_restore): New.
4704         * ggc-page.c (ROUND_UP_VALUE): New.
4705         (ROUND_UP): New.
4706         (struct page_entry): Add field `pch_page'.
4707         (init_ggc): Use ROUND_UP.
4708         (struct ggc_pch_data): Declare.
4709         (init_ggc_pch): New.
4710         (ggc_pch_count_object): New.
4711         (ggc_pch_total_size): New.
4712         (ggc_pch_this_base): New.
4713         (ggc_pch_alloc_object): New.
4714         (ggc_pch_prepare_write): New.
4715         (ggc_pch_write_object): New.
4716         (ggc_pch_finish): New.
4717         (ggc_pch_read): New.
4718         * ggc.h (gt_pointer_operator): New.
4719         (gt_note_pointers): New.
4720         (gt_pch_note_object): New prototype.
4721         (gt_pointer_walker): New.
4722         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
4723         (LAST_GGC_ROOT_TAB): Update.
4724         (gt_pch_cache_rtab): Declare.
4725         (gt_pch_scalar_rtab): Declare.
4726         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
4727         (LAST_GGC_CACHE_TAB): Update.
4728         (gt_pch_save_stringpool): Declare.
4729         (gt_pch_restore_stringpool): Declare.
4730         (gt_pch_p_S): Declare.
4731         (gt_pch_n_S): Declare.
4732         (struct ggc_pch_data): Forward-declare.
4733         (init_ggc_pch): Declare.
4734         (ggc_pch_count_object): Declare.
4735         (ggc_pch_total_size): Declare.
4736         (ggc_pch_this_base): Declare.
4737         (ggc_pch_alloc_object): Declare.
4738         (ggc_pch_prepare_write): Declare.
4739         (ggc_pch_write_object): Declare.
4740         (ggc_pch_finish): Declare.
4741         (ggc_pch_read): Declare.
4742         (gt_pch_save): Declare.
4743         (gt_pch_restore): Declare.
4744         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
4745         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
4746         const_double_htab, mem_attrs_htab using GGC.
4747         * c-pch.c: Include ggc.h.
4748         (pch_init): Allow reading PCH file back.
4749         (c_common_write_pch): Call gt_pch_save.
4750         (c_common_read_pch): Call gt_pch_restore.
4751         * c-parse.in (init_reswords): Delete now-untrue comment.
4752         Allocate ridpointers using GGC.
4753         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
4754         calling expand_deferred_fns.
4755         * c-common.h (ridpointers): Mark for GTY machinery.
4756         * Makefile.in (stringpool.o): Update dependencies.
4757         (c-pch.o): Update dependencies.
4758         (ggc-common.o): Update dependencies.
4759         * stringpool.c: Include gt-stringpool.h.
4760         (gt_pch_p_S): New.
4761         (gt_pch_n_S): New.
4762         (struct string_pool_data): New.
4763         (spd): New.
4764         (gt_pch_save_stringpool): New.
4765         (gt_pch_restore_stringpool): New.
4766         * tree.c (init_ttree): Make type_hash_table allocated using GC.
4767
4768         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
4769
4770         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
4771         (output_mangled_typename): Don't pass size_t to printf.
4772
4773         * tree.h (union tree_type_symtab): Add tag to `address' field.
4774         (union tree_decl_u2): Add tag to 'i' field.
4775         * varasm.c (union rtx_const_un): Add tags to all fields.
4776         * gengtype.c (struct walk_type_data): New.
4777         (output_escaped_param): Take struct walk_type_data parameter.
4778         (write_gc_structure_fields): Delete.
4779         (walk_type): New.
4780         (write_gc_marker_routine_for_structure): Delete.
4781         (write_func_for_structure): New.
4782         (gc_mark_process_field): New.
4783         (gc_mark_func_name): New.
4784         (gc_counter): Delete.
4785         (write_gc_types): Use write_func_for_structure.
4786         (write_gc_roots): Use walk_type.
4787
4788         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
4789
4790         * ggc-common.c (ggc_mark_roots): Delete 'x'.
4791         (ggc_splay_dont_free): Fix warning about unused 'x'.
4792         (ggc_print_common_statistics): Remove warnings.
4793
4794         2002-10-01  Mike Stump  <mrs@apple.com>
4795
4796         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
4797         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
4798
4799         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
4800             Catherine Moore  <clm@redhat.com>
4801
4802         * Makefile (c-pch.o): Update dependencies.
4803         (LIBCPP_OBJS): Add cpppch.o.
4804         (cpppch.o): New.
4805         * c-common.c (c_common_init): Don't call pch_init here.
4806         * c-common.h (c_common_read_pch): Update prototype.
4807         * c-lex.c (c_common_parse_file): Call pch_init here.
4808         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
4809         (c_common_decode_option): Handle them.
4810         * c-pch.c: Include c-pragma.h.
4811         (save_asm_offset): Delete.
4812         (pch_init): Move contents of save_asm_offset into here, call
4813         cpp_save_state.
4814         (c_common_write_pch): Call cpp_write_pch.
4815         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
4816         cpp_valid_state.
4817         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
4818         * cppfiles.c (stack_include_file): Update for change to
4819         parameters of cb.read_pch.
4820         * cpphash.h (struct cpp_reader): Add `savedstate' field.
4821         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
4822         `restore_pch_deps' fields.
4823         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
4824         (cpp_save_state): Prototype.
4825         (cpp_write_pch): Prototype.
4826         (cpp_valid_state): Prototype.
4827         (cpp_read_state): Prototype.
4828         * cpppch.c: New file.
4829         * flags.h (version_flag): Remove prototype.
4830         * mkdeps.c (deps_save): New.
4831         (deps_restore): New.
4832         * mkdeps.h (deps_save): Prototype.
4833         (deps_restore): Prototype.
4834         * toplev.c (late_init_hook): Delete.
4835         (version_flag): Make static again.
4836         (compile_file): Don't call late_init_hook.
4837         * toplev.h (late_init_hook): Delete.
4838         * doc/cppopts.texi: Document -fpch-deps.
4839         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
4840
4841         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
4842
4843         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
4844         callers.
4845         (c_common_valid_pch): Rename from c_valid_pch, change callers.
4846         (c_common_read_pch): Rename from c_read_pch, change callers.
4847
4848         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
4849         a space between it and its argument.
4850
4851         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
4852
4853         * c-pch.c: New file.
4854         * toplev.h (late_init_hook): Declare.
4855         * toplev.c (late_init_hook): Define.
4856         (version_flag): Make globally visible.
4857         (compile_file): Call late_init_hook.
4858         (init_asm_output): Make output file seekable.
4859         * gcc.c (default_compilers): Update c-header rule.
4860         * flags.h (version_flag): Declare.
4861         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
4862         fields.
4863         * cppfiles.c (struct include_file): Add 'pch' field.
4864         (INCLUDE_PCH_P): New.
4865         (open_file_pch): New.
4866         (stack_include_file): Handle PCH files specially.
4867         (find_include_file): Call open_file_pch instead of open_file.
4868         (_cpp_read_file): Explain why open_file is used instead of
4869         open_file_pch.
4870         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
4871         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
4872         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
4873         in cpplib callbacks.
4874         * c-common.c (pch_file): Correct comment.
4875         (allow_pch): Define.
4876         (c_common_init): Call pch_init.
4877         * c-common.h (allow_pch): Declare.
4878         (pch_init): Declare.
4879         (c_valid_pch): Declare.
4880         (c_read_pch): Declare.
4881         (c_write_pch): Declare.
4882         * Makefile.in (c-pch.o): New.
4883         (C_AND_OBJC_OBJS): Add c-pch.o.
4884         * doc/invoke.texi (Precompiled Headers): Add index entries,
4885         complete truncated paragraph.
4886
4887         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
4888
4889         * c-common.c: (pch_file): Define.
4890         * c-common.h (pch_file): Declare.
4891         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
4892         (missing_arg): Require --output-pch= to have an argument.
4893         (c_common_decode_option): Handle --output-pch=.
4894         * gcc.c: Document new %V.
4895         (default_compilers): Handle compiling C header files.
4896         (do_spec_1): Implement %V.
4897         (main): Handle "gcc foo.h" without trying to run linker.
4898         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
4899         (Overall Options): Document what the driver does with header files,
4900         document new -x option possibilities.
4901         (Invoking G++): More documentation for PCH.
4902         (Precompiled Headers): New.
4903
4904         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
4905
4906         * ggc.h: Don't include varray.h.  Rearrange functions to be more
4907         organized.
4908         (ggc_add_root): Delete.
4909         (ggc_mark_rtx): Delete.
4910         (ggc_mark_tree): Delete.
4911         (struct ggc_statistics): Remove contents.
4912         * ggc-common.c: Remove unneeded includes.
4913         (struct ggc_root): Delete.
4914         (roots): Delete.
4915         (ggc_add_root): Delete.
4916         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
4917         (ggc_print_common_statistics): Remove most of the contents.
4918         * Makefile.in (GGC_H): No longer uses varray.h.
4919         (ggc-common.o): Update dependencies.
4920         (c-parse.o): Add varray.h to dependencies.
4921         (c-common.o): Add varray.h.
4922         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
4923         (mark_ident_hash): Rename to ggc_mark_stringpool.
4924         (init_stringpool): Don't use ggc_add_root.
4925         * c-parse.in: Include varray.h.
4926         * c-common.c: Include varray.h.
4927         * objc/Make-lang.in (objc-act.o): Add varray.h.
4928         * objc/objc-act.c: Include varray.h.
4929
4930         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
4931
4932         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
4933         (dw_cfi_oprnd1_desc): Likewise.
4934
4935         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
4936
4937         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
4938         move out of ifdef.
4939         (alpha_links): Use gengtype to mark; move out of ifdef.
4940         (mark_alpha_links_node): Delete.
4941         (mark_alpha_links): Delete.
4942         (alpha_need_linkage): Use GGC to allocate splay tree, struct
4943         alpha_links, strings.  Don't use ggc_add_root.
4944         * ggc-common.c (ggc_splay_alloc): New.
4945         (ggc_splay_dont_free): New.
4946         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
4947         (ggc_mark_tree): Likewise.
4948         (splay_tree_new_ggc): New.
4949         (ggc_splay_alloc): Declare.
4950         (ggc_splay_dont_free): Declare.
4951         * dwarf2asm.c: Include gt-dwarf2asm.h.
4952         (mark_indirect_pool_entry): Delete.
4953         (mark_indirect_pool): Delete.
4954         (indirect_pool): Use gengtype to mark.
4955         (dw2_force_const_mem): Don't use ggc_add_root.
4956         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
4957         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
4958         (gt-dwarf2asm.h): Depend on s-gtype.
4959
4960         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
4961
4962         * tree.h (union tree_type_symtab): Mark `die' field.
4963         * Makefile.in (dwarf2out.o): Update dependencies.
4964         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
4965         hash tables.
4966         (dw_cfi_oprnd1_desc): New function.
4967         (dw_cfi_oprnd2_desc): New function.
4968         (indirect_string_alloc): Delete.
4969         (debug_str_do_hash): New function.
4970         (debug_str_eq): New function.
4971         (mark_limbo_die_list): Delete.
4972         (dwarf2out_init): Don't call ggc_add_root.
4973
4974 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
4975
4976         The following changes are merged from itanium-sched-branch:
4977
4978         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
4979
4980         * doc/md.texi: Clarify assignment of units to automata description.
4981
4982         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
4983
4984         * genautomata.c (unit_decl): Remove members
4985         `the_same_automaton_unit' and
4986         `the_same_automaton_message_reported_p'.
4987         (process_unit_to_form_the_same_automaton_unit_lists,
4988         form_the_same_automaton_unit_lists_from_regexp,
4989         form_the_same_automaton_unit_lists, the_same_automaton_lists):
4990         Remove them.
4991         (annotation_message_reported_p): New global variable.
4992         (check_unit_distribution_in_reserv,
4993         check_regexp_units_distribution): New functions.
4994         (check_unit_distributions_to_automata): Rewrite it.
4995
4996         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
4997
4998         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
4999         Use continue instead of break if cycle is too big.
5000
5001         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
5002
5003         * genautomata.c (check_unit_distributions_to_automata): Output at
5004         most one message for a unit.
5005         (process_unit_to_form_the_same_automaton_unit_lists): Check
5006         automaton of units instead of units themself.
5007
5008         * doc/md.texi: Describe the constraint about assigning unit to
5009         automata.
5010
5011         2002-12-20  Jan Hubicka  <jH@suse.cz>
5012                     Vladimir Makarov  <vmakarov@redhat.com>
5013
5014         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
5015         and `in_set_p'.
5016         (gen_cpu_unit): Initialize the new members.
5017         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
5018         up `min_occ_cycle_num'.
5019         (evaluate_max_reserv_cycles): Change the function call.
5020         (CLEAR_BIT): New macro.
5021         (states_union, state_shift): Use the mask.
5022         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
5023         (form_reservs_matter): New function.
5024         (make_automaton): Call the function and use the mask.
5025         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
5026         account.
5027
5028         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5029
5030         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
5031
5032         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5033
5034         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
5035         for Itanium.
5036
5037         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5038
5039         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
5040         default cpu.
5041
5042         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5043                 2002-10-31  Dale Johannesen <dalej@apple.com>
5044
5045         * haifa-sched.c (find_set_reg_weight): New function.
5046         (find_insn_reg_weight): Use the new function.
5047         (schedule_block): Do sorting ready queue always
5048         after insn issue.
5049
5050         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
5051
5052         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
5053
5054         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
5055
5056         * haifa-sched.c (choice_entry): New structure.
5057         (choice_stack, cycle_issued_insns): New variables.
5058         (max_issue): Rewrite it.
5059         (choose_ready): Set up ready_try for unknown insns too.
5060         (schedule_block): Allocate and free choice_stack.  Set up
5061         and modify cycle_issued_insns.
5062
5063         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
5064         with and without filling the bundle.
5065         (bundling): Combine calls of issue_nops_and_insn.
5066
5067         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
5068
5069         * config/ia64/itanium1.md: New file.
5070
5071         * config/ia64/itanium2.md: New file.
5072
5073         * config/ia64/ia64.md: Move DFA descriptions into the new files.
5074         Remove the old pipeline description.
5075
5076         * config/ia64/ia64.c (ia64_override_options): Add aliases of
5077         itanium processor names.
5078
5079         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
5080
5081         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
5082         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
5083
5084         * config/ia64/ia64.md: Add descriptions for Itanium2.
5085
5086         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
5087
5088         * config/ia64/ia64.h (processor_type): New enumeration.
5089         (ia64_tune, ia64_tune_string): New external declarations.
5090         (TARGET_OPTIONS): Add option `tune='.
5091
5092         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
5093         variables.
5094         (ia64_override_options): Set up `ia64_tune'.
5095         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
5096         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
5097         (bundling): Add nops for MM-insns only for Itanium.
5098         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
5099         Itanium.
5100
5101         * config/ia64/ia64.md (cpu): New attribute.
5102         (DFA description): Enable it only for Itanium.
5103
5104         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
5105                     Richard Henderson  <rth@redhat.com>
5106
5107         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
5108         MASK_EARLY_STOP_BITS.
5109         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
5110         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
5111         `early-stop-bits'.
5112
5113         * config/ia64/ia64.c (ia64_dfa_new_cycle,
5114         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
5115         instead of TARGET_TUNE_STOP_BITS.
5116
5117         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
5118         `-mearly-stop-bits'.
5119
5120         * config/ia64/ia64.c (automata_option "v"): Comment it.
5121
5122         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
5123
5124         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
5125         New macros.
5126         (TARGET_SWITCHES): Add entries for the new option.
5127
5128         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
5129         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
5130         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
5131         global variables.
5132         (ia64_sched_reorder2): Set up `clocks'.
5133         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
5134         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
5135         queue when TARGET_TUNE_STOP_BITS.
5136         (bundling): Insert additional nops for MM-insns.
5137         (final_emit_insn_group_barriers): Add insertion of stop bits
5138         according `stops_p'.
5139         (ia64_reorg): Initiate the new varibales.
5140
5141         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
5142
5143         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
5144
5145         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
5146         insns at the end of block insn scheduling.
5147
5148         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
5149
5150         * sched-deps.c (remove_dependence, group_leader): Remove it.
5151         (add_dependence): Add dependence to group leader to.
5152         (set_sched_group_p): Add dependence to the first insn of the
5153         schedule group too.
5154         (sched_analyze_insn): Make dependence to jump as anti-dependence.
5155         Change true dependence by anti-dependence when
5156         `reg_pending_barrier'.
5157
5158         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
5159         add_branch_dependences): Ignore schedule groups.
5160
5161         * sched-ebb.c (init_ready_list): Ditto.
5162
5163         * (move_insn, set_priorities): Ditto.
5164
5165         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
5166         flag is clear after reload.
5167         (adjust_cost): Change cost only for output dependencies.
5168
5169         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
5170
5171         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
5172
5173         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
5174
5175         * target.h (gcc_target): Add member
5176         `dependencies_evaluation_hook'.
5177
5178         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
5179         macro.
5180         (TARGET_SCHED): Add initiatialization of the new member.
5181
5182         * sched-ebb.c: Include `target.h'.
5183         (schedule_ebb): Call `dependencies_evaluation_hook'.
5184
5185         * sched-rgn.c (schedule_region): Call
5186         `dependencies_evaluation_hook'.
5187
5188         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
5189         New macro.
5190         (ia64_dependencies_evaluation_hook): New function.
5191
5192         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
5193         Describe the new hook.
5194
5195         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
5196
5197         * target.h (gcc_target): Add members
5198         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
5199
5200         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
5201         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
5202         macros.
5203         (TARGET_SCHED): Add initiatialization of the new members.
5204
5205         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
5206         insn scheduling too.
5207         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
5208         initialize `ready_try'.
5209         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
5210         `dfa_new_cycle' says not to do it.
5211
5212         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
5213         bundling.
5214
5215         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
5216
5217         * config/ia64/ia64.c: Include `hashtab.h'.
5218         (ia64_first_cycle_multipass_dfa_lookahead_guard,
5219         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
5220         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
5221         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
5222         bundle_state_eq_p, insert_bundle_state,
5223         initiate_bundle_state_table, finish_bundle_state_table,
5224         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
5225         get_template, get_next_important_insn, bundling): New functions.
5226         (ia64_internal_sched_reorder): Remove it.
5227         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5228         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
5229         (ia64_safe_itanium_requires_unit0): Remove it.
5230         (group_barrier_needed_p): Place group barrier right before a real
5231         insn.
5232         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
5233         Remove them.
5234         (bundle_name): New variable.
5235         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
5236         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
5237         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
5238         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
5239         temp_dfa_state, prev_cycle_state): New global variables.
5240         (insn_matches_slot, maybe_rotate, finish_last_head,
5241         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
5242         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
5243         find_best_packet, itanium_reorder, dump_current_packet,
5244         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
5245         (sched_data, sched_ready, sched_types): Remove them.
5246         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
5247         `init_insn_group_barriers'.
5248         (ia64_sched_reorder, ia64_sched_reorder2): Call
5249         ia64_dfa_sched_reorder.
5250         (ia64_variable_issue): Rewrite it.
5251         (bundle_state): New structure.
5252         (index_to_bundle_states, bundle_states_num,
5253         allocated_bundle_states_chain, free_bundle_state_chain): New
5254         global variables.
5255         (ia64_sched_finish): Add stop bits and call `bundling' after the
5256         2nd insn scheduling.
5257         (ia64_use_dfa_pipeline_interface): Return zero always.
5258         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
5259         insn scheduling.
5260         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
5261         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
5262         (ia64_reorg): Add bundling insns.
5263
5264         * doc/tm.texi
5265         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5266         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
5267
5268         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
5269
5270         * config/ia64/ia64.md: Add Itanium1 DFA description.
5271         (itanium_class): Add `nop' and `pre_cycle'.  Add
5272         define_function_unit for `nop'.
5273         (nop): Change attribute `itanium_class'.
5274         (pre_cycle): New define_insn.
5275
5276         * config/ia64/ia64-protos.h (bundling_p): New external variable.
5277         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
5278         ia64_produce_address_p): New function prototypes.
5279
5280         * config/ia64/ia64.c (bundling_p): New global variable.
5281         (ia64_use_dfa_pipeline_interface,
5282         ia64_first_cycle_multipass_dfa_lookahead,
5283         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
5284         functions.
5285         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5286         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5287         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5288         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
5289         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
5290         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
5291         (dfa_pre_cycle_insn): New variable.
5292
5293         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5294
5295         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
5296         constructions.
5297
5298         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
5299         New function prototypes.
5300
5301         * genattrtab.c (main): Process the new constructions.
5302
5303         * genautomata.c (gen_presence_absence_set,
5304         process_presence_absence_names, process_presence_absence_patterns,
5305         add_presence_absence, check_absence_pattern_sets): Add parameter
5306         `final_p'.
5307         (unit_decl): Add new members `final_presence_list' and
5308         `final_absence_list'.
5309         (unit_pattern_rel_decl): Add new member `final_p'.
5310         (gen_final_presence_set, gen_final_absence_set): New functions.
5311         (process_decls): Use member `final_p'.
5312         (temp_reserv): New global variable.
5313         (reserv_sets_are_intersected): Add processing `final_presence_set'
5314         and `final_absence_set'.
5315         (initiate_states): Allocate `temp_reserv'.
5316         (unit_final_presence_set_table, unit_final_absence_set_table): New
5317         gloabal variables.
5318         (initiate_presence_absence_pattern_sets): Initiate them.
5319         (NDFA_to_DFA): Fix typo.
5320         (output_description): Output `final_presence_set' and
5321         `final_absence_set'.
5322
5323         * doc/md.texi (final_presence_set, final_absence_set): Describe
5324         them.
5325
5326         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5327
5328         * genautomata.c (transform_3): Process a missing case (nothing on
5329         unit place).
5330
5331         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5332
5333         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
5334         comments about queried units and the minimization.
5335
5336         * doc/md.texi: Ditto.
5337
5338         * genautomata.c (create_composed_state): Return nonzero if the new
5339         state has been created.
5340         (first_cycle_unit_presence): New function.
5341         (state_is_differed): Add new parameter.  Use the new function.
5342         Take queried units into account.
5343         (partition_equiv_class): Pass additional parameter to
5344         `state_is_differed'.
5345         (merge_states): Process composed states too.
5346         (build_automaton, create_automata, output_min_issue_delay_table,
5347         output_tables, output_statistics): Output more information.
5348         (output_reserved_units_table): Use function
5349         `first_cycle_unit_presence'.
5350         (output_tables): Output table of queried units even if the
5351         minimization is switched on.
5352         (write_automata): Output code for querying units even if the
5353         minimization is switched on.
5354
5355         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
5356
5357         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
5358         syntax of the constructions.
5359
5360         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
5361         extended syntax of the constructions.
5362
5363         * genautomata.c (unit_rel_decl): Rename it to
5364         `unit_pattern_rel_decl'.
5365         (pattern_set_el, pattern_reserv): New structures.
5366         (pattern_set_el_t, pattern_reserv_t): New types.
5367         (gen_presence_absence_set): New function.
5368         (process_presence_absence): Remove it.
5369         (process_presence_absence_names,
5370         process_presence_absence_patterns): New functions.
5371         (get_presence_absence_set): Remove it.
5372         (initiate_presence_absence_sets): Rename it on
5373         `initiate_presence_absence_pattern_sets'.  Use new function
5374         `form_reserv_sets_list'.
5375         (form_reserv_sets_list, check_presence_pattern_sets,
5376         check_absence_pattern_sets, output_pattern_set_el_list): New
5377         functions.
5378         (unit_decl): Change types of members `presence_list' and
5379         `absence_list'.
5380         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
5381         (decl): Change types of members `excl', `presence', and `absence'.
5382         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
5383         at the end of the vector.
5384         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
5385         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
5386         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
5387         (gen_presence_set, gen_absence_set): Use new function
5388         `gen_presence_absence_set'.
5389         (add_presence_absence): Process `pattern_list' instead of
5390         `source_list'.
5391         (process_decls): USe new functions
5392         `process_presence_absence_names' and
5393         `process_presence_absence_patterns'.
5394         (reserv_sets_are_intersected): Use new function
5395         `check_presence_pattern_sets'.
5396         (presence_set, absence_set): Remove them.
5397         (unit_presence_set_table, unit_absence_set_table): New global
5398         variables.
5399         (output_description): Use new function
5400         `output_pattern_set_el_list'.
5401         (generate): Use `initiate_presence_absence_pattern_sets'.
5402
5403         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
5404
5405         * genattr.c (main): Add output of prototype of new interface
5406         function `dfa_clean_insn_cache'.
5407
5408         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
5409         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
5410         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
5411         the generated code.
5412         (write_automata): Call the new function.
5413
5414 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
5415
5416         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
5417         correctly.
5418
5419 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
5420
5421         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
5422
5423 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
5424
5425         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
5426         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
5427         (CONSTRAINT_LEN): Provide default definition.
5428         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5429         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
5430         (EXTRA_CONSTRAINT_STR): Likewise.
5431         (REG_CLASS_FROM_CONSTRAINT): Define.
5432         * genoutput.c (check_constraint_len, constraint_len): New functions.
5433         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
5434         constraint / modifier.
5435         (gen_insn): Call check_constraint_len.
5436         * local-alloc.c (block_alloc): Update to use new macros / pass
5437         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
5438         * ra-build.c (handle_asm_insn): Likewise.
5439         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
5440         (constrain_operands, peep2_find_free_register): Likewise.
5441         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
5442         * regmove.c (find_matches): Likewise.
5443         * reload.c (push_secondary_reload, find_reloads): Likewise.
5444         (alternative_allows_memconst): Likewise.
5445         * reload1.c (maybe_fix_stack_asms): Likewise.
5446         (reload_cse_simplify_operands): Likewise.
5447         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
5448         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
5449         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5450         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
5451         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
5452         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
5453
5454         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
5455
5456 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5457
5458         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
5459         length.
5460         (*extzv_1_r_h8300hs): Likewise.
5461         (*extzv_1_r_inv_h8300): Likewise.
5462         (*extzv_1_r_inv_h8300hs): Likewise.
5463
5464 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5465
5466         * config/h8300/h8300.h (PREDICATE_CODES): New.
5467
5468 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5469
5470         * config/h8300/h8300.md (*addsi3_upper): New.
5471         (*iorsi3_shift): Likewise.
5472         (two splitters): Likewise.
5473         (*addsi3_shift): Likewise.
5474         (two splitters): Likewise.
5475
5476 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
5477
5478         * Makefile.in (optabs.o): Add dependency on basic-block.h.
5479         * basic-block.h (control_flow_insn_p): Fuction was exported.
5480         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
5481         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
5482         notes only when the region is contained in a single basic block.
5483
5484 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5485
5486         PR inline-asm/8832
5487         * tree.h (expand_asm): New prototype.
5488         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
5489         to do so.
5490         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
5491         down to expand_asm.
5492         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
5493         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
5494         (volatile_refs_p) [ASM_INPUT]: Likewise.
5495         (side_effects_p) [ASM_INPUT]: Likewise.
5496
5497 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
5498
5499         * i386.md (*mul*): FIx constraints; remove confused comment; fix
5500         athlon_decode attributes
5501         (imul/k8 optimization peep2s): New.
5502
5503         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
5504         * i386.md (type attribute): Add ssecomi.
5505         (unit, memory, prefix attributes): Handle ssecomi.
5506         (cvt?2? patterns): Fix athlon_decode attribute
5507         (comi patterns): Set attribute to ssecomi.
5508
5509         PR target/8343
5510         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
5511
5512 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
5513
5514         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
5515         that match register_operands.
5516         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
5517         register_operand the default case.
5518
5519 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5520
5521         PR c/8032
5522         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
5523         an empty element, do not advance the pointer to unfilled
5524         fields if there are pending initializers.
5525
5526 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
5527
5528         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
5529         (install-gcc-tooldir, install-cpp, installdirs,
5530         install-common, install-driver, install-info, install-man,
5531         install-headers, install-include-dir, install-headers-tar,
5532         install-headers-cpio, install-headers-cp, install-mkheaders,
5533         install-collect2, uninstall): Prepend $(DESTDIR) to
5534         destination paths in all (un)installation commands.
5535         (install-driver): Rewrite $(LN) commands to support DESTDIR
5536         with "ln" as well as with "ln -s".
5537         (installdirs): Simply use mkinstalldirs.
5538         (install-libgcc, install-multilib): Also pass DESTDIR.
5539         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
5540         installation destination variable ldir.
5541         * config/alpha/t-osf4, config/arm/t-netbsd,
5542         config/ia64/t-hpux, config/mips/t-iris5-6,
5543         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
5544         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
5545         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
5546         in the definition of SHLIB_INSTALL.
5547         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
5548         $(libsubdir) in the installation commands.
5549
5550 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
5551
5552         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
5553         non-optimizing compile.
5554         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
5555         compile.
5556
5557 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
5558
5559         * config/i386/i386.c (ix86_attribute_table): Add new attributes
5560         ms_struct and gcc_struct.
5561         (ix86_handle_struct_attribute): New function.
5562         (ix86_ms_bitfield_layout_p): Update to take new attributes
5563         into account.
5564         * doc/extend.texi: Document new attributes.
5565         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
5566
5567 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
5568
5569         PR optimization/8750
5570         * config/i386/i386.c (ix86_expand_prologue): Don't allow
5571         scheduling pass to move insns across __alloca call.
5572
5573 2003-01-08  Dale Johannesen  <dalej@apple.com>
5574
5575         * config/rs6000/rs6000.md:  Replace *store_multiple_string
5576         with *stmsi[3-8].
5577
5578 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
5579
5580         PR target/9210
5581         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
5582         Set SYMBOL_REF_FLAG on local data sym_ref.
5583
5584 2003-01-08  Dale Johannesen  <dalej@apple.com>
5585
5586         * function.c (assign_parms):  Don't set pretend_args_size if
5587           REG_PARM_STACK_SPACE.
5588           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
5589           pretend_args_size.
5590
5591 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
5592
5593         * gcc.hlp: Delete.
5594
5595 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
5596
5597         * i386.c  (ix86_expand_int_addcc): Fix thinko.
5598
5599 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
5600
5601         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
5602         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
5603         as hook_bool_tree_hwi_hwi_tree_true.
5604         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
5605         (rs6000_emit_epilogue): Same.
5606         (rs6000_output_mi_thunk): Re-implement as RTL.
5607         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
5608         xcoffout_declare_function if any debugging enabled.
5609
5610 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
5611
5612         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
5613         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
5614         * config/mips/mips.h (enum processor_type): Rename
5615         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
5616         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
5617         Add PROCESSOR_M4K.
5618         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
5619         (ISA_MIPS32R2): New define.
5620         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
5621         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
5622         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
5623         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
5624         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
5625         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
5626         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
5627         compiling MIPS16 code.
5628         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
5629         comment.
5630         (ISA_HAS_SEB_SEH): New define.
5631         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
5632         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
5633         processor_type value renaming.  Add support for MIPS32R2.
5634         Clean up comments, and move "sb1" entry with other MIPS64 CPU
5635         entries.
5636         (override_options): Reimplement -mipsN option handling so that
5637         it will work correctly for -mips32r2.  Avoid branch-likely
5638         instructions on MIPS32R2.
5639         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
5640         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
5641         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
5642         (extendhisi2_hw, extendqisi2_hw): New.
5643         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
5644         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
5645         MIPS32R2, and MIPS64.
5646         (LINK_SPEC): Pass -mips32r2 to linker.
5647         * config/mips/t-isa3264: Built -mips32r2 multilibs.
5648         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
5649         for mips32r2 in the -march description.  Alphabetically sort
5650         CPU names in the -march description.  Add long-missed -mips32
5651         and -mips64 to MIPS option summary.
5652
5653         * config.gcc: Update copyright years to include 2003.
5654         * config/mips/mips.c: Likewise.
5655         * config/mips/mips.h: Likewise.
5656         * config/mips/mips.md: Likewise.
5657         * config/mips/netbsd.h: Likewise.
5658         * doc/invoke.texi: Likewise.
5659
5660 2003-01-08  Andreas Schwab  <schwab@suse.de>
5661
5662         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
5663         variable.
5664         * configure: Regenerated.
5665
5666 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
5667
5668         * config/h8300/h8300.c (output_logical_op): Replace byte/word
5669         extraction of det with b0, b1, w0, w2, etc.
5670         (compute_logical_op_length): Likewise.
5671         (compute_logical_op_cc): Likewise.
5672
5673 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
5674
5675         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
5676         HIGH on all variants.
5677
5678 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
5679
5680         * Makefile.in (PARTITION_H): New.
5681         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
5682         * basic-block.h: Include hard-reg-set.h.
5683
5684 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
5685
5686         * arm.h (ENABLE_XF_PATTERNS): Delete.
5687         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
5688         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
5689         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
5690         (cmpxf_trap): Delete.
5691         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
5692
5693 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
5694
5695         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
5696         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
5697         (add??cc): New expanders.
5698         * i386.c (expand_int_addcc): New function.
5699         * i386-protos.h (expand_int_addcc): Declare.
5700
5701         * alias.c (memory_modified_1): New static function.
5702         (memory_modified): New static varaible.
5703         (memory_modified_in_insn_p): New global function.
5704         * rtl.h (memory_modified_in_insn_p): Declare.
5705         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
5706         references.
5707
5708         * expr.h (emit_conditional_add): Declare.
5709
5710 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
5711
5712         PR other/8947
5713         * doc/invoke.texi (-malign-double): Explain that the option breaks
5714         binary compatibility.
5715
5716 2003-01-08  Andreas Schwab  <schwab@suse.de>
5717
5718         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
5719         should come from the generic *-*-linux* entry.
5720
5721 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
5722
5723         * cselib.c (cselib_current_insn_in_libcall): New static variable.
5724         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
5725         we are inside libcall.
5726         * cselib.h (elt_loc_list): Add in_libcall.
5727         * gcse.c (do_local_cprop): Do not copy propagate using insns
5728         in libcalls.
5729
5730 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
5731
5732         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
5733         not normally affect to issue rate.
5734
5735 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
5736
5737         * genopinit.c (optabs): Add addc_optab.
5738         * ifcvt.c (noce_try_store_flag): Rename to ...
5739         (noce_try_addcc): ... this one; handle generic conditional increment.
5740         (noce_process_if_block): Update noce_try_addcc call.
5741         * optabs.c (emit_conditional_add): New.
5742         (init_obtabs): Initialize addc_optab.
5743         * optabs.h (optab_index): Add OTI_addcc.
5744         (addcc_optab): New macro.
5745         * md.texi: Document addMcc
5746
5747         PR target/8322
5748         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
5749         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
5750         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
5751
5752         * reload1.c (delete_output_reload): Avoid repeated attempts
5753         to delete insn.
5754
5755 2003-01-07  Andreas Schwab  <schwab@suse.de>
5756
5757         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
5758         Move --enable-initfini-array check ...
5759         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
5760         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
5761         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
5762         * configure: Rebuild.
5763
5764 2003-01-07  Richard Henderson  <rth@redhat.com>
5765
5766         * alias.c (find_base_value): Only use new_reg_base_value shortcut
5767         if the register is set once.
5768
5769 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
5770
5771         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
5772         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
5773         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
5774
5775 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
5776             Sunil Davasam  <sunil.k.davasam@intel.com>
5777
5778         PR libstdc++/9076
5779         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
5780         DW_CFA_same_value, read next and ignore.
5781
5782 2003-01-07  Richard Henderson  <rth@redhat.com>
5783
5784         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
5785
5786 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5787
5788         * cfg.c: Include alloc-pool.h
5789         (edge_pool): New pool.
5790         (bb_pool): New pool.
5791         (first_deleted_edge): Remove.
5792         (first_deleted_block): Remove.
5793         (init_flow): Alloc/free the pools.
5794         (free_edge): Use pools.
5795         (alloc_block): Ditto.
5796         (expunge_block): Ditto.
5797         (cached_make_edge): Ditto.
5798
5799         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
5800
5801 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5802
5803         * et-forest.c: Include alloc-pool.h.
5804         (struct et_forest): Add node_pool and occur_pool.
5805         (et_forest_create): Create the new pools.
5806         (et_forest_delete): Delete them.
5807         (et_forest_add_node): Allocate and free using pools.
5808         (et_forest_add_edge): Ditto.
5809         (et_forest_remove_node): Ditto.
5810         (et_forest_remove_edge): Ditto.
5811
5812         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
5813
5814 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
5815
5816         * config/h8300/h8300.c (output_logical_op): Simplify and
5817         optimize the handling of SImode.
5818         * config/h8300/h8300.c (compute_logical_op_length): Update
5819         accordingly.
5820         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
5821
5822 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
5823
5824         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
5825         big-endian correction to indirect arguments too.
5826
5827 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5828
5829         Segher Boessenkool  <segher@koffie.nl>
5830
5831         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
5832         (alt_reg_names): Ditto, fix formatting.
5833         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
5834
5835 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5836
5837         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
5838         (output_logical_op): Constify intval and det.
5839         (compute_logical_length): Likewise.
5840         (compute_logical_cc): Likewise.
5841         (output_a_shift): Constify mask.
5842         (h8300_encode_label): Constify len.
5843
5844 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5845
5846         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
5847         (h8300_expand_epilogue): Likewise.
5848
5849 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5850
5851         Segher Boessenkool  <segher@koffie.nl>
5852
5853         * config/rs6000/altivec.md: Remove spaces from assembler
5854         instruction argument lists.
5855
5856 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5857
5858         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
5859         c4x_assembler_function_p.
5860         (c4x_null_epilogue_p): Complement return value, all uses updated.
5861         (c4x_insert_attributes): Add naked.
5862         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
5863         * doc/extend.texi: Update C4x function attributes.
5864
5865 2003-01-06  Richard Henderson  <rth@redhat.com>
5866
5867         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
5868         properly when changing "local-ness".
5869         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
5870
5871 2003-01-06  Dale Johannesen  <dalej@apple.com>
5872
5873         * config/darwin-protos.h:  Add prototypes for new section functions.
5874
5875 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
5876
5877         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
5878         to EABI.
5879
5880 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
5881
5882         * hwint.h: If the current compiler has no 64-bit type at all,
5883         make HOST_WIDEST_INT 32 bits.
5884
5885 2003-01-06  Eric Christopher  <echristo@redhat.com>
5886
5887         * config/mips/mips.md (movdf_internal2): Fix constraints.
5888
5889 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5890
5891         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
5892
5893 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
5894
5895         * config/mips/mips.md (leadi): Use dla rather than la.
5896
5897 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
5898
5899         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
5900         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
5901
5902 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
5903
5904         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
5905         redefinition.
5906
5907 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5908
5909         * config/h8300/h8300.md (*extzv_8_23): New.
5910
5911 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5912
5913         * pa64-hpux.h (JCR_SECTION_NAME): Define.
5914         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
5915         USE_EH_FRAME_REGISTRY when defining.
5916
5917 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5918
5919         * config/h8300/h8300.c (output_a_shift): Do not output a
5920         variable shift.
5921         * config/h8300/h8300.md (two splitters): New.
5922
5923 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
5924
5925         * config/mips/mips.md: Disable the movstrsi define_split.
5926
5927 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5928
5929         * alloc-pool.c: Don't include "libiberty.h".
5930         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
5931         * convert.c (convert_to_real): Hide unused variable.
5932
5933 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5934
5935         * Makefile.in (gtyp-gen.h): Const-ify.
5936         * gcov-dump.c (tag_table): Likewise.
5937
5938 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5939
5940         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
5941         of *both* the file name and the fix name.
5942
5943 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
5944
5945         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
5946         collect2.
5947         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
5948         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
5949         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
5950         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
5951         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
5952         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
5953         elfos.h.
5954         (EH_FRAME_IN_DATA_SECTION): Delete define.
5955         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
5956         (STARTFILE_SPEC): Use crtbegin.o.
5957         (ENDFILE_SPEC): Use crtend.o.
5958         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
5959         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
5960         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
5961         DTOR_LIST_BEGIN): Define.
5962         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
5963         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
5964         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
5965
5966 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
5967
5968         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
5969         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
5970         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
5971         Cleanup handling of replacement text.
5972         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
5973
5974 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5975
5976         * fixinc/tests/base/math.h: removed obsolete results
5977         * fixinc/tests/base/stdlib.h: ditto
5978         * fixinc/tests/base/sys/param.h: ditto
5979         * fixinc/tests/base/sys/stat.h: ditto
5980         * fixinc/tests/base/time.h: ditto
5981         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
5982         * fixinc/tests/base/sys/byteorder.h: ditto
5983         * fixinc/inclhack.def: Remove superfluous backslashes
5984
5985 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
5986
5987         * config/h8300/h8300-protos.h: Add prototypes for
5988         the new functions defined below.
5989         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
5990         define.
5991         (dosize): Emit RTL instead of assembly code.
5992         (push): Likewise.
5993         (pop): Likewise.
5994         (h8300_output_function_prologue): Remove.
5995         (h8300_expand_prologue): New.
5996         (h8300_expand_epilogue): New.
5997         (h8300_output_function_epilogue): Do only the reset of
5998         pragma_saveall.
5999         * config/h8300/h8300.md (push_h8300): New.
6000         (push_h8300hs): Likewise.
6001         (pop_h8300): Likewise.
6002         (pop_h8300hs): Likewise.
6003         (*stm_h8300s_2): Change the name to stm_h8300s_2.
6004         (*stm_h8300s_3): Change the name to stm_h8300s_3.
6005         (*stm_h8300s_4): Change the name to stm_h8300s_4.
6006         (*ldm_h8300s_2): New.
6007         (*ldm_h8300s_3): Likewise.
6008         (*ldm_h8300s_4): Likewise.
6009         (return): Likewise.
6010         (*return_1): Likewise.
6011         (prologue): Likewise.
6012         (epilogue): Likewise.
6013         (monitor_prologue): Likewise.
6014
6015 2003-01-03  Dale Johannesen  <dalej@apple.com>
6016
6017         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
6018           machopic_picsymbol_stub1.
6019           (EXTRA_SECTION_FUNCTIONS):  Ditto.
6020         * rs6000/rs6000.c:  Update copyright.
6021           (machopic_output_stub):  Use them.  Remove an insn from stub code.
6022
6023 2003-01-02  Jason Merrill  <jason@redhat.com>
6024
6025         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
6026
6027         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
6028         static/external decls.
6029
6030         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
6031         outermost scope.
6032         * c-decl.c (c_make_fname_decl): Push the decls there, too.
6033
6034 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
6035
6036         * config/h8300/h8300-protos.h: Add a prototype for
6037         h8300_current_function_interrupt_function_p.
6038         * config/h8300/h8300.c (interrupt_handler): Remove.
6039         (os_task): Likewise.
6040         (monitor): Likewise.
6041         (pragma_interrupt): New.
6042         (WORD_REG_USED): Use
6043         h8300_current_function_interrupt_function_p.
6044         (dosize): Likewise.
6045         (h8300_output_function_prologue): Likewise.
6046         Do not set interrupt_handler, os_task, monitor.
6047         (h8300_output_function_prologue): Use
6048         h8300_current_function_interrupt_function_p.
6049         Do not set interrupt_handler, os_task, monitor.
6050         (h8300_current_function_interrupt_function_p): New.
6051         (h8300_pr_interrupt): Set pragma_interrupt.
6052         (h8300_insert_attributes): Reset pragma_interrupt.
6053
6054 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6055
6056         * doc/install.texi (Configuration): Fix markup for reference to
6057         gcc/config.gcc.
6058
6059 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
6060
6061         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
6062         (*iorhi3_two_qi): Likewise.
6063         (*iorsi3_zexthi): Likewise.
6064         (*xorhi3_zextqi): Likewise.
6065         (*xorsi3_zexthi): Likewise.
6066         (*xorsi3_zextqi): Likewise.
6067
6068 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
6069
6070         * config/h8300/h8300.c (stack_pointer_operand): New.
6071         (const_int_gt_2_operand): Likewise.
6072         (const_int_ge_8_operand): Likewise.
6073         * config/h8300/h8300.md (a splitter): Likewise.
6074         (a peephole2): Likewise.
6075         * config/h8300/h8300-protos.h: Add prototypes for the new
6076         functions above.
6077
6078 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
6079
6080         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
6081         objc/objc-act.h: Fix copyright years.
6082
6083 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
6084
6085         * doc/passes.texi: Fix documentation for -fssa-ccp
6086
6087 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
6088
6089         * gccbug.in: Update for new categories.
6090
6091 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6092
6093         * config/h8300/h8300.md: Reorder some patterns.
6094
6095 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6096
6097         * config/h8300/h8300.c (output_logical_op): Fix a warning.
6098
6099 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
6100
6101         * config/darwin-protos.h, config/c4x/c4x-protos.h,
6102         config/cris/cris-protos.h, config/i370/i370-protos.h,
6103         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
6104         config/v850/v850-protos.h: Use struct, and don't conditionally
6105         compile on GCC_C_PRAGMA_H.
6106
6107 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6108
6109         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
6110         * config/h8300/h8300-protos.h: Likewise.
6111         * config/sh/sh-protos.h: Likewise.
6112
6113 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6114
6115         * config/arm/arm-protos.h: Use struct cpp_reader instead of
6116         cpp_reader.
6117         * config/h8300/h8300-protos.h: Likewise.
6118         * config/sh/sh-protos.h: Likewise.
6119
6120 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
6121
6122         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
6123         arm_pr_long_calls_off): Use struct.
6124         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
6125         : Similarly.
6126         Don't include cpplib.h.
6127         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
6128         sh_pr_nosave_low_regs): Similarly.
6129
6130 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6131
6132         * config/h8300/h8300.c: Include cpplib.h.
6133
6134 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
6135
6136         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
6137           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
6138           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
6139           "GCC" in the copyright header.
6140
6141 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
6142
6143         * c-pragma.c (c_register_pragma): New.
6144         (init_pragma): Use it.
6145         * c-pragma.h (cpp_register_pragma): Don't declare.
6146         (c_register_pragma): New.
6147         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
6148         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
6149         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
6150         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
6151         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
6152         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
6153         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
6154         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
6155         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
6156         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
6157         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
6158         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
6159
6160 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6161
6162         * config/h8300/h8300-protos.h: Update the prototypes.
6163         * config/h8300/h8300.c (const_le_2_operand): Change to
6164         const_int_le_2_operand.
6165         (const_int_le_6_operand): Change to const_int_le_6_operand.
6166         * config/h8300/h8300.md (two peepholes): Update the function
6167         names.
6168
6169 2002-12-31  Tom Tromey  <tromey@redhat.com>
6170
6171         * doc/install.texi (Testing): Fixed typo.
6172
6173 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6174
6175         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
6176         (TRAMPOLINE_SIZE): Support the normal mode.
6177         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
6178
6179 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
6180
6181         * c-common.h (pending_lang_change): Declare.
6182
6183 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
6184
6185         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
6186         descriptions.
6187
6188 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
6189
6190         * gcc/doc/invoke.texi (Optimization Options): List the options
6191         enabled by each -O flag.
6192
6193 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6194
6195         * doc/install.texi (Configuration): Explicitly refer
6196         gcc/config.gcc for a list of cpu models.
6197
6198 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6199
6200         * config/h8300/h8300.h: Fix comment typos.
6201
6202 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
6203
6204         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
6205
6206 2002-12-30  Tom Tromey  <tromey@redhat.com>
6207
6208         * doc/install.texi (Testing): Mention Jacks.
6209
6210 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
6211
6212         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
6213
6214 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6215
6216         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
6217         cases.
6218         (compute_logical_op_length): Update to reflect the change in
6219         output_logical_op.
6220         (compute_logical_op_cc): Likewise.
6221
6222 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
6223
6224         * doc/service.texi: Uncomment and update FAQ link.
6225
6226 2002-12-30  Andreas Jaeger  <aj@suse.de>
6227
6228         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
6229
6230 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6231
6232         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
6233
6234 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6235
6236         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
6237         are clearing the most significant byte.
6238         (compute_logical_op_length): Update to reflect the change in
6239         output_logical_op.
6240         (compute_logical_op_cc): Likewise.
6241
6242 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6243
6244         * config/h8300/h8300.md: Give internal names to anonymous
6245         insns.
6246
6247 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6248
6249         * config/h8300/h8300.md: Reorder some insns.
6250
6251 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6252
6253         * config/h8300/h8300-protos.h: Add prototypes for
6254         const_int_qi_operand and const_int_hi_operand.
6255         * config/h8300/h8300.c (const_int_qi_operand): New.
6256         (const_int_hi_operand): Likewise.
6257         * config/h8300/h8300.md (three peepholes): New.
6258
6259 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
6260
6261         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
6262         Use @copying.
6263
6264 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
6265
6266         * configure.in: Increase makeinfo version requirement to 4.[2-9].
6267         * configure: Regenerate.
6268         * doc/install.texi: Update Texinfo version requirement.
6269
6270 2002-12-28  Andreas Jaeger  <aj@suse.de>
6271
6272         * config/i386/i386.c (x86_function_profiler): Mark labelno as
6273         possibly unused.
6274
6275         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
6276         correct format.
6277
6278 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
6279
6280         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
6281         *iorhi_ashift_8.
6282         (*iorhi_lshiftrt_8): New.
6283
6284 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
6285
6286         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
6287
6288 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6289
6290         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
6291
6292 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6293
6294         * config/h8300/h8300-protos.h: Fix comment typos.
6295         Update copyright.
6296         * config/h8300/h8300.c: Fix comment typos.
6297
6298 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6299
6300         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
6301
6302 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6303
6304         * config/i386/athlon.md: Fix comment typos.
6305         * config/i386/crtdll.h: Likewise.
6306         * config/i386/djgpp.h: Likewise.
6307         * config/i386/i386-interix.h: Likewise.
6308         * config/i386/i386.c: Likewise.
6309         * config/i386/i386.h: Likewise.
6310         * config/i386/i386.md: Likewise.
6311         * config/i386/k6.md: Likewise.
6312         * config/i386/mingw32.h: Likewise.
6313         * config/i386/pentium.md: Likewise.
6314         * config/i386/sco5.h: Likewise.
6315         * config/i386/winnt.c: Likewise.
6316         * config/i386/xmmintrin.h: Likewise.
6317
6318 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
6319
6320         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
6321         INSN_P before checking to see if it is dead.
6322         (mark_all_insn_unnecessary): Similarly.
6323         (ssa_eliminate_dead_code): Similarly.
6324         * rtl.h (struct rtx_def): Update comments for in_struct usage
6325         in dead code elimination pass.
6326         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
6327
6328 2002-12-26  Andreas Schwab  <schwab@suse.de>
6329
6330         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
6331
6332 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
6333
6334         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
6335         tartet_flags_explicit.
6336         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
6337         Compact target_flags bits.
6338         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
6339         (TARGET_SWITCHES): Delete references to *_SET flags.
6340
6341 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
6342
6343         * i386.md (memory attribute): Fix setcc attribute.
6344
6345 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6346
6347         * output.h: Fix comment typos.
6348         * predict.c: Likewise.
6349         * print-tree.c: Likewise.
6350         * profile.c: Likewise.
6351         * ra-build.c: Likewise.
6352         * ra-colorize.c: Likewise.
6353         * ra-debug.c: Likewise.
6354         * ra-rewrite.c: Likewise.
6355         * ra.c: Likewise.
6356         * ra.h: Likewise.
6357         * real.c: Likewise.
6358         * recog.c: Likewise.
6359         * reg-stack.c: Likewise.
6360         * regclass.c: Likewise.
6361
6362 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6363
6364         * config/h8300/h8300.c (print_operand_address): Do not negate
6365         a negative number when printing one.
6366
6367 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6368
6369         * config/h8300/h8300-protos.h: Add prototypes for
6370         output_plussi, compute_plussi_length, and compute_plussi_cc.
6371         * config/h8300/h8300.c (output_plussi): New.
6372         (compute_plussi_length): Likewise.
6373         (compute_plussi_cc): Likewise.
6374         * config/h8300/h8300.md (addsi_h8300h): Call
6375         output_plussi, compute_plussi_length, and compute_plussi_cc.
6376
6377 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
6378
6379         * config/h8300/h8300.md (two peepholes): Use match_dup instead
6380         of match_operand in the new patterns.
6381
6382 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
6383
6384         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
6385
6386 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
6387
6388         * configure.in (enable-coverage): Add SELF_COVERAGE.
6389         * profile.c (end_branch_prob): Use SELF_COVERAGE.
6390
6391 2002-12-24  Jim Wilson  <wilson@redhat.com>
6392
6393         * alias.c (record_set): Handle multi-reg hard registers.
6394
6395 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
6396
6397         * regmove.c: Fix comment typos.
6398         * reload.c: Likewise.
6399         * reload1.c: Likewise.
6400         * resource.c: Likewise.
6401         * rtl.def: Likewise.
6402         * rtl.h: Likewise.
6403         * rtlanal.c: Likewise.
6404         * sched-deps.c: Likewise.
6405         * sched-rgn.c: Likewise.
6406         * sibcall.c: Likewise.
6407         * simplify-rtx.c: Likewise.
6408         * ssa-ccp.c: Likewise.
6409         * ssa.c: Likewise.
6410         * stmt.c: Likewise.
6411         * stor-layout.c: Likewise.
6412         * system.h: Likewise.
6413         * tlink.c: Likewise.
6414         * toplev.c: Likewise.
6415         * tracer.c: Likewise.
6416         * tree-inline.c: Likewise.
6417         * tree.c: Likewise.
6418         * tree.h: Likewise.
6419         * unroll.c: Likewise.
6420         * varasm.c: Likewise.
6421
6422 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
6423
6424         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
6425         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
6426         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
6427         DG/UX entries.
6428         * doc/md.texi: Remove AMD 29K entries.
6429         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
6430         1.38.1, NewsOS, RT PC, WE32K entries.
6431
6432 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
6433
6434         PR/8763
6435         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
6436         (altivec_vspltisw_v4sf): Name pattern.
6437         (altivec_vslw_v4sf): New pattern.
6438
6439 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
6440
6441         * doc/include/gcc-common.texi: Define DEVELOPMENT.
6442
6443 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
6444
6445         * stor-layout.c (update_alignment_for_field): Correct handling of
6446         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
6447         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
6448         bitfield does not affect alignment.
6449
6450 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
6451
6452         * expr.c (expand_assignment): Apply special treatment to
6453         ARRAY_TYPE.
6454
6455 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
6456
6457         * config/h8300/h8300-protos.h: Update the prototype of
6458         expand_a_shift.
6459         * config/h8300/h8300.c (expand_a_shift): Change the return
6460         type to void.
6461         * config/h8300/h8300.md: Update all the uses of
6462         expand_a_shift.
6463
6464 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
6465
6466         * tree.c (save_expr): Allow either side of a dyadic operand to be
6467         constant.
6468
6469         * doc/portability.texi (portability): Update portability goals.
6470
6471 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
6472
6473         * config/h8300/h8300.c (output_a_shift): Remove unused code.
6474
6475 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
6476
6477         * stor-layout.c (update_alignment_for_field): Guard use of
6478         ADJUST_FIELD_ALIGN with #ifdef.
6479
6480         * stor-layout.c (update_alignment_for_field): Use
6481         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
6482         bitfield when PCC_BITFIELD_TYPE_MATTERS.
6483
6484 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6485
6486         * genautomata.c: Fix comment typos.
6487
6488 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6489
6490         * params.def (tracer-min-branch-probability-feedback): Fix default.
6491         * final.c (compute_alignments): Use profile to avoid code bloat.
6492
6493 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6494
6495         * config/h8300/h8300.c (get_shift_alg): Make shift insn
6496         sequences end with a valid cc0 whenever possible.
6497
6498 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6499
6500         * config/h8300/h8300.md (negsf2): New.
6501         (*negsf2_h8300): Likewise.
6502         (*negsf2_h8300hs): Likewise.
6503
6504 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
6505
6506         * integrate.c (output_inline_function): Don't hold private
6507         pointers to 'struct function' over GC calls.
6508
6509 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
6510
6511         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
6512         NO_FPSCR_VALUES.
6513         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
6514
6515 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6516
6517         * config/h8300/h8300.md (zero_extendqisi2): Correct the
6518         length.
6519
6520 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6521
6522         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
6523         second alternative "#".
6524         (*zero_extendqihi2_h8300hs): Likewise.
6525         (a define_split): New.
6526
6527 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6528
6529         * config/h8300/h8300-protos.h: Update the prototype for
6530         split_adds_subs.
6531         Add prototypes for const_le_2_operand and const_le_6_operand.
6532         * config/h8300/h8300.c (split_adds_subs): Add an argument to
6533         specify whether inc/dec should be used when possible.
6534         (const_le_2_operand): New.
6535         (const_le_6_operand): Likewise.
6536         * config/h8300/h8300.md (two peepholes): New.
6537
6538 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6539
6540         * config/fr30/fr30.md: Fix a comment typo.
6541         * config/i386/i386.c: Likewise.
6542         * config/ip2k/ip2k.h: Likewise.
6543
6544 2002-12-20  Jim Wilson  <wilson@redhat.com>
6545
6546         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
6547         (__ev_subw, __ev_subiw): New.
6548         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
6549         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
6550
6551 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
6552
6553         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
6554         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
6555         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
6556         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
6557
6558 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6559
6560         * config/h8300/h8300-protos.h: Add prototypes for
6561         incdec_operand and eqne_operator.
6562         * config/h8300/h8300.c (incdec_operand): New.
6563         (eqne_operator): Likewise.
6564         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
6565         (CONST_OK_FOR_O): Likewise.
6566         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
6567         CONST_OK_FOR_O.
6568         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
6569         (addhi3_incdec): New.
6570         (addsi3_incdec): Likewise.
6571         (two peepholes): Likewise.
6572
6573 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6574
6575         * config/h8300/h8300.c (dosize): Remove warnings.
6576         (print_operand): Likewise.
6577
6578 2002-12-20  Richard Henderson  <rth@redhat.com>
6579
6580         * config/alpha/alpha.c (decl_has_samegp): New.
6581         (samegp_function_operand): Use it.  Rename from
6582         current_file_function_operand.
6583         (direct_call_operand): Handle -msmall-text via symbol->jump.
6584         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
6585         (tls_symbolic_operand_type): Likewise.
6586         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
6587         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
6588         (alpha_end_function): Set symbol->jump for functions defined in
6589         the text section.
6590         * config/alpha/alpha-protos.h: Update.
6591         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
6592         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
6593         (PREDICATE_CODES): Update.
6594         * config/alpha/alpha.md (call patterns): Update for
6595         samegp_function_operand rename; use !samegp reloc if
6596         TARGET_EXPLICIT_RELOCS.
6597         * doc/invoke.text: Document -msmall-text and -mlarge-text.
6598
6599 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
6600
6601         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
6602         all registers capable of holding a double float.
6603         (*rcond): change name of "reverse branch" insns to
6604         something more meaningful.
6605         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
6606         comparisons properly.
6607         (*ffs): Change operand 0 from write to read-modify-write.
6608         (*ffsssi2): Drop constraints from define_expand.
6609
6610         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
6611         MOVE_RATIO as default for store operations.
6612
6613         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
6614         LONG_REGS class.
6615         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
6616         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
6617         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
6618
6619         * config/ns32k/STATUS: New File
6620         * config/ns32k/NOTES: New file.
6621
6622 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
6623
6624         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
6625         option for S/390 and zSeries.
6626         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
6627         s390_arch_string): New variables.
6628         (override_options): Checking for options and setting of
6629         appropriate target_flags, cpu and arch flags.
6630         * config/s390/s390.h: (processor_type): New enum.
6631         (TARGET_SWITCHES): New switches -mesa/zarch.
6632         * config/s390/s390.md: New attribute 'cpu'.
6633
6634 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6635
6636         * c-pretty-print.h: Fix comment typos.
6637         * integrate.c: Likewise.
6638         * varasm.c: Likewise.
6639         * config/c4x/c4x.h: Likewise.
6640         * config/c4x/c4x.md: Likewise.
6641         * config/fr30/fr30.md: Likewise.
6642         * config/frv/frv.c: Likewise.
6643         * config/h8300/h8300.c: Likewise.
6644         * config/i386/i386.c: Likewise.
6645         * config/i386/i386.h: Likewise.
6646         * config/ia64/ia64.c: Likewise.
6647         * config/ia64/ia64.h: Likewise.
6648         * config/ip2k/ip2k.md: Likewise.
6649         * config/m68hc11/m68hc11-crt0.S: Likewise.
6650         * config/m68hc11/m68hc11.h: Likewise.
6651         * config/m68hc11/m68hc11.md: Likewise.
6652         * config/m68hc11/m68hc12.h: Likewise.
6653         * config/mcore/mcore.md: Likewise.
6654         * config/mips/mips.c: Likewise.
6655         * config/mips/mips.md: Likewise.
6656         * config/mmix/mmix-modes.def: Likewise.
6657         * config/pa/pa.c: Likewise.
6658         * config/rs6000/rs6000.c: Likewise.
6659         * config/rs6000/rs6000.h: Likewise.
6660         * config/rs6000/rs6000.md: Likewise.
6661
6662 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6663
6664         * config/h8300/h8300.md (output_a_shift): Clean up the code to
6665         output shifts using rotation.
6666
6667 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6668
6669         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
6670
6671 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6672
6673         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
6674         pointer.
6675         (pushqi_h8300hs): Likewise.
6676         (pushhi_h8300): Likewise.
6677         (pushhi_h8300hs): Likewise.
6678
6679 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
6680
6681         * sched-rgn.c (init_regions): Update comment.
6682
6683 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
6684
6685         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
6686         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
6687         attributes.
6688         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
6689         (get_vrsave_internal,set_vrsave_internal): Same.
6690         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
6691         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
6692         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
6693
6694 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
6695             Danny Smith  <dannysmith@users.sourceforge.net>
6696             Eric Kohl  <ekohl@rz-online.de>
6697
6698         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
6699         attributes incompatible with fastcall attribute.
6700         (ix86_handle_regparm_attribute): Likewise.
6701
6702         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
6703         fastcall types.
6704
6705         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
6706         attributes.
6707         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
6708         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
6709         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
6710         i386_pe_output_labelref rather than here.
6711         (gen_fastcall_suffix): New function. Decorates a label name with the
6712         fastcall prefix (@) and the stdcall suffix.
6713         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
6714         has a fastcall attribute.
6715         (i386_pe_output_labelref): New function. Outputs a label reference.
6716         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
6717         valid attribute.
6718         (ix86_return_pops_args): Fastcall functions pop the stack.
6719         (init_cumulative_args): Reserve registers ECX and EDX if function has
6720         fastcall attribute.
6721         (function_arg): Use registers ECX and EDX if function has fastcall
6722         attribute.
6723         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
6724         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
6725         (FASTCALL_PREFIX): Define as '@'.
6726         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
6727         attributes.
6728         * doc/extend.texi: Add documentation of fastcall attribute.
6729
6730 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
6731
6732         * configure.in: FORBUILD when build!=host changed from
6733         ../$build-alias to ../build-$build_alias to match change made
6734         in top directory.
6735         * configure: Regenerated.
6736
6737 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6738
6739         PR optimization/8988
6740         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
6741         the biv when eliminating.
6742
6743 2002-12-19  Devang Patel  <dpatel@apple.com>
6744         * gcc.c (struct default_compiler): Recognizes input file name with
6745         .CPP extension as C++ source files
6746         * cp/lang-spec.h: Same
6747         * doc/invoke.texi:  Add documentation for .CPP support.
6748
6749 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
6750
6751         PR 8553
6752         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
6753         registers.
6754         ("absv16qi2"): Same.
6755         ("absv4si2"): Same.
6756         ("absv4sf2"): Same.
6757         ("altivec_abss_v16qi"): Same.
6758         ("altivec_abss_v8hi"): Same.
6759         ("altivec_abss_v4si"): Same.
6760
6761 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
6762
6763         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
6764         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
6765
6766 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6767
6768         PR target/8340
6769         * stmt.c (expand_asm_operands): Produce an error when
6770         the PIC register is clobbered.
6771
6772 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
6773
6774         * Makefile.in (OBJS): Add alloc-pool.o
6775         (alloc-pool.o): New object.
6776
6777         * alloc-pool.c: New file.
6778         * alloc-pool.h: New file.
6779
6780 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
6781
6782         * gcc.c (validate_switches): Robustify against skipping past '\0'.
6783
6784 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6785
6786         * config.gcc: Set extra_objs in the generic Darwin rule,
6787         not in the machine-specific rules.
6788
6789 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6790
6791         * ChangeLog: Follow spelling conventions.
6792         * ChangeLog.2: Likewise.
6793         * ChangeLog.4: Likewise.
6794         * ChangeLog.5: Likewise.
6795         * cppexp.c: Likewise.
6796         * df.c: Likewise.
6797         * gcov.c: Likewise.
6798         * gengtype.c: Likewise.
6799         * reload1.c: Likewise.
6800         * sched-rgn.c: Likewise.
6801         * stmt.c: Likewise.
6802         * stor-layout.c: Likewise.
6803         * timevar.c: Likewise.
6804         * toplev.c: Likewise.
6805         * tree.h: Likewise.
6806         * varasm.c: Likewise.
6807         * config/fr30/fr30.md: Likewise.
6808         * config/i386/i386.c: Likewise.
6809         * config/ia64/ia64.c: Likewise.
6810         * config/pa/pa.c: Likewise.
6811
6812 2002-12-18  Roger Sayle  <roger@eyesopen.com>
6813
6814         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
6815
6816 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
6817
6818         PR 8551
6819         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
6820         macro.
6821         (vec_cmplt C++ functions): Reverse arguments.
6822
6823 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6824
6825         * config/rs6000/t-rs6000: Move contents to t-fprules,
6826         add rules for dependencies of rs6000.o and to build rs6000-c.o
6827         * config/rs6000/t-fprules: New file from t-rs6000.
6828         * config/rs6000/t-beos: Remove soft-fp rules.
6829         * config/rs6000/t-ppccomm: Likewise.
6830         * config/rs6000/t-newas: Likewise.
6831         * config/rs6000/t-rs6000-c-rule: Delete.
6832         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
6833         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
6834         Create generic Darwin rules.
6835
6836         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
6837
6838 2002-12-18  Doug Evans  <dje@sebabeach.org>
6839
6840         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
6841         and LIT_NAME_P.
6842         (move_src_operand): Remove compile-time warning.
6843         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
6844
6845 2002-12-18  Jason Merrill  <jason@redhat.com>
6846
6847         * unwind-dw2-fde.c (frame_downheap): Split out from...
6848         (frame_heapsort): Here.
6849
6850 2002-12-17  Jason Merrill  <jason@redhat.com>
6851
6852         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
6853         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
6854
6855         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
6856
6857         * calls.c (expand_call): Don't try to be clever about expanding
6858         the return slot address.
6859
6860 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
6861
6862         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
6863         Define.
6864
6865 2002-12-17  Jason Merrill  <jason@redhat.com>
6866
6867         * genmultilib: Use 'cd ./foo'.
6868
6869 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6870
6871         * doc/c-tree.texi: Restore deliberate spelling mistakes.
6872
6873 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6874
6875         * doc/c-tree.texi: Fix typos and follow spelling conventions.
6876         * doc/cpp.texi: Likewise.
6877         * doc/extend.texi: Likewise.
6878         * doc/gty.texi: Likewise.
6879         * doc/install.texi: Likewise.
6880         * doc/invoke.texi: Likewise.
6881         * doc/md.texi: Likewise.
6882         * doc/passes.texi: Likewise.
6883         * doc/rtl.texi: Likewise.
6884         * doc/sourcebuild.texi: Likewise.
6885         * doc/tm.texi: Likewise.
6886
6887 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
6888
6889         * doc/invoke.texi: Minor spelling and grammar fixes.
6890
6891 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
6892
6893         * config/s390/s390.c (s390_output_constant_pool): Replace
6894         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
6895
6896 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
6897
6898         * convert.c (convert_to_real): Disable function transformation for
6899         now.
6900
6901 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6902
6903         * gcc.c (handle_braces): Allow '@' as a switch name.
6904
6905 2002-12-16  Jason Merrill  <jason@redhat.com>
6906
6907         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
6908         with special struct-return ABIs.
6909
6910         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
6911         doesn't match the begin SCOPE_STMT in partialness.
6912
6913 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6914
6915         * genmultilib: Create temporary files in unique subdirectory.
6916
6917         * gcc.c (validate_switches): Allow '@' as a switch name.
6918
6919 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
6920
6921         * Makefile.in (gcov-iov.h): Improve portability.
6922
6923 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
6924
6925         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
6926         gas
6927         * mips.md (tablejump insn): Likewise.
6928
6929 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
6930
6931         * doc/include/gcc-common.texi: Change version number to 3.4.
6932
6933 2002-12-16  Bruce Korb  <bkorb@gnu.org>
6934
6935         * fixinc/fixlib.h: add: #include <signal.h>
6936         * fixinc/fixincl.c: remove: #include <signal.h>
6937
6938 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
6939
6940         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
6941         (EXTRA_CONSTRAINT): Use it.
6942         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
6943
6944 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
6945
6946         * config.gcc (need_64bit_hwint): New variable.
6947         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
6948         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
6949         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
6950         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
6951         Set it.
6952         (powerpc*-*-darwin*): Unset it.
6953         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
6954         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
6955         deleted/nonexistent xm-*.h headers.
6956         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
6957         target set need_64bit_hwint in config.gcc.
6958         * configure, config.in: Regenerate.
6959
6960         * hwint.h: Overhaul.  Don't bother trying int for
6961         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
6962         decision to force 64-bit HOST_WIDE_INT on
6963         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
6964         not visible at this point.  Don't allow prior definition of
6965         any macro defined by this file.
6966
6967         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
6968         HOST_BITS_PER_WIDE_INT.
6969         * config/c4x/c4x.h: Adjust redefinition of
6970         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
6971         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
6972         config/i386/xm-i386-interix.h: Delete file.
6973
6974 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
6975             John David Anglin  <dave@hiauly1.hia.nrc.ca>
6976
6977         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
6978         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
6979
6980 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6981
6982         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
6983
6984 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6985
6986         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
6987         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
6988         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
6989         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
6990         config/v850/t-v850:  Correct dependencies and normalize
6991         compilation commands for files that include coretypes.h and tm.h.
6992
6993         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
6994         not config.h and system.h.
6995
6996 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
6997
6998         * i386.c (flags_reg_operand):  New function.
6999         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
7000         * i386.md (cmov splitter, movqicc): Use new predicate.
7001
7002 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
7003
7004         * i386.md (movqicc splitter): Fix template.
7005
7006 2002-12-13  Jason Merrill  <jason@redhat.com>
7007
7008         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
7009         * calls.c (expand_call): Handle it.
7010         * tree-inline.c (struct inline_data): Remove target_exprs field.
7011         (optimize_inline_calls): Don't initialize it.
7012         (expand_call_inline): Don't modify it.  Handle
7013         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
7014         (declare_return_variable): Take return slot addr.
7015         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
7016         to return_slot_addr.
7017         * langhooks-def.h, langhooks.c: Adjust.
7018         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
7019         a decl with no DECL_INITIAL.
7020
7021         * expr.c (expand_expr): Don't discard the target of a call which
7022         returns in memory.
7023
7024 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
7025
7026         * cppinit.c (path_include): Take an environment variable name.
7027         Tidy up.
7028         (init_standard_includes): Simplify environment handling, and
7029         move to ...
7030         (cpp_read_main_file): ...here as -nostdinc should not affect
7031         environment variable paths.
7032
7033 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7034
7035         * pa.c (output_millicode_call): Correct typo.
7036         (output_call): Likewise.
7037
7038 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
7039
7040         * config/mn10300/mn10300.c (print_operand) <case N>: Check
7041         operand's range.  Print value directly, without aid from
7042         output_address.
7043         <case U>: New.
7044         <case S>: Make sure argument to fprintf has the right type.
7045         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
7046         (EXTRA_CONSTRAINT): Adjust.
7047         * config/mn10300/mn10300.md: Add new all-QImode pattern for
7048         bclr.  Use %U for immediate operands of bset and bclr.
7049         (iorqi3): New expand, with insns for AM33 and mn10300.
7050
7051 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
7052
7053         * sh.c (sh_register_operand): New function.
7054         (prepare_move_operands): Use it.
7055         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
7056         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
7057         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
7058         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
7059         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
7060         (movv2si_i): Likewise.
7061
7062 2002-12-13  Jim Wilson  <wilson@redhat.com>
7063
7064         * doc/extend.texi (Complex Numbers): Update info on debug info.
7065
7066 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
7067
7068         * config/h8300/h8300.md (addhi3_h8300): Remove the last
7069         alternative.
7070
7071 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7072
7073         * hooks.h (hook_tree_tree_bool_false): Declare
7074         hook_bool_tree_tree_false instead.
7075
7076 2002-12-12  Devang Patel  <dpatel@apple.com>
7077
7078         * doc/invoke.texi: Document Darwin linker options, -bundle
7079         -bind_at_load, -all_load and -arch_errors_fatal
7080
7081 2002-12-12  Jim Wilson  <wilson@redhat.com>
7082
7083         * dbxout.c (dbxout_fptype_value): New.
7084         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
7085
7086 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7087
7088         * c-decl.c: Fix a comment typo.
7089         * cfg.c: Likewise.
7090         * cfgcleanup.c: Likewise.
7091         * cfglayout.c: Likewise.
7092         * cfgrtl.c: Likewise.
7093         * c-typeck.c: Likewise.
7094         * dominance.c: Likewise.
7095         * dwarf2asm.c: Likewise.
7096         * dwarfout.c: Likewise.
7097         * expmed.c: Likewise.
7098         * expr.c: Likewise.
7099         * final.c: Likewise.
7100         * flow.c: Likewise.
7101         * function.c: Likewise.
7102         * gcc.c: Likewise.
7103         * genautomata.c: Likewise.
7104         * integrate.c: Likewise.
7105         * loop.c: Likewise.
7106         * loop.h: Likewise.
7107         * output.h: Likewise.
7108         * profile.c: Likewise.
7109         * ra.h: Likewise.
7110         * reload1.c: Likewise.
7111         * reload.c: Likewise.
7112         * sched-rgn.c: Likewise.
7113         * stmt.c: Likewise.
7114         * tree.h: Likewise.
7115         * vmsdbgout.c: Likewise.
7116
7117 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7118
7119         * config/h8300/h8300.md: Add a new peephole2.
7120
7121 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7122
7123         * config/h8300/h8300.md (a peephole2): Accept a constant
7124         that's accepted by CONST_OK_FOR_J.
7125
7126 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7127
7128         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
7129         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
7130         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
7131         (*addhi_h8300hs): Likewise.
7132
7133 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
7134
7135         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
7136         (sh_register_move_cost): Add clause for SImode fp-fp moves.
7137         Increase cost for moves involving multiple general purpose registers.
7138         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
7139         TARGET_FMOVD.
7140         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
7141         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
7142         (enum reg_class reg_class_from_letter): No longer const.
7143         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
7144         REGCLASS_HAS_GENERAL_REG.
7145         Handle SImode moves from/to fp registers.
7146         ! TARGET_SHMEDIA && TARGET_FMOVD.
7147         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
7148         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
7149
7150 2002-12-12  Andreas Schwab  <schwab@suse.de>
7151
7152         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
7153         change and some warnings.
7154
7155 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7156
7157         * doc/md.texi (pushm): Fix a typo.
7158
7159 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
7160
7161         * config/mips/mips.c (mips_output_conditional_branch): Support
7162         PIC-safe out-of-range branch and branch-likely.
7163         * config/mips/mips.md (attr length): PIC-safe out-of-range
7164         branches are longer.
7165         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
7166         unused code to support indirect jumps.
7167
7168 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
7169
7170         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
7171         $(tm_file_list).
7172
7173 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
7174
7175         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
7176
7177 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
7178
7179         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
7180
7181 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7182
7183         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
7184         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
7185         BIGGEST_ALIGNMENT.
7186         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
7187         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
7188
7189 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7190
7191         * doc/invoke.texi: Correct dump file names.
7192
7193 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7194
7195         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
7196         name to globalize_label or assemble_name.
7197
7198 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
7199
7200         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
7201         if not TARGET_SHMEDIA.
7202
7203 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
7204
7205         * sh.h (REG_CLASS_HAS_FP_REG): New.
7206         (REGISTER_MOVE_COST) Use it.  Put body into a function and
7207         move it into:
7208         * sh.c (sh_register_move_cost).
7209         * sh-protos.h (sh_register_move_cost): Declare.
7210
7211         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
7212         (sh_adjust_cost): Always return a value.
7213
7214 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
7215
7216         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
7217         (REGISTER_MOVE_COST): Use it.
7218
7219 2002-12-11  Richard Henderson  <rth@redhat.com>
7220
7221         * tree.h (MODULE_LOCAL_P): Kill.
7222         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
7223
7224 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7225
7226         * config/h8300/h8300.md (two define_peephole2): New.
7227
7228 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7229
7230         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
7231         (CONST_OK_FOR_K): Likewise.
7232         (CONST_OK_FOR_M): Likewise.
7233         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
7234
7235 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
7236
7237         * c-common.c (builtin_define_type_max): Handle unsigned
7238         types too.
7239
7240 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
7241
7242         * haifa-sched.c (rank_for_schedule): Correct style.
7243
7244 2002-12-10  Per Bothner  <pbothner@apple.com>
7245
7246         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
7247         directive_index into an unsigned field and a new is_directive field.
7248         * cppinit.c (mark_named_operators):  Update to set new fields.
7249         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
7250         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
7251         No longer need to subtract 1 from directive_index.
7252         (_cpp_init_directives):  No longer need to add 1 to directive_index.
7253         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
7254
7255 2002-12-10  Roger Sayle  <roger@eyesopen.com>
7256
7257         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
7258         check for evaluating sqrt of a constant at compile time.
7259         * simplify-rtx.c (simplify_unary_operation): Likewise.
7260
7261 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
7262
7263         PR other/8882
7264         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
7265
7266 2002-12-10  Devang Patel  <dpatel@appple.com>
7267
7268         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
7269         * doc/invoke.texi: Add new "Darwin Options" section.
7270
7271 2002-12-10  Jim Wilson  <wilson@redhat.com>
7272
7273         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
7274         memory.
7275
7276 2002-12-10  Andrew Haley  <aph@redhat.com>
7277
7278         * cse.c (cse_insn): Don't cse past a basic block boundary.
7279
7280 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
7281
7282         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
7283         -shared.
7284         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
7285         * config/alpha/linux.h (LIB_SPEC): Likewise.
7286         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
7287         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
7288         * config/sparc/linux.h (LIB_SPEC): Likewise.
7289         * config/sparc/linux64.h (LIB_SPEC): Likewise.
7290
7291 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
7292
7293         * doc/invoke.texi: Document UltraSparc III option.
7294
7295 2002-12-09  Richard Henderson  <rth@redhat.com>
7296
7297         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
7298         __tune_pentium2__ and __tune_pentium3__ as necessary.
7299
7300 2002-12-09  Richard Henderson  <rth@redhat.com>
7301
7302         * target.h (gcc_target): Add cannot_force_const_mem.
7303         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
7304         (TARGET_INITIALIZER): Add it.
7305         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
7306         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
7307         * reload1.c (reload): Likewise.
7308         * hooks.c (hook_bool_rtx_false): New.
7309         * hooks.h: Declare it.
7310
7311         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
7312         (TARGET_CANNOT_FORCE_CONST_MEM): New.
7313         (ix86_expand_move): Remove de-const-pooling hack.
7314
7315 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
7316
7317         * toplev.c (dump_file): Fix order to match reality.
7318
7319 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
7320
7321         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
7322         (store_multiple): Likewise.
7323
7324 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7325
7326         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
7327         function pointers in page 0.
7328
7329 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7330
7331         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
7332         definition
7333         (MEMBER_TYPE_FORCES_BLK): Move.
7334         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
7335         aggregate arguments.
7336         (ia64_function_value): Use PARALLEL to return aggregate values.
7337
7338 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7339
7340         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7341         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7342         * calls.c (store_unaligned_arguments_into_pseudos) Remove
7343         FUNCTION_ARG_REG_LITTLE_ENDIAN.
7344         * stmt.c (expand_return): Ditto.
7345         * expr.c (move_block_from_reg): Ditto.
7346         (copy_blkmode_from_reg): Ditto.
7347         * expmed.c (store_bit_field): Ditto.
7348
7349 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
7350
7351         * config.gcc: Added tic4x-* target as an alias to c4x-*
7352
7353 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
7354
7355         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
7356         constructing insn directly.
7357
7358 2002-12-06  Per Bothner  <pbothner@apple.com>
7359
7360         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
7361         char to an int bit-field, for hosts where char is unsigned.
7362
7363 2002-12-07  Roger Sayle  <roger@eyesopen.com>
7364             Richard Henderson <rth@redhat.com>
7365
7366         * real.c (ieee_extended_motorola_format,
7367         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
7368         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
7369         Provide appropriate values for new signbit field.
7370
7371 2002-12-07  Roger Sayle  <roger@eyesopen.com>
7372
7373         * real.h (real_format): Add signbit field.
7374         * real.c (ieee_single_format, ieee_double_format,
7375         ieee_extended_motorola_format, ieee_extended_intel_96_format,
7376         ieee_extended_intel_128_format, ibm_extended_format,
7377         ieee_quad_format, vax_f_format, vax_d_format,
7378         vax_g_format, i370_single_format, i370_double_format,
7379         c4x_single_format, c4x_extended_format, real_internal_format):
7380         Provide suitable signbit value, or -1 to avoid bit twiddling.
7381
7382         * optabs.c (expand_unop): Try implementing negation of
7383         floating point modes by flipping the sign bit.
7384         (expand_abs): Try implementing abs of floating point modes
7385         by clearing the sign bit.
7386
7387 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7388
7389         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
7390         of constructing insn directly.
7391
7392 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
7393
7394         * config/h8300/h8300.md (*iorhi_shift_8): New.
7395
7396 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
7397
7398         * doc/invoke.texi: Document FRV port options.
7399         * doc/md.texi: Document FRV register classes.
7400
7401 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7402
7403         * doc/install.texi (Configuration): Improve description of cases
7404         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
7405
7406 2002-12-06  Per Bothner  <pbothner@apple.com>
7407
7408         * cpplib.h (NODE_MACRO_ARG):  New flag.
7409         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
7410         Remove value.operator field.  Move arg_index field to value union.
7411         (directive_index):  Make signed, since also used for C++ operators.
7412         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
7413         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
7414         Save node->value, and set node->value.arg_index.
7415         (_cpp_create_definition):  For each paramater, restore node->value.
7416         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
7417         * cpptrad.c (scan_out_logical_line): Likewise.
7418         (scan_out_logical_line): Check for directive > 0.
7419         * cpplib.c (cpp_handle_directive):  Likewise.
7420         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
7421         by negative of directive_index.
7422         * cppinit.c (mark_named_operators):  Likewise.
7423
7424         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
7425
7426 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
7427
7428         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
7429         FPU.
7430         (push): Generate push_fpscr.
7431         (pop): Generate pop_fpscr.
7432         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
7433         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
7434
7435 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
7436
7437         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
7438         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
7439
7440 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7441
7442         * sh.md (movdi_i): Name.  Remove inappropriate comment.
7443
7444 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
7445         Merged from basic improvements branch (excerpt):
7446
7447         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
7448         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
7449
7450 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
7451
7452         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
7453
7454 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
7455
7456         * i386.md (dimode peep2s): Re-add "&& 1".
7457
7458 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
7459
7460         * i386.c (ix86_expand_prologue):  Add comment, do not use
7461         fast prologues for cold and normal functions.
7462
7463 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
7464
7465         * i386.c (x86_rep_movl_optimal): New variable.
7466         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
7467         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
7468
7469         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
7470         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
7471         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
7472         generate unnecesary subregs.
7473
7474 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7475
7476         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
7477         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
7478
7479 2002-12-05  Dale Johannesen  <dalej@apple.com>
7480
7481         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
7482
7483 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
7484
7485         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
7486         PROFILE_HOOK.
7487         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
7488
7489 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
7490
7491         * config/rs6000/spe.h (__ev_mwlufi): Remove.
7492         (__ev_mwlufia): Remove.
7493         (__ev_mwlumfaaw): Remove.
7494         (__ev_mwlusfaaw): Remove.
7495         (__ev_mwlumfanw): Remove.
7496         (__ev_mwlusfanw): Remove.
7497
7498 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
7499
7500         * config/h8300/h8300.md (*andorsi3_shift_8): New.
7501
7502 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
7503
7504         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
7505         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
7506         (get_shift_alg): Return optimal assembly instructions for the
7507         shifts mentioned above.
7508
7509 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
7510
7511         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
7512         condtiional moves.
7513
7514 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7515
7516         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
7517         implement ashiftrt:HI by 13 bits on H8S.
7518
7519 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7520
7521         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
7522         * pa.md (canonicalize_funcptr_for_compare): Output library call to
7523         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
7524         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
7525         CTOR_LIST_BEGIN): New defines.
7526         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
7527         (fptr.c): Add make rules.
7528
7529 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
7530
7531         * combine.c (combine_simplify_rtx): Add new canonicalizations.
7532         * doc/md.texi (Insn Canonicalizations): Document new
7533         canonicalizations for multiply/add combinations.
7534         * config/rs6000/rs6000.md: Add and modify floating add/multiply
7535         patterns to ensure they're used whenever they can be.
7536
7537 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7538
7539         * config/h8300/h8300.c: Update the comments related to shifts.
7540
7541 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
7542
7543         * config/mips/mips.md (get_fnaddr): Correct length attribute.
7544
7545 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7546
7547         * config/h8300/h8300.md (*extzv_8_8): New.
7548         (*extzv_8_16): Likewise.
7549
7550 2002-12-04  Jason Merrill  <jason@redhat.com>
7551
7552         PR c++/8461, c++/8625
7553         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
7554         references.
7555         * tree-inline.c (initialize_inlined_parameters): Likewise.
7556
7557         * tree.c (variably_modified_type_p): Just return an error_mark_node.
7558
7559 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
7560
7561         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
7562         macro instruction in a branch delay slot, to avoid assembler
7563         warnings.
7564
7565 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
7566
7567         PR c/7622
7568         * c-semantics (genrtl_scope_stmt): Do not output inlined
7569         nested functions that contain no code.
7570
7571 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
7572
7573         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
7574         to be forced into nonfallthru.
7575
7576 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
7577
7578         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
7579
7580 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
7581
7582         * config/rs6000/spe.md (*movv1di_const0): New pattern.
7583
7584 2002-12-03  Richard Henderson  <rth@redhat.com>
7585
7586         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
7587
7588 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
7589
7590         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
7591         Initialize tmp.using_obstack to 0.
7592
7593 2002-12-03  Andreas Schwab  <schwab@suse.de>
7594
7595         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
7596         (EH_RETURN_STACKADJ_RTX): Define.
7597         (EH_RETURN_HANDLER_RTX): Define.
7598         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7599         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
7600         registers and don't save fixed registers.
7601         (m68k_output_function_prologue): Use it.
7602         (use_return_insn): Likewise.
7603         (m68k_output_function_epilogue): Likewise.
7604
7605 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
7606
7607         * config/h8300/h8300.c (single_one_operand): Fix a warning.
7608         (single_zero_operand): Likewise.
7609
7610 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7611
7612         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
7613         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
7614         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
7615         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
7616         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
7617         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
7618         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
7619         doc/install-old.texi: Replace hconfig.h with bconfig.h.
7620         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
7621
7622 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
7623
7624         * config/rs6000/rs6000.md (ffssi): Convert to expander.
7625         (ffsdi): Likewise.
7626         (cntlzw2, cntlzd2): New patterns.
7627
7628 2002-12-02  H.J. Lu <hjl@gnu.org>
7629
7630         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
7631         (mips*-*-linux*): Remove mips/t-linux.
7632
7633 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
7634
7635         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
7636
7637 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7638
7639         * config/h8300/h8300.c (dosize): Replace argument op with
7640         sign.
7641         (h8300_output_function_prologue): Update the call to dosize.
7642         (h8300_output_function_epilogue): Likewise.
7643
7644 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
7645
7646         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
7647
7648 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7649
7650         * configure.in: Use "missing" script to generate warning if
7651         flex or bison programs not found, instead of invoking "false".
7652         * configure: Rebuilt.
7653
7654 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
7655
7656         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
7657
7658 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
7659
7660         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
7661
7662 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7663
7664         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
7665         (push): Likewise.
7666         (pop): Likewise.
7667         (h8300_output_function_prologue): Likewise.
7668         (h8300_output_function_epilogue): Likewise.
7669
7670 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
7671
7672         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7673         corresponding mode of non-integer mode, unless it is VOIDmode.
7674
7675 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7676
7677         * config/h8300/h8300.md (stm_h8300s_2): New.
7678         (stm_h8300s_3): Likewise.
7679         (stm_h8300s_4): Likewise.
7680         (five define_peephole2): Likewise.
7681
7682 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7683
7684         * ra-build.c: Fix a comment typo.
7685
7686 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7687
7688         * i386.c (ix86_expand_int_movcc): fix
7689         reversed BRANCH_COST test; be curefull about infinite recursion.
7690
7691 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
7692
7693         * config/h8300/h8300.c (h8300_output_function_prologue):
7694         Remove variable idx.
7695         (h8300_output_function_epilogue): Likewise.
7696
7697 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
7698
7699         * config/frv/xm-frv.h: Delete, unnecessary.
7700
7701 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
7702
7703         * config/h8300/h8300.md: Add comments for define_peephole2.
7704
7705 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
7706
7707         * builtin-types.def (BT_SIZE): Use size_type_node.
7708         * builtins.c (fold_builtin): Make the builtin strlen returns a
7709         size_t, not a sizetype.
7710         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
7711         c_size_type_node.
7712         (c_alignof_expr): Likewise.
7713         (c_common_nodes_and_builtins): Likewise.
7714         * c-common.h (CTI_C_SIZE_TYPE): Remove.
7715         (c_size_type_node): Likewise.
7716         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
7717         * tree.h (TI_SIZE_TYPE): New enumeral.
7718         (size_type_node): Likewise.
7719
7720 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
7721
7722         * configure.in: Don't put ${tm_file} into host_xm_file,
7723         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
7724         Take location of tm-preds.h into account when calculating
7725         tm_p_file_list.
7726         * configure: Regenerate.
7727         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
7728         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
7729         Remove special case code for tm_p.h and *config.h; add new
7730         special case code for tm.h and tconfig.h. Clean up a bit.
7731
7732         * Makefile.in (tm_file, tm_file_list): New variables set from
7733         @-substitutions.
7734         (GCONFIG_H): Deleted.
7735         (GTM_H, TM_H): New.
7736         (CONFIG_H): Is now just config.h $(host_xm_file_list).
7737         (TM_P_H): Move up with the other mkconfig.sh-generated
7738         headers; don't mention tm-preds.h explicitly.
7739         (tm.h, cs-tm.h): New rule.
7740         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
7741         invocations of mkconfig.sh for changes to that program.
7742         (mostlyclean): Delete print-rtl1.c.
7743         (clean): Delete tm.h.
7744         Update dependencies for the files listed below.
7745
7746         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
7747
7748         * coretypes.h: New file.
7749         * system.h: #define malloc to xmalloc and realloc to xrealloc
7750         when FLEX_SCANNER or YYBISON is defined, independent of the
7751         value of GCC_VERSION.
7752         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
7753         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
7754         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
7755         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
7756         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
7757         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
7758         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
7759         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
7760         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
7761         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
7762         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
7763         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
7764         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
7765         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
7766         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
7767         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
7768         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
7769         genconstants.c, genemit.c, genextract.c, genflags.c,
7770         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
7771         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
7772         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
7773         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
7774         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
7775         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
7776         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
7777         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
7778         print-tree.c, profile.c, protoize.c, ra-build.c,
7779         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
7780         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
7781         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
7782         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
7783         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
7784         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
7785         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
7786         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
7787         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
7788         xcoffout.c, config/darwin-c.c, config/darwin.c,
7789         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
7790         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
7791         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
7792         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
7793         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
7794         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
7795         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
7796         config/i960/i960-c.c, config/i960/i960.c,
7797         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
7798         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7799         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
7800         config/mips/irix6-libc-compat.c, config/mips/mips.c,
7801         config/mmix/mmix.c, config/mn10200/mn10200.c,
7802         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
7803         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
7804         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
7805         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
7806         config/sparc/sparc.c, config/stormy16/stormy16.c,
7807         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
7808         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
7809         Include coretypes.h and tm.h.
7810
7811         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
7812         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
7813         genrecog.c: Include coretypes.h and tm.h from the file
7814         generated by this program.
7815
7816         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
7817         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
7818         coretypes.h and tm.h, and tsystem.h when not already included.
7819         No need to include stddef.h nor stdlib.h.
7820
7821         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
7822         include auto-host.h or ansidecl.h/
7823         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
7824         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
7825         include auto-host.h, ansidecl.h, or system.h.
7826         * fixinc/server.c: Likewise.  Also, do not include signal.h,
7827         and do not redefine volatile.
7828
7829 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7830
7831         * i386.md (movdf_integer):  Always enable in 64bit.
7832         (movdf_nointeger): Always disable in 64bit.
7833
7834 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7835
7836         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
7837         pseudo register number plus 1.
7838
7839 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
7840
7841         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7842         corresponding mode of non-integer mode, unless it is VOIDmode.
7843
7844 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
7845
7846         * cpplib.c (_cpp_test_assertion): Default *value to 0.
7847
7848         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
7849
7850 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
7851
7852         * config/s390/t-crtstuff: New target makefile fragment.
7853         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
7854
7855 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7856
7857         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
7858         alternatives to correct the length when the memory operand is
7859         either pre_dec or post_inc.
7860
7861 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7862
7863         * config/h8300/h8300.md (an anonymous pattern): Give an
7864         internal name *tst_extzv_bitqi_1_n.
7865         Accept bit_operand instead of bit_memory_operand.
7866         Do not accept bit tests with the MSB.
7867         (*tst_extzv_memqi_1_n): New.
7868
7869 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
7870
7871         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
7872         sharing when operand is SUBREG.
7873
7874 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
7875
7876         * athlon.md (athlon-decodev): New reservation unit.
7877         (athlon-direct0): New reservation.
7878         (athlon-vector): New use athlon-decodev.
7879         (athlon-double, athlon-direct): Better model.
7880         (athlon_imul_k8): Use athlon-direct0.
7881         (athlon_movlpd_load): New insn reservation.
7882
7883 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7884
7885         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
7886         Fix a comment typo.
7887         (h8300_tiny_constant_address_p): Likewise.
7888
7889 2002-11-28  Michael Matz  <matz@suse.de>
7890
7891         * doc/passes.texi: Mention the other register allocator.
7892
7893 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7894
7895         * config/h8300/h8300.md (6 new peephole2 patterns): New.
7896
7897 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
7898
7899         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
7900         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
7901         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
7902
7903 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7904
7905         * config/h8300/h8300.c (h8300_and_costs): New.
7906         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
7907         * config/h8300/h8300-protos.h: Add a prototype for
7908         h8300_and_costs.
7909
7910 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
7911
7912         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
7913         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
7914         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
7915         * i386.md (truncdfsf patterns and splitters): Use
7916         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
7917
7918 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
7919
7920         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
7921         pointer argument in the prototypes of the following builtins
7922         be (const TYPE *) rather than (TYPE *):
7923          + __builtin_altivec_ld_internal_4sf
7924          + __builtin_altivec_ld_internal_4si
7925          + __builtin_altivec_ld_internal_8hi
7926          + __builtin_altivec_ld_internal_16qi
7927          + __builtin_altivec_lvsl
7928          + __builtin_altivec_lvsr
7929          + __builtin_altivec_lvebx
7930          + __builtin_altivec_lvehx
7931          + __builtin_altivec_lvewx
7932          + __builtin_altivec_lvxl
7933          + __builtin_altivec_lvx
7934          + __builtin_altivec_dst
7935          + __builtin_altivec_dstt
7936          + __builtin_altivec_dstst
7937          + __builtin_altivec_dststt
7938
7939 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7940
7941         * except.c (default_exception_section): Move variable into the
7942         scope where it is used.
7943
7944 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
7945
7946         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
7947         correct version.
7948
7949 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7950
7951         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
7952
7953 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7954
7955         * config/h8300/h8300.c (h8300_shift_costs): New.
7956         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
7957         * config/h8300/h8300-protos.h: Add a prototype for
7958         h8300_shift_costs.
7959
7960 2002-11-27  Jim Wilson  <wilson@redhat.com>
7961
7962         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
7963         in output template.
7964
7965 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
7966
7967         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
7968         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
7969         DLL_IMPORT_EXPORT_PREFIX, not '@'.
7970         (i386_pe_dllimport_name_p): Likewise.
7971         (i386_pe_mark_dllexport): Likewise.
7972         (i386_pe_mark_dllimport): Likewise.
7973         (i386_pe_encode_section_info): Likewise.
7974         (i386_pe_strip_name_encoding): Likewise.
7975
7976 2002-11-27  Richard Henderson  <rth@redhat.com>
7977
7978         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
7979         (nm && NF == 3): Set sawsymbol true.
7980         (END): Exit if no symbols seen.
7981         (output): Fix map syntax error if no globals for the version.
7982
7983 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7984
7985         * builtins.def (DEF_C99_BUILTIN): Fix.
7986
7987 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
7988
7989         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
7990         (all): Add .size and .type information.
7991
7992 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
7993
7994         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
7995         partial_reg_stall target.
7996
7997 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7998
7999         * i386.md (movhicc): Allow general operand.
8000         (movqicc): New expander.
8001         (movqicc_noc): New pattern.
8002         * i386.c (ix86_expand_carry_flag_compare): New function.
8003         (ix86_expand_int_movcc): Optimize harder using sbb; support more
8004         HImode conversion; support QImode conditional moves
8005
8006 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
8007
8008         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
8009         (ix86_expand_prologue): Multiply the count by amount of registers to be
8010         pushed.
8011
8012 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
8013
8014         * i386.c (override_options): Error about wrong -mcpu on x86-64
8015         compilation.
8016
8017 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
8018
8019         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
8020
8021 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
8022
8023         * i386-protos.h (x86_extended_QIreg_mentioned_p,
8024         x86_extended_reg_mentioned_p): Declare.
8025         * i386.c (extended_reg_mentioned_1): New static function.
8026         (x86_extended_QIreg_mentioned_p,
8027         x86_extended_reg_mentioned_p): New global functions.
8028         * i386.h (REX_SSE_REGNO_P): New macro.
8029         * i386.md (prefix_rex): New attribute.
8030         (length attribute): Add rex.
8031
8032 2002-11-26  Andrew Haley  <aph@redhat.com>
8033
8034         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
8035         from_Unwind_Find_Enclosing_Function.
8036         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
8037         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
8038         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
8039         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
8040         * unwind.h (_Unwind_FindEnclosingFunction): Add.
8041
8042 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
8043
8044         * config/s390/s390.c (390_output_constant_pool): Set alignment
8045         before label in 64 bit mode, behind otherwise.
8046
8047 2002-11-26  Richard Henderson  <rth@redhat.com>
8048
8049         * c-common.c (handle_visibility_attribute): Accept "default".
8050         * tree.h (enum symbol_visibility): New.
8051         (decl_visibility): Declare.
8052         * target.h (gcc_target.visibility): Take visibility arg as integer.
8053         * varasm.c (default_assemble_visibility): Likewise.
8054         (decl_visibility): New.
8055         (maybe_assemble_visibility): Use it.
8056         * output.h (default_assemble_visibility): Update prototype.
8057         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
8058         visibility arg as integer.
8059         * doc/extend.texi: Document default visibility.
8060
8061 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
8062
8063         * config/h8300/h8300.c: Adjust spacing.
8064         * config/h8300/h8300.h: Likewise.
8065
8066 2002-11-26  Richard Henderson  <rth@redhat.com>
8067
8068         * hooks.c (hook_bool_void_false, hook_void_tree_int,
8069         hook_void_FILEptr_constcharptr): Rename so that the return
8070         type is first.
8071         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
8072         hook_bool_tree_false): New.
8073         * hooks.h: Update.
8074         * langhooks-def.h: Update for renames.
8075         * target-def.h: Likewise.
8076         * tree.c (default_comp_type_attributes,
8077         default_set_default_type_attributes, default_insert_attributes,
8078         default_function_attribute_inlinable_p,
8079         default_ms_bitfield_layout_p): Remove.
8080         * tree.h: Update.
8081
8082 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8083
8084         * pa-protos.h (function_value): New prototype.
8085         * pa.c (function_value): Use a PARALLEL to return small aggregates on
8086         TARGET_64BIT.
8087         * pa.h (FUNCTION_VALUE): Use function_value.
8088         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
8089         call_value_internal_reg, sibcall_value_internal_symref,
8090         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
8091         value.
8092
8093 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8094
8095         * expr.c (gen_group_rtx, emit_group_move): New functions.
8096         * expr.h (gen_group_rtx, emit_group_move): Prototype.
8097         * function.c (expand_function_start): Use gen_group_rtx to create a
8098         PARALLEL rtx to hold the return value when the real return rtx is a
8099         PARALLEL.
8100         (expand_function_end): Use emit_group_move to move the return value
8101         from a PARALLEL to the real return registers.
8102         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
8103         in PARALLELs.
8104
8105 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
8106
8107         * config/t-libc-ok: Fix typo.
8108
8109 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
8110
8111         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
8112         before AC_PROG_CC.
8113         * configure: Rebuilt.
8114
8115 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
8116
8117         * c-decl.c: (start_struct): Commonize flag setting.
8118
8119 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
8120
8121         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
8122         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
8123         RS6000_CPU_CPP_ENDIAN_BUILTINS.
8124         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
8125
8126 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
8127
8128         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
8129         insns.
8130         * config/s390/s390.c (struct machine_function): Introduction of
8131         struct machine_function.
8132         (s390_output_symbolic_const): Use of cfun.
8133         (s390_optimize_prolog): Likewise.
8134         (s390_fixup_clobbered_return_reg): Likewise.
8135         (s390_frame_info): Likewise.
8136         (s390_emit_prologue, s390_emit_epilogue): Likewise.
8137         (s390_init_machine_status): New function.
8138         (override_options): call s390_init_machine_status.
8139         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
8140         prototype.
8141
8142 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
8143
8144         * varasm.c (output_constant_pool): For pool constants in mergeable
8145         section ensure each constant is padded to multiple of entity size.
8146
8147 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
8148
8149         * varasm.c (default_exception_section): Move to...
8150         * except.c (default_exception_section): ... here. Make
8151         .gcc_except_table read-only if it is not expected to have any
8152         dynamic relocations and linker handles it.
8153         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
8154         if it is not expected to have any dynamic relocations and linker
8155         handles it.
8156         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
8157         when linking read-only and read-write sections together.
8158         * configure, config.in: Rebuilt.
8159         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
8160         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
8161
8162 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
8163
8164         * i386.md (pushsf_rex64): Fix typo.
8165
8166 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
8167
8168         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
8169         new function.
8170         (__ev_create_ufix32_fs): Same.
8171         (__ev_get_sfix32_fs_internal): New.
8172         (__ev_get_sfix32_fs): Define to use function.
8173         (__ev_get_ufix32_fs_internal): New.
8174         (__ev_get_ufix32_fs): Define to use function.
8175         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
8176         (__ev_get_lower_ufix32_fs): Same.
8177         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
8178         (__ev_get_lower_sfix32_fs): Same.
8179         (__ev_set_sfix32_fs_internal): New.
8180         (__ev_set_ufix32_fs_internal): New.
8181         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
8182         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
8183         (__ev_set_upper_sfix32_fs): Call function.
8184         (__ev_set_lower_sfix32_fs): Same.
8185         (__ev_set_upper_ufix32_fs): Same.
8186         (__ev_set_lower_ufix32_fs): Same.
8187
8188 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
8189
8190         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
8191
8192 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8193
8194         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
8195         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8196         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8197         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
8198         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
8199         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8200         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
8201         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
8202         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8203         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8204         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
8205         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
8206         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
8207         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8208         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
8209         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
8210         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
8211         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
8212         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
8213         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
8214         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8215         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
8216         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
8217         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
8218         defining.
8219         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
8220         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
8221
8222 2002-11-25  Dave Pitts  <dpitts@cozx.com>
8223
8224         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
8225
8226 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
8227
8228         * config/h8300/h8300.md (an anonymous pattern): New.
8229
8230 2002-11-25  Richard Henderson  <rth@redhat.com>
8231
8232         * alias.c (find_base_value): Use new_reg_base_value if it's live.
8233         (copying_arguments): Make boolean.
8234
8235 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8236
8237         * gcc.c (static_spec_functions): Add if-exists-else spec
8238         function.
8239         (if_exists_else_spec_function): New function.
8240         * doc/invoke.texi: Document the if-exists-else spec function.
8241
8242         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
8243         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
8244
8245 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8246
8247         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
8248         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
8249         "${tmake_file} rs6000/t-netbsd".
8250         * config/rs6000/netbsd.h: Rewrite.
8251         * config/rs6000/t-netbsd: New file.
8252
8253 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
8254
8255         * config/h8300/h8300.md (an anonymous pattern): Relax the
8256         condition for the pattern.
8257
8258 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
8259
8260         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
8261         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
8262         evmwlssfanw, evmwlsmfanw.
8263
8264         * config/rs6000/rs6000.c (bdesc_2arg): Same.
8265
8266         * config/rs6000/spe.md: Same for patterns.
8267
8268 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
8269
8270         PR c/8639
8271         * fold-const.c (extract_muldiv): Don't propagate division unless
8272         both arguments are multiples of C.
8273
8274 2002-11-25  Andrew Haley  <aph@redhat.com>
8275
8276         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
8277         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
8278         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
8279         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
8280
8281 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
8282
8283         * i386.c (x86_use_ffreep): New global variable.
8284         * i386.h (x86_use_frfeep): Declare
8285         (TARGET_USE_FFREEP): New macro
8286         * i386.md  (movs?f*): Use freep when asked for.
8287         (push?f): Remove dead code.
8288
8289 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
8290
8291         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
8292         target help message.
8293
8294 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8295
8296         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
8297         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
8298         crtbeginT.o".
8299         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
8300         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
8301         to "" for a.out configurations.
8302         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
8303
8304 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8305
8306         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
8307         NETBSD_CPP_SPEC directly.
8308         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
8309         netbsd_endfile_spec.
8310         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
8311
8312 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8313
8314         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
8315         NETBSD_STARTFILE_SPEC.
8316         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
8317         (ENDFILE_SPEC): Likewise.
8318         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
8319
8320 2002-11-24  Andreas Schwab  <schwab@suse.de>
8321
8322         * Makefile.in (install-driver): Remove versioned link before
8323         trying to create it.
8324
8325         * config/m68k/m68k.c: Fix typo in last change defining
8326         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
8327
8328 2002-11-23  H.J. Lu <hjl@gnu.org>
8329
8330         * aclocal.m4: Include ../config/accross.m4.
8331         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
8332         (gcc_AC_C_COMPILE_ENDIAN): Removed.
8333         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
8334         instead of $ac_cv_c_compile_endian.
8335
8336         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
8337         AC_COMPILE_CHECK_SIZEOF.
8338         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
8339         * configure: Rebuild.
8340
8341 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
8342
8343         * config/h8300/h8300.c (print_operand): Update the use of
8344         h8300_tiny_constant_address_p.
8345         (h8300_adjust_insn_length): Likewise.
8346         (h8300_tiny_constant_address_p): Check if the given rtx is a
8347         variable declared with __attribute__ ((tiny_data)).
8348
8349 2002-11-22  Dale Johannesen  <dalej@apple.com>
8350
8351         * toplev.c (rest_of_compilation):  Fix comments.
8352
8353 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
8354
8355         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
8356         allow mmap from /dev/zero.  Don't make decisions for the host
8357         based on presence or absence of /dev/zero on the build machine.
8358         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
8359         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
8360         * configure: Regenerate.
8361
8362 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
8363
8364         * gcc.c (make_relative_prefix, split_directories)
8365         (free_split_directories): Removed.
8366
8367 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
8368
8369         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
8370         * configure: Regenerated.
8371
8372 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
8373
8374         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
8375         length computation when xor.l is output.
8376
8377 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
8378
8379         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
8380         (call_vms_1, call_value_vms_1): Cleanup syntax.
8381
8382 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
8383
8384         * athlon.md (define_atuomaton): Add athlon_load.
8385         (athlon-double): New reservation.
8386         (athlon-ieu0): New CPU unit.
8387         (athlon-load?): Use athlon_load automaton.
8388         (*_k8 reservations): New.
8389         (other insn revervations): Activate for K8.
8390
8391 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
8392
8393         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
8394
8395 2002-11-21  Jim Wilson  <wilson@redhat.com>
8396
8397         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
8398         vectors to SI.
8399
8400 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
8401
8402         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
8403         * config/xtensa/xtensa.c (struct machine_function): Add
8404         incoming_a7_copied flag.
8405         (xtensa_copy_incoming_a7): Define.
8406         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
8407         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
8408
8409 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
8410
8411         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
8412         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
8413         x86_64_nonmemory_operand, x86_64_movabs_operand,
8414         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
8415         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
8416         (local_symbolic_operand): Do not care the 64bit limits.
8417         (x86_64_sign_extended_value): Remove allow_rip support.
8418         (legitimate_pic_address_disp_p): Handle all cases allowed
8419         with RIP addressing.
8420         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
8421         (legitimize_pic_address): Reorganize.
8422         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
8423
8424 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8425
8426         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
8427         * config/arm/netbsd-elf.h: New file.
8428
8429 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8430
8431         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
8432         subtarget_asm_float_spec.
8433         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
8434         defaults from...
8435         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
8436
8437 2002-11-21  Nick Clifton  <nickc@redhat.com>
8438
8439         * config/fr30/fr30.md (movsf_constant_store): Move code to
8440         detect 0.0 into fr30.c.
8441         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
8442         Prototype.
8443         * config/fr30/fr30.c (fr30_const_double_is_zero): New
8444         function.  Return true if the rtx is 0.0.
8445
8446 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8447
8448         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
8449         if -mlittle-endian is specified.
8450
8451 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
8452
8453         PR optimization/2903
8454         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
8455         (anddi_notsesidi_di): Likewise.
8456
8457 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
8458
8459         * config/h8300/h8300.c (print_operand): Use
8460         h8300_eightbit_constant_address_p and
8461         h8300_tiny_constant_address_p.
8462         (h8300_adjust_insn_length): Likewise.
8463         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
8464         (TINY_CONSTANT_ADDRESS_P): Likewise.
8465         (OK_FOR_U): Use eightbit_constant_address_p.
8466
8467 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
8468
8469         * config/s390/libgcc-libc.ver: Add multilib support.
8470         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
8471         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
8472         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
8473         EXTRA_MULTILIB_PARTS): Define.
8474
8475 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
8476
8477         * arm.c (arm_get_frame_size): A leaf function does not need its
8478         stack padding to an aligned boundary if it has no frame.
8479         (thumb_get_frame_size): Likewise.
8480
8481 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
8482
8483         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
8484         (override_options): Likewise.
8485
8486 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
8487
8488         * config.gcc: Add k8 target alias support
8489         * i386.c (_cost): Declare costs for various variants of divides and
8490         multiplies.
8491         (k8_cost): New.
8492         (m_K8, m_ATHLON_K8): New macros.
8493         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
8494         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
8495         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
8496         x86_integer_DFmode_moves, x86_partial_reg_dependency,
8497         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
8498         x86_prologue_using_move, x86_epilogue_using_move,
8499         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
8500         x86_sse_typeless_stores): Set for K8
8501         (override_options): Add k8 support; fix athlon alignment;
8502         complain about non-x86-64 capable CPU being used in x86-64 compilation.
8503         (ix86_issue_rate): Set for K8.
8504         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
8505         x86_machine_dependent_reorg): Handle K8 like
8506         * i386.h
8507         (x86_costs):  Change mult_init and divide into array.
8508         (TARGET_K8, TARGET_ATHLON): New macros.
8509         (MODE_INDEX): New macro.
8510         (RTX_COST): Use new costs.
8511         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
8512         (TARGET_CPU_DEFAULT_NAMES): Add k8
8513         (TARGET_CPU_DEFAULT_k8): New constant
8514         (enum processor_type): Add PROCESSOR_K8.
8515         * i386.md (cpu attribute): Add k8.
8516
8517         * invoke.texi: Document -march=k8.
8518
8519         * i386.md (type attribute): Add leave
8520         (mode attribute): Remove unknownfp.
8521         (length_immediate, modrm, memory attributes): Handle leave correctly.
8522         (fp comparison patterns): Determine FP mode.
8523         (leave, leave_rex64): Remove special cases.
8524         * ppro.md (ppro_uops, ppro_p2): Add leave
8525         * pentiun.md (pent_pop): Handle leave too.
8526         * k6.md (k6_load): Handle leave.
8527         * athlon.md (athlon_leave, athlon_pop): Fix.
8528         (athlon_decode): Handle leave.
8529
8530 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
8531
8532         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
8533         to component type using GET_MODE_INNER.
8534         * expr.c (emit_move_insn_1): Ditto.
8535         * optabs.c (expand_binop): Ditto.
8536         (expand_unop): Ditto.
8537         (expand_complex_abs): Ditto.
8538
8539 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
8540
8541         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
8542
8543 2002-11-20  DJ Delorie  <dj@redhat.com>
8544
8545         * config/stormy16/stormy16.c (s16builtins,
8546         xstormy16_init_builtins, xstormy16_expand_builtin): New.
8547         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
8548
8549 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
8550
8551         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
8552         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
8553         (executing gencheck, genconfigs, genconditions, genflags,
8554         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
8555         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
8556         gengtype, genprotos): Prepend $(RUN_GEN).
8557         * configure.in: Move host compiler tests before --enable-checking
8558         tests.
8559         (--enable-checking=valgrind): New.
8560         * config.in, configure: Regenerate.
8561         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8562         Define as empty.
8563         (read_include_file): When doing the mmap+1 trick,
8564         valgrind-annotate the byte after the mmap:ed area as readable.
8565         (purge_cache): Remove above annotation.
8566         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
8567         VALGRIND_PATH -q to each command.
8568
8569         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8570         Define as empty.
8571         (ggc_realloc): Update valgrind annotations.
8572         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8573         Define as empty.
8574         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
8575         valgrind-annotate memory.
8576
8577 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
8578
8579         * recog.c (constrain_operands): Prefer exact match over reloadable
8580         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
8581
8582         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
8583         operands in Pmode.
8584
8585 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
8586
8587         PR c/8518
8588         * c-decl.c (duplicate_decls): Outline the second definition
8589         of an extern inline function in all cases.
8590
8591 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8592
8593         * stor-layout.c (place_field): Update rli->offset as well as
8594         rli->bitpos.
8595
8596 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8597
8598         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
8599
8600 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8601
8602         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
8603         into a libcall block.
8604         (divsi3): Likewise divsi3_i4_media.
8605
8606 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8607
8608         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
8609         out another register.
8610
8611 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
8612
8613         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
8614         (not just mask) are set in C.
8615
8616 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
8617
8618         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
8619
8620 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8621
8622         * profile.c (index_counts_file): Fix obvious mistake.
8623
8624 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8625
8626         * Makefile.in (profile.o): Add hashtab.h dependency.
8627         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
8628         * profile.c: Include hashtab.h.
8629         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
8630         cleanup_counts_index, index_counts_file, struct section_reference,
8631         struct da_index_entry, counts_file_name, counts_file_index): New.
8632         (get_exec_counts, init_branch_prob): Modified.
8633
8634 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
8635
8636         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
8637         to tmake_file. Remove setting gas and gnu_ld here.
8638         * config/sh/libgcc-glibc.ver: New file.
8639         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
8640         (SHLIB_MAPFILES): New.
8641         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
8642         (MD_STARTFILE_PREFIX): Likewise.
8643         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
8644         (DWARF2_UNWIND_INFO): Redefine.
8645         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8646         (LINK_EH_SPEC): Redefine.
8647         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
8648         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
8649         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
8650         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
8651         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
8652         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
8653         SH_DWARF_FRAME_FPSCR): Likewise.
8654         * config/sh/sh-protos.h (sh_set_return_address): Declare.
8655         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
8656         registers if the current function calls EH return.
8657         (sh_expand_epilogue): Handle EH stack adjustments.
8658         (sh_set_return_address): New function.
8659         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
8660         Don't abort even if the number is mapped to -1.
8661         (EH_RETURN_DATA_REGNO): Define.
8662         (EH_RETURN_STACKADJ_RTX): Define.
8663         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
8664         (eh_return): New pattern.
8665         (eh_set_ra_di, eh_set_ra_si): Likewise.
8666         Add splitter to perform EH return after reload.
8667
8668 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
8669
8670         * stor-layout.c (excess_unit_span): New function.
8671         (place_field): Use it.
8672
8673 2002-11-19  Andreas Schwab  <schwab@suse.de>
8674
8675         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
8676         not valid in C++.
8677
8678 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
8679
8680         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
8681         * configure: Regenerate.
8682
8683 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
8684
8685         * convert.c (strip_float_extensions): New function.
8686         (convert_to_real): Optimize some cases.
8687
8688 2002-11-19  Andreas Jaeger  <aj@suse.de>
8689
8690         * loop.c (record_giv): Initialize not_replaceable.
8691         (check_final_value): Likewise.
8692
8693 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8694
8695         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
8696         MASK_H8300S.
8697
8698 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
8699
8700         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
8701         only if -mh or -ms present.
8702         (h8300_eightbit_constant_address_p): Support the normal mode.
8703         (h8300_tiny_constant_address_p): Likewise.
8704         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
8705         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
8706         (Pmode): Evaluate to HImode for the normal mode.
8707         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
8708         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
8709         (ASM_WORD_OP): Evaluate to word for the normal mode.
8710         * config/h8300/h8300.md (tablejump_normal_mode): New.
8711         (indirect_jump_normal_mode): New.
8712         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
8713         directory.
8714         (MULTILIB_DIRNAMES): Create target dependent directory
8715         'normal'.
8716         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
8717         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
8718
8719 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
8720
8721         * i386.md (length_immediate): Do not refer to insn address.
8722         (jcc*, jmp patterns):  Compute length explicitly.
8723
8724 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
8725
8726         PR c/8588
8727         * optabs.c (expand_binop): Convert CONST_INTs in shift
8728         operations too.
8729
8730 2002-11-19  Roger Sayle  <roger@eyesopen.com>
8731
8732         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
8733
8734 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8735
8736         * config/h8300/h8300.md (an anonymous pattern): Relax the
8737         condition to accept the same operands and/or subregs.
8738
8739 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
8740
8741         * config/sh/sh.c (gen_shl_and): Revert previous patch.
8742         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
8743         reload_completed.
8744
8745 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8746
8747         * config/h8300/h8300.c (print_operand): Update the use of
8748         EIGHTBIT_CONSTANT_ADDRESS_P.
8749         (h8300_adjust_insn_length): Likewise.
8750         (h8300_eightbit_constant_address_p): Check if the given rtx is
8751         a variable with __attribute__((eightbit_data)).
8752         * config/h8300/h8300.h (OK_FOR_U): Update the use of
8753         EIGHTBIT_CONSTANT_ADDRESS_P.
8754
8755 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8756
8757         * doc/contrib.texi (Contributors): Add self as second contact in
8758         addition to Jeff Law.
8759
8760 2002-11-19  Andreas Jaeger  <aj@suse.de>
8761
8762         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
8763         find_alloca_call to right place.
8764
8765 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8766
8767         * cppfiles.c: Fix formatting.
8768
8769 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
8770
8771         * gcc.c (The Specs Language): Document spec functions.
8772         (static_spec_functions, lookup_spec_function)
8773         (eval_spec_function, handle_spec_function)
8774         (if_exists_spec_function, alloc_args): New.
8775         (execute): Abort if processing_spec_function is true.
8776         (do_spec_1): Hand off spec to handle_spec_function if %:
8777         is encountered.  If processing_spec_function is true,
8778         end any pending argument when the end of the string is reached.
8779         (main): Use alloc_args to allocate the initial argument vector.
8780         * gcc.h (struct spec_function): New.
8781         (lang_specific_spec_functions): New extern.
8782
8783         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
8784         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
8785         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
8786
8787         * doc/invoke.texi: Document spec functions.
8788
8789         * cppspec.c (lang_specific_spec_functions): New.
8790         * gccspec.c: Likewise.
8791
8792 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
8793
8794         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
8795         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
8796         (fixunstfsi_libfunc): Change.
8797         (fixunstfdi_libfunc): Change.
8798         (sdiv_optab): Don't zero out SImode handler.
8799         (udiv_optab): Don't zero out SImode handler.
8800         (smod_optab): Don't zero out SImode handler.
8801         (umod_optab): Don't zero out SImode handler.
8802
8803 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
8804
8805         PR preprocessor/8524
8806         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
8807         Add a new one in its place, which hopefully works.
8808         (skip_rest_of_line): Change test for bottom-of-context-stack.
8809
8810 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
8811
8812         * i386.md (addqi_1_slp): Fix output template.
8813         (subqi_1_slp): Fix type.
8814
8815 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
8816
8817         * calls.c (alloca_call_p): New global function.
8818         * tree.h (alloca_call_p): New.
8819         * tree-inline.c (inlinable_function_p):  Do not inline when
8820         function calls alloca.
8821         (find_alloca_call, find_alloca_call_1): New functions.
8822
8823 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
8824
8825         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
8826         bst.  Update the insn length.
8827         (*andorhi3): Likewise.
8828         (*andorsi3): Likewise.
8829
8830 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8831
8832         * config/sh/sh-protos.h (sh_mark_label): Declare.
8833         * config/sh/sh.c (sh_mark_label): New function, taken from
8834         movdi_const, but fixing the case when the address has an addend.
8835         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
8836
8837 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8838
8839         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
8840         (add_constant): Set it.
8841         (dump_table): Don't reorder a constant if part_of_sequence_p.
8842         (machine_dependent_reorg): Assume that float constants will
8843         stay in their original order if used as a sequence.
8844
8845 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8846
8847         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
8848         in compact code.
8849
8850 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8851
8852         * config/sh/sh.md (initialize_trampoline): Do not force the
8853         trampoline address into R0_REGS here.
8854
8855 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
8856
8857         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
8858         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
8859         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
8860         generate unnecesary subregs.
8861
8862 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8863
8864         * df.c: Fix formatting.
8865
8866 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8867
8868         * config/h8300/h8300.md (two anonymous patterns): Fix insn
8869         lengths.
8870
8871 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
8872
8873         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
8874         is not an arith_reg_operand.
8875
8876 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
8877
8878         * real.c (real_to_decimal): Fix buffer overrun when buffer size
8879         is smaller than representation.
8880
8881 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8882
8883         * builtins.c: Fix formatting.
8884
8885 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
8886
8887         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
8888         floats?dff2_i387):
8889         Work around regclass stupidity.
8890         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
8891
8892 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
8893
8894         * i386.md (fop_df_6): New pattern.
8895         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
8896         (fop_xf_6): Rewrite
8897         (fop_xf_7): Delete.
8898         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
8899         (fop_tf_6): Rewrite
8900         (fop_tf_7): Delete.
8901
8902 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8903
8904         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
8905
8906 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8907
8908         * config/h8300/h8300.md: Fix formatting.
8909
8910 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8911
8912         * config/h8300/h8300.md: Replace spaces with tabs.
8913         * config/h8300/t-h8300: Remove a trailing empty line.
8914
8915 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8916
8917         * tlink.c: Fix formatting.
8918
8919 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
8920
8921         PR 8362
8922         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
8923         * config/rs6000/rs6000.md (movti_string): Remove output modifier
8924         when scratch register never needed.
8925         (ldmsi[3-8]): New patterns.
8926
8927 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8928
8929         * hard-reg-set.h: Follow spelling conventions.
8930         * real.c: Likewise.
8931         * target.h: Likewise.
8932
8933 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
8934
8935         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
8936
8937 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8938
8939         * optabs.c: Fix formatting.
8940
8941 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
8942
8943         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
8944         * i386.md (attribute type): Add type shift1 and rotate1.
8945         (*_slp): Rewrite to have just two operands to avoid reload problems.
8946
8947 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
8948
8949         * config/h8300/h8300.md (4 anonymous patterns): New.
8950
8951 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
8952
8953         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
8954         * doc/invoke.texi: Correct description of what needs to be done to
8955         force collection at every ggc_collect call.
8956
8957 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8958
8959         * config/s390/s390.c (optimization_options): Set
8960         flag_asynchronous_unwind_tables to 1 by default.
8961
8962 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8963
8964         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8965
8966 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
8967
8968         * i386-protos.h (x86_function_profiler): New function
8969         * i386.h (MCOUNT_NAME): New.
8970         (PROFILE_COUNT_REGISTER): New.
8971         (FUNCTION_PROFILER): Move offline to ...
8972         * i386.c (x86_function_profiler) ... here; fix 64bit support
8973         * beos-elf.h (FUNCTION_PROFILER): Kill.
8974         (MCOUNT_NAME): New.
8975         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
8976         (MCOUNT_NAME): New.
8977         (PROFILE_COUNT_REGISTER): New.
8978         * linux.h (FUNCTION_PROFILER): Kill.
8979         (MCOUNT_NAME): New.
8980         * x86-64.h (FUNCTION_PROFILER): Kill.
8981         (MCOUNT_NAME): New.
8982         * freebsd.h (FUNCTION_PROFILER): Kill.
8983         (MCOUNT_NAME): New.
8984
8985 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
8986
8987         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
8988         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
8989         * config/arm/arm.c (arm_va_arg,
8990         arm_function_arg_pass_by_reference): New.
8991         * config/arm/arm-protos.h: Add prototypes.
8992
8993 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
8994
8995         * gthr-single.h: Fix formatting.
8996
8997 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
8998
8999         * tree.c (tree_vec_elt_check_failed): New function.
9000         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
9001         (TREE_VEC_ELT): Use it.
9002
9003         * tree-inline.c (optimize_inline_calls): Don't copy a
9004         zero-length vector.
9005
9006 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9007
9008         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
9009
9010 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
9011
9012         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
9013         both operands contain local relocations.
9014         (categorize_decl_for_section): Don't use mergeable sections if
9015         initializer has any relocations.
9016
9017 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
9018
9019         * gthr-vxworks.h: Fix formatting.
9020
9021 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
9022
9023         * doc/install.texi (Testing): Document extra Java testing.
9024         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
9025
9026 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9027
9028         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
9029         beginning of the spec.
9030         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
9031         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
9032         regarding problems with global constructors when using GNU ld.
9033
9034 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
9035
9036         * gthr-solaris.h: Fix formatting.
9037
9038 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
9039
9040         * gthr-posix.h: Fix formatting.
9041
9042 2002-11-12  Devang Patel <dpatel@apple.com>
9043         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
9044         (process_command): Same.
9045         * doc/invoke.texi: Info about these two new options.
9046
9047 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9048
9049         * config/h8300/h8300.md (*andorsi3): New.
9050
9051 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9052
9053         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
9054
9055 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9056
9057         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
9058         expressions appropriately.
9059
9060 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9061
9062         * gthr-win32.h: Fix formatting.
9063
9064 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9065
9066         * config/h8300/h8300.c (single_one_operand): Correctly compute
9067         mask when mode is SImode.
9068         (single_zero_operand): Likewise.
9069         * config/h8300/h8300.md (two new anonymous insns): New.
9070
9071 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9072
9073         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
9074         to that entire project.
9075
9076 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9077
9078         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
9079         directories.
9080
9081 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
9082
9083         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
9084         * doc/invoke.texi: Document them.
9085
9086         * ggc-page.c: Include params.h.  Remove definitions of
9087         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
9088         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
9089         (init_gcc): Don't set G.allocated_last_gc here.
9090         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
9091         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
9092         perform collection.
9093         * ggc-simple.c: Similarly.
9094         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
9095         dependencies.
9096
9097 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
9098
9099         * gthr-dce.h: Fix formatting.
9100
9101 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9102
9103         PR c/8467
9104         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
9105         mode of DECL_RTL case.
9106
9107 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
9108
9109         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
9110
9111 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
9112
9113         * i386.c (construct_container): Fix handling of SSE_CLASS.
9114
9115 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
9116
9117         * config/m68k/t-crtstuff (crti.o): Use this...
9118         ($(T)crti.o): ... instead.
9119         (crtn.o): Use this...
9120         ($(T)crtn.o): ... instead.
9121
9122 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
9123
9124         PR c/8439
9125         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
9126         if there is something new to be simplified.
9127
9128 2002-11-10  H.J. Lu <hjl@gnu.org>
9129
9130         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
9131         * expr.c (PUSH_ARGS_REVERSED): Likewise.
9132
9133         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
9134
9135 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
9136
9137         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
9138         * config/rs6000/linux.h, config/rs6000/linux64.h,
9139         config/rs6000/windiss.h: ... not here.
9140
9141 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
9142
9143         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
9144         __ABICALLS__ if TARGET_ABICALLS.
9145
9146 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
9147
9148         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
9149
9150 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
9151
9152         * c-decl.c (grokdeclarator): Make error for duplicate type
9153         qualifiers into a pedwarn, disabled for C99.
9154
9155 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
9156
9157         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
9158         as FUNCTION_ARG_PASS_BY_REFERENCE.
9159
9160 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
9161
9162         * doc/install.texi: Add *-*-vxworks* specific installation
9163         instructions.
9164
9165         * config/vxlib.c: Rewrite using generation numbers to identify
9166         valid TSD keys.
9167
9168 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
9169
9170         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
9171
9172 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9173
9174         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
9175
9176         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
9177         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
9178         * pa.c (output_millicode_call): Use symbol difference rather than
9179         $PIC_pcrel$0 when using HP assembler.
9180         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
9181         not elfos.h (i.e., gas) is being used.
9182         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
9183         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
9184         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
9185         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
9186         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
9187         using elfos.h.
9188         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
9189         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
9190         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
9191         using elfos.h.
9192         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
9193         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
9194         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
9195         Don't define when not using elfos.h.
9196         (ASM_DECLARE_RESULT): Don't define.
9197         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
9198         doesn't work on hppa64-hp-hpux11.
9199         (hppa*-hp-hpux11): Update.
9200
9201 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
9202
9203         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
9204         to the assembler if -mno-abicalls was specified.
9205
9206 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9207
9208         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
9209         ASM_OUTPUT_DEF): Delete.
9210
9211 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
9212
9213         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
9214
9215 2002-11-08  Roger Sayle  <roger@eyesopen.com>
9216
9217         * real.c (real_sqrt): Update comment with bibliographic reference.
9218
9219 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
9220
9221         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
9222
9223 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
9224
9225         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
9226
9227 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
9228
9229         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
9230         (expand_builtin): Likewise.
9231         * builtins.def: Add
9232         __builtin_floor, __builtin_floorf, __builtin_floorl
9233         __builtin_ceil, __builtin_ceilf, __builtin_ceill
9234         __builtin_round, __builtin_roundf, __builtin_roundl
9235         __builtin_trunc, __builtin_truncf, __builtin_truncl
9236         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
9237         * genopinit.c (optabs): Initialize the new optabs.
9238         * optab.c (init_optabs): Likewise.
9239         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
9240         OTI_round, OTI_nearbyint.
9241         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
9242         * doc/md.texi: Document new named patterns.
9243         * doc/extend.texi (builtin functions)  Document
9244         floor, floorf, floorl, ceil, ceilf,
9245         ceill, round, roundf, roundl, trunc,
9246         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
9247
9248 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
9249
9250         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
9251
9252 2002-11-08  Dale Johannesen  <dalej@apple.com>
9253
9254         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
9255
9256 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
9257
9258         PR preprocessor/8497
9259         PR preprocessor/8501
9260         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
9261         start a directive.  In assembler, #NUM is not a line directive.
9262
9263 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
9264
9265         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
9266         buffers.
9267
9268 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
9269
9270         * config/h8300/h8300.md (two anonymous test insns): New.
9271
9272 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
9273
9274         * jump.c (mark_jump_label): Handle subregs of label_refs.
9275
9276 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
9277
9278         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
9279         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
9280
9281 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
9282
9283         * config/ia64/crtend.asm: Include "auto-host.h".
9284         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
9285         * config/ia64/crtbegin.asm: Similarly.
9286         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
9287         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
9288
9289         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
9290         * configure.in: Use it if --enable-initfini-array not specified.
9291         * doc/install.texi (Configuration): Document --enable-initfini-array.
9292         * configure, config.in: Rebuild.
9293
9294 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
9295
9296         * config/arm/arm-protos.h (arm_get_frame_size)
9297         (thumb_get_frame_size): New prototypes.
9298         * config/arm/arm.c (arm_get_frame_size)
9299         (thumb_get_frame_size): New functions.
9300         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
9301         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
9302         arm_get_frame_size.
9303         (thumb_expand_prologue, thumb_expand_epilogue): Use
9304         thumb_get_frame_size.
9305         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
9306         (machine_function): Add frame_size member.
9307         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
9308
9309 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
9310
9311         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
9312         Adjust code to use portable unsigned bit manipulation.
9313         (insn_flags, tune_flags): Change type to unsigned.
9314         (struct processors): Make flags unsigned long.
9315         (arm_override_options): Change type of count and current_bit_count
9316         to unsigned.
9317
9318 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
9319
9320         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
9321
9322 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
9323
9324         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
9325
9326 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
9327
9328         * reg-stack.c (compensate_edge): Fix sanity check.
9329
9330 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
9331
9332         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
9333         crt2.o.  Rearrange t-darwin makefiles.
9334         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
9335         * unwind-dw2-fde-darwin.c: New.
9336         * unwind-dw2-fde-glibc.c: Correct comment.
9337         * unwind-dw2-fde.c (__register_frame_info_bases)
9338         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
9339         (classify_object_over_fdes): Use last_fde.
9340         (add_fdes): Likewise.
9341         (linear_search_fdes): Likewise.
9342         * unwind-dw2-fde.h (struct object)
9343         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
9344         (last_fde): New.
9345         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
9346         (ENDFILE_SPEC): No crtend.o.
9347         * config/t-darwin: New.
9348         * config/i386/t-darwin: Delete.
9349         * config/darwin-crt2.c: New.
9350         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
9351         or config/t-darwin.
9352
9353 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
9354
9355         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
9356         MASK_MS_BITFIELD_LAYOUT
9357         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
9358         MS bitfields for Objective-C.
9359         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
9360         defines.
9361
9362         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
9363         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
9364         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
9365
9366         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
9367         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
9368         (TARGET_SWITCHES): Add above mask.
9369
9370         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
9371         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
9372         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
9373         flags for interix.
9374
9375 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
9376
9377         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
9378         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
9379         assembler.
9380         * config/mips/mips.md (tablejump_internal3): Output .cpadd
9381         before jump on ABI_N32 too.
9382         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
9383         length to match.
9384
9385 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
9386
9387         * i386.md (negsf splitter): Accept memory operand in second register.
9388         (abssf/absdf splitters): Simplify
9389         (sse_loadss, sse_loadsd): Turn into expander.
9390
9391 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
9392
9393         PR target/8480
9394         * config/rs6000/rs6000.md (movdi_internal64): Discourage
9395         FPR to FPR moves.
9396
9397 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
9398
9399         * doc/contrib.texi: Merge in the list from the Java web pages.
9400
9401 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
9402
9403         * config/sparc/freebsd: Fix typo.
9404
9405 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9406
9407         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
9408
9409 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
9410
9411         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
9412         non-SImode addresses.
9413
9414 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
9415
9416         * i386.md (float_truncate SSE splitter): Ensure that operand is not
9417         stack register.
9418         (float SSE splitters): Reorder conditional.
9419
9420 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
9421
9422         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
9423
9424 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
9425
9426         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
9427         (STARTFILE_SPEC): Remove p and pg options.
9428
9429 2002-11-05  Andrew Haley  <aph@redhat.com>
9430
9431         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
9432         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
9433
9434 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
9435
9436         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
9437         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
9438
9439 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
9440
9441         * gthr-vxworks.h: Rewritten from scratch.
9442         * config/vxlib.c: New file.
9443         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
9444         * config/rs6000/t-vxworks: Add config/vxlib.c to
9445         LIB2FUNCS_EXTRA here too, because of clash with
9446         config/rs6000/t-ppccomm.
9447
9448 2002-11-04  Dale Johannesen  <dalej@apple.com>
9449
9450         * doloop.c (doloop_modify_runtime):  Fix loop count computation
9451         for unrolled loops.
9452         * loop.c (loop_invariant_p):  Support calling from unroller.
9453
9454 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
9455
9456         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
9457         for comparison.
9458
9459 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
9460
9461         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
9462
9463         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
9464         (CLASS_CANNOT_CHANGE_MODE): Remove.
9465         (CANNOT_CHANGE_MODE_CLASS): New.
9466
9467         * config/alpha/alpha.h: Same.
9468
9469         * config/ia64/ia64.h: Same.
9470
9471         * config/mips/mips.h: Same.
9472
9473         * config/s390/s390.h: Same.
9474
9475         * config/sh/sh.h: Same.
9476
9477         * config/pa/pa64-regs.h: Same.
9478
9479         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
9480
9481         * config/sh/sh.c (sh_cannot_change_mode_class): New.
9482
9483         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
9484         prototype.
9485
9486         * config/mips/mips.c (mips_cannot_change_mode_class): New.
9487
9488         * doc/tm.texi (Register Classes): Remove
9489         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
9490         Document CANNOT_CHANGE_MODE_CLASS.
9491
9492         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
9493         (push_reload): Same.
9494
9495         * simplify-rtx.c (simplify_subreg): Same.
9496
9497         * reload1.c (choose_reload_regs): Same.
9498
9499         * recog.c (register_operand): Same.
9500
9501         * regrename.c (mode_change_ok): Change to use new
9502         CANNOT_CHANGE_MODE_CLASS infrastructure.
9503
9504         * regclass.c (cannot_change_mode_set_regs): New.
9505         Declare subregs_of_mode.
9506         (regclass): Use subregs_of_mode.
9507         Remove references to reg_changes_mode.
9508         (init_reg_sets_1): Remove class_can_change_mode and
9509         reg_changes_mode code.
9510         (invalid_mode_change_p): New.
9511         (dump_regclass): Use invalid_mode_change_p instead of
9512         class_can_change_mode.
9513         (regclass): Same.
9514         (record_operand_costs): Do not set reg_changes_mode.
9515
9516         * local-alloc.c (struct qty): Remove changes_mode field.
9517         (alloc_qty): Remove changes_mode initialization.
9518         (update_qty_class): Remove set of changes_mode.
9519         (find_free_reg): Use subregs_of_mode.
9520
9521         * global.c (find_reg): Use subregs_of_mode info.
9522
9523         * rtl.h (cannot_change_mode_set_regs): New prototype.
9524         (invalid_mode_change_p): Same.
9525         (REG_CANNOT_CHANGE_MODE_P): New macro.
9526
9527         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
9528         REG_CHANGES_MODE.
9529         (life_analysis): Clear subregs_of_mode.
9530
9531         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
9532         Remove use of CLASS_CANNOT_CHANGE_MODE.
9533         (simplify_set): Same.
9534         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
9535         REG_CHANGES_MODE.
9536
9537         * regs.h: Add extern for subregs_of_mode;
9538         Include hard-reg-set and basic-block.
9539         (REG_CHANGES_MODE): Delete.
9540
9541 2002-11-03  Roger Sayle  <roger@eyesopen.com>
9542
9543         * real.c (real_sqrt): New function to calculate square roots.
9544         * real.h (real_sqrt): Add function prototype.
9545         * builtins.c (fold_builtin): Fold sqrt of constant argument.
9546         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
9547         of constant argument.
9548
9549 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9550
9551         * jump.c (never_reached_warning): Don't set contains_insn until the
9552         first line note is seen.
9553
9554 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
9555
9556         * config/rs6000/rs6000.md (movti_string): Use string instructions.
9557
9558 2002-11-03  Roger Sayle  <roger@eyesopen.com>
9559
9560         PR c/7128
9561         * c-typeck.c (c_expand_asm_operands): Defend against
9562         error_mark_nodes in the output argument to avoid ICE.
9563
9564 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
9565
9566         PR middle-end/8408
9567         * genrecog.c (preds): Handle ADDRESSOF.
9568         (validate_pattern): Mark it as an lvalue.
9569
9570 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
9571
9572         * config/rs6000/rs6000.c (rs6000_override_options): Use string
9573         instructions when optimizing for size.
9574
9575 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
9576
9577         * config/h8300/h8300.h: Fix comment typos.
9578         * config/h8300/h8300.md: Likewise.
9579         * config/h8300/lib1funcs.asm: Likewise.
9580
9581 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9582
9583         Revert this change:
9584
9585         *doc/install.texi (Installing GCC: Configuration): Clarify
9586         the only supported ways to configure gcc.
9587
9588 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
9589
9590         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
9591         instead of 'O' for the constraint for the second operand.
9592
9593 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
9594
9595         PR c++/8391
9596         * toplev.c (rest_of_compilation): Do not refuse to output code for
9597         an inline function in a local class.
9598
9599 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
9600
9601         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
9602         (TRANSFER_FROM_TRAMPOLINE): Reformat.
9603         Add comment.
9604
9605 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
9606
9607         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
9608
9609 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
9610
9611         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
9612
9613 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
9614
9615         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
9616         (MASK_INLINE_DIV_THR): Remove.
9617         (TARGET_INLINE_DIV_LAT): Remove.
9618         (TARGET_INLINE_DIV_THR): Remove.
9619         (TARGET_INLINE_DIV): Remove.
9620         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
9621         (MASK_INLINE_FLOAT_DIV_THR): New macro.
9622         (MASK_INLINE_INT_DIV_LAT): New macro.
9623         (MASK_INLINE_INT_DIV_THR): New macro.
9624         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
9625         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
9626         (TARGET_INLINE_INT_DIV_LAT): New macro.
9627         (TARGET_INLINE_INT_DIV_THR): New macro.
9628         (TARGET_INLINE_FLOAT_DIV): New macro.
9629         (TARGET_INLINE_INT_DIV): New macro.
9630         * config/ia64/ia64.md (divsi3): Change to use new macros.
9631         (modsi3): Ditto.
9632         (udivsi3): Ditto.
9633         (umodsi3): Ditto.
9634         (divsi3_internal): Ditto.
9635         (divdi3): Ditto.
9636         (moddi3): Ditto.
9637         (udivdi3): Ditto.
9638         (umoddi3): Ditto.
9639         (divdi3_internal_lat): Ditto.
9640         (divdi3_internal_thr): Ditto.
9641         (divsf3): Ditto.
9642         (divsf3_internal_lat): Ditto.
9643         (divsf3_internal_thr): Ditto.
9644         (divdf3): Ditto.
9645         (divdf3_internal_lat): Ditto.
9646         (divdf3_internal_thr): Ditto.
9647         (divtf3): Ditto.
9648         (divtf3_internal_lat): Ditto.
9649         (divtf3_internal_thr): Ditto.
9650         * config/ia64/ia64.c (ia64_override_options): Change
9651         to check new macros for conflicts in settings.
9652         * doc/invoke.texi (-minline-divide-min-latency): Remove.
9653         (-minline-divide-max-throughput): Remove.
9654         (-minline-float-divide-min-latency): New.
9655         (-minline-float-divide-max-throughput): New.
9656         (-minline-int-divide-min-latency): New.
9657         (-minline-int-divide-max-throughput): New.
9658
9659 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
9660
9661         PR target/7856
9662         * arm.c (use_return_insn): Don't use a return insn if there are
9663         saved integer regs, but LR is not one of them.
9664
9665 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
9666
9667         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
9668         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
9669
9670 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
9671
9672         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
9673         (movps, movpd splitters): Use canonical form.
9674         (movv2di): Fix merge problem.
9675
9676 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
9677
9678         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
9679
9680 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
9681
9682         PR optimization/6162
9683         * doc/md.texi: Document restriction on commutative operand
9684         specification.
9685
9686 2002-10-31  Eric Christopher  <echristo@redhat.com>
9687
9688         * explow.c (convert_memory_address): Use shallow_copy_rtx.
9689
9690 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
9691
9692         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
9693
9694 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
9695
9696         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
9697
9698 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
9699
9700         * config/rs6000/darwin.h:  Correct formatting in previous.
9701
9702 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
9703
9704         * config/rs6000/darwin.h:  Enable -falign-xxx options.
9705
9706 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
9707
9708         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
9709         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
9710         * i386.c (optimization_options): Set flag_omit_frame_pointer,
9711         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
9712         Do not clear -momit-leaf-frame-pointer when profiling.
9713         (ix86_frame_pointer_required): Frame pointer is always required when
9714         profiling.
9715
9716 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
9717
9718         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
9719
9720 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
9721
9722         * sh.h (binary_logical_operator): Declare.
9723         * sh.c (binary_logical_operator): New function.
9724         * sh.md (xordi3+1): New combiner splitter pattern.
9725
9726 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
9727
9728         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
9729         __enable_execute_stack function.
9730
9731 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
9732
9733         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
9734         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
9735         * unwind-sjlj.c (fc_key_dtor): Delete.
9736         (fc_key_init): Adjust __gthread_key_create call to match.
9737
9738 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
9739
9740         * c-common.c: Add GTY to vector_type_node_list.
9741
9742 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
9743
9744         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
9745         * pa-protos.h (attr_length_millicode_call, attr_length_call,
9746         pa_init_machine_status): Declare new global functions.
9747         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
9748         implement new functions.
9749         (attr_length_millicode_call, attr_length_call): Implement.
9750         (total_code_bytes): Change type to long.
9751         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
9752         Reset counter if flag_function_sections.
9753         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
9754         (output_cbranch): Move call to gen_label_rtx.
9755         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
9756         delay slot in all variants, shorten pc-relative calls.
9757         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
9758         slot usage and exposure, various new call variants, and shortened
9759         sequences for some variants on TARGET_PA_20.
9760         Miscellaneous format changes.
9761         * pa.h (total_code_bytes): Change type to long.
9762         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
9763         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
9764         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
9765         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
9766         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
9767         stores on TARGET_ELF32.
9768         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
9769         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
9770         canonicalize_funcptr_for_compare expanders): Calculate attribute length
9771         attr_length_millicode_call().
9772         (call_internal_symref, call_value_internal_symref): Clobber register 1.
9773         Calculate attribute length using attr_length_call().
9774         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
9775         to delay slot.
9776         (sibcall, sibcall_value): Rewrite.
9777         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
9778         register 1.  Use attr_length_call().
9779         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
9780         New patterns.
9781         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
9782         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
9783         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
9784         * doc/invoke.texi (mlong-calls): Document.
9785
9786 2002-10-30  Roger Sayle  <roger@eyesopen.com>
9787
9788         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
9789         handling of cases where one or both branches of the conditional
9790         have void type, i.e. throw an exception or don't return.
9791         (fold): Only apply (and undo) type conversion to the non-void
9792         branches of a COND_EXPR.
9793
9794 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
9795
9796         PR c++/8333
9797         * varasm.c (asm_output_aligned_bss): Do not call
9798         ASM_GLOBALIZE_LABEL.
9799
9800 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
9801             Torbjorn Granlund  <tege@swox.com>
9802
9803         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
9804         for addressibility.
9805         (load_toc_v4_PIC_1b): Same.
9806
9807 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
9808
9809         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
9810         Truncate the addresses for H8/300 using HImode.
9811
9812 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
9813
9814         * i386.md (negdf splitter): Fix construction of the constant.
9815
9816 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
9817
9818         * i386.md (negsf, negdf): Reorganize to use vector modes
9819         for SSE variants.
9820         (abssf, absdf): Use force_reg.
9821         (movv4sf, movv2df): New splitters.
9822         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
9823         * i386.c (zero_extended_scalar_load_operand
9824
9825         * i386-protos.h (ix86_expand_call): Update prototype.
9826         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
9827         (ix86_expand_call): Use r11 for indirect sibcalls.
9828         * i386.md (call, call_value, untyped_call, call_value_pop):
9829         update x86_expand_call call.
9830         (sibcall, sibcall_value): new patterns
9831         (call_rex64, call_value_rex64): Do not accept sibcalls.
9832         (sibcall_rex64, sibcall_value_rex64,
9833         sibcall_rex64_v, sibcall_value_rex64_v): New.
9834
9835 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9836
9837         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9838         before final pass.
9839
9840 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
9841
9842         * toplev.c (rest_of_type_compilation): Return early in case of
9843         errors.
9844         (check_global_declarations): Don't call debug_hooks->global_decl
9845         in case of errors.
9846
9847 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
9848
9849         * doc/c-tree.texi (Tree overview): Fix typos.
9850
9851 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
9852
9853         * Makefile.in (gnucompare*):  Only record bad comparisons
9854         if there really was a bad comparison.
9855
9856 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
9857
9858         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
9859         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
9860         * md.texi (machine dependent constraints): Document 'C'
9861
9862         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
9863
9864         * i386.c (ix86_expand_vector_move): Fix.
9865
9866         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
9867         * i386.md (sse2_maskmovdqu_rex64): New pattern
9868
9869         PR target/8322
9870         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
9871         (ix86_init_mmx_sse_builtins): Fix type.
9872
9873 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
9874
9875         * gthr-posix.h: Include <unistd.h> for feature tests.
9876         (sched_get_priority_max, sched_get_priority_min)
9877         (pthread_getschedparam, pthread_setschedparam): Only use
9878         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
9879         (__gthread_objc_thread_set_priority): Don't treat all nonzero
9880         returns from sched_get_priority_max and sched_get_priority_min
9881         as an error.
9882
9883 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9884
9885         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
9886         MASK_QUICKCALL.
9887
9888 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9889
9890         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
9891         (h8300_tiny_constant_address_p): Likewise.
9892         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
9893         h8300_eightbit_constant_address_p.
9894         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
9895         * config/h8300/h8300-protos.h: Add the prototypes for the two
9896         new functions.
9897
9898 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9899
9900         * reload1.c (update_eliminables): Unconditionally check if
9901         frame_pointer_needed has changed.
9902
9903 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9904
9905         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9906         before final pass.
9907
9908 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
9909
9910         PR optimization/8334
9911         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
9912         check for zero operands explicitly.
9913
9914 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
9915
9916         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
9917         memory after adjusting to BLKmode.
9918
9919 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9920
9921         * config/h8300/h8300.h (MASK_*): New.
9922         (TARGET_*): Use MASK_*.
9923
9924 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
9925
9926         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
9927         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
9928         config/rs6000/vxworks.h: New files.
9929         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
9930
9931         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
9932         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
9933         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
9934         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
9935         sparc-*-vxsim*): Delete stanzas.
9936         * gthr-vxworks.h: Rip out all substantive code and just
9937         include gthr-single.h.
9938
9939         * config/alpha/vxworks.h, config/arm/vxarm.h,
9940         config/i386/vxi386.h, config/i960/t-vxworks960,
9941         config/i960/vx960-coff.h, config/i960/vx960.h,
9942         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
9943         config/mips/vxworks.h, config/rs6000/vxppc.h,
9944         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
9945         config/sparc/vxsim.h, config/sparc/vxsparc.h,
9946         config/sparc/vxsparc64.h: Delete files.
9947
9948 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
9949
9950         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
9951         tm_defines if pthreads are enabled.
9952         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
9953         if NETBSD_ENABLE_PTHREADS is defined.
9954
9955 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
9956
9957         * ChangeLog.1: Fix typos.
9958         * cse.c: Fix a comment typo.
9959         * reload1.c: Likewise.
9960
9961 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
9962
9963         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
9964         * fixinc/tests/base/_G_config.h: New file.
9965
9966 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9967
9968         * combine.c: Fix comment formatting.
9969         * loop.c: Likewise.
9970         * real.c: Likewise.
9971         * regclass.c: Likewise.
9972         * regmove.c: Likewise.
9973         * regrename.c: Likewise.
9974         * reg-stack.c: Likewise.
9975         * reload1.c: Likewise.
9976         * reload.c: Likewise.
9977         * reload.h: Likewise.
9978         * unroll.c: Likewise.
9979
9980 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9981
9982         * reload1.c (reload): Fix a comment typo.
9983
9984 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
9985
9986         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
9987
9988 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9989
9990         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
9991         * dwarf2out.c: Include hashtab.h.
9992         (is_main_source): New static variable.
9993         (attr_checksum, die_checksum): Modified to handle die references.
9994         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
9995         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
9996         record_comdat_symbol_number): New static functions.
9997         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
9998         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
9999         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
10000         declarations added.
10001
10002 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
10003
10004         * config/h8300/h8300.c (initial_offset): Change to
10005         h8300_initial_elimination_offset.
10006         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
10007         h8300_initial_elimination_offset.
10008         * config/h8300/h8300-protos.h: Update the prototype.
10009
10010 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
10011
10012         * config/mmix/mmix.h (LIBCALL_VALUE): Use
10013         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
10014         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
10015         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
10016         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
10017         and RTX_CODE.
10018         (mmix_function_value_regno_p): Declare.
10019
10020         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
10021         invalid for floating point mode result, with fix.
10022
10023 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
10024
10025         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
10026         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
10027         (stage1_build): Likewise.
10028
10029 2002-10-25  Mike Stump  <mrs@apple.com>
10030
10031         Fixes gcc.dg/warn-1.c.
10032         * c-typeck.c (warn_for_assignment): Don't print argument number,
10033         if zero.
10034
10035 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
10036
10037         * toplev.c (dump_file_index): Add DFI_ce3.
10038         (dump_file_info): Likewise.
10039         (rest_of_compilation): Run first ifcvt pass before tracer.
10040
10041 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
10042
10043         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
10044
10045 2002-10-25  Richard Henderson  <rth@redhat.com>
10046
10047         * real.c (real_to_decimal): If the >1 tens reduction loop results
10048         in a negative exponent, fall into the <1 pten computation.
10049
10050 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
10051
10052         PR middle-end/6994
10053         * c-objc-common.c (inline_forbidden_p): Can not inline
10054         functions containing structures or unions containing VLAs.
10055         * tree-inline.c (walk_tree): For all class 't' nodes, walk
10056         TYPE_SIZE and TYPE_SIZE_UNIT.
10057         (copy_tree_r): Copy types if they are variably modified.
10058
10059 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
10060
10061         * config/s390/s390.md: Remove old-style peepholes.
10062
10063 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
10064
10065         * config/s390/s390.c (s390_decompose_address): Do not range check the
10066         displacement if base or index is the argument pointer register.
10067
10068 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
10069
10070         PR other/3337
10071         PR bootstrap/6763
10072         PR bootstrap/8122
10073         * fixinc/inclhack.def (libc1_G_va_list): New fix.
10074         * fixinc/fixincl.x: Regenerate.
10075         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
10076         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
10077         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
10078         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
10079         * config.in, configure: Regenerate.
10080
10081 2002-10-24  Igor Shevlyakov <igor@microunity.com>
10082
10083         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
10084
10085 2002-10-24  Richard Henderson  <rth@redhat.com>
10086
10087         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
10088
10089 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
10090
10091         * config/h8300/h8300.c (initial_offset): Simplify by using
10092         round_frame_size.
10093
10094 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10095
10096         * doc/install.texi (avr): Update required binutils version.
10097
10098 2002-10-24  Theodore A. Roth  <troth@openavr.org>
10099
10100         * doc/install.texi: Point avr users at more up-to-date information.
10101
10102 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
10103
10104         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
10105         to pull operands out of the literal pool where possible.
10106
10107 2002-10-24  Denis Chertykov  <denisc@overta.ru>
10108
10109         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
10110
10111 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
10112
10113         * expr.c (convert_move): If unsignedp is less then zero there
10114         is no equivalent code.
10115
10116 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
10117
10118         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
10119
10120 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
10121
10122         * config/s390/s390.h: Rework comments; re-sort target macro definitions
10123         according to the sequence they are defined in the manual.
10124         (POINTER_BOUNDARY): Remove.
10125
10126 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
10127
10128         * config/h8300/h8300.c (round_frame_size): Replace 8 with
10129         BITS_PER_UNIT.
10130
10131 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
10132
10133         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
10134         64-bit safe.
10135         (TINY_CONSTANT_ADDRESS_P): Likewise.
10136
10137 2002-10-24  Richard Henderson  <rth@redhat.com>
10138
10139         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
10140         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
10141         vcall offset.
10142
10143 2002-10-24  Richard Henderson  <rth@redhat.com>
10144
10145         PR opt/7944
10146         * reload.c (find_reloads_toplev): Mode of X is not important
10147         when simplifying subregs of constants.
10148
10149 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
10150
10151         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
10152         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
10153         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
10154         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
10155         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
10156
10157 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
10158
10159         * optabs.c (expand_binop): Don't reuse the shift target in the
10160         middle of shift sequences.
10161
10162 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
10163
10164         * i386.md (abs splitters): Do not produce nested subregs.
10165
10166 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
10167
10168         * i386.md (movti_rex64): Fix constraints.
10169
10170 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
10171
10172         * i386.md (abssf,absdf): Use vector operands for SSE
10173         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
10174         vector operand.
10175
10176 2002-10-23  Ziemowit Laski <zlaski@apple.com>
10177
10178         * objc/objc-act.c (get_static_reference): Remove unneeded
10179         TYPE_BINFO initialization.
10180         (get_object-reference): Likewise.
10181         (build_constructor): Tighten precondition check.
10182         (finish_message_expr): Likewise.
10183
10184 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
10185
10186         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
10187         after CONST test.
10188
10189 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
10190
10191         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
10192         in HFAs.
10193
10194 2002-10-23  Richard Henderson  <rth@redhat.com>
10195
10196         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
10197         (alpha_output_mi_thunk_osf): Handle vcall_offset.
10198
10199 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
10200
10201         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
10202         var_mod_type_p.
10203         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
10204         hook_tree_bool_false.
10205
10206         * tree.c (variably_modified_type_p): Moved here from
10207         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
10208         language-specific cases.  Due to this, must weaken some 'if
10209         and only if' checks to merely 'if'.
10210         * tree.h: Prototype variably_modified_type_p.
10211
10212         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
10213
10214 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
10215
10216         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
10217         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
10218
10219         * config/s390/s390-protos.h (fp_operand): Remove.
10220         * config/s390/s390.c (fp_operand): Remove.
10221         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
10222         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
10223         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
10224         (movdi_31, movdf_31 splitters): Likewise.
10225
10226         * config/s390/s390.h (IEEE_FLOAT): Remove.
10227         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
10228         (INT_REGNO_P): Rename to ...
10229         (GENERAL_REGNO_P): ... this.
10230         (FLOAT_REGNO_P): Rename to ...
10231         (FP_REGNO_P): ... this.
10232         (ADDR_REGNO_P): New macro.
10233         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
10234         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
10235         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
10236         (HARD_REGNO_NREGS): Adapt to macro renaming.
10237         (HARD_REGNO_MODE_OK): Likewise.
10238
10239 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
10240             Geoff Keating  <geoffk@apple.com>
10241
10242         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
10243         (rs6000_memory_move_cost): New function.
10244         * config/rs6000/rs6000-protos.h: Declare them.
10245         * config/rs6000/rs6000.h: Use them.
10246
10247 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
10248
10249         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
10250         inlining it into other libgcc2 routines.
10251         (__udivmoddi4): Likewise.
10252
10253 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
10254
10255         * doc/sourcebuild.texi (Test Suites): Improve.
10256
10257 2002-10-22  Stan Shebs  <shebs@apple.com>
10258
10259         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
10260         case for Darwin.
10261
10262 2002-10-22  Jim Wilson  <wilson@redhat.com>
10263
10264         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
10265
10266 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
10267
10268         PR other/8289
10269         * xmmintrin.h: Add const to the argument of loads.
10270
10271         * i386.md (pushv2di): New pattern.
10272         PR target/6890
10273         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
10274
10275 2002-10-22  Richard Henderson  <rth@redhat.com>
10276
10277         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
10278         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
10279         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
10280         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
10281         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10282         (TARGET_ASM_OUT): Update.
10283         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
10284         (hook_bool_tree_hwi_hwi_tree_true): New.
10285         (default_can_output_mi_thunk_no_vcall): New.
10286         * hooks.h: Declare them.
10287         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
10288
10289         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10290         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
10291         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
10292         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
10293         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
10294         config/stormy16/stormy16.c: Similarly.
10295
10296         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
10297         Handle 64-bit properly.  Streamline.
10298         (x86_output_mi_vcall_thunk): Remove.
10299         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
10300         (x86_can_output_mi_thunk): New.
10301         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
10302         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10303         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
10304
10305         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
10306         output_mi_thunk; make static; always use function_section.
10307         (TARGET_ASM_OUTPUT_MI_THUNK): New.
10308         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10309         (rs6000_ra_ever_killed): Test no_new_pseudos not
10310         targetm.asm_out.output_mi_thunk in conjunction with thunks.
10311         * config/rs6000/rs6000-protos.h: Update.
10312         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10313         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
10314         xcoffout_declare_function when using rs6000_output_mi_thunk.
10315
10316         * config/s390/s390.c (s390_output_mi_thunk): Rename from
10317         s390_output_mi_vcall_thunk.
10318         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10319         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10320
10321         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
10322         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10323         * config/vax/vax-protos.h: Update.
10324         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
10325
10326 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
10327
10328         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
10329         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
10330         * i386.md (movti_internal): Use 'C'
10331
10332         * xmmintrin.h (_mm_cmplt_epi*): New.
10333
10334 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
10335
10336         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
10337         ("*movdf_64"): Likewise.
10338         ("*lshrdi3_64"): Likewise.
10339         ("blockage"): Add length attribute.
10340         ("lit"): Likewise.
10341
10342 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
10343
10344         * i386.md: FIx typo.
10345         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
10346         (sse2_umulv2siv2di3): Fix predicate.
10347         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
10348         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
10349         * xmmintrin.h (_mm_mul_epu16): Rename to...
10350         (_mm_mul_epu32): This one.
10351         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
10352
10353         (contains_128bit_aligned_vector_p): Undo accidental checkin.
10354
10355 2002-10-22  Eric Christopher  <echristo@redhat.com>
10356
10357         * config/sparc/sparc.h: Add #error.
10358
10359 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
10360
10361         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
10362         [s390x-*-linux*]: Likewise.
10363         * config/s390/t-linux: Remove.
10364         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
10365
10366 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
10367
10368         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
10369         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
10370         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
10371         * i386.md (mmx_punpck?dq): Simplify.
10372         (sse2_pubpcklqdq): Fix.
10373         (sse2_pubpckhqdq): New.
10374         * xmmintrin.h (_mm_unpackhi_epi32): New.
10375
10376         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
10377         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
10378
10379 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
10380
10381         PR c++/7209
10382         * fold_const.c (fold_binary_op_with_conditional_arg): Always
10383         build compound_expr if we used save_expr.
10384
10385 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
10386
10387         * output.h (SECTION_NOTYPE): Define.
10388         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
10389         init array sections.
10390         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
10391         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
10392         merge TLS support.
10393
10394 2002-10-21  Richard Henderson  <rth@redhat.com>
10395
10396         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
10397         the function type, not the return type.
10398
10399 2002-10-21  Richard Henderson  <rth@redhat.com>
10400
10401         * real.c (sticky_rshift_significand): Return inexact, don't
10402         or it in immediately.
10403         (sub_significands): Accept incomming carry.
10404         (div_significands, rtd_divmod): Update for sub_significands change.
10405         (round_for_format): Update for sticky_rshift_significand change.
10406         (do_add): Don't involve the inexact bit in addition, do give the
10407         inexact bit as the subtraction carry-in.
10408         (encode_internal, decode_internal, real_internal_format): New.
10409         * real.h (real_internal_format): Declare.
10410
10411 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10412
10413         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
10414         don't define sdiv_qrnnd.
10415
10416 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
10417
10418         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
10419         using IN_RANGE.
10420         (TINY_CONSTANT_ADDRESS_P): Likewise.
10421
10422 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10423
10424         * i386.c (builtin_description): Add punpcklqdq and movdq2q
10425         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
10426         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
10427         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
10428         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
10429         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
10430         __builtin_ia32_setzero128.
10431         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
10432         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
10433         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
10434         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
10435         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
10436         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
10437         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
10438         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
10439         sse2_movq): New patterns.
10440         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
10441         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
10442         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
10443         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
10444         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
10445         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
10446         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
10447         (_mm_insert_epi16): Fix.
10448
10449 2002-10-21  Dale Johannesen  <dalej@apple.com>
10450
10451         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
10452             unsafe math reversals correctly for RTL generation.
10453           (output_cbranch):  Replace rs6000_reverse_condition call
10454             by its former definition.
10455
10456 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
10457
10458         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
10459         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
10460         from constant pool or LABEL_REFs as sign extended if allow_rip.
10461         Change all +-1GB limits to +-16MB.
10462         (x86_64_general_operand, x86_64_szext_general_operand,
10463         x86_64_nonmemory_operand, x86_64_movabs_operand,
10464         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
10465         legitimate_address_p, ix86_expand_int_movcc): Update callers.
10466         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
10467         in CM_SMALL_PIC model.
10468         (legitimate_pic_address_disp_p): Don't check offsets before
10469         calling local_symbolic_operand.
10470         (legitimize_pic_address): Force offsets bigger than +-16MB into
10471         register.
10472         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
10473         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
10474         prototype.
10475
10476         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
10477         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
10478         * configure: Rebuilt.
10479         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
10480         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
10481         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
10482         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
10483         -fpic.
10484         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
10485         non-pic code if TARGET_64BIT.
10486         (legitimize_address): Generate 64-bit TLS sequences.
10487         (output_pic_addr_const): Support x86-64 TLS operators.
10488         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
10489         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
10490         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
10491         (output_addr_const_extra): Support x86-64 TLS operators.
10492         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
10493         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
10494         unconditionally.
10495         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
10496         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
10497         (*tls_global_dynamic_sun): Renamed to...
10498         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
10499         (tls_global_dynamic): Renamed to...
10500         (tls_global_dynamic_32): ... this.
10501         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
10502         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
10503         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
10504         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
10505         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
10506         (tls_local_dynamic_base_dynamic): Renamed to...
10507         (tls_local_dynamic_base_dynamic_32): ... this.
10508         (tls_local_dynamic_base_dynamic_64,
10509         *tls_local_dynamic_base_dynamic_64): New.
10510         (*tls_local_dynamic_once): Renamed to...
10511         (*tls_local_dynamic_32_once): ... this.
10512
10513 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10514
10515         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
10516         __divdi3, __umoddi3, or __moddi3.
10517
10518 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10519
10520         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
10521         instead of just opt_index as switch expression.
10522
10523         * calls.c (store_one_arg): Change type of 'excess_align'
10524         to unsigned int.
10525
10526         * profile.c (output_gcov_string): Change type of 'temp'
10527         to size_t.
10528
10529 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10530
10531         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
10532         (__fixunssfdi, __fixsfdi): Likewise.
10533         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
10534         (s390_single_qi): Likewise.
10535         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
10536         unsigned comparison warning.
10537         (s390_return_addr_rtx): New function.
10538         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
10539         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
10540         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
10541
10542 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10543
10544         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
10545         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
10546         (s390_output_mi_thunk): Remove.
10547         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10548
10549 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
10550
10551         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
10552
10553 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
10554
10555         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
10556         inverted test in the conditional determining the possibility
10557         of sibcalls in PIC mode.
10558
10559 2002-10-20  Richard Henderson  <rth@redhat.com>
10560
10561         * target.h (struct gcc_target): Line wrap.
10562
10563         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
10564         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
10565         * config/alpha/alpha.h: ... not here.
10566         * config/alpha/alpha-protos.h: Update.
10567
10568         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
10569         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
10570         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
10571         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
10572         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
10573         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
10574         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
10575         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
10576         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
10577         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
10578         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
10579         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
10580         config/sparc/sparc.c, config/sparc/sparc.h,
10581         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
10582         config/stormy16/stormy16.h: Similarly.
10583
10584         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
10585         selection logic from call patterns.
10586
10587 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
10588
10589         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
10590
10591 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10592
10593         PR other/8202
10594         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
10595         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
10596         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
10597         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
10598
10599 2002-10-20  Roger Sayle  <roger@eyesopen.com>
10600
10601         PR c/761
10602         * toplev.c (flag_unsafe_profile_arcs): Remove.
10603         (flag_bounded_pointers): Remove.
10604         (flag_bounds_check): Correct comments.
10605         (lang_independent_options): Remove -funsafe-profile-arcs and
10606         -fbounded-pointers.  Correct -fbounds-check comments.
10607
10608         * flags.h: Correct flag_schedule_interblock comments.
10609         (flag_bounded_pointers): Remove prototype.
10610         (flag_bounds_check): Correct comments.
10611
10612         * c-opts.c (c_common_init_options): No need to mark
10613         flag_bounds_check as unspecified.
10614         (c_common_post_options): And no need to set it from
10615         flag_bounded_pointers if its still unspecified.
10616
10617         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
10618         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
10619         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
10620         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
10621
10622 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
10623         Angela Marie Thomas  <angela@releasedominatrix.com>
10624         Brendan Kehoe  <brendan@zen.org>
10625         Nick Clifton  <nickc@redhat.com>
10626         Andrew Haley  <aph@redhat.com>
10627
10628         * configure.in (--with-sysroot): New.  Don't inhibit libc if
10629         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
10630         and CROSS_SYSTEM_HEADER_DIR.
10631         * configure: Rebuilt.
10632         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
10633         (TARGET_SYSTEM_ROOT): New.
10634         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
10635         CROSS_SYSTEM_HEADER_DIR.
10636         (install-gcc-tooldir): New target.
10637         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
10638         if SYSTEM_HEADER_DIR does not exist and it's not the default
10639         sys-include directory.
10640         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
10641         (install-mkheaders): Likewise.
10642         * gcc.c (target_system_root): New variable.
10643         (add_sysrooted_prefix): New function.
10644         (process_command): Recompute run-time target_system_root from
10645         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
10646         does not exist.
10647         (do_spec_1): Process 'R' spec.
10648         (main): Add md_exec_prefix to exec_prefixes regardless of
10649         startfile_prefix_spec.  Use add_sysrooted_prefix for
10650         startfile_prefixes, and don't skip the default ones when cross
10651         compiling with sysroot enabled.  Removed unused case of
10652         non-absolute standard_startfile_prefix.
10653         * config/interix.h: Remove the only potential, yet disabled,
10654         occurrence of non-absolute (empty) standard_startfile_prefix.
10655         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
10656         linking.
10657         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
10658         * doc/install.texi (--with-sysroot): Document.
10659         (--with-headers, --with-libs): Deprecate.
10660
10661 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10662             Mark Mitchell  <mark@codesourcery.com>
10663
10664         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
10665         match target.h.
10666         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
10667         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
10668         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
10669         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
10670         x86_output_mi_thunk): Likewise.
10671         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
10672         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
10673         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
10674         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
10675         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
10676         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
10677         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
10678         Likewise.
10679         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
10680
10681         * target.h (gcc_target): Update output_mi_thunk and
10682         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
10683         vcall_index.
10684
10685         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
10686         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10687         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
10688         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
10689         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
10690         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
10691         signature.
10692         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
10693         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
10694         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10695         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
10696         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
10697         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
10698         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10699         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
10700         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
10701
10702         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
10703         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
10704
10705 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
10706
10707         * real.c (do_add): Fix 0+0 sign corner case.
10708         (do_divide): Fix Inf/0 corner case.
10709
10710 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
10711
10712         * i386.c (classify_argument): Pass MMX arguments in memory
10713         (ix86_expand_builtin): Expand proper address mode for cflush.
10714         * i386.md (movdqa): Fix typo.
10715         (sse2_cflush): Accept DImode addresses.
10716
10717         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
10718         (_mm_max_sd): Fix pasto.
10719         (_mm_storeh_pd, _mm_storel_pd): Fix.
10720
10721         * i386.c (bdesc_comi): Fix to match specification.
10722         (ix86_expand_sse_comi): Emit the comparison properly.
10723         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
10724         Do not use comparison operator.
10725         (vnmaskcmp): Fix template.
10726
10727         * xmmintrin.h (_mm_cvtps_pi16): Fix.
10728
10729 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
10730
10731         * dependence.c : Removed.
10732         * Makefile.in : Remove dependence.o.
10733
10734 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
10735
10736         * mmintrin.h (__m64): typedef it to v2si.
10737         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
10738         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
10739         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
10740         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
10741         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
10742         * xmmintrin.h (_mm_setzero_si64): Likewise.
10743
10744         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
10745         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
10746
10747         PR target/7693
10748         Patch by Shawn Wagner
10749         * mmintrin.h: Replace pi64 by si64.
10750
10751 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
10752
10753         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
10754         Use length of 4 not *.
10755         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
10756         (movdf_softfloat64): Likewise.
10757         (movdi_internal32): Use length of 4 not *.
10758         (movti_power): Same.
10759         (ctrsi, ctrdi): Same.
10760
10761 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
10762
10763         * c-decl.c (start_decl): Point users of the old initialized-
10764         typedef extension at __typeof__.
10765
10766 2002-10-18  Richard Henderson  <rth@redhat.com>
10767
10768         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
10769         (real_to_decimal): Re-implement using the logic from the
10770         gcc 3.2 etoasc.  Comment heavily.
10771         (div_significands): Simplify loop startup and comparison logic.
10772
10773 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
10774
10775         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
10776         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
10777         (TARGET_ASM_OUT): Add them.
10778         * target.h (asm_out): Add output_mi_thunk and
10779         output_mi_vcall_thunk.
10780         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10781         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10782         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
10783         * config/arm/arm.c (arm_output_mi_thunk): Define.
10784         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10785         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10786         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10787         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10788         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10789         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10790         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
10791         prototype.
10792         (x86_output_mi_vcall_thunk): Declare.
10793         * config/i386/i386.c (override_options): Clear
10794         output_mi_vcall_thunk in 64-bit mode.
10795         (ix86_fntype_regparm): New function.
10796         (ix86_return_pops_args): Use it.
10797         (ia32_this_parameter): New function.
10798         (x86_output_mi_vcall_thunk): New function.
10799         (x86_output_mi_thunk): Use it
10800         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
10801         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
10802         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
10803         * config/i960/i960.c (i960_output_mi_thunk): New function.
10804         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
10805         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
10806         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
10807         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10808         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10809         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
10810         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10811         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10812         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10813         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10814         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10815         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10816         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10817         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10818         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10819         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10820         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
10821         * config/s390/s390.c (s390_output_mi_thunk): Define.
10822         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10823         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10824         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10825         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10826         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10827         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10828         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
10829         * config/vax/vax.c (vax_output_mi_thunk): Define.
10830         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10831         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10832         * doc/tm.texi: Adjust documentation.
10833
10834 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10835
10836         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
10837         __enable_execute_stack function.
10838         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
10839         as NETBSD_ENABLE_EXECUTE_STACK.
10840         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10841         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10842         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10843         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10844         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10845
10846 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10847
10848         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
10849         to __enable_execute_stack with the address of the trampoline
10850         if TRANSFER_FROM_TRAMPOLINE is defined.
10851         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
10852         constant if building libgcc2.
10853
10854 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
10855
10856         * i386.c (pentium4_cost): Fix according to Intel recommendations.
10857         (ix86_memory_move_cost): Fix for 64bit compilation.
10858
10859 2002-10-17  Roger Sayle  <roger@eyesopen.com>
10860
10861         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
10862
10863 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
10864
10865         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
10866         in CTR/LR/MQ.
10867         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
10868         to/from CTR/LR/MQ.
10869         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
10870         (movsf_softfloat): Likewise.
10871
10872 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
10873
10874         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
10875
10876 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
10877
10878         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
10879         tramp, not addr, to pass the trampoline address to
10880         __enable_execute_stack.
10881
10882 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
10883
10884         * mmintrin.h: Guard by __MMX__
10885         * xmmintrin.h: Guard by __SSE__
10886
10887         PR other/8062
10888         * xmmintrin.h (_MM_SHUFFLE2): New macro.
10889         (_mm_load*_?d): New functions.
10890         (_mm_set*_?d): New functions.
10891         (_mm_store*_?d): New functions.
10892
10893 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
10894
10895         Really commit patch announced at Oct 14
10896         PR c/7344
10897         * predict.c (can_predict_insn_p): New function.
10898         (estimate_probability): Avoid unnecesary work.
10899         (process_note_prediction): Likewise.
10900         * toplev.c (rest_of_compilation): Account early branch prediction pass
10901         as TV_BRANCH_PROB.
10902
10903         PR other/8048
10904         Found by Ian Ollmann
10905         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
10906         (_mm_load?_pd): Likewise.
10907         (_mm_store?_pd): Likewise.
10908
10909         PR target/7386
10910         * i386.c (builtin_description):Drop cmpg[te]s[sd].
10911         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
10912         swapped alternative.
10913
10914         PR opt/7630
10915         * reload1.c (reload_inner_reg_of_subreg): New argument output;
10916         (push_reload): Update call.
10917
10918 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
10919
10920         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
10921         if using mips/elf.h or mips/elf64.h.
10922         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
10923         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
10924
10925 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
10926
10927         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
10928         SI.
10929
10930 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
10931
10932         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
10933         (LPREFIX): Likewise.
10934         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
10935         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
10936         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
10937         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
10938         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
10939
10940         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
10941         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
10942         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
10943         BSS_SECTION_ASM_OP): Move from linux.h.
10944         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10945         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10946
10947         * config/s390/s390.c (s390_function_profiler): Use
10948         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10949
10950 2002-10-15  Eric Christopher  <echristo@redhat.com>
10951
10952         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
10953         * java/parse.y (obtain_incomplete_type): Make pointer
10954         ptr_mode.
10955
10956 2002-10-15  Richard Henderson  <rth@redhat.com>
10957
10958         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
10959         as arguments.  Bound DIGITS by the available buffer size.
10960         (real_to_hexadecimal): Likewise.
10961         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
10962         (REAL_VALUE_TO_DECIMAL): Remove.
10963         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
10964         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
10965         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
10966         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
10967         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
10968         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
10969         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
10970         use real_to_decimal directly, and with the proper arguments.
10971         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
10972
10973 2002-10-15  Jim Wilson  <wilson@redhat.com>
10974
10975         * reload1.c (merge_assigned_reloads): After converting overlapping
10976         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
10977
10978         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
10979
10980 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
10981
10982         * expr.c (do_tablejump): Fix typo in my previous commit.
10983
10984 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
10985
10986         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
10987
10988 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
10989
10990         * config/s390/s390.c (s390_split_branches): Add return
10991         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
10992
10993         (find_base_register_in_addr): New function.
10994         (find_base_register_ref): New function.
10995         (replace_base_register_ref): New function.
10996
10997         (struct constant_pool): Add members pool_insn, insns, and anchor.
10998         Remove member last_insn.
10999         (s390_start_pool): Initialize them.
11000         (s390_end_pool): Emit pool placeholder insn.
11001         (s390_add_pool_insn): New function.
11002         (s390_find_pool): Use insns bitmap instead of addresses.
11003         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
11004         Replace unspec 104 by local-pool-relative references.
11005         (s390_output_constant_pool): Output anchor label if required.
11006         (s390_output_symbolic_const): Handle unspec 104 and 105.
11007         (s390_add_pool): Remove, replace by ...
11008         (s390_add_constant, s390_find_constant): ... these new functions.
11009         (s390_add_anchor): New function.
11010
11011         (s390_chunkify_pool): Delete, replace by ...
11012         (s390_chunkify_start, s390_chunkify_finish,
11013         s390_chunkify_cancel): ... these new functions.
11014         (s390_optimize_prolog): Add parameter TEMP_REGNO.
11015         Recompute register live data for special registers.
11016         (s390_fixup_clobbered_return_reg): New function.
11017         (s390_machine_dependent_reorg): Rewrite to use new
11018         s390_chunkify_... routines.
11019
11020         config/s390/s390.md ("reload_base"): Rename to ...
11021         ("reload_base_31"): ... this.
11022         ("reload_base_64"): New insn.
11023         ("reload_base2"): Remove.
11024         ("reload_anchor"): New insn.
11025         ("pool"): New insn.
11026
11027         s390.c (s390_pool_overflow): Remove.
11028         s390.h (s390_pool_overflow): Likewise.
11029         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
11030
11031 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
11032
11033         * sh.md (movv8qi_i+2): Don't split if source is -1.
11034
11035 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
11036
11037         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
11038
11039 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
11040
11041         PR opt/7409
11042         * loop.c (loop_regs_scan): Mark registers used for function
11043         argument passing as MAY_NOT_OPTIMIZE.
11044
11045 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
11046
11047         * gcov-io.h (gcov_info): Fix type.
11048         * profile.c (create_profiler): Fix type mismatch.
11049
11050 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
11051
11052         * i386.md (movv2di_internal): New pattern.
11053         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
11054         (movv2di): New expander.
11055         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
11056
11057         * i386.c (ix86_expand_timode_binop_builtin): Delete.
11058         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
11059         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
11060         (ix86_expand_builtin): Likewise.
11061         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
11062         sse_andti3,
11063         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
11064         sse_andnti3,
11065         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
11066         sse_orti3,
11067         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
11068         sse_xorti3): Kill.
11069         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
11070          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
11071         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
11072          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
11073         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
11074          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
11075
11076         * xmmintrin.h (__m128i): Define as __v2di.
11077
11078         PR c++/6419
11079         (expand_expr): Use DECL_RTL_SET_P.
11080
11081 2002-10-14  Roger Sayle  <roger@eyesopen.com>
11082
11083         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
11084
11085 2002-10-14  Roger Sayle  <roger@eyesopen.com>
11086             Zack Weinberg <zack@codesourcery.com>
11087
11088         * config/i386/i386.c (k6_cost): Correct typo.
11089
11090 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
11091
11092         PR optimization/6631
11093         * alias.c (objects_must_conflict_p): Check honor_readonly when
11094         examining TYPE_READONLY.
11095         * function.c (assign_stack_temp_for_type): Likewise.
11096
11097 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
11098
11099         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
11100         Swap zero extension arguments.
11101         (umaxhi3): Fix instruction class.
11102         PR target/7211
11103         (prefetch): Fix prefetch instructions.
11104         PR target/7238
11105         (pkwb): Fix output constraint.
11106
11107 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
11108
11109         * config/mips/mips.c (print_operand): Increase buffer size for
11110         real numbers.
11111
11112 2002-10-14  Richard Henderson  <rth@redhat.com>
11113
11114         PR opt/8165
11115         * gcse.c (adjust_libcall_notes): Revert last change.
11116         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
11117
11118 2002-10-14  Andrew Haley  <aph@redhat.com>
11119
11120         * tree-inline.c (remap_block): All local class initialization
11121         flags go in the outermost scope.
11122         (expand_call_inline): Call java_inlining_map_static_initializers.
11123         (expand_call_inline): Call java_inlining_merge_static_initializers.
11124         * java/lang.c (merge_init_test_initialization): New.
11125         (java_inlining_merge_static_initializers): New.
11126         (inline_init_test_initialization): New.
11127         (java_inlining_map_static_initializers): New.
11128
11129         * tree-inline.c (expand_call_inline): Convert retvar to expected
11130         type.
11131
11132 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
11133
11134         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
11135
11136 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
11137
11138         * stmt.c: Fix typo in comment.
11139
11140 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
11141
11142         * c-common.c (c_common_type_for_mode): Add V2HImode case.
11143         * tree.c (build_common_tree_nodes_2): Initialize
11144         unsigned_V2HI_type_node and V2HI_type_node.
11145         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
11146         (unsigned_V2HI_type_node, V2HI_type_node): Define.
11147
11148 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
11149
11150         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
11151         Handle TARGET_64BIT.
11152
11153 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
11154
11155         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
11156         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
11157         (MULTILIB_DIRNAMES): Remove long32.
11158         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
11159         (MULTILIB_REDUNDANT_DIRS): Remove.
11160
11161 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
11162
11163         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
11164         * gcc.c (driver_self_specs): New variable.
11165         (do_self_spec): New function.
11166         (main): Use it to process driver_self_specs.
11167
11168 2002-10-13  Richard Henderson  <rth@redhat.com>
11169
11170         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
11171         indirect sibcalls when regparm >= 3.
11172
11173         * config/i386/i386.c (sibcall_insn_operand): New.
11174         * config/i386/i386.h (PREDICATE_CODES): Update.
11175         * config/i386/i386-protos.h: Update.
11176         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
11177
11178         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
11179
11180 2002-10-12  Roger Sayle  <roger@eyesopen.com>
11181
11182         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
11183         arithmetic right shifts of ~0 during RTL simplifications.
11184
11185 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
11186
11187         PR preprocessor/7862
11188         PR preprocessor/8190
11189         * gcc.c (cpp_unique_options): Don't delete .d files.
11190         Remove stray whitespace.
11191
11192 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
11193
11194         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
11195         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
11196         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
11197         (pdp11_output_function_epilogue, output_ascii): Likewise.
11198         (output_addr_const_pdp11): Likewise.
11199         * pdp11.md (movdi): Use offsetable memory for floating store.
11200         (lshrsi3, negsi2): Delete irrelevant comment.
11201
11202 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
11203
11204         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
11205         indirect calls to be sibcall optimized.
11206         * config/i386/i386.md (sibcall_1): New.
11207         (call_1): Add no-sibcalls condition.
11208         (sibcall_value_1): New.
11209         (call_value_1): Add no-sibcalls condition.
11210
11211 2002-10-11  Eric Christopher  <echristo@redhat.com>
11212
11213        * output.h (default_valid_pointer_mode): Declare.
11214        * varasm.c (default_valid_pointer_mode): Define.
11215        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
11216        * target.h: Ditto.
11217        * tree.c (build_pointer_type_for_mode): New function.
11218        (build_pointer_type): Use.
11219        (build_reference_type_for_mode): New function.
11220        (build_reference_type): Use.
11221        * tree.h: Declare new functions.
11222        * c-common.c (handle_mode_attribute): Use new functions, check
11223        for type.
11224        * stor-layout.c (layout_type): Depend on machine mode for
11225        REFERENCE_TYPE and POINTER_TYPE.
11226        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
11227        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
11228        and REFERENCE_TYPE.
11229        * config/mips/mips.c (mips_valid_pointer_mode): New function.
11230        (TARGET_VALID_POINTER_MODE): Use and define.
11231        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
11232
11233 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
11234
11235         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
11236         not the address of the REG.
11237         (struct cse_reg_info): Make subreg_ticked unsigned.
11238
11239 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
11240
11241         * doc/compat.texi: Add info about C++ libraries.
11242
11243 2002-10-11  Richard Henderson  <rth@redhat.com>
11244
11245         PR opt/8165
11246         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
11247
11248 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11249
11250         * cfganal.c (dfs_enumerate_from): Use PARAMS.
11251         * genautomata.c (output_insn_code_cases): Likewise.
11252         * real.c (real_format): Likewise.
11253         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
11254         ensure value is promoted before doing subtraction.
11255
11256 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
11257
11258         * calls.c (expand_call): Simplify noreturn call.
11259
11260         PR c/7344
11261         * cfgbuild.c (make_edges): Create edge cache when we do have
11262         large jumptable.
11263         * expr.c (do_tablejump): Note size of maximal jumptable.
11264         * function.c (prepare_function_start): Zero out size.
11265         * function.h (function): Add max_jumptable_ents.
11266
11267         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
11268
11269 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11270
11271         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
11272         register for mperm_w operation.
11273
11274 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11275
11276         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
11277         an integer, use simplify_gen_subreg.
11278
11279 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
11280
11281         * calls.c (flags_from_decl_or_type): Make extern.
11282         (ECF_*): Move ...
11283         * rtl.h (ECF_*): ... here.
11284         (flags_from_decl_or_type): Declare.
11285
11286 2002-10-10  Roger Sayle  <roger@eyesopen.com>
11287             Nathan Sidwell <nathan@codesourcery.com>
11288
11289         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
11290         shifts of the form -1 >> x.
11291
11292 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
11293
11294         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
11295
11296 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
11297
11298         * extend.texi (Vector Extensions): Remove comment about single
11299         element vectors.
11300
11301 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11302
11303         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
11304         * function.c (insns_for_mem_hash): Likewise.
11305         * varasm.c (STRHASH): Likewise.
11306
11307 2002-10-10  Stuart Hastings  <stuart@apple.com>
11308
11309         * cse.c (struct cse_reg_info): Add subreg_ticked.
11310         (SUBREG_TICKED): New.
11311         (get_cse_reg_info): Initialize SUBREG_TICKED.
11312         (mention_regs): Use it.
11313         (invalidate): Set SUBREG_TICKED.
11314         (invalidate_for_call): Likewise.
11315         (addr_affects_sp_p): Likewise.
11316
11317 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
11318
11319         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
11320         into proper operand.
11321
11322 2002-10-10  Denis Chertykov  <denisc@overta.ru>
11323
11324         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
11325         deallocation.
11326         * config/ip2k/libgcc.S: Combine routines used by function
11327         epilogue.
11328
11329 2002-10-10  Jim Wilson  <wilson@redhat.com>
11330
11331         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
11332         UDIV.
11333
11334 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
11335
11336         * config/rs6000/aix52.h: New file.
11337         * config/rs6000/t-aix52: New File.
11338         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
11339         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
11340
11341 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
11342
11343         PR target/5610
11344         * invoke.texi (-msse-math): Kill
11345         (-msse): Add note to mfpmath=sse.
11346
11347 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
11348
11349         PR target/7723
11350         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
11351
11352 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
11353
11354         PR preprocessor/8179
11355         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
11356         as cc1_options.
11357         (default_compilers): Pass debug options when preprocessing
11358         stdin.
11359
11360 2002-10-06  Richard Henderson  <rth@redhat.com>
11361
11362         * toplev.c (rest_of_compilation): Revert opt/2960 change.
11363
11364 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
11365
11366         * i386.c (*_cost): Add branch costs.
11367         (override_options): set ix86_branch_cost.
11368         (ix86_expand_int_movcc): Use BRANCH_COST.
11369         * i386.h (costs): Add branch_cost.
11370
11371 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
11372
11373         PR c/7353
11374         * c-decl.c (start_decl): Unconditionally issue error for
11375         'typedef foo = bar'.
11376         (finish_decl): Remove special case for TYPE_DECL with initializer.
11377
11378         * doc/extend.texi: Delete "Naming Types" section.  Change all
11379         cross-references to that section to refer to "Typeof" instead.
11380         Add the useful safe-max()-macro example from "Naming Types" to
11381         "Typeof", rewritten using that extension.  Add some compatibility
11382         notes to "Typeof."
11383
11384 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11385
11386         * loop.c: Revert 2002-08-15 change.
11387         (LOOP_REGNO_NREGS): Ensure type is int.
11388
11389 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
11390
11391         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
11392         which copies first FPR and clears second.
11393         (extendsftf2): Same.
11394         (floatditf2): Fix typo.
11395         (floatsitf2): Same.
11396         (fix_trunctfdi2): Same.
11397         (fix_trunctfsi2): Same.
11398
11399 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11400
11401         * conflict.c (arc_hash): Change return type to hashval_t.
11402         * cselib.c (get_value_hash): Likewise.
11403         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
11404         state_hash, automata_list_hash): Likewise.
11405         * read-rtl.c (def_hash): Likewise.
11406         * tree.c (type_hash_hash): Likewise.
11407
11408 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
11409
11410         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
11411         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
11412
11413 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
11414
11415         * sh.md (ffssi2): Fix emitted code.
11416
11417 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
11418
11419         * cse.c (insn_live_p): Pass insn pattern, not full insn
11420         to may_trap_p.
11421
11422 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
11423
11424         * cppmacro.c (paste_tokens): Only allow / to paste with =.
11425
11426 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
11427
11428         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
11429         64-bit hosts.
11430         (movtf_internal): Reference correct displacement for second value
11431         in memory.
11432         (movtf splitter): Correct generation of constants in 64-bit mode.
11433
11434 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
11435
11436         * libgcc2.c (__floatdisf): Properly cure double rounding.
11437
11438 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11439
11440         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
11441         * doc/cpp.texi (Common Predefined Macros): Document.
11442
11443 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11444
11445         PR doc/7484
11446         * doc/invoke.texi (Option Summary): List
11447         -Wmissing-declarations as a C only option.
11448
11449 2002-10-08  Roger Sayle  <roger@eyesopen.com>
11450
11451         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
11452         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
11453         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
11454
11455 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
11456
11457         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11458         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
11459         variables.
11460         (safe_vector_operand): Update sse_clrv4sf call.
11461         (ix86_expand_buildin): Likewise
11462         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11463         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
11464         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
11465         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
11466         macros.
11467         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
11468         movv4si):  Obey the new flags.
11469         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
11470         reformating penalty.
11471         (anddf, cmov patterns): Avoid reformating by first converting.
11472         (sse_cvtsd2ss): Fix predicate.
11473         (sse2_clrti): Fix mode,
11474         (sse_clrv4sf): Avoid unspec.
11475
11476 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
11477
11478         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
11479         mno-app-regs|mcmodel=medany.
11480         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
11481         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
11482         (CRTSTUFF_T_CFLAGS): Define.
11483
11484 2002-10-08  Roger Sayle  <roger@eyesopen.com>
11485
11486         PR target/8087
11487         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
11488         pool references that are constructed using LO_SUM.
11489
11490 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
11491
11492         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
11493         -Wall.
11494         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
11495         message.
11496         * flags.h (warn_strict_aliasing): Declare.
11497         * toplev.c (warn_strict_aliasing): Define.
11498         (lang_independent_options): Add it.
11499         * doc/invoke.texi (-Wstrict-aliasing): Document it.
11500
11501 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
11502
11503         * system.h (GCCBUGURL): Delete.
11504         * version.c (bug_report_url): New.  Add commentary about
11505         modifying both these strings in modified distributions.
11506         * version.h: Declare bug_report_url.
11507
11508         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
11509         bug_report_url.
11510
11511 2002-10-08  Nick Clifton  <nickc@redhat.com>
11512
11513         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
11514         convert uint64_t into __ev64_opaque__.
11515         (__ev_set_acc_s64): Likewise, but using signed types.
11516
11517 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
11518
11519         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
11520         ("*doloop_di_long"): Likewise.
11521
11522 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
11523
11524         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
11525
11526 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
11527
11528         * config/mips/mips.md (define_attr cpu): Add r4111.
11529
11530 2002-10-08  Anthony Green  <green@redhat.com>
11531
11532         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
11533
11534 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11535
11536         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
11537         for REAL_VALUE_TO_DECIMAL output.
11538
11539 2002-10-07  Richard Henderson  <rth@redhat.com>
11540
11541         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
11542         function; cleanup PLUS case by using recursion.  Update all users.
11543         (NONZERO_BASE_PLUS_P): Remove.
11544         (find_comparison_args): Use rtx_addr_can_trap_p instead.
11545         (fold_rtx): Use nonzero_address_p.
11546         * rtl.h (nonzero_address_p): Declare.
11547         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
11548         (rtx_addr_can_trap_p): Likewise.
11549         (nonzero_address_p): New.
11550         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
11551         (simplify_relational_operation): Use nonzero_address_p.
11552
11553 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
11554
11555         * config/rs6000/rs6000.c (rs6000_override_options): Set
11556         real_format_for_mode for IBM extended format, if enabled.
11557         (easy_fp_constant): Add TFmode.
11558         (rs6000_legitimize_address): Add TFmode.
11559         (rs6000_legitimate_address): Same.
11560         (function_arg_advance): TFmode uses two FPRs.
11561         (rs6000_emit_prologue): Fix warning.
11562         (rs6000_output_function_epilogue): Add TFmode.
11563         (output_toc): Add TFmode.
11564         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
11565         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
11566         * rs6000.md (movtf splitter): Load TFmode constant.
11567
11568 2002-10-07  Dale Johannesen  <dalej@apple.com>
11569
11570         * rtl.h:  Add NOTE_PRECONDITIONED.
11571         * unroll.c:  Set it.
11572         * loop.c:  Set loop_info->preconditioned from it.
11573         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
11574
11575 2002-10-07  Richard Henderson  <rth@redhat.com>
11576
11577         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
11578         new rtx for comparing the argument pointer against zero.
11579         (i960_va_start): Similarly.
11580
11581 2002-10-07  Richard Henderson  <rth@redhat.com>
11582
11583         * config/i960/i960.md (*): Use TFmode, not XFmode.
11584         * config/i960/i960.c (*): Likewise.
11585         (i960_arg_size_and_align): Remove XFmode alignment hack.
11586         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
11587         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
11588         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
11589         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
11590
11591 2002-10-07  Richard Henderson  <rth@redhat.com>
11592
11593         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
11594         entry points; use void return value and argument list.
11595
11596 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
11597
11598         * calls.c (expand_call): Fix function-is-volatile check.
11599
11600 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
11601
11602         * t-pdp11: Add MULTILIB support for msoft-float.
11603         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
11604
11605         * t-pdp11: Add LIB2FUNCS_EXTRA.
11606         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
11607         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
11608         'fldd' to 'ldd', rename 'fstd' to 'std'.
11609         (pdp11_output_function_epilogue): Likewise.
11610         (output_move_quad): Make the comment gas compatible.
11611         (output_ascii): Add preceding 0 to the octal constant.
11612         (print_operand_address): Add pre_modify, post_modify.
11613         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
11614         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
11615         with the indication of Paul Koning.
11616         (PRINT_OPERAND): Fix floating constant.
11617         * pdp11.md (movdi): Restrict matching pattern.
11618         (movqi): Generalize the matching pattern.
11619         (movdf): Restrict matching pattern.
11620         (zero_extendqihi2): Change constant representation.
11621         (floatsidf2): Fix wrong operands.
11622         (addqi3): Fix wrong instruction name.
11623         (subqi3): Fix wrong instruction name.
11624         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
11625         (xorsi3): Fix wrong insn.
11626         (one_cmplqi2): Add two operand pattern.
11627         (lsrsi3): New.
11628         (negsi2): New.
11629         (call): Add register indirect case.
11630         (mod): Fix wrong subreg.
11631
11632 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
11633             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11634
11635         PR c/7411
11636         * expr.c (expand_expr) [PLUS]: Simplify after the operands
11637         have been expanded in EXPAND_NORMAL mode.
11638
11639 2002-10-06  Richard Henderson  <rth@redhat.com>
11640
11641         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
11642
11643 2002-10-06  Richard Henderson  <rth@redhat.com>
11644
11645         PR optimization/2960
11646         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
11647         optimize_size.
11648
11649 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
11650
11651         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
11652         previously definitions.
11653
11654 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
11655
11656         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
11657         * c-opts.c (find_opt): Similarly.
11658
11659 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
11660
11661         * athlon.md: rewrite to DFA.
11662         * i386 (ix86_adjust_cost): Drop memory latency code.
11663         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
11664
11665 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
11666
11667         * gcc.c (set_multilib_dir): Don't access *end.
11668         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
11669         (print_multilib_info): Don't show paths starting with ".:".
11670         * genmultilib: Add new option, "yes" if multilibs are enabled.
11671         Update comments.  If multilibs not enabled, print .:${osdirout}
11672         for each directory.  If multilibs are enabled, always print
11673         ${dirout}:${osdirout}, even if the two are the same.
11674         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
11675         Pass all MULTILIB_* variables to genmultilib even if
11676         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
11677
11678 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
11679
11680         * gcc.c (process_command): Set .validated for -pipe.  Correct
11681         grammar in comment.
11682
11683 2002-10-04  Bruce Korb  <bkorb@gnu.org>
11684
11685         * fixinc/inclhack.def(hpux11_abs):  use format fix
11686         * fixinc/fixincl.x: regenerate
11687         * fixinc/tests/base/stdlib.h: accommodate new fix test
11688
11689 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11690
11691         * c-common.c (cb_register_builtins):  Use really_no_inline.
11692
11693 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
11694
11695         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
11696         copied instruction if the note is not loop invariant.
11697
11698 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
11699
11700         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
11701
11702 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
11703
11704         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
11705         and -mhp-ld options to list of options.  Add -mgnu-ld
11706         and -mhp-ld option descriptions.
11707
11708 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
11709
11710         * fixinc/inclhack.def (hpux11_abs):  New.
11711         (stdio_va_list): change __va_list__ to __gnuc_va_list.
11712         * fixinc/fixincl.x: Rebuild.
11713
11714 2002-10-04  Roger Sayle  <roger@eyesopen.com>
11715
11716         * config/i386/i386.h (processor_costs): Add new fields fadd,
11717         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
11718         (RTX_COSTS): Use these fields to determine the RTX costs
11719         of floating point addition/subtraction, multiplication,
11720         division, fabs, negation and square root respectively.
11721         * config/i386/i386.c (size_cost): Provide instruction sizes
11722         for these new fields.
11723         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
11724         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
11725         counts for these new fields for all x86 processor variants.
11726
11727 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11728
11729         * mips.c (mips_const_double_ok): Delete unused variable.
11730
11731         * gengtype.c (rtx_next): Change type to int.
11732
11733 2002-10-04  Andreas Jaeger  <aj@suse.de>
11734
11735         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
11736
11737 2002-10-04  Richard Henderson  <rth@redhat.com>
11738
11739         * real.h (SIGNIFICAND_BITS): Add one more word.
11740         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
11741         * real.c (times_pten): New.
11742         (real_to_decimal, real_from_string): Use it.
11743         (sticky_rshift_significand): Use & to find modulus.
11744         (rshift_significand, lshift_significand): Likewise.
11745         (do_divide): Apply sticky bit after normalization.
11746         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
11747
11748 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
11749
11750         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
11751         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11752
11753 2002-10-03  Andreas Jaeger  <aj@suse.de>
11754
11755         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
11756         to unsigned long, adjust printf format string.
11757         (output_mangled_typename): Likewise.
11758
11759 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
11760
11761         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
11762         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
11763         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
11764         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
11765         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
11766         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
11767         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
11768         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
11769
11770 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
11771
11772         * doc/invoke.texi (-Wabi): Document mangling bug.
11773
11774 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
11775
11776         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
11777         name for the tbtab label that depends on the function asm name.
11778         Don't output tbtab label unless optional_tbtab.
11779         (output_mi_thunk): Formatting.
11780
11781 2002-10-03  Richard Henderson  <rth@redhat.com>
11782
11783         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
11784         * config/m68k/m68k.c (override_options): ... here.
11785         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
11786         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
11787         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11788         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11789
11790 2002-10-03  Richard Henderson  <rth@redhat.com>
11791
11792         * real.h (struct real_value): Use ENUM_BITFIELD.
11793
11794 2002-10-03  Richard Henderson  <rth@redhat.com>
11795
11796         * config/i960/i960.md (call, call_value): Use emit_call_insn.
11797
11798 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11799
11800         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
11801
11802 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11803
11804         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
11805         * config/pa/pa.h (MASK_GNU_LD): New.
11806         (TARGET_GNU_LD): New.
11807         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
11808         on gnu-ld and MASK_GNU_LD.
11809         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
11810
11811 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
11812
11813         * i386.c (athlon_cost): Fix the move costs.
11814
11815 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
11816
11817         * final.c (final): Use symbol name as function name for profiling.
11818         * profile.c (get_exec_counts): Likewise.
11819         (branch_prob): Likewise.
11820
11821 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11822
11823         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
11824
11825 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11826
11827         * gcc.c (print_multi_os_directory): New variable.
11828         (option_map): Support --print-multi-os-directory.
11829         (struct prefix_list): Add os_multilib field.
11830         (multilib_os_dir): New variable.
11831         (static_specs): Add multilib_options.
11832         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
11833         subdirs if nonzero.
11834         (read_specs, execute): Update callers.
11835         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
11836         pass 1 as multilib option.
11837         (display_help): Include --print-multi-os-directory.
11838         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
11839         (process_command): Update callers.  Handle --print-multi-os-directory.
11840         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
11841         set.
11842         (main): Update find_a_file and add_prefix callers.
11843         Handle print_multi_os_directory.
11844         (struct mdswitchstr): New.
11845         (mdswitches, n_mdswitches): New variables.
11846         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
11847         present on the command line nor their mutually incompatible
11848         switches.
11849         (default_arg): Optimize.
11850         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
11851         array.
11852         (print_multilib_info): Only print GCC multilib dir name, not OS
11853         multilib dirname.
11854         * genmultilib: Add osdirnames parameter.  Output multilib_options
11855         variable.  If osdirnames is specified, output dirnames as
11856         dirname:osdirname.
11857         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
11858         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
11859         to compute libgcc_s soname and install path.
11860         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
11861         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
11862         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
11863         argument.
11864
11865         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11866         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11867         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
11868         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
11869         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
11870         and -m64.
11871         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
11872         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11873         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
11874         (STARTFILE_ARCH_SPEC): Remove.
11875         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11876         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11877         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
11878         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
11879         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11880
11881 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
11882
11883         * predict.c (choose_function_section): Avoid choice for linkonce functions.
11884
11885 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
11886
11887         * i386.md (lea to mul peep2): Fix condition.
11888
11889 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11890
11891         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
11892         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
11893
11894 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
11895
11896         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
11897         attribute "unused".
11898
11899         * config/t-libunwind: Mention unwind-sjlj.c.
11900         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
11901         to #ifndef __USING_SJLJ_EXCEPTIONS__.
11902
11903         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
11904         before inclusion of config.gcc, but after configuring the compiler etc.
11905         Determine default value for --enable-libunwind-exceptions based on
11906         whether the host has a libunwind library (not guaranteed to be correct,
11907         but it's a reasonable first guess and can always be overridden with an
11908         explicit --enable/disable-libunwind-exceptions.
11909         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
11910         tmake_file when $use_libunwind_exceptions is enabled.
11911         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
11912         ia64 (e.g., config/t-linux also updates it).
11913         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
11914         along with the shared version of libgcc since the latter requires
11915         the former.
11916         * unwind-libunwind.c: New file.
11917         * config/t-libunwind: Ditto.
11918
11919 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11920
11921         * config.gcc: Remove support for vax-*-vms*.
11922         * config/vax/vms.h: Remove.
11923         * config/vax/xm-vms.h: Remove.
11924         * config/vax/vax-protos.h: Remove VMS-specific code.
11925         * config/vax/vax.c: Remove VMS-specific code.
11926
11927 2002-10-02  Richard Henderson  <rth@redhat.com>
11928
11929         PR opt/7124
11930         * config/i386/i386.c (ix86_register_move_cost): Increase cost
11931         for secondary_memory_needed pairs.
11932
11933 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11934
11935         * doc/vms.texi: Blow away false include file section.
11936
11937 2002-10-02  Roger Sayle  <roger@eyesopen.com>
11938
11939         PR optimization/6627
11940         * toplev.c (force_align_functions_log): New global variable.
11941         * flags.h (force_align_functions_log): Add extern prototype.
11942         * varasm.c (assemble_start_function): Use it to force minimum
11943         function alignment.
11944         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
11945         minimum function alignment to one byte.
11946         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
11947         the least significant bit of vtable member function pointers.
11948         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
11949         here from cp/cp-tree.h.
11950
11951 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
11952
11953         * i386.c (print_operand_address): Use RIP addressing for offsetted
11954         label refs too.
11955
11956 2002-09-30  David S. Miller  <davem@redhat.com>
11957
11958         PR middle-end/7151
11959         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
11960         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
11961
11962 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
11963
11964         * calls.c (expand_call): Remove the `no indirect check'
11965         for sibcall optimization; use function_ok_for_sibcall
11966         target hook; refine check for `function is volatile'.
11967         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
11968         * hooks.c (hook_tree_tree_bool_false): New.
11969         * hooks.h (hook_tree_tree_bool_false): Declare.
11970         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11971         (TARGET_INITIALIZER): Add it.
11972         * target.h (struct gcc_target): Add function_ok_for_sibcall.
11973         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
11974         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11975         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11976         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
11977         Remove function declaration.
11978         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
11979         function static and accept another argument of type `tree'.
11980         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11981         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11982         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11983         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
11984         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11985         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11986         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11987         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
11988         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
11989         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11990         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11991         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
11992         Remove function declaration.
11993         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
11994         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
11995         rename first argument to `decl'; accept another argument
11996         of type `tree'; make static.
11997         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11998         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11999         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
12000         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12001         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12002         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
12003         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12004         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12005         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12006
12007 2002-10-01  Roger Sayle  <roger@eyesopen.com>
12008
12009         * unroll.c (loop_iterations): Revert 2002-09-08 change.
12010
12011 2002-10-01  Richard Henderson  <rth@redhat.com>
12012
12013         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
12014         (real_to_hexadecimal): Likewise.
12015         * print-rtl.c (print_rtx): If we are linked with real.c, don't
12016         dump the XWINT fields of a floating point CONST_DOUBLE.
12017
12018 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
12019
12020         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
12021
12022 2002-10-01  Richard Henderson  <rth@redhat.com>
12023
12024         * calls.c (precompute_register_parameters): Force non-legitimate
12025         constants into pseudos.
12026
12027 2002-10-01  Nick Clifton  <nickc@redhat.com>
12028
12029         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
12030         to assembler template.
12031
12032 2002-10-01  Richard Henderson  <rth@redhat.com>
12033
12034         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
12035         for TLS debug info to !DECL_EXTERNAL.
12036
12037 2002-10-01  Matt Thomas  <matt@3am-software.com>
12038             Jason Thorpe  <thorpej@wasabisystems.com>
12039
12040         * config.gcc (vax-*-netbsdelf*): Enable configuration.
12041         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
12042         if not already defined.
12043         * config/vax/elf.h: New file.
12044         * config/vax/netbsd-elf.h: New file.
12045         * config/vax/vax.c: Include "debug.h".
12046         (vax_output_function_prologue): Add dwarf2 support.  Use
12047         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
12048         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
12049         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
12050         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
12051         (VAX_ISTREAM_SYNC): Remove.
12052         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
12053         (JUMP_TABLES_IN_TEXT_SECTION): Define.
12054         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
12055         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
12056         and assemble_name.
12057         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
12058         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
12059         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
12060         (INCOMING_RETURN_ADDR_RTX): Define.
12061         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
12062         (VUNSPEC_SYNC_ISTREAM): Define.
12063         (blockage): Use VUNSPEC_BLOCKAGE.
12064         (sync_istream): New insn.
12065
12066 2002-10-01  Richard Henderson  <rth@redhat.com>
12067
12068         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
12069         (*call_value_pop, call, call_value): Add dwarf2 EH support.
12070         (*call): New insn.
12071
12072 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
12073
12074         PR c/8083
12075         * c-typeck.c (build_c_cast): Warn about type punning which breaks
12076         type based aliasing.
12077
12078 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
12079
12080         * stor-layout.c (update_alignment_for_field): New function.
12081         (place_union_field): Use it.
12082         (place_field): Likewise.
12083
12084 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
12085
12086         PR other/8077
12087         * gcc.c (cc1_options): Add space on -auxbase-strip.
12088
12089 2002-10-01  Jim Wilson  <wilson@redhat.com>
12090
12091         * config/v850/v850.h (EPILOGUE_USES): Define.
12092
12093 2002-09-30  Andrew Haley  <aph@redhat.com>
12094
12095         * flow.c (insn_dead_p): When using non-call-exceptions, don't
12096         eliminate insns that may trap.
12097         * cse.c (insn_live_p): Likewise.
12098
12099 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12100
12101         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
12102         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
12103         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
12104         * config/mips/mips.md: Apply same renaming here.
12105
12106 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12107
12108         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
12109         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
12110         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
12111         * config/mips/mips.md (define_attr cpu): Remove r4320.
12112         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
12113
12114 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12115
12116         * config/mips/mips.c (mips16_strings): New variable.
12117         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
12118         symbol in mips16_strings.  Free the list.
12119         (mips_encode_section_info): Keep track of local strings.
12120
12121 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12122
12123         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
12124         (sordered_df, sordered_sf): Remove.
12125         * config/mips/mips.c (get_float_compare_codes): New fn.
12126         (gen_int_relational, gen_conditional_move): Use it.
12127
12128 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12129
12130         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
12131         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
12132         * config/mips/mips.c (fcc_register_operand): New function.
12133         (mips_emit_fcc_reload): New function, extracted from reload_incc.
12134         (override_options): Allow TFmode values in float registers
12135         if ISA_HAS_8CC.
12136         * cnfig/mips/mips.md (reload_incc): Change destination prediate
12137         to fcc_register_operand.  Remove misleading source constraint.
12138         Use mips_emit_fcc_reload.
12139         (reload_outcc): Duplicate reload_incc.
12140
12141 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
12142
12143         * gcc.c (validate_switches): Handle all new forms of spec
12144         syntax introduced recently.  Now returns a char *.
12145         (validate_all_switches): Repetitive logic broken out to...
12146         (validate_switches_from_spec): ...here.
12147         * mklibgcc.in: Don't @-flag commands to generate .oS files.
12148
12149 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
12150
12151         * longlong.h: Partially synchronize with GMP-4.1 version:
12152         Use i370 definitions also for s390.
12153         Add generic definition of umul_ppmm in terms of smul_ppmm.
12154         [s390] (umul_ppmm): Remove.
12155         [s390] (smul_ppmm): Fix incorrect assembler constraints.
12156         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
12157
12158 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
12159
12160         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
12161         Add new RL_REGS register class.
12162         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
12163         Call xtensa_preferred_reload_class for both input and output reloads.
12164         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
12165         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
12166         instead of either AR_REGS or GR_REGS classes.
12167         (xtensa_secondary_reload_class): Use new RL_REGS class.
12168         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
12169
12170 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12171
12172         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
12173         (pa_strip_name_encoding): Strip '@' and '*', in that order.
12174         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
12175         there is a '*' prefix in NAME.
12176
12177 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
12178
12179         * reload.c (push_reload): Handle subregs and secondary memory.
12180         * reload1.c (gen_reload): Likewise.
12181
12182         * jump.c (reg_or_subregno): New function.
12183         * rtl.h (reg_or_subregno): Declare
12184         * unroll.c (find_splittable_givs): Handle subregs.
12185
12186 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
12187
12188         * store-layout.c (finish_record_layout): Add free_p parameter.
12189         (layout_type): Pass it.
12190         * tree.h (finish_record_layout): Update prototype.
12191
12192 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
12193
12194         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
12195
12196         * gcse.c (cprop_jump): Check that the register has not
12197         been modified
12198         (cprop_jump): Likewise.
12199
12200 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
12201
12202         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
12203         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
12204         that we have a SImode access, and only then if reload hasn't completed;
12205         for all other cases, use LO_REGS.
12206
12207 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12208
12209         * openbsd.h: Fix typo in last change.
12210
12211 2002-09-29  Richard Henderson  <rth@redhat.com>
12212
12213         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
12214
12215 2002-09-29  Richard Henderson  <rth@redhat.com>
12216
12217         PR c/8002
12218         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
12219         for CONST_INT.
12220
12221 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
12222
12223         * real.h (ibm_extended_format): Declare.
12224         * real.c (encode_ibm_extended, decode_ibm_extended): New
12225         functions.
12226
12227 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12228
12229         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
12230
12231         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
12232
12233 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12234
12235         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
12236
12237 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
12238
12239         * builtins.def: Fix comment formatting.
12240         * c-common.def: Likewise.
12241         * cfgcleanup.c: Likewise.
12242         * combine.c: Likewise.
12243         * gengtype.c: Likewise.
12244         * params.def: Likewise.
12245         * predict.def: Likewise.
12246         * rtl.def: Likewise.
12247         * stab.def: Likewise.
12248         * stor-layout.c: Likewise.
12249         * tree.def: Likewise.
12250         * config/darwin.c: Likewise.
12251         * config/darwin.h: Likewise.
12252         * config/dbxcoff.h: Likewise.
12253         * config/elfos.h: Likewise.
12254         * config/fp-bit.c: Likewise.
12255         * config/freebsd-spec.h: Likewise.
12256         * config/interix.h: Likewise.
12257         * config/libgloss.h: Likewise.
12258         * config/linux-aout.h: Likewise.
12259         * config/linux.h: Likewise.
12260         * config/lynx-ng.h: Likewise.
12261         * config/lynx.h: Likewise.
12262         * config/netbsd-aout.h: Likewise.
12263         * config/netbsd.h: Likewise.
12264         * config/netware.h: Likewise.
12265         * config/psos.h: Likewise.
12266         * config/ptx4.h: Likewise.
12267
12268 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
12269
12270         * ChangeLog.4: Fix typos.
12271         * ChangeLog.6: Likewise.
12272         * FSFChangeLog.10: Likewise.
12273         * genattrtab.c: Fix comment typos.
12274         * haifa-sched.c: Likewise.
12275         * real.c: Likewise.
12276         * tree.h: Likewise.
12277         * config/arm/arm.c: Likewise.
12278         * config/arm/crti.asm: Likewise.
12279         * config/arm/crtn.asm: Likewise.
12280         * config/frv/frv.c: Likewise.
12281         * config/frv/frv.md: Likewise.
12282         * config/h8300/h8300.md: Likewise.
12283         * config/i386/rtemself.h: Likewise.
12284         * config/ia64/unwind-ia64.c: Likewise.
12285         * config/ip2k/ip2k.h: Likewise.
12286         * config/m88k/m88k.c: Likewise.
12287         * config/m88k/m88k.md: Likewise.
12288         * config/mips/sr71k.md: Likewise.
12289         * config/mmix/mmix.c: Likewise.
12290         * config/rs6000/rs6000.c: Likewise.
12291         * config/sh/sh.md: Likewise.
12292
12293 2002-09-26  Theodore A. Roth  <troth@verinet.com>
12294
12295         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
12296         * config/avr/avr.md: Ditto.
12297
12298 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
12299
12300         PR preprocessor/8055
12301         * cppmacro.c (stringify_arg): Do not overflow the buffer
12302         with the terminating NUL when the argument to be stringified
12303         has no tokens.
12304
12305 2002-09-27  Richard Henderson  <rth@redhat.com>
12306
12307         * unroll.c (simplify_cmp_and_jump_insns): New.
12308         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
12309         instead of expand_simple_foo.
12310
12311 2002-09-27  Richard Henderson  <rth@redhat.com>
12312
12313         PR optimization/7520
12314         * cfganal.c (flow_active_insn_p): New.
12315         (forwarder_block_p): Use it.
12316
12317 2002-09-27  Richard Henderson  <rth@redhat.com>
12318
12319         * emit-rtl.c (active_insn_p): Revert last change.
12320
12321 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
12322
12323         * doc/extend.texi (tls_model): Document.
12324         * varasm.c (decl_tls_model): New.
12325         * c-common.c (handle_tls_model_attribute): New.
12326         (c_common_attribute_table): Add tls_model.
12327         * config/alpha/alpha.c (alpha_encode_section_info): Use
12328         decl_tls_model.
12329         * flags.h (enum tls_model, flag_tls_default): Move...
12330         * tree.h (enum tls_model, flag_tls_default): ...here.
12331         (decl_tls_model): New prototype.
12332         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
12333         * config/i386/i386.c (ix86_encode_section_info): Likewise.
12334         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
12335         Allow !flag_pic.
12336
12337 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
12338
12339         * LANGUAGES: Follow spelling conventions.
12340         * rtl.def: Likewise.
12341         * sbitmap.c: Likewise.
12342         * sched-int.h: Likewise.
12343         * sched-rgn.c: Likewise.
12344         * sibcall.c: Likewise.
12345         * simplify-rtx.c: Likewise.
12346         * ssa.c: Likewise.
12347         * stab.def: Likewise.
12348         * stmt.c: Likewise.
12349         * stor-layout.c: Likewise.
12350         * target.h: Likewise.
12351         * timevar.c: Likewise.
12352         * toplev.c: Likewise.
12353         * tree-dump.c: Likewise.
12354         * tree-inline.c: Likewise.
12355         * tree.c: Likewise.
12356         * tree.def: Likewise.
12357         * tree.h: Likewise.
12358         * unroll.c: Likewise.
12359         * varasm.c: Likewise.
12360         * vmsdbgout.c: Likewise.
12361         * treelang/treelang.texi: Likewise.
12362         * treelang/treetree.c: Likewise.
12363
12364 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
12365
12366         * config/h8300/h8300.c (compute_saved_regs): Use a macro
12367         instead of a hard register number.
12368         (get_shift_alg): Use an enumerated type instead of numbers.
12369         (h8300_shift_needs_scratch_p): Likewise.
12370
12371 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12372
12373         * varasm.c (force_data_section): Remove.
12374         (assemble_constant_align): Likewise.
12375         * output.h: Remove corresponding prototypes.
12376
12377 2002-09-26  Roger Sayle  <roger@eyesopen.com>
12378
12379         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
12380         jump, if the loop to exit is the top of the current nesting stack.
12381
12382 2002-09-26  Torbjorn Granlund  <tege@swox.com>
12383
12384         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
12385         arithmetic.
12386
12387 2002-09-26  David S. Miller  <davem@redhat.com>
12388
12389         PR optimization/7335
12390         * calls.c (emit_library_call_value_1): Passing args by reference
12391         converts a CONST function into a PURE one.
12392
12393 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
12394
12395         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
12396         text_section.
12397         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
12398         text section.
12399         * config/rs6000/rs6000.c (rs6000_override_options): Allow
12400         function-sections and data-sections functionality on AIX.
12401
12402 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
12403             Dale Johannesen  <dalej@apple.com>
12404
12405         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
12406         in RTL for sub-word loads from memory.
12407
12408 2002-09-26  Richard Henderson  <rth@redhat.com>
12409
12410         PR c/7160
12411         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
12412         on call insns.
12413
12414 2002-09-26  Richard Henderson  <rth@redhat.com>
12415
12416         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
12417
12418 2002-09-26  Chris Lattner  <sabre@nondot.org>
12419
12420         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
12421         handling undefined values.
12422
12423 2002-09-26  Richard Henderson  <rth@redhat.com>
12424
12425         PR opt/7520
12426         * emit-rtl.c (active_insn_p): Consider a clobber of the
12427         function return value to be active even after reload.
12428
12429 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
12430
12431         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
12432         by absolute loop increment, not loop increment.
12433
12434 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12435
12436         * c-common.h: Follow spelling conventions.
12437         * cpplex.c: Likewise.
12438         * cpplib.h: Likewise.
12439         * gthr-dce.h: Likewise.
12440         * gthr-posix.h: Likewise.
12441         * optabs.c: Likewise.
12442         * output.h: Likewise.
12443         * profile.c: Likewise.
12444         * protoize.c: Likewise.
12445         * ra-rewrite.c: Likewise.
12446         * real.c: Likewise.
12447         * recog.c: Likewise.
12448         * reg-stack.c: Likewise.
12449         * regclass.c: Likewise.
12450         * regmove.c: Likewise.
12451         * reload.c: Likewise.
12452         * reload.h: Likewise.
12453         * reload1.c: Likewise.
12454         * reorg.c: Likewise.
12455         * resource.c: Likewise.
12456         * rtl.h: Likewise.
12457         * rtlanal.c: Likewise.
12458
12459 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12460
12461         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
12462         for symbol address.
12463
12464 2002-09-24  Eric Christopher  <echristo@redhat.com>
12465
12466         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
12467         * config/mips/elf64.h: Ditto.
12468
12469 2002-09-24  Eric Christopher  <echristo@redhat.com>
12470
12471         * except.c (expand_builtin_extract_return_address): Handle case
12472         where Pmode != ptr_mode.
12473
12474 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12475
12476         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
12477
12478 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12479
12480         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
12481
12482 2002-09-26  Igor Shevlyakov <igor@microunity.com>
12483
12484         * combine.c (simplify_set): Don't call to force_to_mode if size
12485         of integer type is larger than HOST_BITS_PER_WIDE_INT.
12486
12487 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
12488
12489         * Makefile.in (qmtest-g++): Fix file path.
12490
12491 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
12492
12493         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
12494         A + (-const) on RTX level, even for unsigned types.
12495
12496 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
12497
12498         * reload.c (dup_replacements): New function.
12499         (find_reloads): Use it to duplicate replacements at the top level
12500         of match_dup operands.
12501
12502 2002-09-26  Miles Bader  <miles@gnu.org>
12503
12504         * v850.md ("length"): Change default value to 4.
12505
12506 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12507
12508         * ChangeLog.1: Follow spelling conventions.
12509         * ChangeLog.4: Likewise.
12510         * ChangeLog.6: Likewise.
12511         * FSFChangeLog.11: Likewise.
12512         * doc/cpp.texi: Likewise.
12513         * doc/invoke.texi: Likewise.
12514         * doc/tm.texi: Likewise.
12515
12516 2002-09-26  Nick Clifton  <nickc@redhat.com>
12517
12518         * config.gcc: Add x prefix to v850e case for handling
12519         --with-cpu=v850e.
12520
12521 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
12522
12523         * gcc.c (input_suffix_matches, switch_matches,
12524         mark_matching_switches, process_marked_switches,
12525         process_brace_body): New functions - split from handle_braces.
12526         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
12527         and ignore whitespace in more places.
12528         (specs documentation comment): Document %{S:X;T:Y;:D}.
12529         Clarify other %{...} docs.
12530         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
12531         %{...} docs.
12532
12533         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
12534         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
12535
12536 2002-09-25  David S. Miller  <davem@redhat.com>
12537
12538         PR target/7842
12539         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
12540         extend.
12541
12542 2002-09-25  Richard Henderson  <rth@redhat.com>
12543
12544         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
12545         fp CONST_DOUBLE; use real_identical.
12546
12547 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
12548
12549         * doc/invoke.texi: Add more -Wabi examples.
12550
12551 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
12552
12553         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
12554
12555 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
12556
12557         * profile.c (end_branch_prob): Only look for __gcov_init on
12558         weak-enabled native compilers.
12559
12560 2002-09-24  Denis Chertykov  <denisc@overta.ru>
12561
12562         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
12563         cases of optimizing "add sp,w" to "inc sp".
12564
12565 2002-09-24  Adam Nemet  <anemet@lnxw.com>
12566
12567         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
12568         epilogue for naked functions.
12569
12570 2002-09-24  Adam Nemet  <anemet@lnxw.com>
12571             Nick Clifton  <nickc@redhat.com>
12572
12573         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
12574         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
12575         is defined.
12576
12577 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
12578
12579         * config/s390/s390.c (preferred_la_operand_p): New function.
12580         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
12581         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
12582         ("*la_64_cc", "*la_31_cc", splitters): ... these.
12583         ("*la_31"): Deactivate for TARGET_64BIT.
12584         ("*la_31_and", "*la_31_and_cc"): New.
12585
12586 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12587
12588         * real.h (real_value): Make `exp' explicitly signed.
12589
12590 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
12591
12592         * config/elfos.h: Follow spelling conventions.
12593         * config/alpha/alpha.h: Likewise.
12594         * config/arc/arc.h: Likewise.
12595         * config/arm/arm.md: Likewise.
12596         * config/avr/avr.h: Likewise.
12597         * config/cris/cris.md: Likewise.
12598         * config/d30v/d30v.h: Likewise.
12599         * config/frv/frv.c: Likewise.
12600         * config/frv/frv.h: Likewise.
12601         * config/h8300/h8300.c: Likewise.
12602         * config/h8300/h8300.h: Likewise.
12603         * config/h8300/h8300.md: Likewise.
12604         * config/i386/cygwin.h: Likewise.
12605         * config/i386/i386.h: Likewise.
12606         * config/i386/sysv3.h: Likewise.
12607         * config/i960/i960.h: Likewise.
12608         * config/ia64/ia64.h: Likewise.
12609         * config/ia64/ia64.md: Likewise.
12610         * config/ip2k/ip2k.h: Likewise.
12611         * config/m32r/m32r.h: Likewise.
12612         * config/m68k/m68k.h: Likewise.
12613         * config/m88k/m88k.h: Likewise.
12614         * config/mcore/mcore.c: Likewise.
12615         * config/mcore/mcore.h: Likewise.
12616         * config/mcore/mcore.md: Likewise.
12617         * config/mips/mips.h: Likewise.
12618         * config/mmix/mmix.h: Likewise.
12619         * config/mmix/mmix.md: Likewise.
12620         * config/ns32k/netbsd.h: Likewise.
12621         * config/ns32k/ns32k.h: Likewise.
12622         * config/ns32k/ns32k.md: Likewise.
12623         * config/pa/pa.h: Likewise.
12624         * config/romp/romp.h: Likewise.
12625         * config/rs6000/rs6000.h: Likewise.
12626         * config/rs6000/rs6000.md: Likewise.
12627         * config/sparc/sparc.h: Likewise.
12628         * config/stormy16/stormy-abi: Likewise.
12629         * config/stormy16/stormy16.h: Likewise.
12630         * config/vax/vax.h: Likewise.
12631
12632 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
12633
12634         * config/alpha/alpha.h: Remove commented-out macro
12635         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
12636         * config/avr/avr.h: Likewise.
12637         * config/d30v/d30v.h: Likewise.
12638         * config/dsp16xx/dsp16xx.h: Likewise.
12639         * config/i370/i370.h: Likewise.
12640         * config/i386/i386.h: Likewise.
12641         * config/i960/i960.h: Likewise.
12642         * config/m68k/m68k.h: Likewise.
12643         * config/m88k/m88k.h: Likewise.
12644         * config/mips/mips.h: Likewise.
12645         * config/ns32k/ns32k.h: Likewise.
12646         * config/pdp11/pdp11.h: Likewise.
12647         * config/romp/romp.h: Likewise.
12648         * config/rs6000/rs6000.h: Likewise.
12649         * config/s390/s390.h: Likewise.
12650         * config/sh/sh.h: Likewise.
12651         * config/sparc/sparc.h: Likewise.
12652         * config/stormy16/stormy16.h: Likewise.
12653         * config/vax/vax.h: Likewise.
12654
12655 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
12656
12657         * function.c (push_temp_slots_for_block): Remove.
12658         (push_temp_slots_for_target): Likewise.
12659         (get_target_temp_slot_level): Likewise.
12660         (set_target_temp_slot_level): Likewise.
12661         (get_first_block_beg): Likewise.
12662         * function.h: Remove corresponding prototypes.
12663
12664 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
12665
12666         * version.c (version_string): Now const char[].
12667         * version.h: Update to match.
12668
12669 2002-09-23  Richard Henderson  <rth@redhat.com>
12670
12671         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
12672         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
12673         (TARGET_SWITCHES): Don't reference them.
12674         * config/i386/i386.c (override_options): Use target_flags_explicit
12675         to examine bits set by the user.
12676
12677 2002-09-23  Dale Johannesen  <dalej@apple.com>
12678
12679         * dbxout.c (dbxout_parms):  Set current_sym_code for params
12680         passed on stack by invisible reference.
12681
12682 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
12683
12684         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
12685         at least one byte of space.
12686
12687 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
12688
12689         * c-common.h (flag_abi_version): Fix typo in comment.
12690         * doc/invoke.texi (flag_abi_version): Document default value.
12691
12692 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
12693
12694         * doc/extend.texi (Extended Asm): Clarify that overlap between
12695         asm-declared register variables used in an asm and the asm clobber
12696         list is not allowed.
12697         * stmt.c (decl_conflicts_with_clobbers_p): New function.
12698         (expand_asm_operands): Keep track of clobbered registers.  Call
12699         decl_conflicts_with_clobbers_p for each input and output operand.
12700         If no conflicts found before, also do conflict sanity check when
12701         emitting clobbers.
12702
12703 2002-09-23  Richard Henderson  <rth@redhat.com>
12704
12705         * c-common.c (cpp_define_data_format): Remove.
12706         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
12707         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
12708         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
12709         * doc/cpp.texi: Don't document them either.
12710         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
12711         __LONG_LONG_MAX__): Document.
12712         (__TARGET_FLOAT_FORMAT__): Remove.
12713
12714 2002-09-23  Richard Henderson  <rth@redhat.com>
12715
12716         * real.c (do_multiply): Normalize U before addition.
12717
12718 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
12719
12720         * c-common.c (flag_abi_version): New variable.
12721         * c-common.h (flag_abi_version): Declare it.
12722         * c-opts.c (missing_arg): Add -fabi-version.
12723         (c_common_decode_option): Process -fabi-version.
12724         * doc/invoke.texi (-fabi-version): Document it.
12725         (-Wabi): Add information about bit-fields in unions.
12726
12727 2002-09-22  Roger Sayle  <roger@eyesopen.com>
12728
12729         * expr.c (STORE_BY_PIECES_P): New target macro.
12730         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
12731         instead of MOVE_BY_PIECES_P.
12732         * doc/tm.texi: Document this new macro.
12733
12734 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
12735
12736         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
12737         unless -fno-pic or -fno-PIC is specified.
12738
12739 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12740
12741         * c-common.c (preprocessing_trad_p): Define.
12742         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
12743         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
12744         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
12745         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
12746         * pa-linux.h (CPP_PREDEFINES): Delete.
12747         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
12748         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
12749         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
12750         (TARGET_OS_CPP_BUILTINS): Define.
12751         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
12752         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
12753         (SUBTARGET_SWITCHES): Provide default definition.
12754         (TARGET_OPTIONS): Reformat.  Use N_() macro.
12755         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
12756         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
12757         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
12758         (TARGET_CPU_CPP_BUILTINS): Define.
12759         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
12760         * doc/invoke.texi (msio, mwsio): Document new hppa options.
12761         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
12762         preprocessing_trad_p().
12763
12764 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
12765
12766         * doc/install.texi: Document behavior of --with-headers and
12767         --with-libs when arguments are omitted.
12768
12769 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
12770
12771         * dbxout.c: Follow spelling conventions.
12772         * defaults.h: Likewise.
12773         * df.c: Likewise.
12774         * diagnostic.h: Likewise.
12775         * doloop.c: Likewise.
12776         * dwarf2out.c: Likewise.
12777         * dwarfout.c: Likewise.
12778         * emit-rtl.c: Likewise.
12779         * except.c: Likewise.
12780         * explow.c: Likewise.
12781         * expmed.c: Likewise.
12782         * expr.c: Likewise.
12783         * expr.h: Likewise.
12784         * flags.h: Likewise.
12785         * flow.c: Likewise.
12786         * fold-const.c: Likewise.
12787         * function.c: Likewise.
12788         * function.h: Likewise.
12789         * gcc.c: Likewise.
12790         * gcov-io.h: Likewise.
12791         * gcov.c: Likewise.
12792         * gcse.c: Likewise.
12793         * genattrtab.c: Likewise.
12794         * genconfig.c: Likewise.
12795         * genrecog.c: Likewise.
12796         * ggc-page.c: Likewise.
12797         * ggc.h: Likewise.
12798         * global.c: Likewise.
12799         * gthr-win32.h: Likewise.
12800         * integrate.c: Likewise.
12801         * jump.c: Likewise.
12802         * langhooks.c: Likewise.
12803         * langhooks.h: Likewise.
12804         * line-map.h: Likewise.
12805         * local-alloc.c: Likewise.
12806         * longlong.h: Likewise.
12807         * loop.c: Likewise.
12808         * loop.h: Likewise.
12809
12810 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
12811
12812         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
12813
12814 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
12815
12816         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
12817         for -Os/TARGET_64BIT too.
12818
12819 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
12820
12821         * ChangeLog: Follow spelling conventions.
12822         * ChangeLog.0: Likewise.
12823         * ChangeLog.1: Likewise.
12824         * ChangeLog.2: Likewise.
12825         * ChangeLog.3: Likewise.
12826         * ChangeLog.4: Likewise.
12827         * ChangeLog.5: Likewise.
12828         * ChangeLog.6: Likewise.
12829         * FSFChangeLog.10: Likewise.
12830         * FSFChangeLog.11: Likewise.
12831         * alias.c: Likewise.
12832         * basic-block.h: Likewise.
12833         * c-aux-info.c: Likewise.
12834         * c-common.c: Likewise.
12835         * c-common.h: Likewise.
12836         * c-decl.c: Likewise.
12837         * c-format.c: Likewise.
12838         * c-semantics.c: Likewise.
12839         * c-typeck.c: Likewise.
12840         * calls.c: Likewise.
12841         * cfganal.c: Likewise.
12842         * cfgloop.c: Likewise.
12843         * collect2.c: Likewise.
12844         * combine.c: Likewise.
12845         * conflict.c: Likewise.
12846         * cppexp.c: Likewise.
12847         * cppfiles.c: Likewise.
12848         * cpphash.h: Likewise.
12849         * cppinit.c: Likewise.
12850         * cpplex.c: Likewise.
12851         * cpplib.c: Likewise.
12852         * cpplib.h: Likewise.
12853         * cppmacro.c: Likewise.
12854         * cse.c: Likewise.
12855
12856 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12857
12858         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
12859         LINK_SPEC.
12860         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
12861         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
12862         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
12863
12864 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12865
12866         PR opt/7930
12867         * cse.c (fold_rtx): Calculate old_cost before we fold each
12868         operand.
12869
12870 2002-09-21  Richard Henderson  <rth@redhat.com>
12871
12872         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
12873         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12874         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12875         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
12876         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
12877         * doc/cpp.texi: Don't document them.
12878
12879 2002-09-21  Richard Henderson  <rth@redhat.com>
12880
12881         * c-common.c (builtin_define_float_constants): Use real_format
12882         to get the floating-point parameters.
12883
12884 2002-09-21  Richard Henderson  <rth@redhat.com>
12885
12886         * real.c (struct real_format): Move to real.h.
12887         (real_format_for_mode): Rename from fmt_for_mode; update all users;
12888         initialize with ieee defaults.
12889         (real_to_target_fmt, real_from_target_fmt): New.
12890         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12891         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12892         ieee_quad_format, i370_single_format, i370_double_format,
12893         c4x_single_format, c4x_extended_format): Rename from s/_format//.
12894         (ieee_quad_format): Fix emin.
12895         (format_for_size, init_real_once): Remove.
12896         * real.h (struct real_format): Move from real.c.
12897         (real_format_for_mode): Declare.
12898         (real_to_target_fmt, real_from_target_fmt): Declare.
12899         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12900         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12901         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
12902         i370_single_format, i370_double_format, c4x_single_format,
12903         c4x_extended_format): Declare.
12904         * toplev.c (do_compile): Don't call init_real_once.
12905
12906         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12907         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12908
12909         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
12910         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
12911         * config/alpha/alpha.c (override_options): Set real_format_for_mode
12912         for VAX, if enabled.
12913
12914         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
12915         for C4X.
12916
12917         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
12918         * config/i370/i370.c (override_options): New.
12919         * config/i370/i370-protos.h: Update.
12920
12921         * config/i386/i386.c (override_options): Set real_format_for_mode
12922         for Intel 80-bit extended.
12923         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12924
12925         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
12926         (OVERRIDE_OPTIONS): Move code...
12927         * config/i960/i960.c (i960_initialize): ... here.  Set
12928         real_format_for_mode for Intel 80-bit extended.
12929
12930         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
12931         for Intel 80-bit extended, if enabled.
12932
12933         * config/m68k/m68k.c (override_options): Set real_format_for_mode
12934         for Motorola 96-bit extended.
12935
12936         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
12937         * config/vax/vax.c (override_options): New.
12938         * config/vax/vax-protos.h: Update.
12939
12940 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
12941
12942         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
12943         #if TARGET_MACHO.
12944
12945         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
12946         insns.  Supply missing clobber of scratch reg.
12947
12948 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
12949
12950         * config/m32r/m32r.c: Follow spelling conventions.
12951         * config/m32r/m32r.h: Likewise.
12952         * config/m32r/m32r.md: Likewise.
12953         * config/m68k/m68k.c: Likewise.
12954         * config/m88k/m88k.c: Likewise.
12955         * config/mcore/mcore.c: Likewise.
12956         * config/mips/mips.c: Likewise.
12957         * config/mips/mips.h: Likewise.
12958         * config/mmix/mmix.c: Likewise.
12959         * config/mn10200/mn10200.c: Likewise.
12960         * config/ns32k/ns32k.h: Likewise.
12961         * config/pa/pa.c: Likewise.
12962         * config/pa/pa64-linux.h: Likewise.
12963         * config/pdp11/pdp11.h: Likewise.
12964         * config/romp/romp.c: Likewise.
12965         * config/romp/romp.h: Likewise.
12966         * config/rs6000/eabi.asm: Likewise.
12967         * config/rs6000/linux64.h: Likewise.
12968         * config/rs6000/rs6000.c: Likewise.
12969         * config/rs6000/rs6000.h: Likewise.
12970         * config/rs6000/rs6000.md: Likewise.
12971         * config/rs6000/sysv4.h: Likewise.
12972         * config/rs6000/xcoff.h: Likewise.
12973
12974 2002-09-20  Jim Wilson  <wilson@redhat.com>
12975
12976         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
12977
12978 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
12979
12980         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
12981         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
12982         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
12983         (legitimate_address_p): Likewise.
12984         (legitimize_address): Use @gotntpoff and @indntpoff.
12985         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
12986         (output_addr_const_extra): Likewise.
12987
12988 2002-09-20  Jim Wilson  <wilson@redhat.com>
12989
12990         * combine.c (try_combine): When split an instruction pair, where the
12991         first has a sign_extend src, verify that the src and dest modes match.
12992
12993 2002-09-20  Richard Henderson  <rth@redhat.com>
12994
12995         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
12996         (override_options): Do not initialize them.
12997         (mips_const_double_ok): Allow no fp constants except zero,
12998         and not even that for mips16.
12999         (const_float_1_operand): Use dconst1.
13000         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
13001         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
13002         Don't allow arbitrary constants; fix predicates and C constraint.
13003
13004 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
13005
13006         * cppmacro.c: Don't warn about function-like macros without
13007         '(' during pre-expansion.
13008
13009 2002-09-20  Jim Wilson  <wilson@redhat.com>
13010
13011         * config/v850/v850.c (current_function_anonymous_args): Delete.
13012         (expand_prologue): Use current_function_args_info.anonymous_args.
13013         (expand_epilogue): Delete use of current_function_anonymous_args.
13014         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
13015         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
13016         (current_function_anonymous_args): Delete extern declaration.
13017         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
13018
13019 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
13020
13021         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
13022         to load_macho_picbase.
13023         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
13024         (load_macho_picbase): Take the symbol to use as a parameter.
13025         (macho_correct_pic): New insn.
13026         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
13027
13028         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
13029         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
13030         (CAN_ELIMINATE): Likewise.
13031         (INITIAL_ELIMINATION_OFFSET): Likewise.
13032         (TOC_REGISTER): Likewise.
13033
13034 2002-09-20  Richard Henderson  <rth@redhat.com>
13035
13036         * real.c (real_hash): New.
13037         * real.h: Declare it.
13038         * cse.c (canon_hash): Use it.
13039         * cselib.c (hash_rtx): Likewise.
13040         * emit-rtl.c (const_double_htab_hash): Likewise.
13041         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
13042         * varasm.c (struct rtx_const): Reduce vector size; separate
13043         integer and fp vectors.
13044         (HASHBITS): Remove.
13045         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
13046         take modulus MAX_HASH_TABLE.
13047         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
13048         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
13049         (SYMHASH): Don't use HASHBITS.
13050         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
13051         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
13052         (simplify_subtraction): Fix kind comparison.
13053         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
13054         Use a union to pun integer array.
13055         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
13056         only hash two words of integral CONST_DOUBLE.
13057
13058 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
13059
13060         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
13061         (STARTFILE_PREFIX_SPEC): New.
13062         (LINK_SPEC): Modify.
13063         (LIB_SPEC): Modify.
13064         (LIBGCC_SPEC): New.
13065
13066 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
13067
13068         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
13069         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
13070
13071 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
13072
13073         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
13074         Add clobber of the condition code register.
13075
13076 2002-09-20  Richard Henderson  <rth@redhat.com>
13077
13078         * real.c (do_fix_trunc): Static.
13079         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
13080         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
13081         encode_i370_single, encode_i370_double, encode_c4x_single,
13082         encode_c4x_extended): Add default abort case.
13083
13084 2002-09-20  Richard Henderson  <rth@redhat.com>
13085
13086         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
13087         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
13088         (struct realvaluetype): Remove.
13089         (REAL_VALUE_TYPE): Use struct real_value.
13090         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
13091         (test_real_width): New.
13092         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
13093         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
13094         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
13095         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
13096         real_to_integer, real_to_integer2, real_to_decimal,
13097         real_to_hexadecimal, real_from_string, real_from_integer,
13098         real_inf, real_nan, real_2expN, real_convert, real_to_target,
13099         real_from_target): Likewise.
13100         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
13101         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
13102
13103 2002-09-20  Richard Henderson  <rth@redhat.com>
13104
13105         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
13106         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
13107         * defaults.h: ... here.
13108         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
13109         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
13110         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
13111         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
13112
13113 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
13114
13115         * config/mmix/mmix.md ("negdf2"): Rewrite.
13116         ("*expanded_negdf2"): New.
13117
13118 2002-09-19  Jim Wilson  <wilson@redhat.com>
13119
13120         * combine.c (simplify_set): When optimizing a subreg src with a
13121         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
13122
13123 2002-09-19  Dale Johannesen <dalej@apple.com>
13124         * combine.c (make_extraction): Don't create
13125         invalid subreg.
13126
13127 2002-09-19  Roger Sayle  <roger@eyesopen.com>
13128
13129         * tree.c (integer_nonzerop): New predicate for nonzero integers.
13130         * tree.h (integer_nonzerop): Add function prototype.
13131         * stmt.c (expand_end_loop):  Don't rotate the loop when there
13132         are no instructions in the test, i.e. the loop is unconditional.
13133         (expand_exit_loop_if_false):  Optimize RTL generation of loop
13134         tests when the condition is always true or always false.
13135         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
13136         do-loops when the condition is always true.
13137         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
13138         the for-expression is empty.
13139
13140 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
13141
13142         * gcc.c (use_pipes): New flag.
13143         (process_command): Set it.  Adjust check for -pipe conflicting
13144         with -time or -save-temps.
13145         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
13146         %<SWITCH.  Drop %| (without a SUFFIX).
13147         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
13148         (give_switch): Third argument eliminated.
13149         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
13150         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
13151         (specs documentation comment): Update.
13152
13153         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
13154         config/svr4.h, config/i386/freebsd-aout.h,
13155         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
13156         config/m68k/openbsd.h, config/mips/openbsd.h,
13157         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
13158         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
13159         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
13160         * config/cris/cris.h: Update comment.
13161
13162         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
13163         error messages.  Don't use %{^SWITCH}.
13164         * ada/misc.c (gnat_decode_option): Handle -I with a
13165         separate argument.
13166
13167         * f/lang-specs.h: Use %| and %m.
13168         * java/jvspec.c: Use %m and %(invoke_as).  Change all
13169         uses of %{<SWITCH} to %<SWITCH.
13170
13171         * doc/invoke.texi: Update documentation of specs.
13172         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
13173
13174 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
13175
13176         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
13177         and STRICT_LOW_PART within SET_DEST.
13178         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
13179         splitters, replacing pre-reload splitters.
13180         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
13181         "*zero_extendqihi2_31"): New insns.
13182         ("*zero_extendqihi2_64"): Do not clobber CC.
13183
13184 2002-09-18  Devang Patel  <dpatel@apple.com>
13185
13186         * cp/cp-tree.h: New prototype for walk_vtables().
13187         * cp/decl.c (walk_vtables_r): New function.
13188         (struct cp_binding_level): Add new members, namespaces,
13189         names_size and vtables.
13190         (add_decl_to_level): Add decl in namespaces or vtables
13191         chain, if conditions match.
13192         (walk_vtables): New function.
13193         (walk_namespaces_r): Travers separate namespace chain
13194         for namespace decls.
13195         (wrapup_globals_for_namespace): Use names_size instead
13196         of list_length().
13197         * cp/decl2.c (finish_file): Use walk_vtables() instead of
13198         walk_globals() to walk vtable decls.
13199
13200 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
13201
13202         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
13203         (DTORS_SECTION_ASM_OP): Ditto.
13204         (READONLY_DATA_SECTION_ASM_OP): Moved.
13205         (DATA_SECTION_ASM_OP): New.
13206         (SDATA_SECTION_ASM_OP): New.
13207         (BSS_SECTION_ASM_OP): New.
13208         (SBSS_SECTION_ASM_OP): New.
13209         (TEXT_SECTION_ASM_OP): New.
13210
13211 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
13212
13213         * config/fp-bit.c: Follow spelling conventions.
13214         * config/d30v/d30v.c: Likewise.
13215         * config/d30v/d30v.h: Likewise.
13216         * config/fr30/fr30.c: Likewise.
13217         * config/fr30/fr30.h: Likewise.
13218         * config/fr30/fr30.md: Likewise.
13219         * config/frv/frv.c: Likewise.
13220         * config/frv/frv.h: Likewise.
13221         * config/h8300/h8300.c: Likewise.
13222         * config/h8300/lib1funcs.asm: Likewise.
13223         * config/i370/i370.c: Likewise.
13224         * config/i386/i386.h: Likewise.
13225         * config/i386/i386.md: Likewise.
13226         * config/i386/pentium.md: Likewise.
13227         * config/i386/winnt.c: Likewise.
13228         * config/i960/i960.c: Likewise.
13229         * config/ia64/ia64.h: Likewise.
13230         * config/ip2k/ip2k.c: Likewise.
13231         * config/ip2k/ip2k.h: Likewise.
13232         * config/ip2k/ip2k.md: Likewise.
13233         * config/ip2k/libgcc.S: Likewise.
13234
13235 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
13236
13237         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
13238         (GOTOFF_P): Extend to allow gotoff plus constant.
13239
13240 2002-09-18  Richard Henderson  <rth@redhat.com>
13241
13242         * ifcvt.c (noce_process_if_block): Correctly detect X modified
13243         with INSN_B before COND_EARLIEST.  Don't check A and B for
13244         modification in condition range.  Reorder INSN_B for A==B properly.
13245         (if_convert): Iterate until no matches for a block.
13246
13247 2002-09-18  Richard Henderson  <rth@redhat.com>
13248
13249         * calls.c (store_one_arg): Rename default_align to parm_align;
13250         always adjust parm_align for downward padding.
13251
13252 2002-09-18  Richard Henderson  <rth@redhat.com>
13253
13254         * toplev.c (backend_init): Move init_real_once invocation ...
13255         (do_compile): ... here.
13256
13257 2002-09-18  Richard Henderson  <rth@redhat.com>
13258
13259         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
13260         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
13261
13262 2002-09-18  Richard Henderson  <rth@redhat.com>
13263
13264         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
13265
13266 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
13267
13268         * config/rs6000/rs6000.md: (floatdisf2): Rename to
13269         floatdisf2_internal1.
13270         (floatdisf2): New define_expand.
13271         (floatdisf2_internal2): Likewise.
13272
13273 2002-09-18  Richard Henderson  <rth@redhat.com>
13274
13275         * real.c (sticky_rshift_significand): Collect sticky as
13276         unsigned long, not bool.
13277
13278 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
13279
13280         * config/s390/s390.c (s390_address_cost): New function.
13281         config/s390/s390-protos.h (s390_address_cost): Add prototype.
13282         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
13283         (RTX_COST): Use COSTS_N_INSNS.
13284
13285 2002-09-18  Douglas Rupp  <rupp@gnat.com>
13286             Donn Terry  <donnte@microsoft.com>
13287
13288         * stor-layout.c (place_field): Handle alignment of whole
13289         structures when MSVC compatible bitfields are involved.
13290         Change method of computing location of MS bitfields to
13291         be compatible with #pragma pack(n).
13292
13293         * tree.h (record_layout_info): Add new field
13294         remaining_in_alignment.
13295
13296         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
13297         (pragma pack): Add paragraph on MSVC bitfield packing.
13298
13299 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
13300
13301         PR optimization/7967
13302         * arm.md (ne_zeroextractsi): Add clobber of the condition code
13303         register.
13304
13305 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
13306
13307         * config/s390/s390.c: Follow spelling conventions.
13308         * config/sh/lib1funcs.asm: Likewise.
13309         * config/sh/sh.c: Likewise.
13310         * config/sh/sh.h: Likewise.
13311         * config/sparc/sparc.c: Likewise.
13312         * config/sparc/sparc.h: Likewise.
13313         * config/sparc/sparc.md: Likewise.
13314         * config/stormy16/stormy16.c: Likewise.
13315         * config/stormy16/stormy16.h: Likewise.
13316         * config/v850/v850.c: Likewise.
13317         * config/v850/v850.h: Likewise.
13318         * config/vax/vax.c: Likewise.
13319         * config/vax/vax.h: Likewise.
13320
13321 2002-09-18  Nick Clifton  <nickc@redhat.com>
13322
13323         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
13324         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
13325         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
13326
13327 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13328
13329         * function.c (max_parm_reg_num): Remove.
13330         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
13331         drop_through_at_end_p, move_cleanups_up,
13332         expand_end_case_dummy, case_index_expr_type): Likewise.
13333         * stor-layout.c (pos_from_byte): Likewise.
13334         * tree.c (chain_member_value, chain_member_purpose, listify,
13335         tree_int_cst_msb, index_type_equal): Likewise.
13336         * tree.h: Remove prototypes for unused functions.
13337
13338 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
13339
13340         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
13341         statement that the only translation is to en_UK.
13342
13343 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13344
13345         * config/alpha/alpha.c: Follow spelling conventions.
13346         * config/alpha/alpha.h: Likewise.
13347         * config/alpha/alpha.md: Likewise.
13348         * config/arc/arc.h: Likewise.
13349         * config/arm/arm.c: Likewise.
13350         * config/arm/arm.h: Likewise.
13351         * config/arm/arm.md: Likewise.
13352         * config/arm/pe.c: Likewise.
13353         * config/arm/unknown-elf.h: Likewise.
13354         * config/avr/avr.c: Likewise.
13355         * config/avr/avr.h: Likewise.
13356         * config/c4x/c4x.c: Likewise.
13357         * config/cris/cris.c: Likewise.
13358         * config/cris/cris.h: Likewise.
13359
13360 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
13361
13362         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
13363         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
13364         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
13365
13366 2002-09-17  Dale Johannesen  <dalej@apple.com>
13367
13368         * cfgcleanup.c (try_forward_edges):  Do not forward a
13369         branch to just after a loop exit before loop optimization;
13370         this interfered with doloop detection.
13371
13372 2002-09-17  Nick Clifton  <nickc@redhat.com>
13373
13374         * config/arm/arm.c (output_return_instruction): Do not
13375         writeback the stack pointer when it is being loaded.
13376         (arm_output_epilogue): Likewise.
13377
13378 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13379
13380         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
13381         generate a pseudo reg that receives the result of a libcall.
13382         (prepare_float_lib_cmp): Likewise.
13383
13384 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
13385
13386         * config/ia64/elf.h: Remove CPP_PREDEFINES.
13387
13388 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13389
13390         Fix PR/7014 and related objc bugs:
13391         * c-typeck.c (comp_target_types): Added a reflexive argument.
13392         Pass it to ObjC when/if calling objc_comptypes().  Updated all
13393         callers to provide the appropriate reflexive argument.
13394         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
13395         typechecking for all cases of comparisons and assignments,
13396         particularly the obscure and less common ones involving protocols.
13397
13398 2002-09-17  Nick Clifton  <nickc@redhat.com>
13399
13400         * machmode.def (V1DImode): New mode.  A single element vector.
13401         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
13402         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
13403         * tree.c (build_common_tree_nodes_2): Build
13404         unsigned_V1DI_type_node and V1D1_type_node.
13405         * c-common.c (c_common_type_for_mode): Return
13406         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
13407         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
13408
13409 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13410
13411         * doc/objc.texi (Constant string objects): Extended documentation
13412         to make clear that the constant string class ivar layout is
13413         completely fixed.
13414
13415 2002-09-17  Roger Sayle  <roger@eyesopen.com>
13416
13417         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
13418         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
13419
13420 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
13421
13422         * config/mips/mips.c (save_restore_insns): Remove unused variable.
13423         * gcc.c (make_relative_prefix): Likewise.
13424         * loop.c (check_final_value): Likewise.
13425         * jump.c (init_label_info): Remove return value.
13426         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
13427
13428 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13429
13430         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
13431         (ASM_PN_FORMAT): Define.
13432
13433 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13434
13435         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
13436         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
13437         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
13438         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
13439         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
13440         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
13441         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
13442         Delete.
13443         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
13444         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
13445         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
13446
13447         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
13448         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
13449
13450 2002-09-16  Richard Henderson  <rth@redhat.com>
13451
13452         * expr.c (emit_block_move): Set memory block size as appropriate
13453         for the copy.
13454
13455 2002-09-16  Richard Henderson  <rth@redhat.com>
13456
13457         PR fortran/3924
13458         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
13459
13460 2002-09-16  Richard Henderson  <rth@redhat.com>
13461
13462         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
13463         as well as OFFSET for BITPOS.
13464
13465 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
13466
13467         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
13468         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
13469         winchip2 and c3.
13470         * doc/invoke.texi: Mention new aliases.
13471
13472 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13473
13474         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
13475         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
13476         downward.
13477         * function.c (pad_below):  Always compile.
13478         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
13479         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
13480         Pad below when the argument is not in a register and the padding
13481         direction is downward.
13482
13483         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
13484         (PAD_VARARGS_DOWN): Define.
13485         * pa.c (function_arg_padding): Revise padding directions to make them
13486         compatible with the 32 and 64-bit runtime architecture documentation.
13487         (hppa_va_arg):  Add code to handle variable and size zero arguments
13488         passed by reference on TARGET_64BIT.  Reformat.
13489         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
13490         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
13491         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
13492         Add comments.
13493         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
13494         (RETURN_IN_MEMORY): Return size zero types in memory.
13495         (FUNCTION_VALUE): Return TFmode in general registers.
13496         (MUST_PASS_IN_STACK): Define.
13497         (FUNCTION_ARG_BOUNDARY): Simplify.
13498         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
13499         by reference.
13500         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
13501
13502 2002-09-16  Richard Henderson  <rth@redhat.com>
13503
13504         * real.c (do_fix_trunc): New.
13505         (real_arithmetic): Call it.
13506         * simplify-rtx.c (simplify_unary_operation): Handle FIX
13507         with a floating-point result mode.
13508
13509 2002-09-16  Richard Henderson  <rth@redhat.com>
13510
13511         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
13512         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
13513         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
13514         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
13515         * builtins.c (fold_builtin_nan): New.
13516         (fold_builtin): Call it.
13517         * real.c (real_nan): Parse a non-empty string.
13518         (round_for_format): Fix NaN significand truncation.
13519         * real.h (real_nan): Return bool.
13520         * doc/extend.texi: Document new builtins.
13521
13522 2002-09-16  Jason Merrill  <jason@redhat.com>
13523             Danny Smith  <dannysmith@users.sourceforge.net>
13524
13525         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
13526         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
13527         (i386_pe_mark_dllimport): Not here.
13528
13529 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
13530
13531         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
13532
13533 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
13534
13535         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
13536         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
13537         < 64.
13538         (rs6000_emit_cmove): Use real_isinf not target_isinf.
13539
13540 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
13541
13542         * calls.c (emit_library_call_value_1): Don't refer to
13543         hard_libcall_value.
13544         * optabs.c (prepare_float_lib_cmp): Likewise.
13545
13546 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
13547
13548         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
13549         mangling.
13550
13551         The following changes are merged from pch-branch:
13552
13553         * doc/gty.texi (GTY Options): Document %a.
13554         * gengtype.c (do_scalar_typedef): New function.
13555         (process_gc_options): Handle `length' option.
13556         (set_gc_used_type): A pointer to an array of structures doesn't
13557         qualify as a pointer to a structure.
13558         (output_escaped_param): Add `%a' escape.
13559         (write_gc_structure_fields): Allow 'desc' on array of unions.
13560         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
13561         do_scalar_typedef.
13562
13563         * gengtype.c (enum rtx_code): Make global.
13564         (rtx_format): Make global.
13565         (rtx_next): New.
13566         (gen_rtx_next): New.
13567         (write_rtx_next): New.
13568         (adjust_field_rtx_def): Skip fields marked by chain_next.
13569         (open_base_files): Delete redundant prototype.
13570         (write_enum_defn): New.
13571         (output_mangled_typename): Correct abort call.
13572         (write_gc_marker_routine_for_structure): Handle chain_next and
13573         chain_prev options.
13574         (finish_root_table): Don't output redundant \n.
13575         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
13576         * c-tree.h (union lang_tree_node): Add chain_next option.
13577
13578         * gengtype.h (NUM_PARAM): New definition.
13579         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
13580         * gengtype.c (find_param_structure): New.
13581         (adjust_field_type): Handle param<n>_is option.
13582         (process_gc_options): Detect use_params option.  Update callers.
13583         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
13584         'use_params' option.
13585         (open_base_files): Add splay-tree.h to list of files included.
13586         (output_mangled_typename): New.
13587         (write_gc_structure_fields): Update 'param' parameter to support
13588         multiple parameters.  Change name mangling.  Allow parameterized
13589         fields to have an apparent scalar type.  Handle param<n>_is options,
13590         use_param option.
13591         (write_gc_marker_routine_for_structure): Update for change to name
13592         mangling.  Better guess the output file for parameterized types.
13593         (write_gc_types): Update for change to name mangling.
13594         (write_gc_root): Update for change to name mangling.  Handle (ignore)
13595         param<n>_is options.
13596         * doc/gty.texi (GTY Options): Add description of param<n>_is
13597         options, use_params option.
13598         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
13599         * gengtype-lex.l: Produce token for param<n>_is.
13600         * gengtype-yacc.y: Parse param<n>_is.
13601
13602         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
13603
13604         * rtl.c: Update comment describing rtx_format.
13605         * rtl.h (union rtunion): Separate definition and typedef.
13606         (struct rtx_def): Use gengtype to mark.
13607         * Makefile.in (gengtype.o): Also depend on rtl.def.
13608         * ggc.h (ggc_mark_rtx_children): Delete prototype.
13609         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
13610         * ggc-common.c (ggc_mark_rtx_children): Delete.
13611         (ggc_mark_rtx_children_1): Delete.
13612         (gt_ggc_m_rtx_def): Delete.
13613         * gengtype.c (adjust_field_rtx_def): New.
13614         (adjust_field_type): Call adjust_field_rtx_def.
13615         (write_gc_structure_fields): Add 'default' case to switch if none
13616         is specified; remove unused code.
13617
13618         * tree.h (struct tree_exp): Update for change to meaning
13619         of special.
13620         * gengtype.c (adjust_field_tree_exp): New function.
13621         (adjust_field_type): Handle `tree_exp' special here.
13622         (write_gc_structure_fields): Don't handle `tree_exp' special here.
13623         Handle new `dot' option.
13624
13625         * gengtype.h: Make `info' a pointer-to-const.
13626         * gengtype-yacc.y (yacc_ids): Use xasprintf.
13627
13628         * gengtype.c (write_gc_structure_fields): Remove implementation
13629         of `always' option, add `default' option.
13630         * doc/gty.texi (GTY Options): Remove documentation of `always',
13631         add `default'.
13632
13633 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
13634
13635         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
13636
13637 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13638
13639         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
13640
13641         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
13642         instead of the *-protos.h file directly.
13643         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
13644         * darwin.c (machopic_output_stub): Move prototype ...
13645         * darwin-protos.h (machopic_output_stub): ... here.
13646         * rs6000-protos.h (machopic_output_stub): Don't declare.
13647
13648 2002-09-16  Richard Henderson  <rth@redhat.com>
13649
13650         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
13651
13652 2002-09-16  Richard Henderson  <rth@redhat.com>
13653
13654         * real.c, real.h: Rewrite from scratch.
13655
13656         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
13657         (paranoia): New target.
13658         * builtins.c (fold_builtin_inf): Use new real.h interface.
13659         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
13660         * c-lex.c (interpret_float): Likewise.
13661         * emit-rtl.c (gen_lowpart_common): Likewise.
13662         * optabs.c (expand_float): Use real_2expN.
13663         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
13664         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
13665         (FLOAT_WORDS_BIG_ENDIAN): New.
13666         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
13667         directly to REAL_VALUE_NEGATIVE.
13668         * loop.c (canonicalize_condition): Likewise.
13669         * simplify-rtx.c: Include tree.h.
13670         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
13671         with floating-point result modes.
13672         * toplev.c (backend_init): Call init_real_once.
13673
13674         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
13675         * tree.c (build_real): Likewise.
13676         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
13677         float_values, inited_float_values, check_float_value): Remove.
13678         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
13679         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
13680         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
13681         (VAX_HALFWORD_ORDER): Remove.
13682
13683 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
13684
13685         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
13686         (s390_load_address): ... this new function.
13687         (s390_decompose_address): Allow the argument pointer and all
13688         virtual registers as 'pointer' registers.
13689         (s390_expand_plus_operand): Use s390_load_address.
13690         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
13691         ("force_la_31"): New insn pattern.
13692         config/s390/s390-protos.h (legitimize_la_operand): Remove.
13693         (s390_load_address): Add prototype.
13694
13695         * config/s390/s390.c: Include "optabs.h".
13696         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
13697         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
13698         s390_expand_cmpstr): Add prototypes.
13699         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
13700         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
13701         for operands 0 and 1 to "memory_operand".  Add type attribute.
13702         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
13703         for operands 0 and 1 to "memory_operand".  Add type attribute.
13704         ("movstrdi_long", "movstrsi_long"): Remove.
13705         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
13706         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
13707         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
13708         ("clrstrsico"): Remove, replace by ...
13709         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
13710         ("clrstrsi_64"): Rename to "clrstr_long_64".
13711         ("clrstrsi_31"): Rename to "clrstr_long_31".
13712         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
13713         ("cmpstr_const"): Remove, replace by ...
13714         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
13715         ("cmpstr_64"): Rename to "cmpstr_long_64".
13716         ("cmpstr_31"): Rename to "cmpstr_long_31".
13717
13718 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
13719
13720         * ABOUT-NLS: Follow spelling conventions.
13721         * ChangeLog: Likewise.
13722         * ChangeLog.1: Likewise.
13723         * ChangeLog.2: Likewise.
13724         * ChangeLog.3: Likewise.
13725         * ChangeLog.4: Likewise.
13726         * ChangeLog.5: Likewise.
13727         * ChangeLog.6: Likewise.
13728         * FSFChangeLog.10: Likewise.
13729         * FSFChangeLog.11: Likewise.
13730         * c-common.c: Likewise.
13731         * c-lex.c: Likewise.
13732         * c-objc-common.c: Likewise.
13733         * cppexp.c: Likewise.
13734         * cppinit.c: Likewise.
13735         * cpplex.c: Likewise.
13736         * doloop.c: Likewise.
13737         * flow.c: Likewise.
13738         * function.c: Likewise.
13739         * integrate.c: Likewise.
13740         * loop.c: Likewise.
13741         * reg-stack.c: Likewise.
13742         * reload.h: Likewise.
13743         * ssa.c: Likewise.
13744
13745 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13746
13747         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
13748         * vmsdbgout.c: Include "target.h".
13749
13750 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13751
13752         * ChangeLog: Follow spelling conventions.
13753         * ChangeLog.0: Likewise.
13754         * ChangeLog.1: Likewise.
13755         * ChangeLog.2: Likewise.
13756         * ChangeLog.4: Likewise.
13757         * ChangeLog.6: Likewise.
13758         * config.gcc: Likewise.
13759         * dwarfout.c: Likewise.
13760         * reload1.c: Likewise.
13761         * simplify-rtx.c: Likewise.
13762         * unwind-sjlj.c: Likewise.
13763         * config/avr/avr.h: Likewise.
13764         * config/d30v/d30v.h: Likewise.
13765         * config/frv/frv.c: Likewise.
13766         * config/frv/frv.h: Likewise.
13767         * config/ip2k/ip2k.h: Likewise.
13768         * config/m88k/m88k-move.sh: Likewise.
13769         * config/stormy16/stormy16.c: Likewise.
13770         * config/stormy16/stormy16.h: Likewise.
13771         * doc/extend.texi: Likewise.
13772         * doc/interface.texi: Likewise.
13773         * doc/invoke.texi: Likewise.
13774         * doc/md.texi: Likewise.
13775         * doc/rtl.texi: Likewise.
13776         * doc/tm.texi: Likewise.
13777         * doc/trouble.texi: Likewise.
13778         * ginclude/float.h: Likewise.
13779         * treelang/treelang.texi: Likewise.
13780
13781 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13782
13783         * i386-protos.h (i386_pe_dllexport_name_p,
13784         i386_pe_dllimport_name_p, i386_pe_unique_section,
13785         i386_pe_declare_function_type, i386_pe_record_external_function,
13786         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
13787         prototype.
13788         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
13789         * i386/t-interix (winnt.o): Likewise.
13790
13791         * v850-protos.h (v850_output_addr_const_extra): Prototype.
13792
13793 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13794
13795         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
13796         MIPS ABI CPP macros.
13797         (TARGET_CPU_CPP_BUILTINS): Redefine.
13798         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
13799         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
13800
13801 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13802
13803         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
13804
13805 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13806
13807         * ChangeLog: Follow spelling conventions.
13808         * ChangeLog.0: Likewise.
13809         * ChangeLog.1: Likewise.
13810         * ChangeLog.2: Likewise.
13811         * ChangeLog.3: Likewise.
13812         * ChangeLog.4: Likewise.
13813         * ChangeLog.5: Likewise.
13814         * ChangeLog.6: Likewise.
13815         * FSFChangeLog.10: Likewise.
13816         * FSFChangeLog.11: Likewise.
13817         * c-common.c: Likewise.
13818         * c-common.h: Likewise.
13819         * c-format.c: Likewise.
13820         * c-opts.c: Likewise.
13821         * cpplib.c: Likewise.
13822         * langhooks.h: Likewise.
13823         * real.c: Likewise.
13824         * reg-stack.c: Likewise.
13825         * toplev.c: Likewise.
13826         * config/arm/arm.c: Likewise.
13827         * config/arm/arm.md: Likewise.
13828         * config/arm/linux-gas.h: Likewise.
13829         * config/arm/netbsd.h: Likewise.
13830         * config/c4x/c4x.c: Likewise.
13831         * config/c4x/c4x.h: Likewise.
13832         * config/c4x/c4x.md: Likewise.
13833         * config/c4x/libgcc.S: Likewise.
13834         * config/fr30/fr30.md: Likewise.
13835         * config/frv/frv.md: Likewise.
13836         * config/ia64/ia64.md: Likewise.
13837         * config/mips/mips.h: Likewise.
13838         * config/mn10300/mn10300.c: Likewise.
13839         * config/stormy16/stormy16.c: Likewise.
13840         * config/v850/v850.md: Likewise.
13841         * doc/extend.texi: Likewise.
13842         * doc/invoke.texi: Likewise.
13843         * doc/md.texi: Likewise.
13844
13845 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13846
13847         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
13848         library if -pthread is specified.
13849
13850 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13851
13852         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
13853         for --enable-threads=yes and --enable-threads=posix.
13854
13855 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13856
13857         * config/sparc/cypress.md: Replace Sparc with SPARC.
13858         * config/sparc/freebsd.h: Likewise.
13859         * config/sparc/gmon-sol2.c: Likewise.
13860         * config/sparc/hypersparc.md: Likewise.
13861         * config/sparc/lb1spc.asm: Likewise.
13862         * config/sparc/lb1spl.asm: Likewise.
13863         * config/sparc/linux.h: Likewise.
13864         * config/sparc/linux64.h: Likewise.
13865         * config/sparc/lynx.h: Likewise.
13866         * config/sparc/sol2.h: Likewise.
13867         * config/sparc/sparc-modes.def: Likewise.
13868         * config/sparc/sparc.c: Likewise.
13869         * config/sparc/sparc.h: Likewise.
13870         * config/sparc/sparc.md: Likewise.
13871         * config/sparc/sparclet.md: Likewise.
13872         * config/sparc/supersparc.md: Likewise.
13873         * config/sparc/sysv4.h: Likewise.
13874         * config/sparc/vxsim.h: Likewise.
13875         * config/sparc/vxsparc64.h: Likewise.
13876
13877 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13878
13879         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
13880         * collect2.c (ignore_library, aix_std_libs): Move into the context
13881         where it is used.
13882         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
13883         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
13884         * m88k.c (output_call): Wrap variables with macro controlling use.
13885         * rs6000.md: Likewise.  Const-ify variable.
13886         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
13887         * final.c (only_leaf_regs_used): Likewise.
13888         * regrename.c (maybe_mode_change): Mark parameter with
13889         ATTRIBUTE_UNUSED.
13890         * reload.c (find_valid_class): Likewise.  Likewise for variable.
13891         (find_reloads_address_1): Likewise.
13892         * varasm.c (weak_finish): Wrap variable with macro controlling use.
13893
13894 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13895
13896         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
13897
13898 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13899
13900         * ChangeLog: Follow spelling conventions.
13901         * ChangeLog.0: Likewise.
13902         * ChangeLog.2: Likewise.
13903         * ChangeLog.3: Likewise.
13904         * ChangeLog.4: Likewise.
13905         * ChangeLog.5: Likewise.
13906         * ChangeLog.6: Likewise.
13907         * cppfiles.c: Likewise.
13908         * cppinit.c: Likewise.
13909         * cpplib.h: Likewise.
13910         * cse.c: Likewise.
13911         * debug.h: Likewise.
13912         * df.c: Likewise.
13913         * dominance.c: Likewise.
13914         * hashtable.c: Likewise.
13915         * hashtable.h: Likewise.
13916         * loop.c: Likewise.
13917         * config/arm/README-interworking: Likewise.
13918         * config/arm/arm.c: Likewise.
13919         * config/arm/arm.h: Likewise.
13920         * config/arm/arm.md: Likewise.
13921         * config/dsp16xx/dsp16xx.h: Likewise.
13922         * config/frv/frv.c: Likewise.
13923         * config/frv/frv.h: Likewise.
13924         * config/ip2k/ip2k.h: Likewise.
13925         * config/rs6000/rs6000.c: Likewise.
13926         * config/stormy16/stormy-abi: Likewise.
13927         * config/stormy16/stormy16.h: Likewise.
13928         * config/v850/v850.c: Likewise.
13929
13930 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13931
13932         * loop.c: Fix a comment typo.
13933
13934 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13935
13936         * config/fr30/fr30.h: Fix comment typos.
13937         * config/frv/frv.c: Likewise.
13938         * config/i386/xmmintrin.h: Likewise.
13939         * config/mips/mips.c: Likewise.
13940         * config/sh/sh.c: Likewise.
13941
13942 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13943
13944         * haifa-sched.c: Follow spelling conventions.
13945         * regclass.c: Likewise.
13946         * regrename.c: Likewise.
13947         * config/fp-bit.c: Likewise.
13948         * config/frv/frv.h: Likewise.
13949         * config/m88k/m88k.c: Likewise.
13950         * config/mcore/mcore.c: Likewise.
13951         * config/rs6000/darwin.h: Likewise.
13952         * config/rs6000/gnu.h: Likewise.
13953         * config/rs6000/linux.h: Likewise.
13954         * config/rs6000/linux64.h: Likewise.
13955         * config/rs6000/rs6000.c: Likewise.
13956         * config/rs6000/rs6000.h: Likewise.
13957         * config/sh/sh.c: Likewise.
13958         * config/sparc/sparc.c: Likewise.
13959         * config/sparc/ultra1_2.md: Likewise.
13960
13961 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
13962
13963         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
13964         memory operand when source is 0 (K constraint).
13965         ("movsi_internal"): Likewise.
13966         ("movdf_internal"): Likewise.
13967         ("movsf_internal"): Likewise.
13968
13969 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13970
13971         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
13972         targetm.binds_local_p to set SYMBOL_REF_FLAG.
13973         (rs6000_xcoff_encode_section_info): Likewise.
13974         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
13975
13976 2002-09-10  Theodore A. Roth  <troth@verinet.com>
13977
13978         * gcc/config/avr/avr.h: Set default options for C++ for avr.
13979
13980 2002-09-13  Roger Sayle  <roger@eyesopen.com>
13981
13982         * stmt.c (struct nexting): Remove unused alt_end_label field.
13983         (expand_start_loop): Delete initialization of alt_end_label.
13984         (expand_start_null_loop): Likewise.
13985         (expand_exit_loop_if_false): Delete updating of alt_end_label.
13986
13987 2002-09-13  Richard Henderson  <rth@redhat.com>
13988
13989         * Makefile.in (toplev.o): Depend on real.h.
13990         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
13991
13992 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13993
13994         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
13995         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
13996         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
13997
13998 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
13999
14000         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
14001
14002 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
14003
14004         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
14005         ia64*-*-linux*): Set extra_parts.
14006         * config/ia64/t-aix (EXTRA_PARTS): Remove.
14007         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
14008
14009 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
14010
14011         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
14012         * config/h8300/h8300.c: Likewise.
14013         * config/h8300/h8300.h: Likewise.
14014         * config/h8300/h8300.md: Likewise.
14015         * doc/invoke.texi: Likewise.
14016
14017 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
14018
14019         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
14020
14021 2002-09-13  Richard Henderson  <rth@redhat.com>
14022
14023         * config/alpha/alpha.md (attr type): Add callpal.
14024         (imb, trap, load_tp, set_tp): Use it.
14025         * config/alpha/ev4.md (ev4_callpal): New.
14026         * config/alpha/ev5.md (ev5_callpal): New.
14027         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
14028         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
14029         (alphaev5_insn_pipe): Likewise.
14030
14031 2002-09-13  Andreas Jaeger  <aj@suse.de>
14032
14033         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
14034
14035 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
14036
14037         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
14038         LIB2ADDEH): New, set to NULL.
14039         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
14040
14041 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
14042
14043         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
14044         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
14045         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
14046         Add declarations.
14047         (_U_Qfneg): Remove.
14048
14049 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
14050
14051         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
14052         for H8/300, H8S aa:8 mode.
14053         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
14054         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
14055         for H8/300 aa:8 mode.
14056
14057 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
14058
14059         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
14060         insns.
14061
14062 2002-09-12  Richard Henderson  <rth@redhat.com>
14063
14064         * Makefile.in (HOST_PRINT): Use print-rtl1.o
14065         (print-rtl.o): Don't define GENERATOR_FILE.
14066         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
14067         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
14068         unless GENERATOR_FILE.
14069
14070 2002-09-12  Stan Shebs  <shebs@apple.com>
14071
14072         * config/darwin.h (USER_LABEL_PREFIX): Define here...
14073         * config/i386/darwin.h: ... instead of here.
14074
14075         * target.h (struct gcc_target): New field
14076         terminate_dw2_eh_frame_info.
14077         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
14078         (TARGET_INITIALIZER): Add it.
14079         * dwarf2out.c (output_call_frame_info): Use target hook.
14080         * dwarf2asm.c (dw2_asm_output_delta): Use macro
14081         ASM_OUTPUT_DWARF_DELTA if defined.
14082         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
14083         (ASM_OUTPUT_DWARF_DELTA): Ditto.
14084         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
14085         (ASM_OUTPUT_DWARF_PCREL): Ditto.
14086         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
14087         (powerpc-*-darwin*): Ditto.
14088         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
14089         to work correctly for Darwin.
14090         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
14091         (STARTFILE_SPEC): Add crtbegin.o.
14092         (ENDFILE_SPEC): Define.
14093         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
14094         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
14095         (ASM_OUTPUT_DWARF_DELTA): Define.
14096         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
14097         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
14098
14099 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
14100
14101         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
14102         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
14103         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
14104
14105 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
14106
14107         * toplev.c: Move default definition of USER_LABEL_PREFIX...
14108         * defaults.h: ... here.
14109
14110 2002-09-12  Richard Henderson  <rth@redhat.com>
14111
14112         * vax.c: Include tree.h earlier.
14113
14114 2002-09-12  Stan Shebs  <shebs@apple.com>
14115
14116         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
14117         (machopic_operand_p): Ditto.
14118
14119 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14120
14121         * config/arm/arm.c (arm_compute_initial_elimination_offset):
14122         Fix a comment typo.
14123
14124 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14125
14126         * toplev.c (do_abort): Fix a comment typo.
14127
14128 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14129
14130         * cselib.c: Fix comment formatting.
14131         * gengtype.c: Likewise.
14132
14133 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14134
14135         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
14136         (udivmodhi4): Likewise.
14137
14138 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
14139             Roger Sayle  <roger@eyesopen.com>
14140
14141         * i386.c (any_fp_register_operand, fp_register_operand,
14142         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
14143         New predicate functions.
14144         * i386-protos.h:  Add their prototypes.
14145         * i386.h: Add them to PREDICATE_CODES.
14146         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
14147         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
14148         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
14149         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
14150         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
14151         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
14152         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
14153         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
14154         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
14155         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
14156         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
14157         Use these new predicates to simplify and correct the use of
14158         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
14159
14160 2002-09-12  Jason Merrill  <jason@redhat.com>
14161
14162         * diagnostic.c (output_add_identifier): New fn.
14163         * diagnostic.h: Declare it.
14164
14165         * calls.c (store_one_arg): Use size_in_bytes to determine the
14166         amount of space to push.
14167
14168 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
14169
14170         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
14171
14172 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
14173
14174         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
14175         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
14176         (s390_select_ccmode): Likewise.
14177         (s390_branch_condition_mask): Likewise.
14178         (optimization_options): Do not set flag_branch_on_count.
14179         (s390_split_branches): Handle doloop branches.
14180         (s390_chunkify_pool): Likewise.
14181         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
14182         ("doloop_end"): New expander.
14183         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
14184         associated splitters): New.
14185
14186 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14187
14188         * genattrtab.c (simplify_cond): Remove unused variable(s).
14189         * global.c (record_conflicts): Likewise.
14190         * jump.c (rebuild_jump_labels): Likewise.
14191         * loop.c (scan_loop, check_final_value): Likewise.
14192         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
14193         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
14194         * rtlanal.c (reg_set_p): Likewise.
14195         * stmt.c (expand_asm_operands, expand_decl): Likewise.
14196         * genautomata.c (empty_reserv): Remove.
14197         * loop.c (max_luid): Likewise.
14198         * sched-rgn.c (bitlst_table_size): Likewise.
14199
14200 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
14201
14202         Reimplement gcov format.
14203         * gcov-io.h: Replace.
14204         * gcov.c: Reimplement.
14205         * gcov-iov.c: New file.
14206         * gcov-dump.c: New file.
14207         * libgcc2.c (L_bb): Replace with ...
14208         (L_gcov): ... this.
14209         (struct bb_function_info, struct bb): Remove.
14210         (inhibit_libc): Never inhibit.
14211         (gcov_list, gcov_crc): New static variables.
14212         (gcov_version_mismatch): New static function.
14213         (__bb_exit_func): Renamed to ...
14214         (__gcov_exit): ... here. Made static. Reimplement.
14215         (__gcov_init_func): Rename to ...
14216         (__gcov_init): ... here. Check version, update crc.
14217         (__bb_fork_func): Rename to ...
14218         (__gcov_flush): ... here.
14219         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
14220         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
14221         * calls.c (expand_call): Call __gcov_flush.
14222         * profile.c (bb_file, last_bb_file_name): Remove.
14223         (bbg_file_name): New global variable.
14224         (output_gcov_string): Remove.
14225         (get_exec_counts): Reimplement.
14226         (branch_prob): Reimplement gcov file writing.
14227         (init_branch_prob): Create bbg_file_name, don't create
14228         bb_file_name.
14229         (end_branch_prob): Adjust. Don't remove counter file when
14230         instrumenting ourselves.
14231         (create_profiler): Adjust.
14232         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
14233         point to gcov-io.h.
14234         * Makefile.in (LANGUAGES): Add gcov-dump.
14235         (coverageexts): Remove .bb.
14236         (STAGESTUFF): Add gcov-dump.
14237         (LIB2FUNCS_ST): Replace _bb with _gcov.
14238         (profile.o): Depend on gcov-iov.h.
14239         (final.o): Don't depend on profile.h, gcov.h.
14240         (gcov.o): Depend on gcov-iov.h.
14241         (gcov-iov.o): New target.
14242         (gcov-iov): New target.
14243         (gcov-iov.h): New target.
14244         (gcov-dump.o): New target.
14245         (GCOV_DUMP_OBJS): New variable.
14246         (gcov-dump): New target.
14247         (distclean): Remove coverageexts.
14248         (stage1): Remove coverageexts.
14249
14250 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
14251
14252         * fold-const.c (make_range): Only narrow to signed range if
14253         the signed range is smaller than the unsigned range.
14254
14255 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
14256
14257         * emit-rtl.c (set_mem_size): New function.
14258         * expr.h (set_mem_size): Declare.
14259         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
14260         (expand_block_move): Instead, use adjust_address and
14261         replace_equiv_address to generate proper aliasing info.
14262         Move common code out of conditionals.  Localize vars.
14263
14264 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
14265
14266         * optabs.c (expand_binop): Minor cleanup.
14267         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
14268
14269 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
14270
14271         * print-tree.c (print_node): Print the restrict qualifier.
14272
14273 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
14274
14275         * doc/install.texi: Fix typos.
14276
14277 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
14278
14279         * Makefile.in: Remove all references to s-under and underscore.c.
14280         * collect2.c, tlink.c: Change all uses of prepends_underscore
14281         to look directly at USER_LABEL_PREFIX.
14282
14283 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
14284
14285         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
14286         alignment to csect.
14287         (rs6000_xcoff_unique_section): Only set section name for public
14288         data.
14289         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
14290         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
14291         duplicate definition.
14292
14293 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14294
14295         * pa.md (extzv): Check predicates before emitting extzv_32.
14296         (insv): Likewise.
14297
14298 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
14299
14300         * config/s390/s390.h (MOVE_MAX): Define to correct value.
14301         (MAX_MOVE_MAX): Define.
14302         (MOVE_BY_PIECES_P): Define.
14303         (CLEAR_BY_PIECES_P): Define.
14304
14305 2002-09-10  Denis Chertykov  <denisc@overta.ru>
14306
14307         * config/avr/avr.md (movstrhi): Use right operands for conversion.
14308
14309 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
14310
14311         PR c/7873
14312         * arm.md (insv): Use reg_or_int_operand for operand[3].
14313
14314 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
14315
14316         * rs6000.c (rs6000_assemble_visibility): Protect declaration
14317         inside macro.  Correct function definition typo.
14318         (rs6000_xcoff_section_type_flags): New function.
14319         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
14320         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
14321         with appropriate PIC test.
14322         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
14323         determine readonly.
14324         (rs6000_binds_local_p): Combine PIC flags.
14325         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
14326         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
14327
14328 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14329
14330         * h8300.md: Fix signed/unsigned warnings.
14331         * mcore.md: Likewise.
14332         * mn10300.c (mask_ok_for_mem_btst): Likewise.
14333
14334 2002-09-09  Per Bothner  <per@bothner.com>
14335
14336         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
14337         characters, and only print TREE_STRING_LENGTH chars.
14338
14339 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
14340
14341         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
14342         (ASM_FILE_END) New.
14343         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
14344         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
14345         * config/ia64/ia64.c (ia64_asm_output_external): Create list
14346         of external functions if TARGET_HPUX_LD is true.
14347         (ia64_hpux_add_extern_decl): New, routine to put names on
14348         list of external functions.
14349         (ia64_hpux_asm_file_end): Put out declarations for external
14350         functions if and only if they are used.
14351
14352 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14353
14354         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
14355         on TARGET_64BIT before pic register restore.
14356
14357 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
14358
14359         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
14360         (TARGET_HAVE_TLS): New description.
14361
14362 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
14363
14364         * doc/extend.texi (Statement Exprs): Fix broken link.
14365
14366 2002-09-09  Denis Chertykov  <denisc@overta.ru>
14367
14368         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
14369         right conversion of operands[1].
14370
14371 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
14372
14373         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
14374         commutative.  Use "nonimmediate_operand" instead of "register_operand"
14375         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
14376
14377         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
14378         as commutative.
14379
14380         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
14381         mark as commutative.  Use "nonimmediate_operand" instead of
14382         "register_operand" as predicate for operand 1.
14383
14384         ("movstrictsi"): Fix typo in insn name.
14385
14386 2002-09-09  Jan Hubicka  <jh@suse.cz>
14387
14388         * i386.c (index_register_operand): New.
14389         * i386.h (predicate_codes): Add new predicate.
14390         * i386.md (lea_general_*): Use index_register_operand
14391         (ashift to lea splitter): Do not produce invalid leas
14392         (ashift to mov+ashift split): New.
14393
14394 2002-09-09  Nick Clifton  <nickc@redhat.com>
14395
14396         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
14397         Fix folding marks.
14398
14399 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
14400             J"orn Rennecke <joern.rennecke@superh.com>
14401
14402         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
14403
14404 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
14405
14406         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
14407         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
14408         attributes.
14409
14410 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
14411
14412         * basic_block.h (gcov_type): Explain why it is signed.
14413         * final.c: Don't include profile.h.
14414         (struct function_list, functions_head, functions_tail,
14415         end_final): Moved to profile.c
14416         (final): Move arc chaining code to profile.c.
14417         * function.c (prepare_function_start): Remove duplicate line.
14418         * output.h (end_final): Remove prototype.
14419         * predict.c (estimate_loops_at_level): Use gcov_type.
14420         * profile.c (struct function_list, functions_head,
14421         functions_tail): Moved from final.c
14422         (need_func_profiler): Remove.
14423         (instrument_edges): Don't set need_func_profiler.
14424         (get_exec_counts): Avoid signed/unsigned warning.
14425         (compute_checksum): Use crc32.
14426         (branch_prob): Adjust. Chain onto functions_head.
14427         (init_branch_prob): Absorb init_edge_profiler.
14428         (init_edge_profiler): Remove.
14429         (create_profiler): Moved and renamed from final.c:end_final.
14430         Emit data and constructor.
14431         (output_func_start_profiler): Remove.
14432         * profile.h (struct profile_info): checksum is unsigned.
14433         * rtl.h (output_func_start_profiler): Remove prototype.
14434         (create_profiler): Declare.
14435         * toplev.c (compile_file): Call create_profiler, if instrumenting
14436         arcs. Don't call end_final.
14437
14438 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14439
14440         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
14441
14442 2002-09-08  Richard Henderson  <rth@redhat.com>
14443
14444         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
14445         (DW_OP_GNU_push_tls_address): New.
14446         (DW_OP_lo_user): Fix.
14447         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
14448         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
14449         (size_of_loc_descr): Likewise.
14450         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
14451         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
14452         (loc_descriptor_from_tree): Handle TLS variables.
14453         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
14454         (add_location_or_const_value_attribute): ... not here.  Defer
14455         to loc_descriptor_from_tree for TLS variables.
14456
14457         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
14458         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
14459         * config/i386/i386-protos.h: Update.
14460
14461 2002-09-08  Roger Sayle  <roger@eyesopen.com>
14462
14463         PR optimization/6405
14464         * unroll.c (loop_iterations): last_loop_insn should be the previous
14465         non-note instruction before loop->end.
14466         * loop.c (strength_reduce): The conditional jump is the last
14467         non-note instruction before loop->end (as above).
14468
14469 2002-09-08  Roger Sayle  <roger@eyesopen.com>
14470
14471         * combine.c (try_combine): Handle the case that undobuf.other_insn
14472         has been turned into a return or unconditional jump, by inserting
14473         a BARRIER if necessary.
14474         (simplify_set):  Test if a condition code setter has a constant
14475         comparison at compile time, if so convert this insn to a no-op move
14476         and update/simplify the condition code user (undobuf.other_insn).
14477
14478 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
14479
14480         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
14481         (CLEAR_INSN_CACHE): Define.
14482
14483 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
14484
14485         * basic-block.h: Fix comment formatting.
14486         * c-common.c: Likewise.
14487         * c-common.h: Likewise.
14488         * c-lex.c: Likewise.
14489         * c-pretty-print.c: Likewise.
14490         * cfglayout.c: Likewise.
14491         * cfgloop.c: Likewise.
14492         * defaults.h: Likewise.
14493         * et-forest.c: Likewise.
14494         * explow.c: Likewise.
14495         * function.h: Likewise.
14496         * gcov.c: Likewise.
14497         * genattrtab.c: Likewise.
14498         * gengtype.c: Likewise.
14499         * ifcvt.c: Likewise.
14500         * libgcc2.c: Likewise.
14501         * loop.c: Likewise.
14502         * profile.c: Likewise.
14503         * ra-build.c: Likewise.
14504         * real.c: Likewise.
14505         * rtl.h: Likewise.
14506         * tracer.c: Likewise.
14507         * tree-inline.c: Likewise.
14508         * varasm.c: Likewise.
14509
14510 2002-09-08  Jan Hubicka  <jh@suse.cz>
14511
14512         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
14513         handling.
14514
14515         * loop.c (loop_givs_reduce):  Emit addition after.
14516
14517 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
14518
14519         * varasm.c (default_assemble_visibility): Rename from
14520         assemble_visibility.
14521         * output.h: Here too.
14522         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
14523         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
14524
14525 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
14526
14527         * reload.c (find_reloads <p constraint>): Pass operand_mode to
14528         find_reloads_address.
14529
14530 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
14531
14532         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
14533         (anonymous pattern): Likewise.
14534
14535 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14536
14537         * machmode.def: Add modes for half-float vectors.
14538
14539 2002-09-07  Scott Snyder  <snyder@fnal.gov>
14540
14541         PR target/7374
14542         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
14543
14544 2002-09-07  Roger Sayle  <roger@eyesopen.com>
14545
14546         * basic-block.h (struct loop): Remove unused cont_dominator field.
14547
14548 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14549
14550         * varasm.c (decode_rtx_const): Don't check undefined field for
14551         CONST_VECTOR.
14552
14553 2002-09-07  Glen Nakamura  <glen@imodulo.com>
14554
14555         PR opt/7814
14556         * sched-deps.c (sched_analyze_insn): Make sure to add insn
14557         to reg_last->sets after flushing the dependency lists to guarantee
14558         that subsequent clobbers will be dependent on it.
14559
14560 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14561
14562         * combine.c (simplify_shift_const): Calculate rotate count
14563         correctly for vector operands.
14564
14565 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
14566
14567         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
14568         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
14569         tree_expr_nonnegative_p.
14570         (build_conditional_expr): Likewise.
14571         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
14572
14573 2002-09-07  Richard Henderson  <rth@redhat.com>
14574
14575         * builtins.def (inf, inff, infl): Mark const.
14576         (huge_val, huge_valf, huge_vall): Likewise.
14577         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
14578
14579         * real.c (ereal_inf): Clear E before use.
14580
14581 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
14582
14583         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
14584         an expander and an anonymous pattern.  Zero out the upper half
14585         of the dividend in the expander.
14586         (udivmodqi4): Likewise.
14587
14588 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
14589
14590         * config/h8300/h8300.c: Fix formatting.
14591         * config/h8300/h8300.h: Likewise.
14592         * config/h8300/h8300.md: Likewise.
14593
14594 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14595
14596         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
14597         information.
14598
14599 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
14600
14601        * rtlanal.c (dead_or_set_regno_p): Fix typo.
14602
14603 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
14604
14605         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14606
14607         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
14608         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14609         (TARGET_ASM_OUT): Add the above here.
14610         * target.h (struct gcc_target): Add "visibility" field.
14611         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
14612         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
14613         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14614         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
14615
14616 2002-09-06  Ziemowit Laski <zlaski@apple.com>
14617
14618         * c-lang.c (objc_is_id): New stub.
14619         * c-tree.h (objc_is_id): New forward declaration.
14620         * c-typeck.c (build_c_cast): Do not strip protocol
14621         qualifiers from 'id' type.
14622         * objc/objc-act.c (objc_comptypes): Correct handling
14623         of protocol qualifiers.
14624         (objc_is_id): New.
14625
14626 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
14627
14628         * pentium.md (pentium-firstvboth): Fix typo.
14629
14630 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
14631
14632         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
14633         (enum shift_type, enum h8_cpu): Likewise.
14634         (INL, ROT, LOP, SPC macros): Likewise.
14635         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
14636         const designator.
14637         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
14638         space efficient algorithms when optimize for codesize.
14639
14640 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14641
14642         Fix PR/1727 and long-standing failing testcase
14643         objc/formal-protocol-6.m.
14644         * objc-act.c (build_protocol_expr): If compiling for the GNU
14645         runtime, create a list of Protocol statically allocated instances
14646         if it doesn't exist, then add the Protocol object to this same
14647         list.
14648         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
14649         instead of TREE_CHAIN.
14650
14651 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14652
14653         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
14654         10k.  Fixed category dumping - print out category names with the
14655         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
14656         interface.
14657         (finish_objc): Fixed the -gen-decls option.  It was printing out
14658         only the last class.  Dump an interface declaration of all classes
14659         being compiled instead.
14660
14661 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
14662
14663         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
14664         prototype.
14665         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
14666         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
14667         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
14668         rather than GEN_INT.
14669         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
14670         (return_addr_mask, *check_arch2): New.
14671
14672 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
14673
14674         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
14675         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
14676         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
14677         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
14678         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
14679         "adddf3", "*adddf3", "*adddf3_ibm",
14680         "addsf3", "*addsf3", "*addsf3_ibm",
14681         "muldi3", "mulsi3", "mulsidi3",
14682         "muldf3", "*muldf3", "*muldf3_ibm",
14683         "mulsf3", "*mulsf3", "*mulsf3_ibm",
14684         "*anddi3_cc", "*anddi3_cconly", "anddi3",
14685         "*andsi3_cc", "*andsi3_cconly", "andsi3",
14686         "*iordi3_cc", "*iordi3_cconly", "iordi3",
14687         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
14688         "*xordi3_cc", "*xordi3_cconly", "xordi3",
14689         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
14690         instead of "register_operand" as predicate for "%0" operand.
14691
14692 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
14693
14694         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
14695         unconditionally when gcc_cv_as_flags64 checks are gone.
14696         * configure: Rebuilt.
14697
14698 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
14699
14700         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
14701         2002-07-26 change.  Comment.
14702
14703 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14704
14705         * frv.c (frv_unique_section, frv_select_section,
14706         frv_select_rtx_section): Delete.
14707         (frv_in_small_data_p): New.
14708         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
14709         TARGET_ASM_SELECT_RTX_SECTION): Delete.
14710         (TARGET_IN_SMALL_DATA_P): Define.
14711
14712 2002-09-05  Dale Johannesen  <dalej@apple.com>
14713
14714         * reload1.c (reload):  Retain only those memory clobbers
14715         added for variable-array handling.
14716
14717 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
14718
14719         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
14720         return-in-memory rules.
14721         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
14722
14723 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
14724
14725         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
14726         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
14727
14728 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
14729
14730         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
14731         not a compile-time constant for the non-IBM case.
14732         * config/arm/arm-protos.h (arm_float_words_big_endian): New
14733         prototype.
14734         * config/arm/arm.c (arm_float_words_big_endian): New function.
14735         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
14736         if TARGET_VFP  and not TARGET_HARD_FLOAT.
14737         (ARM_FLAG_VFP, TARGET_VFP): Define.
14738         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
14739
14740 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
14741
14742         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
14743         URLs.  Fix AIX wording.
14744
14745 2002-09-05  Stan Shebs  <shebs@apple.com>
14746
14747         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
14748         -fPIC equivalent on Darwin.
14749
14750 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
14751
14752         * sh.c (sh_expand_builtin): Return early if encountering an
14753         error_mark for a type.
14754
14755 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
14756
14757         * config/s390/s390.c (s390_expand_plus_operand): Do not require
14758         double-word scratch register.
14759         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
14760
14761         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
14762         "*cli"): Replace s_operand by memory_operand.
14763         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
14764
14765 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
14766
14767         * config/h8300/h8300.c (asm_file_start): Add a missing
14768         semicolon.
14769
14770 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14771
14772         * c-typeck.c (build_function_call): Remove unused variable(s).
14773         (build_c_cast): Likewise.
14774         * calls.c (rtx_for_function_call): Likewise.
14775         * cfglayout.c (duplicate_insn_chain): Likewise.
14776         * cfgloop.c (flow_loop_nodes_find): Likewise.
14777         * cfgrtl.c (split_edge): Likewise.
14778         * df.c (df_ref_create): Likewise.
14779         * except.c (expand_end_catch): Likewise.
14780         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
14781         * function.c (emit_return_into_block): Likewise.
14782         (reposition_prologue_and_epilogue_notes): Likewise.
14783         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
14784         * combine.c (subst_prev_insn, need_refresh): Remove.
14785         * dwarf2out.c (primary_filename): Remove.
14786         * final.c (new_block): Remove.
14787         * gcse.c (orig_bb_count): Remove.
14788
14789 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14790
14791         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
14792         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
14793         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
14794         directly instead of using a function pointer.
14795
14796 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
14797
14798         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
14799         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
14800         (ix86_output_addr_diff_elt) Likewise.
14801         (x86_output_mi_thunk) Likewise.
14802         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
14803
14804 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14805
14806         * frv.c (frv_encode_section_info): Fix error in last change.
14807
14808 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14809
14810         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
14811         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
14812         (TARGET_BINDS_LOCAL_P): Define.
14813         (rs6000_override_options): Save original flag_pic value.
14814         (rs6000_elf_select_section): Call default_elf_select_section_1.
14815         (rs6000_elf_unique_section): Call default_unique_section_1.
14816         (rs6000_elf_in_small_data_p): New function.
14817         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
14818         (rs6000_xcoff_select_section): Update based on defaults.
14819         (rs6000_xcoff_unique_section): Set to basic name if not common.
14820         (rs6000_binds_local_p): New function.
14821         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
14822         targetm.have_srodata_section if SDATA_EABI.
14823         (TARGET_IN_SMALL_DATA_P): Define.
14824
14825 2002-09-04  Dale Johannesen  <dalej@apple.com>
14826
14827         * varasm.c (struct rtx_const, decode_rtx_const):
14828         Make veclo and vechi fields not share storage.
14829
14830 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
14831
14832         * loop.c (scan_loop): Don't mark separate insns out of a libcall
14833         for moving.
14834         (move_movables): Abort if we see the first insn of a libcall.
14835
14836 2002-09-04  Richard Henderson  <rth@redhat.com>
14837
14838         * builtin-types.def (BT_FN_FLOAT): New.
14839         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
14840         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
14841         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
14842         * builtins.c (fold_builtin_inf): New.
14843         (fold_builtin): Call it.
14844         * real.c (ereal_inf): New.
14845         * real.h: Declare it.
14846         * doc/extend.texi: Document new builtins.
14847
14848 2002-09-04  Richard Henderson  <rth@redhat.com>
14849
14850         * cse.c (cse_insn): Avoid subreg games if the equivalence
14851         is already in the proper mode.
14852
14853 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
14854
14855         PR c/7102
14856         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
14857
14858 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14859
14860         * pa.md (setccfp0, setccfp1): New patterns.
14861
14862 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14863
14864         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
14865         frv_select_section, frv_select_rtx_section,
14866         frv_encode_section_info, frv_unique_section): Delete.
14867         * frv.c: Update for target hooks.
14868         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
14869         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
14870         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
14871
14872 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14873
14874         * ip2k-protos.h (function_prologue, function_epilogue,
14875         encode_section_info): Update to match target hook specification.
14876         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
14877         (function_prologue, function_epilogue, encode_section_info):
14878         Update to match target hook specification.
14879         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
14880         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
14881         (NOTICE_UPDATE_CC): Cast to void.
14882         * ip2k.md: Add defaults in switch statements.
14883
14884 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14885
14886         * doc/trouble.texi (Interoperation): Update information about C++ ABI
14887         issues.
14888
14889 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
14890
14891         * config/sparc/t-netbsd64: Disable multilib for now.
14892
14893 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14894
14895         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
14896         * target.h (gcc_target): Add have_srodata_section member.
14897         * varasm.c (section_category): Add SECCAT_SRODATA.
14898         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
14899         READONLY_SDATA_SECTION defined.
14900         (decl_readonly_section_1): True for SECCAT_SRODATA also.
14901         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
14902         (default_unique_section_1): Likewise.
14903
14904 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14905
14906         * expr.c (emit_group_load): Revise to allow splitting TCmode source
14907         into DImode pieces.
14908
14909         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
14910         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
14911         for floating-point register class.
14912         * pa.c (function_arg): Fix handling of modes wider than one word for
14913         TARGET_64BIT.
14914
14915 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
14916
14917         * combine.c (make_compound_operation): Don't generate zero / sign
14918         extensions in floating point modes.
14919
14920 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14921
14922         * doc/c-tree.texi: Fix overfull hboxes.
14923         * doc/cppopts.texi: Ditto.
14924         * doc/extend.texi: Ditto.
14925         * doc/gty.texi: Ditto.
14926         * doc/invoke.texi: Ditto.
14927         * doc/makefile.texi: Ditto.
14928         * doc/rtl.texi: Ditto.
14929         * doc/standards.texi: Ditto.
14930         * doc/tm.texi: Ditto.
14931
14932 2002-09-04  Richard Henderson  <rth@redhat.com>
14933
14934         * c-common.c (builtin_define_with_hex_fp_value): New.
14935         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
14936
14937 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14938
14939         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
14940         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
14941         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
14942         Warn that these options can break ABI compatibility.
14943
14944 2002-09-04  Richard Henderson  <rth@redhat.com>
14945
14946         * real.c (ereal_to_decimal): Add digits parameter.
14947         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
14948         * c-pretty-print.c (pp_c_real_literal): Update call.
14949         * print-rtl.c (print_rtx): Likewise.
14950         * print-tree.c (print_node_brief, print_node): Likewise.
14951         * sched-vis.c (print_value): Likewise.
14952         * config/arc/arc.c (arc_print_operand): Likewise.
14953         * config/c4x/c4x.c (c4x_print_operand): Likewise.
14954         * config/i370/i370.h (PRINT_OPERAND): Likewise.
14955         * config/i386/i386.c (print_operand): Likewise.
14956         * config/i960/i960.c (i960_print_operand): Likewise.
14957         * config/ip2k/ip2k.c (asm_output_float): Likewise.
14958         * config/m32r/m32r.c (m32r_print_operand): Likewise.
14959         * config/m68hc11/m68hc11.c (print_operand): Likewise.
14960         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
14961         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14962         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
14963         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14964         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
14965         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14966         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
14967         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14968         * config/mips/mips.c (print_operand): Likewise.
14969         * config/ns32k/ns32k.c (print_operand): Likewise.
14970         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
14971         * config/vax/vax.h (PRINT_OPERAND): Likewise.
14972         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
14973
14974 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
14975
14976         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
14977         xtensa_multibss_section_type_flags.
14978         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
14979
14980 2002-09-04  Richard Henderson  <rth@redhat.com>
14981
14982         * doc/install-old.texi: Don't mention enquire.
14983         * doc/sourcebuild.texi: Update float.h description.
14984
14985 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
14986
14987         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
14988
14989 2002-09-03  Roger Sayle  <roger@eyesopen.com>
14990
14991         * builtins.c (build_function_call_expr): Remove prototype, export
14992         as non-static and add a comment above function definition.
14993         (builtin_mathfn_code): New function to check for math builtins.
14994         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
14995         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
14996         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
14997         log(sqrt(x)) as log(x)/2.0.
14998
14999         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
15000         in new "builtins.c" section.  Place the build_range_type prototype
15001         with the other prototypes from "tree.c".
15002
15003         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
15004         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
15005         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
15006         x/exp(y) as x*exp(-y).
15007
15008 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
15009
15010         * varasm.c (default_section_type_flags): Append _1 to name with
15011         shlib parameter.  Use original name to call new function with
15012         implicit flag_pic.
15013         (decl_readonly_section): Likewise.
15014         (default_elf_select_section): Likewise.
15015         (default_unique_section): Likewise.
15016         (default_bind_local_p): Likewise.
15017         (categorize_decl_for_section): Add shlib parameter to use in place
15018         of implicit flag_pic.
15019         * output.h: Declare new functions with _1 and shlib argument.
15020
15021 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
15022
15023         * doc/install.texi: Fix typos, formatting problems, and obvious
15024         overfull/underfull boxes.
15025
15026         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
15027         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
15028         include its file, compat.texi.
15029         * doc/compat.texi: New file with new chapter, Binary Compatibility.
15030
15031 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
15032
15033         Debian BTS Bug #157416
15034         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
15035         * cpplib.c (destringize_and_run): Kludge around getting
15036         tokens from in-progress macros.
15037         (_cpp_do__Pragma): Simplify.
15038
15039 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
15040
15041         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
15042         (CPP_CPU_SPEC): Remove.
15043         (TARGET_CPU_CPP_BUILTINS): New.
15044         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
15045         (CPP_SPEC): Remove.
15046         (TARGET_OS_CPP_BUILTINS): New.
15047         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
15048         (TARGET_OS_CPP_BUILTINS): New.
15049         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
15050         TARGET_OS_CPP_BUILTINS.
15051         (CPP_PREDEFINES): Remove.
15052         (CPLUSPLUS_CPP_SPEC): Remove.
15053         (TARGET_OS_CPP_BUILTINS): New.
15054
15055 2002-09-03  Richard Henderson  <rth@redhat.com>
15056
15057         * Makefile.in (USER_H): Add ginclude/float.h.
15058         (FLOAT_H): Remove.
15059         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
15060         (mostlyclean): Don't remove float.h intermediate files.
15061         (distclean): Don't remove float.h.
15062         * config.gcc: Remove all float_format references.
15063         * configure.in (float_format, float_h_file): Remove.
15064
15065         * c-common.c: Include tree-inline.h.
15066         (builtin_define_with_int_value): New.
15067         (builtin_define_type_precision): Use it.
15068         (builtin_define_float_constants): New.
15069         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
15070         __FLT_EVAL_METHOD__.
15071         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
15072         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
15073         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
15074         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
15075         (TARGET_FLT_EVAL_METHOD): New.
15076
15077         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
15078         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
15079         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
15080         * ginclude/float.h: New.
15081
15082 2002-09-03  Stan Shebs  <shebs@apple.com>
15083
15084         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
15085         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
15086         (PREFERRED_DEBUGGING_TYPE): Ditto.
15087         (ASM_OUTPUT_IDENT): Remove empty definition.
15088
15089 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
15090
15091         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
15092         cxx_target.
15093         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
15094         handling routine for builtin pragma.
15095         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
15096         Registered pragma handling routine.
15097         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
15098         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
15099         If builtin pragma seen for math routine and C89 conformance is
15100         requested use different math function in order to set errno.
15101         * t-ia64 (ia64-c.o): Add new rule for new file.
15102
15103 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
15104
15105         * config/s390/s390.md ("movti"): Add Q->Q alternative.
15106         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
15107         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
15108
15109         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
15110         "*movsf_ss"): Remove.
15111
15112 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15113
15114         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
15115         Delete macros.
15116
15117 2002-09-03   Arati Dikey  <aratid@kpit.com>
15118
15119         * h8300.c (asm_file_start): Corrected optimization comment.
15120
15121 2002-09-03  Stan Shebs  <shebs@apple.com>
15122
15123         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
15124         * c-tree.h (recognize_objc_keyword): Remove decl.
15125         * c-typeck.c (comp_target_types): Update a comment.
15126
15127 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
15128
15129         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
15130         and register validity checks.
15131         (general_s_operand): Adapt to s390_decompose_address interface change.
15132         (q_constraint): Likewise.
15133         (s390_expand_plus_operand): Likewise.
15134         (legitimiate_address_p): Likewise.
15135         (legitimate_la_operand_p): Likewise.
15136         (legitimize_la_operand): Likewise.
15137         (print_operand_address): Likewise.
15138         (print_operand): Likewise.
15139
15140 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15141
15142         PR objc/5956:
15143         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
15144         was causing the new selector never to match the existing ones
15145         (Patch by Alexander Malmberg <alexander@malmberg.org>).
15146
15147 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
15148
15149         * config/i386/i386.md ("femms"): Add "memory" attr "none".
15150
15151 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
15152
15153         * expr.c (expand_expr): Remove extraneous comment and code.
15154
15155 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
15156
15157         * stor-layout (finish_builtin_struct): Renamed and moved from c++
15158         frontend. Take chain of fields. Allow NULL alignment type.
15159         * tree.h (finish_builtin_struct): Declare.
15160
15161 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15162
15163         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
15164         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
15165         config/arc/arc.c config/arc/arc.h config/arm/aout.h
15166         config/arm/arm.c config/arm/arm.h config/arm/arm.md
15167         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
15168         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
15169         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
15170         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
15171         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
15172         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
15173         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
15174         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
15175         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
15176         config/pa/pa.h config/pa/pa.md config/romp/romp.h
15177         config/rs6000/linux64.h config/rs6000/lynx.h
15178         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
15179         config/s390/s390.c config/s390/s390.md config/sh/sh.c
15180         config/sparc/sparc.c config/sparc/sysv4.h
15181         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
15182         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
15183         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
15184
15185         * doc/tm.texi: Update docs.
15186         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
15187         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
15188
15189 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15190
15191         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
15192         * arc.c (arc_internal_label): New function.
15193         (TARGET_ASM_INTERNAL_LABEL): Set.
15194         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15195         * arm.c (arm_internal_label): New function.
15196         (TARGET_ASM_INTERNAL_LABEL): Set.
15197         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15198         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15199         * i370.c (i370_internal_label): New function.
15200         (TARGET_ASM_INTERNAL_LABEL): Set.
15201         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15202         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15203         * m68k.c (m68k_hp320_internal_label): New function.
15204         (TARGET_ASM_INTERNAL_LABEL): Set.
15205         * m88k.c (m88k_internal_label): New function.
15206         (TARGET_ASM_INTERNAL_LABEL): Set.
15207         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15208         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
15209         * genoutput.c (output_prologue): Include target.h in output file.
15210         * output.h (default_internal_label): Declare.
15211         * sdbout.c: Include target.h.
15212         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
15213         TARGET_ASM_OUT.
15214         * target.h (internal_label): Add to struct gcc_target.
15215         * varasm.c (default_internal_label): New function.
15216
15217 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15218
15219         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15220         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15221         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15222         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15223         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15224         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15225         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15226         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15227         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15228         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15229         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15230         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15231         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15232         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15233         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15234         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15235         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15236         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15237         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15238         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15239         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15240         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15241         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15242         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15243         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15244         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
15245         * mmix.c (mmix_asm_output_internal_label): Likewise.
15246         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15247         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15248         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15249         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15250         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15251         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15252         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15253         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15254         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15255         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15256         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15257         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15258         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15259         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15260         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15261         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15262         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15263         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15264         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15265
15266         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
15267
15268 2002-08-31  Richard Henderson  <rth@redhat.com>
15269
15270         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
15271
15272 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15273
15274         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
15275
15276 2002-08-30  Richard Henderson  <rth@redhat.com>
15277
15278         PR opt/7515
15279         * c-objc-common.c: Include target.h.
15280         (c_cannot_inline_tree_fn): Don't auto-inline functions that
15281         don't bind locally.  Factor setting DECL_UNINLINABLE.
15282         * Makefile.in (c-objc-common.o): Update.
15283
15284 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
15285
15286         * doc/install.texi (Configuration, Building): Fix a typo and
15287         some formatting directives.
15288
15289 2002-08-30  Paul Koning <pkoning@equallogic.com>
15290
15291         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
15292         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
15293         implemented" note.
15294         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
15295         for alphabetic order.
15296         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
15297         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
15298         (VAX_HALFWORD_ORDER): Document.
15299         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
15300         IEEE float format.
15301         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
15302         (ASM_OUTPUT_LABEL_REF): Fix font.
15303         (CASE_VECTOR_SHORTEN_MODE): Ditto.
15304
15305 2002-08-30  Denis Chertykov  <denisc@overta.ru>
15306
15307         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
15308         stuff.
15309         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
15310         CONST_DOUBLE constants.
15311
15312 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
15313
15314         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
15315         related defines to...
15316         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
15317         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
15318         as a no-op.
15319
15320 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
15321
15322         * config/arm/arm.c (arm_asm_output_labelref): New function.
15323         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
15324         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
15325
15326 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
15327
15328         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
15329         memory exhausted" workarounds.
15330
15331 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15332
15333         * diagnostic.c (fancy_abort): Don't repeat "internal error".
15334         * toplev.c (crash_signal): Likewise.
15335
15336 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15337
15338         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
15339         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
15340         Extended, updated documentation.
15341         (-Wundeclared-selector): Documented.
15342
15343 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
15344
15345         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
15346         the value 1.  Do not undef before defining.
15347         * config/darwin.h: Likewise.
15348         * config/dbx.h: Likewise.
15349         * config/dbxcoff.h: Likewise.
15350         * config/dbxelf.h: Likewise.
15351         * config/elfos.h: Likewise.
15352         * config/interix.h: Likewise.
15353         * config/lynx-ng.h: Likewise.
15354         * config/lynx.h: Likewise.
15355         * config/netware.h: Likewise.
15356         * config/psos.h: Likewise.
15357         * config/svr3.h: Likewise.
15358         * config/alpha/alpha.h: Likewise.
15359         * config/alpha/elf.h: Likewise.
15360         * config/alpha/vms.h: Likewise.
15361         * config/arc/arc.h: Likewise.
15362         * config/arm/aout.h: Likewise.
15363         * config/arm/coff.h: Likewise.
15364         * config/c4x/c4x.h: Likewise.
15365         * config/h8300/h8300.h: Likewise.
15366         * config/i386/cygwin.h: Likewise.
15367         * config/i386/djgpp.h: Likewise.
15368         * config/i386/gas.h: Likewise.
15369         * config/i386/gstabs.h: Likewise.
15370         * config/i386/i386-coff.h: Likewise.
15371         * config/i386/i386-interix.h: Likewise.
15372         * config/i386/sco5.h: Likewise.
15373         * config/i386/svr3dbx.h: Likewise.
15374         * config/i386/sysv3.h: Likewise.
15375         * config/i386/win32.h: Likewise.
15376         * config/i386/x86-64.h: Likewise.
15377         * config/i960/i960.h: Likewise.
15378         * config/ia64/ia64.h: Likewise.
15379         * config/ip2k/ip2k.h: Likewise.
15380         * config/m32r/m32r.h: Likewise.
15381         * config/m68k/3b1.h: Likewise.
15382         * config/m68k/3b1g.h: Likewise.
15383         * config/m68k/ccur-GAS.h: Likewise.
15384         * config/m68k/coff.h: Likewise.
15385         * config/m68k/hp2bsd.h: Likewise.
15386         * config/m68k/hp310g.h: Likewise.
15387         * config/m68k/hp320g.h: Likewise.
15388         * config/m68k/hp3bsd.h: Likewise.
15389         * config/m68k/hp3bsd44.h: Likewise.
15390         * config/m68k/linux-aout.h: Likewise.
15391         * config/m68k/m68k-aout.h: Likewise.
15392         * config/m68k/mot3300.h: Likewise.
15393         * config/m68k/netbsd.h: Likewise.
15394         * config/m68k/openbsd.h: Likewise.
15395         * config/m68k/pbb.h: Likewise.
15396         * config/m68k/plexus.h: Likewise.
15397         * config/m68k/sun2.h: Likewise.
15398         * config/m68k/sun3.h: Likewise.
15399         * config/m68k/tower-as.h: Likewise.
15400         * config/m68k/vxm68k.h: Likewise.
15401         * config/m88k/aout-dbx.h: Likewise.
15402         * config/m88k/m88k-aout.h: Likewise.
15403         * config/mcore/mcore-elf.h: Likewise.
15404         * config/mcore/mcore-pe.h: Likewise.
15405         * config/mips/elf.h: Likewise.
15406         * config/mips/elf64.h: Likewise.
15407         * config/mips/iris5gas.h: Likewise.
15408         * config/mips/iris6.h: Likewise.
15409         * config/mips/mips.h: Likewise.
15410         * config/mips/sni-gas.h: Likewise.
15411         * config/mmix/mmix.h: Likewise.
15412         * config/ns32k/netbsd.h: Likewise.
15413         * config/pa/pa64-hpux.h: Likewise.
15414         * config/romp/romp.h: Likewise.
15415         * config/rs6000/sysv4.h: Likewise.
15416         * config/rs6000/xcoff.h: Likewise.
15417         * config/sh/coff.h: Likewise.
15418         * config/sh/elf.h: Likewise.
15419         * config/sparc/linux64.h: Likewise.
15420         * config/sparc/liteelf.h: Likewise.
15421         * config/sparc/netbsd.h: Likewise.
15422         * config/sparc/openbsd.h: Likewise.
15423         * config/sparc/pbd.h: Likewise.
15424         * config/sparc/sp64-elf.h: Likewise.
15425         * config/sparc/sp86x-elf.h: Likewise.
15426         * config/sparc/sparc.h: Likewise.
15427         * config/vax/vax.h: Likewise.
15428         * config/vax/vaxv.h: Likewise.
15429
15430 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
15431
15432         * h8300.c (shift_alg_hi): Various tweaks to improve performance
15433         of HImode shifts.
15434         (get_shift_alg): Corresponding changes.
15435
15436 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15437
15438         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
15439
15440 2002-08-29  Richard Henderson  <rth@redhat.com>
15441
15442         * expr.h (enum block_op_methods): New.
15443         (emit_block_move): Update prototype.
15444         * expr.c (block_move_libcall_safe_for_call_parm): New.
15445         (emit_block_move_via_loop): New.
15446         (emit_block_move): Use them.  New argument METHOD.
15447         (emit_push_insn): Always respect the given alignment.
15448         (expand_assignment): Update call to emit_block_move.
15449         (store_expr, store_field, expand_expr): Likewise.
15450         * builtins.c (expand_builtin_apply): Likewise.
15451         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
15452         * function.c (expand_function_end): Likewise.
15453         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
15454         * config/sparc/sparc.c (sparc_va_arg): Likewise.
15455         * calls.c (expand_call, emit_library_call_value_1): Likewise.
15456         (save_fixed_argument_area): Use emit_block_move with
15457         BLOCK_OP_CALL_PARM instead of move_by_pieces.
15458         (restore_fixed_argument_area): Likewise.
15459         (store_one_arg): Fix alignment parameter to emit_push_insn.
15460
15461 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15462
15463         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
15464
15465 2002-08-29  Catherine Moore  <clm@redhat.com>
15466
15467         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
15468         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
15469         (PREDICATE_CODES): Include new predicates.
15470         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
15471         (TARGET_SWITCHES):  Add strict-align.
15472         (TARGET_STRICT_ALIGN): New.
15473         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
15474         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
15475         Define.
15476         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
15477         v850_muldi3.
15478         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
15479         L_callt_save_r2_r31, L_return_r2_r31,
15480         L_save_all_interrupt): Change addi to add.
15481         (L_save_interrupt, L_return_interrupt): Rework.
15482         (__return_r31):  Correct .size directive.
15483         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
15484         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
15485         New routines.
15486         * config/v850/v850.c (expand_prologue): Call
15487         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
15488         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
15489         (reg_or_int9_operand): New predicate.
15490         (reg_or_const_operand): New routine.
15491         * config/v850/v850.md (return_interrupt): Changed from
15492         restore_interrupt.
15493         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
15494         (callt_save_interrupt): Change save sequence.
15495         (callt_return_interrupt): New.
15496         (save_interrupt): Don't use runtime function for LONG_CALLS
15497         and TARGET_PROLOG_FUNCTION.
15498         (save_all_interrupt): Likewise.
15499         (mulsi3): Use new predicate.
15500         (moviscc): Disallow some combination of constants.
15501         Fix define_split for sasf insns, so that it will not generate bad
15502         code if operand0 and operand5 are the same.
15503         * config/v850/v850-protos.h: Prototype new predicates.
15504
15505 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
15506
15507         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
15508         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
15509
15510 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15511
15512         * c-common.c (builtin_define_type_precision): New function.
15513         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
15514         wchar_t is unsigned in C++.
15515         * doc/cpp.texi (Common Predefined Macros): Document
15516         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
15517         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
15518         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
15519
15520 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
15521
15522         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
15523         section.  Mention that it is enabled by -Wall.
15524         (-Wall): Mention that there can be language-specific warnings as well.
15525         (-Wctor-dtor-privacy): Mention that it is enabled by default.
15526         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
15527
15528 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
15529
15530         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
15531         if it is ever live.
15532
15533         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
15534         attribute for SHCOMPACT.
15535
15536         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
15537         appropriately.
15538         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
15539         by the ABI.
15540
15541         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
15542
15543 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
15544
15545         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
15546         "MASK_GAS|MASK_ABICALLS".
15547         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
15548         (TARGET_DEFAULT): Remove.
15549         (MACHINE_TYPE): Undefine before defining.
15550         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
15551
15552 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
15553
15554         * c-common.c (warn_abi): New variable.
15555         * c-common.h (warn_abi): Likewise.
15556         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
15557         (c_common_decode_option): Handle it.
15558         * doc/invoke.texi: Document -Wabi.
15559
15560 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15561
15562         * c-common.c (warn_undeclared_selector): New variable.
15563         * c-common.h (warn_undeclared_selector): Idem.
15564         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
15565         to on when -Wundeclared-selector is found.
15566         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
15567         * objc/objc-act.c (build_selector_expr): If
15568         warn_undeclared_selector is set, check that the selector has
15569         already been defined, and emit a warning if not.
15570
15571 2002-08-27  Nick Clifton  <nickc@redhat.com>
15572             Catherine Moore  <clm@redhat.com>
15573             Jim Wilson  <wilson@cygnus.com>
15574
15575         * config.gcc: Add v850e-*-* target.
15576         Add --with-cpu= support for v850.
15577         * config/v850/lib1funcs.asm: Add v850e callt functions.
15578         * config/v850/v850.h: Add support for v850e target.
15579         * config/v850/v850.c: Add functions to support v850e target.
15580         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
15581         * config/v850/v850.md: Add patterns for v850e instructions.
15582         * doc/invoke.texi: Document new v850e command line switches.
15583
15584 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
15585                           Aldy Hernandez <aldyh at redhat dot com>
15586
15587         * doc/tm.texi: Applied numerous fixes to the automaton based
15588         scheduler descrition.
15589
15590 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
15591
15592         * i386.c (classify_argument): Handle variable sized objects.
15593
15594 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
15595
15596         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
15597
15598 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
15599
15600         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
15601
15602 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
15603
15604         * i386.c (classify_argument): Properly compute word size of the analyzed object.
15605
15606 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
15607
15608         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
15609         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
15610         accordingly.
15611         (attribute insn_class): Provide default definitions based on type.
15612         Remove all insn-specific settings.
15613         (various function units): Remove old SH4 scheduling.
15614         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
15615         New attributes.  Set them where appropriate.
15616         (cpu unit FS): Don't define / use.
15617         (F3, load_store): New cpu units.
15618         (F01): New reservation.
15619         (all insn_reservations): Make dependent on sh4 pipeline model.
15620         Fix latencies.
15621         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
15622         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
15623         (mt insn_reservation): Use type mt_group.
15624         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
15625         sh4_fload and sh4_store.
15626         (insn_reservation branch_zero and branch): Replace with sh4_branch.
15627         (insn_reservation branch_far): Replace with sh4_return.
15628         (insn_reservation return_from_exp): Rename to:
15629         (sh4_return_from_exp).  Change to be just d_lock*5.
15630         (insn_reservation lds_to_pr): Rename to:
15631         (sh4_lds_to_pr).  Change to be just d_lock*2.
15632         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
15633         d_lock*2.
15634         (insn_reservation prload_mem): Rename to:
15635         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
15636         (insn_reservation fpscr_store): Rename to:
15637         (fpscr_load).  Change to d_lock,nothing,F1*3.
15638         (insn_reservation fpscr_store_mem): Rename to:
15639         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
15640         (insn_reservation multi): Change to
15641         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
15642         (insn_reservation fp_arith): Change to issue,F01,F2.
15643         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
15644         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
15645         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
15646         (insn_reservation fp_double_cmp): Change to
15647         d_lock,(d_lock+F01),F1+F2,F2.
15648         (insn_reservation dp_div): Change to
15649         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
15650         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
15651         (sh_adjust_cost, SHcompact): Differentiate between different
15652         kinds of dependencies.  Drop factor of ten for superscalar.
15653         Use new instruction types.  Add new exception rules.
15654
15655         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
15656
15657         * sh.md (mperm_w): Add DONE.
15658
15659 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
15660
15661         * longlong.h: Import current PowerPC defintion from GMP-4.1.
15662
15663         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
15664
15665         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
15666
15667 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15668
15669         * sh.h (MAX_FIXED_MODE_SIZE): Define.
15670
15671 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
15672
15673         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
15674         delimiter.
15675
15676 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15677
15678         * c-common.c (cpp_define_data_format): New function.
15679         (cb_register_builtins): Call it.
15680
15681         * doc/cpp.texi (Common Predefined Macros): Document
15682         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
15683         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
15684         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
15685         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
15686         __TARGET_USES_VAX_H_FLOAT__.
15687
15688 2002-08-26  Ziemowit Laski <zlaski@apple.com>
15689
15690         * objc/objc-act.c (get_super_receiver): If inside a class method
15691         of a category, cast the receiver to 'id' before accessing the 'isa'
15692         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
15693
15694 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
15695
15696         * config/s390/s390-protos.h (s390_function_prologue,
15697         s390_function_epilogue): Remove.
15698         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
15699         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
15700
15701         config/s390/s390.c (s390_machine_dependent_recorg): New function.
15702         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
15703         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
15704         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
15705         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
15706
15707         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
15708         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
15709         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
15710         function is not a leaf function.  Use save_gprs and restore_gprs.
15711         (s390_emit_epilogue): Likewise.
15712         (save_gprs, restore_gprs): New functions.
15713         (struct s390_frame): Remove return_reg_saved_p member.
15714         (save_fprs_p): Remove.
15715         (s390_optimize_prolog): New function.
15716         (s390_legitimate_reload_constant): Remove now unnecessary check.
15717
15718         (s390_function_count): Remove.
15719         (s390_output_symbolic_const): Replace s390_function_count by
15720         current_function_funcdef_no.
15721         (s390_output_constant_pool): Likewise.
15722
15723         (legitimize_pic_address): Use regs_ever_live to track PIC register
15724         instead of current_function_uses_pic_offset_table.
15725         (s390_emit_prologue): Likewise.
15726         config/s390/s390.md ("call", "call_value"): Likewise.
15727
15728 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
15729
15730         * c-opts.c (find_opt): Don't complain about wrong languages
15731         here.  Return exact matches even for wrong language.
15732         (c_common_decode_option): Complain about wrong languages
15733         here.
15734
15735 2002-08-24  Stuart Hastings  <stuart@apple.com>
15736
15737         * function.h (struct function): Add flag
15738         all_throwers_are_sibcalls.
15739         * except.c (set_nothrow_function_flags): Replaces
15740         nothrow_function_p. Set new flag.
15741         * except.h (set_nothrow_function_flags): Replaces
15742         nothrow_function_p.
15743         * dwarf2out.c (struct dw_fde_struct): Add flag
15744         all_throwers_are_sibcalls.
15745         (output_call_frame_info): Test it.
15746         (dwarf2out_begin_prologue) Propagate it from cfun to
15747         dw_fde_struct.
15748         * toplev.c (rest_of_compilation): Update calls to
15749         nothrow_function_p.
15750
15751 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
15752
15753         * ggc-page.c (compute_inverse): Short circuit calculation for
15754         object sizes larger than half a page.
15755
15756 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
15757
15758         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
15759         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
15760         default.
15761         (rs6000_elf_unique_section): Likewise.
15762
15763 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15764
15765         * ns32k.c (ns32k_globalize_label): Delete.
15766         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
15767
15768 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
15769
15770         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
15771         for loading delta with num_insns_constant_wide.  Calculate
15772         delta_low, delta_high without using a conditional.
15773
15774 2002-08-22  Jason Merrill  <jason@redhat.com>
15775
15776         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
15777         * c-common.def: Adjust.
15778         * c-dump.c (c_dump_tree): Adjust.
15779         * c-semantics.c (genrtl_return_stmt): Adjust.
15780         * c-pretty-print.c (pp_c_statement): Adjust.
15781         * tree-inline.c (copy_body_r): Adjust.
15782
15783 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
15784
15785         * ggc-page.c: Avoid division in ggc_set_mark.
15786         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
15787         compute_inverse): New.
15788         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
15789         (init_ggc): Initialize inverse_table.
15790
15791 2002-08-22  Tom Tromey  <tromey@redhat.com>
15792
15793         * doc/install.texi (Configuration): Document --datadir.
15794
15795 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
15796
15797         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
15798
15799 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
15800
15801         * gengtype-lex.l (ID): Allow underscore as first character.
15802
15803 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
15804
15805         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
15806         function.
15807         (rs6000_xcoff_asm_named_section): Rename.
15808         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15809
15810 2002-08-21  Tom Tromey  <tromey@redhat.com>
15811
15812         For PR java/6005 and PR java/7611:
15813         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
15814         (fold): Likewise.
15815         * langhooks.c (lhd_can_use_bit_fields_p): New function.
15816         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
15817         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
15818         (LANG_HOOKS_INITIALIZER): Use it.
15819         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
15820         field.
15821
15822 2002-08-21  Stan Shebs  <shebs@apple.com>
15823
15824         * tree.c (finish_vector_type): Fix a typo in a comment.
15825         * Makefile.in: Fix "the the" stutters in comments.
15826         * genautomata.c: Ditto.
15827         * ifcvt.c: Ditto.
15828         * regrename.c: Ditto.
15829         * config/alpha/alpha.c: Ditto.
15830         * config/alpha/vms-crt0-64.c: Ditto.
15831         * config/alpha/vms-crt0.c: Ditto.
15832         * config/alpha/vms-psxcrt0-64.c: Ditto.
15833         * config/alpha/vms-psxcrt0.c: Ditto.
15834         * config/d30v/d30v.h: Ditto.
15835         * config/fr30/fr30.h: Ditto.
15836         * config/rs6000/rs6000.c: Ditto.
15837         * config/stormy16/stormy16.h: Ditto.
15838         * doc/md.texi: Ditto.
15839
15840 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15841
15842         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
15843
15844 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
15845
15846         * c-decl.c (grokdeclarator): Make invalid combinations with long,
15847         short, signed or unsigned into hard errors.  Fixes PR c/4319.
15848         Also make duplicate modifiers such as "short short" into hard
15849         errors.
15850
15851 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
15852             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15853
15854         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
15855         to the actual end.  Add '@end table' and '@table @code'.
15856
15857 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
15858
15859         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
15860
15861         * unroll.c (biv_total_increment): Don't try to compute the total
15862         increment for FP BIVs.
15863
15864 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15865
15866         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
15867         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
15868         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15869         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
15870         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
15871         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
15872         (GLOBAL_ASM_OP): Define.
15873         * arm.c (aof_globalize_label): New function.
15874         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
15875         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15876         * c4x.c (c4x_globalize_label): New function.
15877         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
15878         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
15879         (GLOBAL_ASM_OP): Define.
15880         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15881         * darwin-protos.h (darwin_globalize_label): Declare.
15882         * darwin.c (darwin_globalize_label): New function.
15883         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
15884         (ASM_GLOBALIZE_LABEL): Delete.
15885         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
15886         * dsp16xx.c (asm_output_common): Use target hook.
15887         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
15888         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
15889         (GLOBAL_ASM_OP): Define.
15890         * i370.c (i370_globalize_label): New function.
15891         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
15892         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
15893         * i386.c (ix86_asm_file_end): Use target hook.
15894         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
15895         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15896         * ia64.c (ia64_asm_output_external): Likewise.
15897         * ia64/sysv4.h: Update comment.
15898         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15899         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15900         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
15901         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15902         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
15903         * mmix-protos.h (mmix_asm_globalize_label): Delete.
15904         * mmix.c (mmix_asm_globalize_label): Likewise.
15905         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
15906         (GLOBAL_ASM_OP): Define.
15907         * ns32k.c (ns32k_globalize_label): New function.
15908         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
15909         (ASM_GLOBALIZE_LABEL): Delete.
15910         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
15911         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
15912         * pa.c (pa_globalize_label): New function.
15913         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
15914         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
15915         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
15916         (GLOBAL_ASM_OP): Define.
15917         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
15918         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15919         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
15920         (GLOBAL_ASM_OP): Define.
15921         * v850.c (v850_output_aligned_bss): Use target hook.
15922         * vax.c (vms_globalize_label): New function.
15923         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
15924         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
15925         (GLOBAL_ASM_OP): Define.
15926         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
15927         * doc/tm.texi: Update docs.
15928         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
15929         target hook.
15930         * final.c (output_alternate_entry_point): Likewise.
15931         * hooks.c (hook_FILEptr_constcharptr_void): New function.
15932         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
15933         * output.h (assemble_global): Delete.
15934         (default_globalize_label): Declare.
15935         * system.h (ASM_GLOBALIZE_LABEL): Poison.
15936         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15937         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
15938         * target.h (gcc_target): Add globalize_label member.
15939         * varasm.c (asm_output_bss, asm_output_aligned_bss,
15940         globalize_decl): Use target hook.
15941         (assemble_global): Delete.
15942         (default_globalize_label): New function.
15943
15944 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15945
15946         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
15947
15948 2002-08-20  Devang Patel  <dpatel@apple.com>
15949         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
15950
15951 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15952
15953         * arc.c (output_shift): Use stdio instead of asm_fprintf.
15954         * arm.c (thumb_output_function_prologue): Likewise.
15955         * avr.c (print_operand): Likewise.
15956         * c4x.c (c4x_print_operand): Likewise.
15957         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
15958         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
15959         * cris.c (cris_target_asm_function_prologue,
15960         cris_asm_output_mi_thunk): Likewise.
15961         * h8300.c (print_operand): Likewise.
15962         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15963         * ip2k.c (print_operand): Likewise.  Fix format specifier.
15964         * m68hc11.c (asm_print_register, print_operand,
15965         print_operand_address): Use stdio instead of asm_fprintf.
15966         (print_operand_address): Fix format specifier.
15967         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
15968         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
15969         asm_fprintf.
15970         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15971         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15972         * m68k.c (m68k_output_function_prologue,
15973         m68k_output_function_epilogue, print_operand): Likewise.
15974         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
15975         Likewise.  Fix format specifier.
15976         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15977         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15978         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15979
15980 2002-08-15  Eric Christopher  <echristo@redhat.com>
15981             Jeff Knaggs  <jknaggs@redhat.com>
15982
15983         * config.gcc (mipsisa64sr71k-elf): New target.
15984         * config/mips/sr71k.md: New file.
15985         * config/mips/mips.md: Use it.
15986         (rot*): Add sr71k specifics.
15987         * config/mips/t-sr71k: New file.
15988         * config/mips/mips.h (sr71k): New cpu.
15989         (TARGET_SR71K): Use it.
15990         (TUNE_SR71K): Ditto.
15991         (GENERATE_BRANCHLIKELY): Ditto.
15992         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
15993         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
15994         * config/mips/mips.c (sr71k): New cpu.
15995         (mips_use_dfa_pipeline_interface): Use.
15996
15997 2002-08-15  Eric Christopher  <echristo@redhat.com>
15998             Richard Sandiford <rsandifo@redhat.com>
15999             Aldy Hernandez  <aldyh@redhat.com>
16000             Graham Stott    <grahams@redhat.com>
16001             Michael Meissner  <meissner@redhat.com>
16002             Gavin Romig-Koch  <gavin@redhat.com>
16003             Ken Raeburn  <raeburn@cygnus.com>
16004             Alexandre Oliva <aoliva@redhat.com>
16005
16006         * config.gcc (mips64vr-elf): New target.
16007         * config/mips/5400.md: New file.
16008         * config/mips/5500.md: Ditto.
16009         * config/mips/mips.md: Use them.
16010         (frsqrt): New.
16011         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
16012         cpus.
16013         (mips_issue_rate): Use them.
16014         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
16015         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
16016         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
16017         cpus.
16018         (TARGET_MIPSx): Use them.
16019         (TUNE_MIPSx): Ditto.
16020         (GETNATE_MULT3_SI): Ditto.
16021         (ISA_HAS_BRANCHLIKELY): Ditto.
16022         (ISA_HAS_CONDMOVE): Ditto.
16023         (ISA_HAS_NMADD_NMSUB): Ditto.
16024         (ISA_HAS_MULHI): New. Ditto.
16025         (ISA_HAS_MULS): Ditto.
16026         (ISA_HAS_MSAC): Ditto.
16027         (ISA_HAS_MACC): Ditto.
16028         (ISA_HAS_ROTR_SI): Ditto.
16029         (ISA_HAS_ROTR_DI): Ditto.
16030         (RTX_COSTS): Use.
16031
16032 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16033
16034         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
16035         at head.
16036         (remove_dup_nonsys_dirs): New function.
16037         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
16038         (merge_include_chains): Remove non-system include directories from
16039         quote and bracket include chains when they duplicate equivalent system
16040         directories.
16041         * doc/cpp.texi (-I): Update.
16042         * doc/cppopts.texi (-I): Update.
16043         * doc/install.texi (--with-local-prefix): Further document usage of
16044         this option.
16045         * doc/invoke.texi (-I): Update.
16046
16047 2002-08-20  Richard Henderson  <rth@redhat.com>
16048
16049         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
16050         (emit_block_move): Split out subroutines.
16051         (emit_block_move_via_movstr): New.
16052         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
16053         (emit_block_move_libcall_fn): New.  Construct function prototype for
16054         bcopy as well.
16055         (clear_storage): Split out subroutines.
16056         (clear_storage_via_clrstr): New.
16057         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
16058         (clear_storage_libcall_fn): New.  Construct function prototype for
16059         bzero as well.
16060         (emit_push_insn): Use emit_block_move.
16061         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
16062         (store_constructor): Likewise.
16063
16064 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
16065
16066         * objc/objc-act.c (building_objc_message_expr): Rename to
16067         current_objc_message_selector.
16068
16069 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
16070
16071         * objc/objc-act.c (build_ivar_chain): Remove.
16072         (objc_copy_list): Likewise.
16073         (get_class_ivars): Inline call to removed build_ivar_chain
16074         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
16075         slot; use that slot (rather than CLASS_IVARS) when accessing
16076         ivars for base classes.  Call copy_list and chainon instead of
16077         objc_copy_list.
16078         (build_private_template): Call get_class_ivars instead of
16079         build_ivar_chain.
16080         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
16081         (continue_class): Call get_class_ivars instead of
16082         build_ivar_chain.
16083         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
16084         of DECL_BIT_FIELD (which may have been cleared).
16085         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
16086
16087 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16088
16089         * genautomata.c (output_translate_vect, output_state_ainsn_table,
16090         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
16091         in output file.
16092         (output_internal_min_issue_delay_func): Initialize variable in
16093         output file.
16094
16095 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
16096
16097         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
16098         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
16099
16100 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
16101             Steve Ellcey  <sje@cup.hp.com>
16102
16103         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
16104         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
16105         * explow.c (trunc_int_for_mode): Abort when the mode is not
16106         a scaler integer mode.
16107         * combine.c (expand_compound_operation): Don't expand Vector
16108         or Complex modes into shifts.
16109         (expand_field_assignment): Don't do bitwise arithmatic and
16110         shifts on Vector or Complex modes.
16111         (simplify_comparison): Don't call trunc_int_for_mode
16112         for VOIDmode.
16113         * recog.c (general_operand): Likewise.
16114         (immediate_operand): Likewise.
16115         (nonmemory_operand): Likewise.
16116
16117 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
16118
16119         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
16120         multi-instruction SImode constant.  Add REG_EQUAL note.
16121         * config/rs6000/rs6000.md (movsi splitter): Use
16122         rs6000_emit_set_const.
16123
16124 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16125
16126         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
16127         the macro test controlling its use.
16128
16129 2002-08-18  H.J. Lu  (hjl@gnu.org)
16130
16131         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
16132         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
16133         gnu_ld=yes.
16134         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
16135         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
16136         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
16137         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
16138         here.
16139         (cris-*-linux*): Remove setting thread_file here.
16140
16141 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
16142
16143         PR preprocessor/7602
16144         * cppinit.c (path_include): Treat the system environment
16145         variables as being cxx_aware.
16146
16147 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
16148
16149         * c-decl.c (flexible_array_type_p): New function.
16150         (grokdeclarator, finish_struct): Use it.
16151         * doc/extend.texi: Document constraints on use of structures with
16152         flexible array members.
16153
16154 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
16155
16156         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
16157         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
16158         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
16159
16160 2002-08-16  Stan Shebs  <shebs@apple.com>
16161
16162         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
16163         for ObjC with -fnext-runtime.
16164         * doc/cpp.texi: Document it.
16165
16166 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
16167
16168         * doc/install.texi (Final installation): Replace links to individual
16169         build status pages with a link to a common page that lists them all.
16170
16171 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
16172
16173         * doc/invoke.texi: Fix typo.
16174
16175 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
16176
16177         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
16178
16179 2002-08-16  Andrew Haley  <aph@redhat.com>
16180
16181         * tree-inline.c: Add includes for Java inliner.
16182         (remap_decl): Don't handle anonymous types for Java.
16183         (remap_block): Add handling for Java trees.
16184         (copy_scope_stmt): Conditionalize for non-Java use only.
16185         (copy_body_r): Handle Java trees.  Add handling for
16186         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
16187         (initialize_inlined_parameters):  Handle Java trees.
16188         (declare_return_variable): Likewise.
16189         (expand_call_inline): Handle Java trees.
16190         (walk_tree): Likewise.
16191         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
16192         (add_stmt_to_compound): New function.
16193
16194 2002-08-15  Richard Henderson  <rth@redhat.com>
16195
16196         * Makefile.in (LOOSE_WARN): Remove -fno-common.
16197         (NOCOMMON_FLAG): New substitution point.
16198         (GCC_WARN_CFLAGS): Include it.
16199         * configure.in (ac_checking): Set nocommon_flag.
16200         (nocommon_flag): New substitution point.
16201
16202 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
16203
16204         * c-tree.h (skip_evaluation): Move declaration...
16205         * c-common.h: ... here.
16206         * c-typeck.c (build_external_ref): Don't assemble_external nor
16207         mark a tree as used if skip_evaluation is set.
16208         * c-parse.in (typeof): New non-terminal to set skip_evaluation
16209         around TYPEOF.
16210         (typespec_nonreserved_nonattr): Use it.
16211
16212 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
16213
16214         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
16215         (xcoff_debug_hooks): Update end_prologue.
16216         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
16217         * debug.h (end_prologue): Add file arg.
16218         (end_epilogue): Add line and file args.
16219         (dwarf2out_end_epilogue): Add line and file args.
16220         (vmsdbgout_after_prologue): Remove.
16221         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
16222         (dwarf2_debug_hooks): Update end_prologue.
16223         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
16224         (dwarfout_end_prologue): Add file arg.
16225         * final.c (vmsdbgout_after_prologue): Remove
16226         (final_end_function): Update end_epilogue call.
16227         (final_scan_insn): Update end_prologue call.
16228         * sdbout.c (sdbout_end_epilogue): Add line and file args.
16229         (sdbout_end_prologue): Add file arg.
16230         (sdb_debug_hooks): Update end_prologue.
16231         (sdb_begin_prologue): Update sdbout_end_prologue call.
16232         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
16233         vmsdbgout_end_function.
16234         (vmsdbgout_end_prologue): New function renamed from
16235         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
16236         (vmsdbgout_end_function): New function.
16237         (vmsdbgout_end_epilogue): Add line and file args. Call
16238         vmsdbgout_source_line.
16239         (write_pclines): Write only valid line numbers.
16240         (write_srccorr): Don't write source correlation records if 0 lines.
16241         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
16242
16243 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
16244
16245         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
16246         (_Unwind_Internal_Ptr): 32 bit version for use in
16247         read_encoded_value_with_base.
16248         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
16249         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
16250         right size.
16251
16252 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16253
16254         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
16255         signed/unsigned warnings.
16256
16257         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
16258         record_reg_classes): Likewise.
16259
16260         * reload.c (reload_inner_reg_of_subreg, push_reload,
16261         find_reloads_address_1): Likewise.
16262
16263 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
16264
16265         * rs6000.c (output_mi_thunk): Return to function section on
16266         TARGET_ELF.
16267
16268         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
16269
16270 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
16271
16272         * config/s390/s390.c (legitimize_address): Optimize loading
16273         of large displacements.
16274
16275 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
16276
16277         * config/alpha/alpha-protos.h: Update.
16278
16279         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
16280         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
16281         (alpha_linkage_symbol_p): New static function.
16282         (print_operand_address): Print linkage operand.
16283
16284         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
16285         variables.
16286         (reloc_kind): New enum.
16287         (struct alpha_funcs): New struct.
16288         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
16289
16290         (alpha_need_linkage): Rewrite.
16291         (alpha_use_linkage): New global function.
16292         (alpha_write_linkage): Rewrite and make static.
16293         (alpha_write_one_linkage): Rewrite
16294
16295         (alpha_start_function): Remove procedure descriptor output.
16296         (alpha_end_function): Write linkages at end of each function.
16297
16298         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
16299         (call_vms_1, call_value_vms_1): Rewrite.
16300
16301         * config/alpha/vms.h (ASM_FILE_END): Remove.
16302
16303 2002-08-14  Richard Henderson  <rth@redhat.com>
16304
16305         * ggc-page.c (RTL_SIZE): New.
16306         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
16307         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
16308
16309 2002-08-14  Richard Henderson  <rth@redhat.com>
16310
16311         * calls.c: Include target.h.
16312         * Makefile.in (calls.o): Update.
16313
16314         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
16315         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
16316
16317 2002-08-14  Richard Henderson  <rth@redhat.com>
16318
16319         * Makefile.in (LOOSE_WARN): Add -fno-common.
16320         * c-common.h (constant_string_class_name): Add missing extern.
16321
16322 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
16323
16324         PR preprocessor/7358
16325         * c-opts.c (check_deps_environment_vars): Ignore main file
16326         for SUNPRO_DEPENDENCIES.
16327         * cppfiles.c (stack_include_file): Ignore main file if
16328         appropriate.
16329         * cpplib.h (struct cpp_options): New member in deps.
16330         * doc/cppenv.texi: Update.
16331
16332 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16333
16334         PR preprocessor/7526
16335         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
16336
16337 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
16338
16339         * doc/invoke.texi (-a): Remove documentation.
16340         (-fprofile-arcs): Remove reference to -a, -ax options.
16341         * doc/gcov.texi (Gcov Data Files): Data might be merged.
16342
16343 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16344
16345         Fix PR/7566
16346         * c-semantics.c (genrtl_case_label): Don't (mis)use
16347         warning_with_decl.
16348
16349 2002-08-14  Dale Johannesen  <dalej@apple.com>
16350
16351         * explow.c (emit_stack_restore):  Emit memory clobbers
16352         preceding the stack pop, to prevent the scheduler from
16353         moving refs to variable arrays below this pop.
16354         * reload1.c (reload):  Preserve these clobbers for sched2.
16355         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
16356
16357 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16358
16359         * c-opts.c (c_common_post_options): Correct test.
16360
16361 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16362
16363         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
16364         order in call to fprintf.
16365
16366 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16367
16368         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
16369
16370 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
16371
16372         * reload.c (find_reloads): Handle constraint letters marked by
16373         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
16374         (alternative_allows_memconst): Likewise.
16375         * reload1.c (maybe_fix_stack_asms): Likewise.
16376         * recog.c (asm_operand_ok, preprocess_constraints,
16377         constrain_operands): Likewise.
16378         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
16379         * local-alloc.c (block_alloc, requires_inout): Likewise.
16380         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
16381
16382         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
16383         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
16384         * doc/tm.texi: Document these two new target macros.
16385
16386         * config/s390/s390.c (s390_expand_plus_operand): Accept already
16387         valid operands.
16388         (q_constraint): New function.
16389         config/s390/s390-protos.h (q_constraint): Declare it.
16390         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
16391         (EXTRA_MEMORY_CONSTRAINT): New macro.
16392
16393         * config/s390/s390.md: Throughout the machine description,
16394         replace all instances of the constraint combinations 'Qo'
16395         or 'oQ' with simply 'Q'.
16396
16397 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16398
16399         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
16400         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
16401         (LIBGCC2_CFLAGS): Compile with -mrelax.
16402
16403 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16404
16405         * doc/invoke.texi: Document -minmax for 68HC12.
16406
16407         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
16408         ("uminqi3"): Likewise.
16409         ("uminhi3", "umaxhi3"): Likewise.
16410
16411         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
16412         (TARGET_MIN_MAX): Define.
16413         (TARGET_SWITCHES): New option -minmax/-mnominmax.
16414
16415 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16416
16417         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
16418         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
16419
16420         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
16421         (ret, declare, farsym): New gas macros.
16422         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
16423         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
16424         and declare the symbol far when compiled with -mlong-calls.
16425         (__far_trampoline): New for 68HC12 trampoline code to invoke a
16426         far handler using jsr/bsr.
16427
16428         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
16429         (jsr): New macro to transform a 'jsr' into a 'call'.
16430
16431 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16432
16433         * doc/invoke.texi: Document -mlong-calls for 68HC12.
16434
16435         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
16436         -mlong-calls is specified.
16437         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
16438         assembler directives.
16439         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
16440         (TARGET_SWITCHES): Add -mlong-calls options.
16441         (current_function_far): Declare.
16442
16443         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
16444         into account the page register saved on the stack.
16445         (m68hc11_override_options): Take into account -mlong-calls option.
16446         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
16447
16448         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
16449         if the function is going to be in 68HC12 banked memory (-mlong-calls).
16450         ("*return_16bit"): Likewise.
16451         ("*return_void"): Likewise.
16452         ("call", "call_value"): Use call for a far function call.
16453
16454 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16455
16456         * toplev.c (parse_options_and_default_flags): Don't call
16457         post_options here.
16458         (general_init): Initialize GC, pools and tree hash here,
16459         instead of lang_independent_init.
16460         (lang_independent_init): Rename backend_init.
16461         (do_compile): Call post_options hook; exit early if there
16462         have been errors after switch processing.
16463         (toplev_main): Update.
16464
16465 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16466
16467         * c-pretty-print.h: Guard against multiple inclusion.
16468         Robustify macros.
16469         (pp_c_attributes): Declare.
16470         * c-pretty-print.c (pp_c_attributes): New function.
16471
16472 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16473
16474         * m68k.c (m68k_output_function_prologue,
16475         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
16476         and NEWS/MOTOROLA.
16477         * genattrtab.c: Remove dpx2 comment.
16478         * libgcc2.c (__enable_execute_stack): Delete versions for
16479         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
16480         sony_news/SYSTYPE_BSD.
16481         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
16482         __gmicro__, __i860__, __NeXT__ and __pyr__.
16483         * rtl.h: Remove convex comment.
16484         * varasm.c: Likewise.
16485
16486 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16487
16488         * c-opts.c (lang_flags): Const-ify.
16489         * ra-build.c (undef_table): Likewise.
16490         * ra.c (eliminables): Likewise.
16491
16492 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16493
16494         * tree.h: Guard against multiple inclusion.
16495
16496 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
16497
16498         * reload1.c (reload_cse_simplify): Before checking
16499         REG_FUNCTION_VALUE_P, check REG_P.
16500
16501 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
16502
16503         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
16504
16505 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16506
16507         * c-opts.c (c_common_init_options): Extra braces needed.
16508
16509 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
16510
16511         * sh.c (sh_init_builtins): Add PARAMS to declaration.
16512         (sh_media_init_builtins, sh_expand_builtin): Likewise.
16513         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
16514         (sh_expand_binop_v2sf): Likewise.
16515         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
16516         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
16517         (sh_initialize_trampoline): Likewise.
16518
16519 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
16520
16521         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
16522         new condition code modes.
16523         s390.c (s390_match_ccmode_set): Handle those new CC modes.
16524         (s390_select_ccmode): Likewise.
16525         (s390_branch_condition_mask): Likewise.
16526
16527         * s390-protos.h (s390_tm_ccmode): Declare.
16528         s390.c (s390_tm_ccmode): New function.
16529         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
16530
16531         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
16532         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
16533         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
16534
16535         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
16536         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
16537         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
16538         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
16539         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
16540
16541         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
16542         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
16543         "*cmpqi_ccs_0"): Remove, replace by ...
16544         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
16545         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
16546         "*tstqi", "*tstqi_cconly"): ... these new patterns.
16547
16548         ("*cmpsidi_ccs"): Remove, replace by ...
16549         ("*cmpsi_ccs_sign"): ... this new pattern.
16550         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
16551
16552         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
16553         ("*cli"): ... this new pattern.
16554
16555         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
16556         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
16557         New patterns.
16558         ("adddi3_64"): Rename to "*adddi3_64".
16559         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
16560         ("adddi3"): Adapt expander.
16561
16562         ("*addsi3_cc"): Allow "general_operand" for operand 2.
16563         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
16564         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
16565
16566         ("addhi3", "addqi3"): Remove, replace by ...
16567         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
16568
16569         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
16570         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
16571         ("subdi3"): Replace by insn and splitter "*subdi3_31".
16572         ("subdi3"): New expander.
16573
16574         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
16575
16576         ("subhi3", "subqi3"): Remove, replace by ...
16577         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
16578
16579         ("*muldi3_sign"): New pattern.
16580         ("muldi3"): Do not clobber CC.
16581         ("mulsi3"): Likewise.
16582         ("mulsi_6432"): Likewise.
16583
16584 2002-08-13  Denis Chertykov  <denisc@overta.ru>
16585
16586         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
16587         which can change CC0.
16588
16589 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
16590
16591         * gcse.c (adjust_libcall_notes): New function.
16592         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
16593
16594 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
16595
16596         * libgcc2.c (L_bb): Remove unneeded #includes.
16597         (__global_counters, __gthreads_active): Remove unused globals.
16598         (__bb_exit_func): Merge counts into files rather than appending.
16599         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
16600         (ALL_CFLAGS): ... to here.
16601
16602 2002-08-13  Denis Chertykov  <denisc@overta.ru>
16603
16604         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
16605         (function_epilogue): Don't calculate function size.
16606         (ip2k_set_compare): Don't use lookup_const_double.
16607         (asm_file_start): Initialization of commands_in_file removed.
16608         (asm_file_end): Output of commands_in_file removed.
16609
16610         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
16611         __INT_MAX__.
16612
16613 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16614
16615         * c-opts.c (c_common_init_options): Check option array is
16616         sorted if checking enabled.
16617
16618 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
16619
16620         * c-pretty-print.c: #include "c-tree.h".
16621         (pp_c_simple_type_specifier): Tweak.
16622         (pp_c_storage_class_specifier): New.
16623         (pp_c_function_specifier): Likewise.
16624         (pp_c_declaration_specifiers): Likewise.
16625         (pp_c_init_declarator): Likewise.
16626         (pp_c_declaration): Likewise.
16627         (pp_c_direct_declarator): Stub.
16628         (pp_c_declarator): Likewise.
16629         (pp_c_parameter_declaration): Likewise.
16630
16631 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16632
16633         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
16634         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
16635         struct deferred_opt): New.
16636         (COMMAND_LINE_OPTIONS): Add -M*.
16637         (missing_arg): Update.
16638         (c_common_decode_option): Handle -M*.
16639         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
16640         don't call cpp_post_options.
16641         (c_common_finish, check_deps_environment_vars): Update.
16642         * cppfiles.c (stack_include_file, handle_missing_header): Update.
16643         * cpphash.h (CPP_PRINT_DEPS): Remove.
16644         * cppinit.c: Don't include version.h.
16645         (cpp_create_reader): Don't call deps_init.  Initialize
16646         warn_long_long.
16647         (cpp_read_main_file): Init deps if necessary.
16648         (cpp_destroy): Conditionally free deps.
16649         (cpp_finish): Update.
16650         (no_tgt): Remove.
16651         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
16652         (cpp_post_options): Rename post_options.
16653         * cpplib.h (struct cpp_options): Remove some dependency options;
16654         move others to a new structure.
16655         (cpp_post_options): Remove.
16656         (cpp_finish): Comment.
16657         * fix-header.c (read_scan_file): Don't call cpp_post_options.
16658
16659 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
16660
16661         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
16662         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
16663         MMIX_rR_REGNUM as clobbered.
16664         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
16665
16666 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
16667
16668         * diagnostic.h (output_formatted_scalar): Rename from
16669         output_formatted_integer.
16670         * diagnostic.def: Add DK_DEBUG.
16671         * diagnostic.c (output_decimal): Adjust.
16672         (output_long_decimal): Likewise.
16673         (output_unsigned_decimal): Likewise.
16674         (output_octal): Likewise.
16675         (output_long_octal): Likewise.
16676         (output_hexadecimal): Likewise.
16677         (output_long_hexadecimal): Likewise.
16678         * c-pretty-print.c (pp_c_type_specifier): New function.
16679         (pp_c_specifier_qualifier_list): Likewise.
16680         (pp_c_abstract_declarator): Likewise.
16681         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
16682
16683 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
16684
16685         * doc/trouble.texi (Disappointments): Add static constructor and
16686         destructor dependency information for AIX.
16687
16688 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
16689
16690         * cpphash.h (struct printer): New from cppmain.c.
16691         (cpp_reader): New member.
16692         * cppmain.c (struct printer): Move to cpphash.h.
16693         (options, print): Remove.
16694         (account_for_newlines, print_line, maybe_print_line,
16695         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
16696         scan_translation_unit_trad, cb_line_change, cb_ident,
16697         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
16698         cb_def_pragma): Make reentrant.
16699
16700 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16701
16702         * real.c (ieee_64): Always define.
16703         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
16704         (dec_h): Not used yet, hide it.
16705         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
16706         macro controlling use.
16707         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
16708
16709 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
16710
16711         * i386.md (tablejump): Sign extend the operand.
16712         * i386.c (classify_argument): Fix missed case from previous patch.
16713
16714 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
16715
16716         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
16717         to c-copts.c.
16718         (warn_multichar): Die.
16719         (cb_register_builtins): Export.
16720         * c-common.h (warn_multichar, preprocess_file): Remove.
16721         (cb_register_builtins): New.
16722         * c-lang.c (c_init): Remove.
16723         (LANG_HOOKS_INIT): Use c_objc_common_init.
16724         * c-lex.c (init_c_lex): Don't canonicalize filename.
16725         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
16726         (preprocess_file): Make static.  Update for cpplib.
16727         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
16728         (c_common_post_options): Set some cpp options here.
16729         (c_common_init): Move from c-common.c.
16730         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
16731         * cpplib.h (struct cpp_options): Remove in_fname.
16732         (cpp_preprocess_file): Update.
16733         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
16734
16735 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16736
16737         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
16738
16739 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16740
16741         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
16742         backslash in comment preceeding macro definition.
16743         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
16744         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
16745         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
16746
16747 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
16748
16749         * expr.c (store_expr): In condition for checking if value is
16750         generated in TARGET, move call to expr_size last.
16751
16752 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16753
16754         * c-common.c (c_common_init): Call preprocess_file instead.
16755         (c_common_finish): Move to c-opts.c.
16756         * c-common.h (preprocess_file): new.
16757         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
16758         check_deps_environment_vars, c_common_finish): New.
16759         (c_common_decode_option): Update for out_fname and dependencies.
16760         * cppinit.c (init_dependency_output, output_deps): Remove.
16761         (cpp_destroy): Update prototype.
16762         (cpp_add_dependency_target): New.
16763         (cpp_read_main_file): Don't overlay a buffer.
16764         (cpp_finish): Take a deps output stream and write deps to it.
16765         Return the error count.
16766         (cpp_post_options): Don't canonicalize out_fname, or do anything
16767         with dependencies.
16768         * cpplib.h (struct cpp_options): Remove out_fname and
16769         preprocess_only.
16770         (cpp_add_dependency_target): New.
16771         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
16772         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
16773         set preprocess_only.  Don't handle the output stream directly.
16774
16775 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16776
16777         * dsp16xx.c (print_operand): Fix format specifier.
16778         * dsp16xx.md: Avoid automatic aggregate initialization.
16779         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
16780         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
16781         integer constant modifier.
16782         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
16783         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
16784         guards.
16785         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
16786         * v850.c (v850_select_section): Mark parameter with
16787         ATTRIBUTE_UNUSED.
16788         * global.c (global_alloc): Const-ify.
16789         * ra-colorize.c (hardregset_to_string): Fix format specifier.
16790
16791 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16792
16793         * darwin-c.c (darwin_pragma_options): Const-ify.
16794         * darwin.c (machopic_non_lazy_ptr_name,
16795         machopic_validate_stub_or_non_lazy_ptr): Likewise.
16796         (machopic_indirect_data_reference): Wrap variables in macros
16797         controlling their use.
16798         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
16799         (machopic_select_section): Use parentheses around && within ||.
16800         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
16801
16802 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16803
16804         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
16805         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
16806         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
16807         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
16808         mdr_try_remove_redundant_insns, track_w_reload,
16809         mdr_try_wreg_elim): Make function static to match prototype.
16810         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
16811         parameter with ATTRIBUTE_UNUSED.
16812
16813 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16814
16815         * arc.c (arc_init): Don't use ISO C style function definitions.
16816         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
16817         arm_get_strip_length, arm_strip_name_encoding): Likewise.
16818         * avr.h (progmem_section): Likewise.
16819         * h8300.c h8300_asm_insn_count): Likewise.
16820         * m32r.c (init_idents): Likewise.
16821         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
16822         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
16823         * xtensa.c (xtensa_build_va_list): Likewise.
16824
16825 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16826
16827         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
16828         * c-opts.c (parse_option): Rename find_opt.
16829         (set_std_c99): New function.
16830         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
16831         (missing_arg): Remove OPT_std_bad.  Handle -o.
16832         (c_common_decode_option): Handle input and output file names,
16833         -o and -remap.  Clean up -std= handling.
16834         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
16835         (cpp_handle_option): Similarly.  Don't handle filenames.
16836
16837 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
16838
16839         * i386.c (classify_argument): Fix computing of field's offsets.
16840
16841 2002-08-11  Andreas Jaeger  <aj@suse.de>
16842
16843         PR target/7531:
16844         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
16845
16846 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
16847
16848         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
16849         reference to clk_objective_c with flag_objc.
16850         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
16851         Likewise.
16852         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
16853
16854 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
16855
16856         * c-opts.c (set_std_cxx98, set_std_c89): New.
16857         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16858         (c_common_decode_option): Handle new switches from cppinit.c.
16859         Add -std=gnu++98.
16860         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
16861         (no_arg, no_num): Remove.
16862         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
16863         switches apart from -lang-objc and lang-asm.
16864         (cpp_handle_option): Similarly.
16865         * cpplib.h (cpp_set_lang): New.
16866         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
16867         -std=gnu++98.
16868         * objc/lang-specs.h: Remove -ansi.
16869
16870 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
16871                                Graham Stott
16872
16873         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
16874         errors.
16875
16876 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16877
16878         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
16879         emit_jump_insn): Fix uninitialized variable.
16880         * gcov.c (init_line_info): Likewise.
16881         * genautomata.c (transform_3): Add braces around ambiguous
16882         else.
16883         * ifcvt.c (cond_exec_process_insns): Mark parameter with
16884         ATTRIBUTE_UNUSED.
16885         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
16886         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
16887         variable.
16888
16889         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
16890         warnings in output files.
16891
16892 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
16893
16894         * c-common.c (flag_objc): New.
16895         * c-common.h (c_language_kind): Get rid of clk_objective_c
16896         enum value.
16897         (flag_objc): New extern declaration.
16898         * c-decl.c (implicitly_declare): Call objc_check_decl
16899         instead of maybe_objc_check_decl.
16900         (finish_decl): Likewise.
16901         (grokfield): Likewise.
16902         (finish_struct): Likewise.
16903         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
16904         (maybe_objc_comptypes): Rename to objc_comptypes.
16905         (maybe_building_objc_message_expr): Rename to
16906         objc_message_selector.
16907         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
16908         replace with flag_objc as needed.
16909         * c-opts.c (c_common_init_options): Likewise.
16910         (c_common_decode_option): Likewise.
16911         * c-parse.in (init_reswords): Likewise.
16912         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
16913         (maybe_objc_comptypes): Rename to objc_comptypes.
16914         (maybe_building_objc_message_expr): Rename to
16915         objc_message_selector.
16916         * c-typeck.c (comptypes): Call objc_comptypes instead of
16917         maybe_objc_comptypes, and/or objc_message_selector instead of
16918         maybe_building_objc_message_expr.
16919         (comp_target_types): Likewise.
16920         (convert_for_assignment): Likewise.
16921         (warn_for_assignment): Likewise.
16922         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
16923         independently of those for other languages.
16924         * objc/objc-act.c (maybe_objc_comptypes): Delete.
16925         (maybe_objc_check_decl): Delete.
16926         (maybe_building_objc_message_expr): Rename to
16927         objc_message_selector.
16928         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
16929         clk_objective_c; set flag_objc flag.
16930
16931 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
16932
16933         * ifcvt.c (find_if_case_2): Test correct basic block for size.
16934
16935 2002-08-09  Dale Johannesen  <dalej@apple.com>
16936
16937         * config/rs6000/rs6000.md: Add sibcall patterns.
16938         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
16939         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
16940         Rewritten to handle sibcalls.
16941         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
16942         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
16943
16944 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
16945
16946         * profile.c (da_file_name): New static var.
16947         (init_branch_prob): Initialize it.
16948         (end_branch_prob): Remove da file.
16949
16950         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
16951         * configure.in (coverage_flags): Default to nothing.
16952         * configure: Rebuilt.
16953
16954 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
16955
16956         * Makefile.in (c-opts.o): Update
16957         * c-opts.c: Include intl.h.
16958         (print_help): Move from cppinit.c.  Remove unused options.
16959         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16960         (missing_arg): Complain for switches without an argument.
16961         (c_common_decode_option): Reject missing joined arguments.
16962         Handle new switches from cppinit.c.
16963         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16964         (cpp_handle_option): Similarly.
16965         (print_help): Moved to c-opts.c.
16966         * cpplib.h (struct cpp_options): Remove help_only.
16967         * gcc.c (cpp_unique_options): Remove -$.
16968         * doc/cppopts.texi: Undocument -h.
16969
16970 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16971
16972         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
16973         legitimate constant.
16974         (legitimate_pic_operand_p): Neither pic operand.
16975         (legitimate_address_p): But legitimate address.
16976         (get_thread_pointer): Generate MEM/u instead of CONST around
16977         UNSPEC_TP.
16978         (print_operand): Remove printing of UNSPEC_TP.
16979         (print_operand_address): And print it here.
16980
16981 2002-08-08  Devang Patel  <dpatel@apple.com>
16982
16983         * objc/objc-act.c (build_selector_translation_table): Issue warning,
16984         when  -Wselector is used,if method for which selector is being
16985         created does not exist.
16986
16987 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
16988
16989         * config/sh/sh.c (prepare_move_operands): Only call
16990         target_reg_operand if TARGET_SHMEDIA.
16991
16992 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16993
16994         * config/rs6000/rs6000.h, config/rs6000/aix.h,
16995         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
16996         two patches.
16997         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
16998
16999 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
17000             Richard Henderson  <rth@redhat.com>
17001
17002         * emit-rtl.c (gen_rtx_REG): After reload, only return
17003         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
17004
17005 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
17006
17007         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
17008         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
17009         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
17010         macro.
17011
17012 2002-08-08  Adam Nemet  <anemet@lnxw.com>
17013
17014         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
17015         register.
17016         (thumb_expand_prologue): Likewise.
17017         (thumb_output_function_prologue): Likewise.
17018         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
17019         the additional push of the PIC register.
17020
17021 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
17022
17023         * configure.in (enable_coverage): New enable switch.
17024         * configure: Rebuilt.
17025         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
17026         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
17027         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
17028         (mostlyclean): Remove coverage files.
17029         * doc/install.texi: Document enable_coverage.
17030
17031         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
17032         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
17033         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
17034         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
17035         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
17036         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
17037         files.
17038
17039 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
17040
17041         * c-opts.c (cpp_opts): New.
17042         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
17043         (c_common_decode_options): Handle cpplib switches.
17044         (c_common_init_options): Set cpp_opts.
17045         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
17046         (cpp_handle_option): Similarly.
17047
17048 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
17049
17050         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
17051         (TARGET_ALTIVEC_ABI): Same.
17052         (TARGET_ALTIVEC_VRSAVE): Same.
17053
17054         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
17055         icode not CODE_FOR_nothing.  Change switch to if.
17056
17057 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
17058
17059         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
17060
17061 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
17062
17063         * stor-layout.c (place_union_field): For bitfields if
17064         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
17065         TYPE_USER_ALIGN.
17066
17067 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17068
17069         * pa.c (struct deferred_plabel): Constify name field.
17070
17071 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
17072
17073         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
17074
17075 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17076
17077         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
17078         local_prefix are the same.
17079         * configure: Rebuilt.
17080
17081 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
17082             Richard Henderson  <rth@redhat.com>
17083
17084         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
17085         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
17086         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
17087         (place_field): Likewise.
17088         * config/i386/i386.c (x86_field_alignment): Don't check
17089         DECL_USER_ALIGN here.
17090         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
17091         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
17092         prototype.
17093         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
17094         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
17095         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
17096         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
17097         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
17098         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
17099
17100 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
17101
17102         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
17103         * c-common.c: Don't include tree-inline.h.
17104         (c_common_init_options, c_common_post_options): Move to c-opts.c.
17105         * c-common.h (c_common_decode_option): New.
17106         * c-decl.c (c_decode_option): Remove.
17107         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
17108         * c-opts.c: New file.
17109         * c-tree.h (c_decode_option): Remove.
17110         * doc/passes.texi: Update.
17111         * objc/objc-act.c (objc_decode_option): Remove.
17112         * objc/objc-act.h (objc_decode_option): Remove.
17113         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
17114         c_common_decode_option.
17115
17116 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
17117
17118         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
17119         dependency on TARGET_DOUBLE_FLOAT.
17120
17121 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
17122
17123         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
17124         overwrite callee-save registers.  Fix comment.
17125
17126 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
17127
17128         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
17129         in target_flags based on ISA, if it was not set on the command
17130         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
17131         support Branch Likely instructions.
17132         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
17133         (TARGET_BRANCHLIKELY): Likewise.
17134         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
17135         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
17136         ISA_HAS_BRANCHLIKELY.
17137         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
17138         * doc/invoke.texi: Document new MIPS -mbranch-likely and
17139         -mno-branch-likely options.
17140
17141 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17142
17143         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
17144
17145         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
17146         $(GCONFIG_H).
17147
17148 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
17149
17150         * c-decl.c (duplicate_decls): Error out for incompatible TLS
17151         declarations.
17152
17153         * testsuite/gcc.dg/tls/diag-3.c: New.
17154
17155 2002-08-06  Dale Johannesen  <dalej@apple.com>
17156
17157         * c-common.c (fname_decl): Use line number 0 for
17158         __func__, to avoid confusing debuggers.
17159
17160 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
17161
17162         * gcov.c: Tidy.
17163         (struct line_info, struct coverage): New structures.
17164         (gcov_file_name, gcov_file): Remove globals.
17165         (output_data): Take source file parameter. Fix memory leak. Break
17166         up into ...
17167         (init_line_info, output_line_info, make_gcov_file_name,
17168         accumulate_branch_counts): ... here.
17169         (calculate_branch_probs, function_summary): Adjust.
17170         (main): Adjust.
17171         (function_*): Remove global variables.
17172
17173 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17174
17175         * dwarf2out.c: Remove unused macros.
17176
17177 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17178
17179         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
17180
17181 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17182
17183         * cppinit.c (struct lang_flags): Rename trigraphs std.
17184         (set_lang): Update.
17185         * cpplib.h (struct cpp_options): New member std.
17186         * cppmacro.c (_cpp_builtin_macro_text): Use std.
17187         (collect_args): Flag whether to swallow a possible future
17188         comma pasted with varargs.
17189         (replace_args): Use this flag.
17190         * doc/cpp.texi: Update varargs extension documentation.
17191
17192 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17193
17194         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
17195
17196 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17197
17198         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
17199         and MODE_CLASS_INT modes.
17200
17201 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17202
17203         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
17204         --{enable,disable}-threads is given to configure.
17205         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
17206         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
17207         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
17208         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
17209         Remove thread_file setting here.
17210
17211 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
17212
17213         * doc/install.texi (Binaries): Update Bull Freeware URL.
17214
17215 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17216
17217         * doc/gcc.texi (Top): Rename Index to Keyword Index.
17218
17219 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
17220
17221         * gcov.c (output_data): Round to % to nearest, tweak formatting.
17222
17223 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
17224
17225         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
17226         of the operands into MINUS_EXPR if code is PLUS_EXPR.
17227
17228 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
17229
17230         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
17231         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
17232         drectve_section): Define.
17233         * config/i386/t-interix: Replace interix.o rule with winnt.o.
17234         * config/i386/interix.c: Remove.
17235
17236 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
17237
17238         * attribs.c: Don't include obstack.h.
17239         * builtins.c: Likewise.
17240         * cfganal.c: Likewise.
17241         * cfgbuild.c: Likewise.
17242         * cfgcleanup.c: Likewise.
17243         * emit-rtl.c: Likewise.
17244         * loop.c: Likewise.
17245         * stmt.c: Likewise.
17246
17247         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
17248
17249 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
17250
17251         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
17252
17253 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
17254
17255         * doc/invoke.texi: Remove duplicated paragraph describing
17256         TARGET_SWITCHES.
17257
17258 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
17259
17260         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
17261         * collect2.h (permanent_obstack): Delete declaration.
17262         * collect2.c (permanent_obstack): Delete definition.
17263         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
17264         * expr.c: Don't include obstack.h.
17265         (permanent_obstack): Delete declaration.
17266         * function.c: Don't include obstack.h.
17267         (permanent_obstack): Delete declaration.
17268         * integrate.c: Don't include obstack.h.
17269         (function_maybepermanent_obstack): Delete declaration.
17270         * print-tree.c (debug_tree): Use x*alloc not permalloc.
17271         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
17272         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
17273         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
17274         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
17275         of permalloc, expralloc, perm_calloc.
17276         * tree.c (permanent_obstack): Delete definition.
17277         (init_ttree): Rename from init_obstacks.
17278         (permalloc): Delete.
17279         (perm_calloc): Delete.
17280         (dump_tree_statistics): Don't print information about
17281         permanent_obstack.
17282         * varasm.c (assemble_start_function): Use xstrdup instead of
17283         permalloc/strcpy.
17284         (assemble_variable): Likewise.
17285         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
17286         permalloc.
17287         (unicosmk_add_extern): Likewise.
17288         * config/c4x/c4x.c (c4x_external_ref): Likewise.
17289         (c4x_global_label): Likewise.
17290         * config/frv/frv.c (frv_encode_section_info): Likewise.
17291         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
17292         (i386_pe_record_exported_symbol): Likewise.
17293         * config/mips/mips.c (mips_output_external): Likewise.
17294         (mips_output_external_libcall): Likewise.
17295         * config/pa/pa.c: (permanent_obstack): Delete declaration.
17296         (output_call): Use ggc_strdup instead of allocating on
17297         permanent_obstack.
17298         * config/romp/romp.c: Include ggc.h.
17299         (get_symref): Don't declare permanent_obstack, use ggc_strdup
17300         intead of permanent_obstack.
17301         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
17302         instead of permalloc.
17303         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
17304         instead of permalloc
17305         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
17306         instead of permalloc.
17307         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
17308         permalloc.
17309
17310 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
17311
17312         Contribute a port developed primarily by Michael Meissner,
17313         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
17314         * config.gcc: Add frv-elf target.
17315         * config/frv/cmovd.c: New file.
17316         * config/frv/cmovh.c: New file.
17317         * config/frv/cmovw.c: New file.
17318         * config/frv/frv-abi.h: New file.
17319         * config/frv/frv-asm.h: New file.
17320         * config/frv/frv-modes.def: New file.
17321         * config/frv/frv-protos.h: New file.
17322         * config/frv/frv.c: New file.
17323         * config/frv/frv.h: New file.
17324         * config/frv/frv.md: New file.
17325         * config/frv/frvbegin.c: New file.
17326         * config/frv/frvend.c: New file.
17327         * config/frv/lib1funcs.asm: New file.
17328         * config/frv/media.h: New file.
17329         * config/frv/modi.c: New file.
17330         * config/frv/t-frv: New file.
17331         * config/frv/uitod.c: New file.
17332         * config/frv/uitof.c: New file.
17333         * config/frv/ulltod.c: New file.
17334         * config/frv/ulltof.c: New file.
17335         * config/frv/umodi.c: New file.
17336         * config/frv/xm-frv.h: New file.
17337
17338         * config/frv/media.h: Removed again.
17339
17340 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17341
17342         * gcov.c (bb_file_time): New static variable.
17343         (object_directory): May also be object file.
17344         (preserve_paths): New static variable.
17345         (print_usage): Adjust.
17346         (options): Adjust.
17347         (process_args): Adjust.
17348         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
17349         file. Find modification date on bb file.
17350         (read_profile): Don't rewind a NULL file.
17351         (format_hwint): New static function.
17352         (function_summary): Use format_hwint.
17353         (output_data): SOURCE_FILE_NAME is never relative to
17354         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
17355         mangling. Adjust output format to make it more machine readable.
17356         * doc/gcov.texi: Document & clarify semantics.
17357
17358 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
17359
17360         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
17361
17362 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17363
17364         * gcc.c (cc1_options): Pass output file as auxbase when
17365         appropriate.
17366         * profile.c (init_branch_prob): FILENAME has already had ending
17367         stripped.
17368         * final.c (end_final): Likewise.
17369         * toplev.c (aux_base_name): New global.
17370         (compile_file): Pass aux_base_name to init init_branch_prob and
17371         end_final.
17372         (independent_decode_option, case 'a'): New auxinfo options.
17373         (case 'd'): Protect against mising basename.
17374         (do_compile): Initialize aux_base_name.
17375         * toplev.h (aux_base_name): New global.
17376         * doc/invoke.texi: Adjust documentation.
17377
17378 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17379
17380         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
17381         of TARGET_ALIGN_DOUBLE.
17382
17383 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
17384
17385         * diagnostic.c (inform): New function.
17386         * diagnostic.h (inform): Declare.
17387
17388 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
17389
17390         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
17391         (movhi_internal): Same.
17392         (movqi_internal): Same.
17393         (movdi_internal64): Same.
17394
17395         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
17396
17397         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
17398         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
17399         (COMMON_ASM_OP): Define.
17400         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
17401         Use ALIGN parameter.
17402         (LOCAL_COMMON_ASM_OP): Define.
17403         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
17404
17405 2002-08-03  Roger Sayle  <roger@eyesopen.com>
17406
17407         * builtins.def: Define new builtin functions exp, expf, expl,
17408         log, logf and logl (and their __builtin_* variants).
17409         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
17410         Define exp_optab and log_optab.
17411         * optabs.c (init_optans): Initialize exp_optab and log_optab.
17412         * genopinit.c (optabs): Implement exp_optab and log_optab
17413         using exp?f2 and log?f2 patterns.
17414         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
17415         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
17416         (expand_builtin): Ignore the new builtins (and all cos and
17417         sin variants) when not optimizing.  Expand new builtins via
17418         expand_builtin_mathfn when flag_unsafe_math_optimizations.
17419
17420         * doc/extend.texi: Document new exp and log builtins.
17421         * doc/md.texi: Document new exp?f2 and log?f2 patterns
17422         (and previously undocumented cos?f2 and sin?f2 patterns).
17423
17424 2002-08-03  Jason Merrill  <jason@redhat.com>
17425
17426         * explow.c (int_expr_size): New fn.
17427         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
17428         * expr.h: Declare it.
17429
17430 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
17431
17432         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
17433         gengtype-* dependencies.
17434
17435 2002-08-02  Eric Christopher  <echristo@redhat.com>
17436
17437         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
17438         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
17439         #ifndef to #undef.
17440         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
17441
17442 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
17443
17444         PR optimize/7067
17445         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
17446         small if optimizing for size.
17447
17448 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
17449
17450         * configure.in (FORBUILD): Use $build_alias.
17451         * configure: Regenerated.
17452
17453 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
17454
17455         * config.gcc: Don't include mips/abi64.h in $tm_file.
17456         * hard-reg-set.h (call_really_used_regs): Declare.
17457         * config/mips/abi64.h: Remove file.
17458         * config/mips/linux.h,
17459         * config/mips/iris6.h: Don't include it.
17460         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
17461         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
17462         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
17463         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
17464         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
17465         Bring across definitions from abi64.h.
17466         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
17467         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
17468         (struct mips_args): Use it.
17469         * config/mips/mips.c (mips_conditional_register_usage): Define.
17470
17471 2002-08-02  Jason Merrill  <jason@redhat.com>
17472
17473         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
17474         * langhooks.c (lhd_expr_size): Define default.
17475         * langhooks.h (struct lang_hooks): Add expr_size.
17476         * explow.c (expr_size): Call it.
17477         * expr.c (store_expr): Don't copy an expression of size zero.
17478         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
17479         to store.
17480         * Makefile.in (builtins.o): Depend on langhooks.h.
17481
17482 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17483
17484         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
17485         * ra-debug.c: Include "tm_p.h".
17486         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
17487
17488 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
17489
17490         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
17491         when not honoring signalling NaNs.
17492         (simplify_ternary_operation): a == b has a definite value
17493         when not honoring NaNs.
17494
17495 2002-08-02  Jason Merrill  <jason@redhat.com>
17496
17497         * gdbinit.in (pct): New macro.
17498
17499 2002-08-01  Stan Shebs  <shebs@apple.com>
17500             Andreas Tobler  <toa@pop.agri.ch>
17501
17502         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
17503         plays nice with Darwin headers.
17504         (_BSD_RUNE_T_DEFINED_): Likewise.
17505
17506 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
17507
17508         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
17509         * cppinit.c (cpp_post_options): Likewise.
17510
17511         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
17512         warning about 'LL' suffix (but not 'ULL' etc) when
17513         -Wno-long-long is in effect.
17514
17515         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
17516         Check for failing time()/localtime(), issue a warning, and
17517         make __TIME__ and __DATE__ expand to fallback strings.
17518
17519         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
17520         and __TIME__ when the date and time cannot be determined.
17521
17522 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
17523
17524         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
17525
17526 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
17527
17528         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
17529
17530 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
17531
17532         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
17533         (mipsisa64sb1el-*-elf*): Likewise.
17534         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
17535         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
17536         (TARGET_SB1, TUNE_SB1): New macros.
17537         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
17538         -mtune flags.
17539
17540 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
17541
17542         * varasm.c (asm_emit_uninitialized): Return false if global BSS
17543         and ASM_EMIT_BSS not supported by target.
17544         (assemble_variable): Do not duplicate uninitialized logic.
17545         Fall through if asm_emit_uninitialized failed.
17546
17547 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
17548
17549         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
17550
17551 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
17552
17553         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
17554         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
17555
17556         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
17557         HOST_BITS_PER_WIDE_INT == 64.
17558
17559 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17560
17561         * df.c (df_insn_table_realloc): Change parameter to unsigned.
17562         * optabs.c (expand_binop): Make variable unsigned.
17563         * simplify-rtx.c (simplify_subreg): Likewise.
17564         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
17565
17566 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17567
17568         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
17569
17570 2002-08-01  Richard Henderson  <rth@redhat.com>
17571
17572         * toplev.c (parse_options_and_default_flags): Don't set
17573         flag_reorder_blocks for -Os.
17574
17575         * config/avr/avr.c (avr_optimization_options): Remove.
17576         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
17577         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
17578         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
17579
17580 2002-08-01  H.J. Lu <hjl@gnu.org>
17581             Richard Henderson  <rth@redhat.com>
17582
17583         * output.h (DECL_READONLY_SECTION): Remove.
17584         (decl_readonly_section): Declare.
17585         * varasm.c (decl_readonly_section): New.
17586         (default_section_type_flags, default_select_section): Use it.
17587         * config/arm/pe.c (arm_pe_unique_section): Likewise.
17588         * config/i386/interix.c (i386_pe_unique_section): Likewise.
17589         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
17590         * config/mcore/mcore.c (mcore_unique_section): Likewise.
17591         * config/mips/mips.c (mips_unique_section): Likewise.
17592
17593 2002-08-01  Richard Henderson  <rth@redhat.com>
17594
17595         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
17596         refers to a subroutine parameter.
17597
17598 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
17599
17600         * varasm.c (assemble_visibility): Strip name encoding.
17601
17602 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
17603
17604         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
17605         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
17606         when there is no frame pointer.
17607         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
17608         registers properly.
17609         * config/ns32k/__unorddf2.c: New file.
17610         * config/ns32k/__unordsf2.c: New file.
17611         * config/ns32k/t-ns32k: New file.
17612         * config.gcc (ns32k-*-netbsd*): Use it.
17613
17614 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
17615
17616         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
17617
17618 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17619
17620         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
17621
17622 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
17623
17624         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
17625
17626 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
17627
17628         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
17629
17630 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
17631
17632         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
17633         n_sets): Removed.
17634         (expr_hash_table, set_hash_table): Type changed to ...
17635         (struct hash_table): New type.
17636         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
17637         insert_expr_in_table, insert_set_in_table, compute_hash_table,
17638         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
17639         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
17640         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
17641         (alloc_hash_table): New.
17642         (free_set_hash_table, free_expr_hash_table): Merged to ...
17643         (free_hash_table): New.
17644         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
17645         (compute_hash_table_work): New.
17646         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
17647         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
17648         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
17649         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
17650         hoist_code, one_code_hoisting_pass,
17651         trim_ld_motion_mems): Altered due to changed type of hash tables.
17652
17653 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
17654
17655         * final.c (output_alternate_entry_point):
17656         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
17657
17658 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17659
17660         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
17661         avoid ISO C style function definition.
17662
17663         * expr.c (expand_assignment): Delete unused variable.
17664
17665 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
17666
17667         * c-common.c (cb_register_builtins): Set
17668         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
17669         is given, and to 0 otherwise.
17670         * combine.c (simplify_if_then_else): HONOR_NANS
17671         implies FLOAT_MODE_P.
17672
17673 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17674
17675         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
17676         (cpp_handle_option): Don't handle it.
17677         (print_help): Update.
17678         * doc/cppopts.texi: Update.
17679
17680 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17681
17682         * c-common.c (cb_register_builtins): If C++, define
17683         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
17684         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
17685 cp:
17686         * lang-specs.h: Simplify in accordance with new code in
17687         c-common.c.
17688
17689 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17690
17691         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
17692         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
17693         * c-decl.c: Move all warning and flag variables to c-common.c.
17694         * c-format.c: Move all warning variables to c-common.c.
17695         * c-tree.h: Move all warning and flag declarations to c-common.h.
17696         * objc/objc-act.c: Move all warning variables to c-common.c.
17697         (flag_warn_protocol): Rename warn_protocol.
17698
17699 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17700
17701         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
17702
17703 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
17704
17705         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
17706         .section prefix.
17707
17708 2002-07-31  Stan Shebs  <shebs@apple.com>
17709
17710         * config.gcc (i[34567]86-*-darwin*): New configuration.
17711         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
17712         defining.
17713         (TARGET_ENCODE_SECTION_INFO): Ditto.
17714         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
17715         * config/darwin.c (machopic_indirect_data_reference): Remove
17716         setting of RTX_UNCHANGING_P.
17717         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
17718         not to be applied to sums.
17719         * config/i386/t-darwin: New file.
17720         * config/i386/darwin.h: New file.
17721         * config/i386/i386.h (TARGET_MACHO): Add default definition.
17722         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
17723         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
17724         label and not the GOT add.
17725         (constant_address_p): For Mach-O, seeing a CONST is enough.
17726         (legitimate_pic_address_disp_p): Add a Mach-O case.
17727         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
17728         (legitimize_pic_address): Use generic Mach-O code to legitimize.
17729         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
17730         if outputting a difference.
17731         (ix86_output_addr_diff_elt): Add Mach-O case.
17732         (ix86_expand_move): Similarly.
17733         (ix86_expand_call): Similarly.
17734         (current_machopic_label_num): New global.
17735         (machopic_output_stub): New function.
17736         (ix86_value_regno): New function.
17737         (ix86_function_value): Use it instead of VALUE_REGNO.
17738         (ix86_libcall_value): Ditto.
17739         * config/i386/unix.h (VALUE_REGNO): Remove.
17740
17741 2002-07-31  Graham Stott  <grahas@btinternet.com>
17742
17743         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
17744         hash for LABEL_REF's.
17745
17746 2002-07-31  Graham Stott  <grahams@btinternet.com>
17747
17748         * config/rs6000/rs6000.c (spe_init_builtins,
17749         altivec_init_builtins, rs6000_common_init_builtins):
17750         Replace ANSI with K&R function def.
17751
17752 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
17753
17754         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
17755         for CCFPmode.
17756
17757 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17758
17759         * config/mips/crtn.asm: Don't use __mips16 to determine the
17760         return-address offset.  Define RA to a suitable temporary
17761         register for the return address.
17762
17763 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17764
17765         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
17766         constraints to 'd'.
17767
17768 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
17769
17770         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
17771         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
17772         patch on 2002-07-29.)
17773         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17774
17775 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17776
17777         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
17778         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
17779         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
17780         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
17781         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
17782         (ASM_GLOBALIZE_LABEL): Delete.
17783         (GLOBAL_ASM_OP): Define.
17784
17785         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
17786
17787         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
17788         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
17789
17790 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
17791
17792         * doc/extend.texi (Hints implementation): Document that GCC
17793         mostly ignores `register'.
17794
17795 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
17796
17797         * flags.h: Declare flag_finite_math_only.
17798         Use it in definition of HONOR_NANS and
17799         HONOR_INFINITIES.
17800         * c-common.c (cb_register_builtins): Emit
17801         __FINITE_MATH_ONLY__ when flag_finite_math_only
17802         is set.
17803         * combine.c (simplify_if_then_else): If
17804         flag_finite_math_only is set, a == b has a
17805         definite value.
17806         * toplev.c: Initialize flag_finite_math_only.
17807         (set_flags_fast_math): Set it on -ffast-math.
17808         (flag_fast_math_set_p): Test it.
17809         * doc/invoke.texi: Document -ffinite-math-only.
17810
17811 2002-07-30  Richard Henderson  <rth@redhat.com>
17812
17813         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
17814         (noce_process_if_block): Likewise.
17815
17816 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
17817
17818         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
17819         Bail out early if false_expr is NULL and we'd crash due to this.
17820         * genemit.c (gen_expand): Recognize return insns even if the return
17821         appears in a parallel.
17822         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
17823         * config/fp-bit.c: Likewise.
17824         * doc/tm.texi: Document it.
17825
17826 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
17827             Zack Weinberg  <zack@codesourcery.com>
17828
17829         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
17830         CODE_FOR_nothing.  Change switch to if.
17831         (rs6000_expand_binop_builtin): Same.
17832         (rs6000_expand_builtin): Expand builtin if target support enabled.
17833         (rs6000_init_builtins): Init builtin if target support enabled.
17834         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
17835
17836 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17837
17838         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
17839
17840 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
17841
17842         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
17843
17844 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
17845
17846         * sh.md (cond_delay_slot): New attribute.
17847         (cbranch delay): Use it for anulled-true case.
17848         (stuff_delay_slot): New pattern.
17849         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
17850         delay slot insn.
17851         (gen_far_branch): Emit stuff_delay_slot pattern.
17852
17853 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
17854
17855         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
17856
17857 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
17858
17859         * fold-const.c: Fix comment typos.
17860         * gcse.c: Likewise.
17861         * reload1.c: Likewise.
17862
17863 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17864
17865         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
17866         for TARGET_SPE.
17867
17868 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17869
17870         * c-pretty-print.h (pp_c_statement): Declare.
17871         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
17872         (pp_c_statement): Define.
17873
17874 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17875
17876         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
17877         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
17878         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
17879         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
17880         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
17881         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
17882
17883         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
17884         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
17885
17886 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17887
17888         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
17889         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
17890         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
17891         (pp_c_expression): Update.
17892
17893 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17894
17895         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
17896         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
17897         * alpha/vms-ld.c (main): Likewise.
17898         * dsp16xx.c (double_reg_to_memory): Likewise.
17899         * mcore.c (mcore_expand_prolog): Likewise.
17900         * cppfiles.c (read_name_map): Likewise.
17901         * gensupport.c (process_rtx, identify_predicable_attribute,
17902         alter_test_for_insn): Likewise.
17903         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
17904
17905 2002-07-29  Roger Sayle  <roger@eyesopen.com>
17906
17907         * builtins.c (expand_builtin):  Change the default behavior to
17908         only issue an error if the builtin function doesn't have a
17909         fallback library call.  Remove several cases handled by the
17910         new default.
17911
17912 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
17913
17914         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
17915         floating point format of the target is IEEE.
17916         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
17917         format of the target is DEC.
17918
17919 2002-07-29  Richard Henderson  <rth@redhat.com>
17920
17921         * unroll.c (verify_addresses): Remove.
17922         (find_splittable_givs): Never split DEST_ADDR givs.
17923
17924 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
17925
17926         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
17927         is exhaustive.
17928         (Files): Improve documentation on generated source files.
17929
17930         * doc/extend.texi (Translation implementation): Document what
17931         diagnostics look like.
17932         (Identifiers implementation): Document that there's normally no
17933         limit on identifier names.
17934         (Integers implementation): Document two's complement.
17935         (Hints implementation): Document that GCC honors 'inline', mostly.
17936         (Preprocessing directives implementation): Document that GCC
17937         requires the current time.
17938
17939 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17940
17941         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
17942         (pp_initializer): New macro.
17943         (pp_c_initializer): Declare.
17944         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
17945         (pp_c_initializer): Define.
17946         (pp_c_initializer_list): New function.
17947         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
17948         VECTOR_CST, CONSTRUCTOR.
17949         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
17950         IMAGPART_EXPR.
17951         (pp_c_cast_expression): Handle FLOAT_EXPR.
17952         (pp_c_assignment_expression): Handle INIT_EXPR.
17953         (pp_c_expression): Update.
17954
17955 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
17956
17957         * objc/objc-act.c (objc_init): Return immediately if filename
17958         is NULL.
17959
17960 2002-07-29  Eric Christopher  <echristo@redhat.com>
17961
17962         * config/mips/elf.h: Remove ecoff.h and gofast includes.
17963         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
17964         (SDB_DEBUGGING_INFO): Undefine.
17965         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
17966         (PUT_SDB_SIZE): Remove.
17967         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
17968         (STARTFILE_SPEC): Add isa3264 define.
17969         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
17970         * config/mips/ecoff.h: Remove. and here...
17971         * config/mips/iris3.h: and here...
17972         * config/mips/sni-svr4.h: and here...
17973         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
17974         Add assembler -mmdebug options for non-dwarf debugging.
17975         * config/mips/r3900.h: Remove debug info defines.
17976         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
17977         * config/mips/isa3264.h: Ditto.
17978         * config/mips/t-isa3264: Fix up for file removal and gofast configure
17979         change.
17980         * config/mips/t-elf: Ditto.
17981         * config/mips/t-ecoff: Ditto.
17982         * config/mips/t-r3900: Ditto.
17983         * config/mips/t-iris5-6: Ditto.
17984         * config/mips/t-isa3264: Ditto.
17985         * config/mips/t-linux: Remove.
17986         * config/mips/t-netbsd: Remove.
17987         * config/mips/t-mips: New file.
17988         * config/mips/t-gofast: Ditto.
17989         * config/mips/netbsd.h: Remove unnecessary undefines.
17990         * config/mips/linux.h: Remove #include of mips.h.
17991         * config.gcc: Add mips.h include for elf targets. Remove tm_file
17992         for ecoff. Add gofast configure option for mips.
17993
17994 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
17995
17996         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
17997         linker scripts use STARTUP directives consistently.
17998         * configure: Regenerate.
17999         * config.in: Regenerate.
18000         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
18001         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
18002         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18003         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
18004         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
18005         will be the same.
18006
18007 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18008
18009         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
18010
18011 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18012
18013         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
18014
18015 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
18016
18017         * config/rs6000/rs6000.md: Move altivec patterns from here...
18018
18019         * config/rs6000/altivec.md: ...to here.
18020
18021 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18022
18023         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
18024
18025 2002-07-29  Richard Henderson  <rth@redhat.com>
18026
18027         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
18028         set_mem_attributes and add BITPOS argument.  Subtract it from
18029         OFFSET when same is adjusted.
18030         (set_mem_attributes): New wrapper function.
18031         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
18032         remove offset adjustment hack.
18033         * expr.h (set_mem_attributes_minus_bitpos): Declare.
18034
18035 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
18036
18037         * Makefile.in (C_OBJS): Include c-pretty-print.o
18038         (c-pretty-print.o): Add depency rule.
18039         * pretty-print.h: Add more macros.
18040         * c-pretty-print.c: New file.
18041         * c-pretty-print.h: Likewise.
18042
18043 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18044
18045         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
18046         constants to __ev64_s32__.
18047         (__internal_ev_mwhgsmian): Same.
18048         (__internal_ev_mwhgsmfan): Same.
18049         (__internal_ev_mwhgssfan): Same.
18050         (__internal_ev_mwhgumiaa): Same.
18051         (__internal_ev_mwhgsmiaa): Same.
18052         (__internal_ev_mwhgsmfaa): Same.
18053         (__internal_ev_mwhgssfaa): Same.
18054
18055 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
18056
18057         * varasm.c (assemble_variable): Narrow test for uninitialized
18058         without BSS target support.
18059
18060 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
18061
18062         * profile.c: Add file comment describing the overall algorithm and
18063         structures.
18064         (struct edge_info): Add comments.
18065         (struct bb_info): Add comments.
18066         * basic-block.h (EDGE_*): Add comments.
18067         * doc/gcov.texi (Gcov Data Files): Document bit flags.
18068
18069 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
18070
18071         * config/xtensa/elf.h, config/xtensa/linux.h
18072         (TARGET_OS_CPP_BUILTINS): Define.
18073         (CPP_PREDEFINES): Remove.
18074         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
18075         (CPP_SPEC): Remove.
18076
18077 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
18078
18079         * gensupport.c: Include hashtab.h.
18080         (insn_elision, condition_table, hash_c_test, cmp_c_test,
18081         maybe_eval_c_test): New routines and data structures to
18082         support insn elision.
18083         (init_md_reader): Read and initialize the condition_table.
18084         (read_md_rtx): Discard insn patterns whose C test is provably
18085         always false.
18086         * gensupport.h: Declare new functions and data structures.
18087
18088         * genconditions.c, dummy-conditions.c: New files.
18089         * Makefile.in: Build genconditions; run it to construct
18090         insn-conditions.c; build that and link it into most gen*
18091         programs.
18092         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
18093         (GEN): Delete, unused.
18094         (STAGESTUFF): Update.
18095
18096         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
18097         CODE_FOR_nothing for all elided patterns.
18098         (main): Tweaked to support this.
18099         * genflags.c (gen_proto): Emit a static inline generator
18100         function here for all elided patterns, which simply returns
18101         NULL_RTX.
18102         (gen_insn): Do not define HAVE_xxx for elided patterns.
18103         (main): Tweaked to support this.  No need to forward-declare
18104         struct rtx_def.
18105         * genrecog.c: Do not bother emitting the C test if it's known
18106         to be true at compile time.
18107
18108 2002-07-29  Mike Stump  <mrs@apple.com>
18109
18110         * config.gcc (target_gtfiles): Initialize, as otherwise cross
18111         compilers hosted on powerpc-apple-darwin6.0 won't even build.
18112
18113 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
18114
18115         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
18116         remove clobber of LR.
18117         (sibcall_insn, sibcall_value_insn): Update accordingly.
18118         (sibcall_epilogue): Remove debugging comment from assembler stream.
18119
18120 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
18121
18122         * pretty-print.h: Define more macros.
18123         * diagnostic.h (output_formatted_integer): Moved from...
18124         * diagnostic.c: ... here.
18125
18126 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18127
18128         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
18129
18130 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
18131
18132         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
18133         arguments.  Always use ".-symbol" as expression argument.
18134         * doc/tm.texi: Update to match.  Document requirement for
18135         ".size symbol, .-symbol" to be acceptable to assembler.
18136
18137         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
18138         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
18139         config/i386/freebsd-aout.h, config/i386/sco5.h,
18140         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
18141         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
18142
18143 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18144
18145         * Makefile.in (gengtype-lex.c): Fix error in last change.
18146
18147         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
18148         backslash.
18149
18150         * Makefile.in (vmsdbgout.o): Depend on function.h.
18151
18152         * vmsdbgout.c: Include function.h.
18153
18154 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
18155
18156         * prefix.c (update_path): Don't strip single `.' path components
18157         unless stripping a later `..' component.  Exit loop as soon as
18158         a valid path is found.
18159
18160 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18161
18162         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
18163         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
18164         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
18165         floating point unordered comparisons (e.g. __builtin_isgreater)
18166         as const, and leave the remaining GCC_BUILTINs unchanged.
18167
18168         * c-decl.c (builtin_function): No need to explicitly mark
18169         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
18170
18171 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18172
18173         * Makefile.in: rtlanal.o now depends upon real.h.
18174
18175         * flags.h [flag_signaling_nans]: New flag.
18176         [HONOR_SNANS]: New macro.
18177
18178         * toplev.c [flag_signaling_nans]: Initialize to false.
18179         (f_options): Add processing for "-fsignaling-nans".
18180         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
18181         (process_options): flag_signaling_nans implies flag_trapping_math.
18182
18183         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
18184         when -fsignaling-nans.  First step to implementing WG14's N965.
18185
18186         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
18187         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
18188         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
18189
18190         * simplify-rtx.c (simplify_relational_operation): Conditionalize
18191         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
18192
18193         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
18194         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
18195         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
18196         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
18197         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
18198
18199         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
18200
18201 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18202
18203         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
18204         * gengtype-lex.l (YY_USE_PROTOS): Undef.
18205         (YY_DECL): Define.
18206
18207 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18208
18209         * doc/invoke.texi: Document that both -fno-builtin-foo and
18210         -fno-builtin are supported by the g++ front-end.
18211
18212 2002-07-27  Stan Shebs  <shebs@apple.com>
18213
18214         * configure.in: Rename config_gtfiles to target_gtfiles.
18215         * configure: Regenerate.
18216         * doc/gty.texi: Update reference.
18217         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
18218         instead of appending to it.
18219
18220 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
18221
18222         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
18223         vectors are split into two registers.
18224         (function_arg): Same.
18225
18226 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
18227
18228         * pa.md (extv): Check predicates before emitting extv_32.
18229
18230 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
18231
18232         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
18233         (rs6000_traceback): New var.
18234         (rs6000_override_options): Set rs6000_traceback.
18235         (rs6000_output_function_epilogue): Implement traceback options.
18236         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
18237         (rs6000_traceback_name): Declare.
18238
18239         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
18240         label reference when NO_PROFILE_COUNTERS.
18241
18242 2002-07-26  Jason Merrill  <jason@redhat.com>
18243
18244         * function.c (assign_parms): Handle frontend-directed pass by
18245         invisible reference.
18246
18247 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18248
18249         * doc/cppopts.texi: Update.
18250
18251 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18252
18253         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
18254         warnings on assertions.
18255
18256 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18257
18258         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
18259         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
18260         RID_COMPL): Remove.
18261         * c-parse.in (rid_to_yy): Similarly.
18262
18263 2002-07-26  Jason Merrill  <jason@redhat.com>
18264
18265         * c-dump.c: Resurrect.
18266         * tree-dump.c: Move C-specific stuff to c-dump.c.
18267         * c-common.h: Declare c_dump_tree.
18268         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
18269         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
18270         (c-dump.o): New rule.
18271
18272 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
18273
18274         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
18275         PowerPC64.  Replace "T" and "S" constraints with "n" when the
18276         predicate will do.  Formatting fixes.
18277         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
18278         as for extzvsi_internal1.
18279
18280 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18281
18282         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
18283         DERIV_END_LABEL_FMT): Remove.
18284         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
18285
18286 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18287
18288         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
18289         Remove.
18290
18291 2002-07-25  Stan Shebs  <shebs@apple.com>
18292
18293         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
18294         local var dwarfp.
18295         (output_compiler_stub): Remove unused locals.
18296         (output_call): Always initialize line number.
18297
18298 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
18299
18300         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
18301         * sh.md (truncdiqi2, movqi_media): Likewise.
18302
18303 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18304
18305         * gcse.c (obstack_chunk_alloc): Remove.
18306         (gcse_alloc): Fix to count allocated bytes.
18307         * collect2.c (SYMBOL__MAIN): Remove.
18308
18309 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18310
18311         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
18312         HAVE_TARGET_EXECUTABLE_SUFFIX.
18313
18314 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
18315
18316         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
18317         SIZE, EXPR and OFFSET.
18318
18319 2002-07-25  Richard Henderson  <rth@redhat.com>
18320
18321         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
18322         in ARRAY_REF of DECL_P case.
18323
18324 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
18325
18326         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
18327         description.  Document -mips32, -mips64, and the associated -march
18328         values.  Describe the "mipsN" arguments to -march.  Say that the
18329         -mipsN options are equivalent to -march.  Reword the description
18330         of default type sizes.
18331         * toplev.h (target_flags_explicit): Declare.
18332         * toplev.c (target_flags_explicit): New var.
18333         (set_target_switch): Update target_flags_explicit.
18334         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
18335         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
18336         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
18337         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
18338         * config/mips/mips.h (mips_cpu_info): New struct.
18339         (mips_cpu_string, mips_explicit_type_size_string): Remove.
18340         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
18341         (MIPS_CPP_SET_PROCESSOR): New macro.
18342         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
18343         Define _MIPS_ARCH and _MIPS_TUNE.
18344         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
18345         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
18346         MIPS_ISA_DEFAULT were already defined.
18347         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
18348         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
18349         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
18350         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
18351         (ABI_GAS_ASM_SPEC): Remove.
18352         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
18353         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
18354         Invoke %(asm_abi_default_spec) if no ABI was specified.
18355         (CC1_SPEC): Remove ISA -> register-size rules.
18356         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
18357         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
18358         (mips_cpu_string, mips_explicit_type_size_string): Remove.
18359         (mips_cpu_info_table): New array.
18360         (mips_set_architecture, mips_set_tune): New fns.
18361         (override_options): Rework to make -mipsN equivalent to -march.
18362         Detect more erroneous cases, including those removed from CC1_SPEC.
18363         Don't change the ABI based on architecture, or vice versa.
18364         Unify logic with GAS.
18365         (mips_asm_file_start): Get architecture name from mips_arch_info.
18366         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
18367         (mips_parse_cpu): Take the name of the option as argument.  Handle
18368         'from-abi'.  Raise an error if the option is wrong.
18369         (mips_cpu_info_from_isa): New fn.
18370
18371 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
18372
18373         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
18374         (tablejump_mips162): Likewise.
18375
18376 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
18377
18378         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
18379         int_mode_for_mode.
18380
18381 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
18382
18383         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
18384         complaining.
18385         * c-common.h (c_sizeof): Adjust definition.
18386         (c_alignof): Likewise.
18387         * c-tree.h (c_sizeof_nowarn): Now macro.
18388         * c-typeck.c (c_sizeof_nowarn): Remove definition.
18389
18390 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18391
18392         * c-decl.c (c_decode_option): No need to handle switches
18393         cpplib handles.
18394
18395 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
18396
18397         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
18398         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
18399         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
18400         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18401
18402         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
18403         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
18404         config/cris/aout.h, config/i386/freebsd-aout.h,
18405         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
18406         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
18407         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
18408         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
18409         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
18410         config/xtensa/elf.h, config/xtensa/linux.h:
18411         Use the new macros.
18412         Where possible, remove redundant definitions of SIZE_ASM_OP,
18413         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18414
18415 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
18416
18417         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
18418         TARGET_ISEL, and TARGET_FPRS.
18419
18420         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
18421         -mabi=spe, -mabi=no-spe, and -misel=.
18422
18423         * config/rs6000/rs6000-protos.h: Add output_isel.
18424         Move vrsave_operation prototype here.
18425
18426         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
18427         (smaxsi3): Same.
18428         (uminsi3): Same.
18429         (umaxsi3): Same.
18430         (abssi2_nopower): Disallow when TARGET_ISEL.
18431         (*ne0): Same.
18432         (negsf2): Change to expand and rename old pattern to *negsf2.
18433         (abssf2): Change to expand and rename old pattern to *abssf2.
18434
18435         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
18436         fixunssfsi2.
18437
18438         Change patterns that check for TARGET_HARD_FLOAT or
18439         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
18440
18441         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
18442         rs6000_isel, rs6000_fprs, rs6000_isel_string.
18443         (rs6000_override_options): Add 8540 case to
18444         processor_target_table.
18445         Set rs6000_isel for the 8540.
18446         Call rs6000_parse_isel_option.
18447         (enable_mask_for_builtins): New.
18448         (rs6000_parse_isel_option): New.
18449         (rs6000_parse_abi_options): Add spe and no-spe.
18450         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
18451         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
18452         for TARGET_HARD_FLOAT.
18453         Add case for SPE_VECTOR_MODE.
18454         (rs6000_legitimize_reload_address): Handle SPE vector modes.
18455         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
18456         vector modes.
18457         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
18458         (rs6000_emit_move): Check for TARGET_FPRS.
18459         Add cases for SPE vector modes.
18460         (function_arg_boundary): Return 64 for SPE vector modes.
18461         (function_arg_advance): Check for TARGET_FPRS and
18462         Handle SPE vectors.
18463         (function_arg): Same.
18464         (setup_incoming_varargs): Check for TARGET_FPRS.
18465         (rs6000_va_arg): Same.
18466         (struct builtin_description): Un-constify mask field.  Move up in
18467         file.
18468         (bdesc_2arg): Un-constify and add SPE builtins.
18469         (bdesc_1arg): Same.
18470         (bdesc_spe_predicates): New.
18471         (bdesc_spe_evsel): New.
18472         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
18473         (rs6000_expand_binop_builtin): Same.
18474         (bdesc_2arg_spe): New.
18475         (spe_expand_builtin): New.
18476         (spe_expand_predicate_builtin): New.
18477         (spe_expand_evsel_builtin): New.
18478         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
18479         (rs6000_init_builtins): Initialize SPE builtins.  Call
18480         rs6000_common_init_builtins.
18481         (altivec_init_builtins): Move all non-altivec builtin code to...
18482         (rs6000_common_init_builtins): ...here.  New function.
18483         (branch_positive_comparison_operator): Allow NE code for SPE.
18484         (ccr_bit): Return correct ccr bit for SPE fp.
18485         (print_operand): Emit crnor in 'D' case for SPE.
18486         New case 't'.
18487         Add SPE code for 'y' case.
18488         (rs6000_generate_compare): Generate rtl for SPE fp.
18489         (output_cbranch): Handle SPE hard floats.
18490         (rs6000_emit_cmove): Handle isel.
18491         (rs6000_emit_int_cmove): New.
18492         (output_isel): New.
18493         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
18494         64-bits for SPE.
18495         (debug_stack_info): Add SPE info.
18496         (gen_frame_mem_offset): New.
18497         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
18498         Change mode of frame pointer, when saving it, to Pmode.
18499         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
18500         Misc cleanups and use gen_frame_mem_offset when appropriate.
18501
18502         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
18503         (TARGET_SPE_ABI): New.
18504         (TARGET_SPE): New.
18505         (TARGET_ISEL): New.
18506         (TARGET_FPRS): New.
18507         (FIXED_SCRATCH): New.
18508         (RTX_COSTS): Add PROCESSOR_PPC8540.
18509         (ASM_CPU_SPEC): Add case for 8540.
18510         (TARGET_OPTIONS): Add isel= case.
18511         (rs6000_spe_abi): New.
18512         (rs6000_isel): New.
18513         (rs6000_fprs): New.
18514         (rs6000_isel_string): New.
18515         (UNITS_PER_SPE_WORD): New.
18516         (LOCAL_ALIGNMENT): Adjust for SPE.
18517         (HARD_REGNO_MODE_OK): Same.
18518         (DATA_ALIGNMENT): Same.
18519         (MEMBER_TYPE_FORCES_BLK): New.
18520         (FIRST_PSEUDO_REGISTER): Set to 113.
18521         (FIXED_REGISTERS): Add SPE registers.
18522         (reg_class): Same.
18523         (REG_CLASS_NAMES): Same.
18524         (REG_CLASS_CONTENTS): Same.
18525         (REGNO_REG_CLASS): Same.
18526         (REGISTER_NAMES): Same.
18527         (DEBUG_REGISTER_NAMES): Same.
18528         (ADDITIONAL_REGISTER_NAMES): Same.
18529         (CALL_USED_REGISTERS): Same.
18530         (CALL_REALLY_USED_REGISTERS): Same.
18531         (SPE_ACC_REGNO): New.
18532         (SPEFSCR_REGNO): New.
18533         (SPE_SIMD_REGNO_P): New.
18534         (HARD_REGNO_NREGS): Adjust for SPE.
18535         (VECTOR_MODE_SUPPORTED_P): Same.
18536         (REGNO_REG_CLASS): Same.
18537         (FUNCTION_VALUE): Same.
18538         (LIBCALL_VALUE): Same.
18539         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
18540         (SPE_VECTOR_MODE): New.
18541         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
18542         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
18543         (rs6000_stack): Add spe_gp_size, spe_padding_size,
18544         spe_gp_save_offset.
18545         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
18546         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
18547         (SPE_CONST_OFFSET_OK): New.
18548         (rs6000_builtins): Add SPE builtins.
18549
18550         * testsuite/gcc.dg/ppc-spe.c: New.
18551
18552         * config/rs6000/eabispe.h: New.
18553
18554         * config/rs6000/spe.h: New.
18555
18556         * config/rs600/spe.md: New.
18557
18558         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
18559         __SIMD__ for TARGET_SPE.
18560
18561         * config.gcc: Add powerpc-*-eabispe* case.
18562         Add spe.h to user headers for powerpc.
18563
18564 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
18565
18566         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
18567         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18568         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
18569
18570 2002-07-24  Richard Henderson  <rth@redhat.com>
18571
18572         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
18573         form when not optimizing.
18574
18575 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
18576
18577         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
18578         thread_pointer_rtx as unchanging.
18579
18580 2002-07-24  Michael Matz  <matz@suse.de>
18581
18582         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
18583         (free_reg): Use it.
18584
18585 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
18586
18587         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
18588         pattern.
18589         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
18590         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
18591
18592 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
18593
18594         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
18595         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18596         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
18597
18598 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
18599
18600         * toplev.c (rest_of_compilation): Dump loops before clobbering
18601         the structure.
18602
18603 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
18604
18605         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
18606
18607 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
18608
18609         PR optimization/7291
18610         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
18611         problem on x86_64.
18612
18613 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
18614
18615         * pretty-print.h: Add macros from cp/error.c
18616
18617 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
18618
18619         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
18620         (mask64_2_operand): Declare.
18621         (build_mask64_2_operands): Declare.
18622         (and64_2_operand): Declare.
18623         (extract_MB): Declare.
18624         (extract_ME): Declare.
18625         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
18626         CONST_DOUBLE code.
18627         (mask_operand_wrap): New insn predicate.
18628         (mask64_2_operand): Likewise.
18629         (and64_2_operand): Likewise.
18630         (build_mask64_2_operands): New function.
18631         (extract_MB): New function.
18632         (extract_ME): New function.
18633         (print_operand <case m,M>): Use extract_MB and extract_ME.
18634         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
18635         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
18636         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
18637         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
18638         * config/rs6000/rs6000.md (andsi3_internal3): New
18639         (andsi3_internal3+1): Enable split for powerpc64.
18640         (andsi3_internal3+2): New split.
18641         (andsi3_internal4): Renamed old andsi3_internal3.
18642         (andsi3_internal5): New.
18643         (andsi3_internal5+1): Enable split for powerpc64.
18644         (andsi3_internal5+2): New split.
18645         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
18646         (anddi3): Handle 't' constraint.
18647         (anddi3+1): New split.
18648         (anddi3_internal2): Handle 't' constraint.
18649         (anddi3_internal2+1): New split.
18650         (anddi3_internal3): Handle 't' constraint.
18651         (anddi3_internal3+1): New split.
18652
18653 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
18654
18655         * config/rs6000/rs6000.md: Remove scratch reg on insns using
18656         addze and similar (plus (comparison r1 r2) r3) insns.  Add
18657         missing scratch reg in one case.  Formatting fixes.
18658
18659 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
18660
18661         * cppexp.c (parse_defined): Mark macro used.
18662         * cpphash.h (struct cpp_macro): New member "used".
18663         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
18664         (struct cpp_reader): New member.
18665         * cppinit.c (cpp_finish_options): Set first_unused_line.
18666         (cpp_finish): Warn of unused macros if requested.
18667         (OPT_TABLE): New switches.
18668         (cpp_handle_option): Handle them.
18669         * cpplib.c (do_undef): Warn if macro unused.
18670         (do_ifdef, do_ifndef): Mark macro used.
18671         * cpplib.h (struct cpp_options): New member.
18672         * cppmacro.c (_cpp_warn_if_unused_macro): New.
18673         (enter_macro_context): Mark macro used.
18674         (_cpp_create_definition): Mark macro unused; warn if unused
18675         when redefined.
18676         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
18677         Mark macros used.
18678         * doc/cppopts.texi: Update.
18679
18680 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18681
18682         * dwarf2out.c (SECTION_ASM_OP,
18683         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18684         * system.h (SECTION_ASM_OP): Poison.
18685         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
18686         * config/alpha/alpha-interix.h, config/mips/linux.h
18687         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18688         * config/mmix/mmix-protos.h, config/mmix/mmix.c
18689         (mmix_asm_output_define_label_difference_symbol): Remove.
18690         * config/mmix/mmix.h
18691         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18692         * doc/tm.texi: Remove documentation.
18693
18694 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
18695
18696         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
18697         (constrain_operands): Likewise.
18698         * regclass.c (record_reg_classes): Likewise.
18699         * reload.c (find_reloads): Likewise.
18700         * doc/md.texi: Likewise.
18701
18702         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
18703         * simplify-rtx.c (simplify_subreg): When converting to a non-int
18704         mode, try to convert to an integer mode of matching size first.
18705
18706         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
18707         from individual subregs, check that each subreg has been generated
18708         sucessfully.
18709
18710 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18711
18712         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
18713         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
18714         FOR_EACH_BB_IN_SBITMAP): Remove.
18715         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
18716         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
18717         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
18718         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
18719         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
18720         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
18721
18722 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18723
18724         * pretty-print.h: New file.
18725
18726 2002-07-23      Paul Koning     <pkoning@equallogic.com>
18727
18728         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
18729         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
18730         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
18731         (TARGET_G_FLOAT): Default to 0 if not defined.
18732         (ieeetoe): New, common routine to convert target format floats
18733         to internal form.
18734         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
18735         vs. others.
18736         (e113toe): Change to use ieeetoe.
18737
18738 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18739
18740         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
18741         IBM.
18742         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
18743         (e64toe): Remove special cases for DEC and IBM. Remove support for
18744         ARM_EXTENDED_IEEE_FORMAT.
18745         (e24toe): Remove special cases for DEC.
18746         (significand_size): Simplify. Indent.
18747         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
18748         (etoieee, toieee): New.
18749         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
18750         etoieee and toieee for IEEE arithmetic.
18751
18752 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18753
18754         * doc/extend.texi: Say ISO C90, not ISO C89.
18755         * doc/invoke.texi: Likewise.
18756         * doc/standards.texi: Likewise.
18757
18758 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
18759
18760         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
18761         Fix permutation of conversion and plus/mult.
18762         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
18763         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
18764         (expand_builtin_strncpy) Ditto.
18765         (expand_builtin_memset) Ditto.
18766
18767 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18768
18769         Fix PR/7363:
18770         * c-common.c (c_sizeof_or_alignof_type): New function.
18771         (c_alignof): Remove definition.
18772         * c-common.h (c_sizeof, c_alignof): Define as macros.
18773         (c_sizeof_or_alignof_type): Declare.
18774         (my_friendly_assert): Moved from cp/cp-tree.h
18775         * c-typeck.c (c_sizeof): Remove definition.
18776
18777 2002-07-23  Jan Hubicka  <jh@suse.cz>
18778
18779         * gcse.c (try_replace_reg): Use num_changes_pending.
18780         * recog.c (num_changes_pending): New function.
18781         (validate_replace_src): Use validate_repalce_src_group.
18782         (validate_replace_src_group): New.
18783         * recog.h (validate_repalce_src_group): New.
18784         (num_changes_pending): Likewise.
18785
18786 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
18787
18788         * calls.c (emit_library_call_value_1): If
18789         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
18790         libcall, const call nor pure call.
18791
18792 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18793
18794         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
18795
18796 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18797
18798         * vmsdbgout.c (SECTION_ASM_OP): Remove.
18799
18800 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18801
18802         * config/i386/i386.c (AT_BP): Remove.
18803
18804 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18805
18806         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
18807         Default definition.
18808         * gcse.c: Don't define obstack_chunk_free.
18809         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
18810         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
18811         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
18812         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
18813         Don't define obstack macros.
18814
18815 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18816
18817         PR target/6744
18818         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
18819         ASM_OPERANDS instructions.
18820
18821 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18822
18823         PR target/7361
18824         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
18825         constant addresses only on 68HC12.
18826
18827 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18828
18829         * cppfiles.c (stack_include_file): Correct test of whether
18830         a dependency should be output.
18831
18832 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
18833
18834         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
18835
18836 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
18837
18838         * arm.md (movqi): If optimizing and we can create pseudos, use
18839         a ZERO_EXTEND to load from memory, then copy the result into the
18840         target.
18841         (movhi): Likewise, but only for ARMv4.
18842
18843 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18844
18845         * ssa-ccp.c (PHI_PARMS): Remove.
18846
18847 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
18848
18849         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
18850         on big-endian targets.
18851
18852 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18853
18854         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
18855         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
18856         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
18857         New formatting macros.
18858
18859         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
18860
18861 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
18862
18863         * rtlanal.c (subreg_regno_offset): Return correct offset for
18864         big endian paradoxical subregs.
18865
18866         * optabs.c (expand_vector_unop): Don't expand using sub_optab
18867         if we got the wrong mode.
18868
18869         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
18870         * genrecog.c (write_switch, write_cond): Use it.
18871         * genemit.c (gen_exp): Likewise.
18872
18873 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18874
18875         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
18876
18877 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18878
18879         * c-decl.c (build_compound_literal): Defer compound literal decls
18880         until until file end to emit them only if they are actually used.
18881
18882 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18883
18884         * ra-build.c (check_conflict_numbers): Hide unused function.
18885         (livethrough_conflicts_bb): Avoid automatic aggregate
18886         initialization.
18887         (parts_to_webs_1): Avoid `U' integer constant modifier.
18888         (conflicts_between_webs): Wrap a variable in the macro controlling
18889         its usage.
18890         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
18891         (dump_igraph, dump_graph_cost): Avoid string concatenation
18892         (dump_static_insn_cost): Avoid automatic aggregate
18893         initialization.
18894         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
18895         initialization.
18896         (dump_cost): Avoid string concatenation
18897
18898 2002-07-21  Richard Henderson  <rth@redhat.com>
18899
18900         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
18901         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
18902
18903 2002-07-21  Richard Henderson  <rth@redhat.com>
18904
18905         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
18906         that are not unrolled completely.
18907
18908 2002-07-21  Richard Henderson  <rth@redhat.com>
18909
18910         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
18911         * loop.c (strength_reduce): Update.
18912         * toplev.c (rest_of_compilation): Do unrolling in the first
18913         loop pass, not the second.
18914
18915 2002-07-21  Richard Henderson  <rth@redhat.com>
18916
18917         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
18918         when flag_argument_noalias == 2.
18919         * alias.c (nonoverlapping_memrefs_p): Handle that.
18920         * print-rtl.c (print_mem_expr): Likewise.
18921
18922 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
18923
18924         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
18925         instead of __negdi2 directly.
18926
18927 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18928
18929         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
18930         * function.c (SYMBOL__MAIN): Remove definition.
18931         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
18932         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
18933         * profile.c (GCOV_INDEX_TO_BB): Remove.
18934         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
18935         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
18936
18937 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18938
18939         * c-lex.c (GET_ENVIRONMENT): Remove.
18940         * collect2.c (GET_ENV_PATH_LIST): Remove.
18941         (prefix_from_env): Use GET_ENVIRONMENT.
18942         * cppinit.c (GET_ENV_PATH_LIST): Remove.
18943         (init_standard_includes): Use GET_ENVIRONMENT.
18944         * defaults.h (GET_ENVIRONMENT): Define here if not already.
18945         * gcc.c (GET_ENV_PATH_LIST): Remove.
18946         (make_relative_prefix, process_command): Update.
18947         * protoize.c (GET_ENV_PATH_LIST): Remove.
18948         (do_processing): Update.
18949
18950 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
18951
18952         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
18953         (grokdeclarator): Likewise.
18954         * c-format.c (C_STD_NAME): Likewise.
18955         * c-lex.c (interpret_integer): Likewise.
18956         * c-typeck.c (build_array_ref): Likewise.
18957         * cpplex.c (_cpp_lex_direct): Likewise.
18958         * toplev.c (documented_lang_options): Likewise.
18959
18960 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18961
18962         * c-format.c (T99_I, T99_UI): Remove.
18963
18964 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18965
18966         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
18967
18968 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
18969
18970         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
18971         do_local_cprop.
18972
18973 2002-07-21  Andreas Jaeger  <aj@suse.de>
18974
18975         * reload1.c (fixup_abnormal_edges): Remove unused variable.
18976
18977 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
18978
18979         Improvements for the ifcvt pass from Michael Meissner, with patches
18980         by Richard Sandiford <rsandifo@redhat.com>
18981         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
18982         * ifcvt.c (cond_exec_changed_p): New static variable.
18983         (last_active_insn): New function, renamed from last_active_insn_p
18984         and changed to return the last active insn in a basic block. All
18985         callers updated.
18986         (block_fallthru): New function.
18987         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
18988         IFCVT_MODIFY_INSN.  All callers updated.
18989         Return false if START or END are NULL.
18990         Handle case where we're processing an insn that is already
18991         conditional.
18992
18993         (noce_process_if_block): CE_INFO argument rather than
18994         multiple args containing the involved basic blocks.  All callers
18995         changed.
18996         (process_if_block, merge_if_block, find_if_block,
18997         cond_exec_process_if_block): Likewise.
18998
18999         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
19000         changed.
19001         Use new function last_active_insn to simplify some code.
19002         New code to handle multiple tests.
19003         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
19004         cond_exec_changed_p to TRUE.
19005
19006         (process_if_block): New code to handle multiple tests.
19007         (merge_if_block): Likewise.
19008         (find_if_header): New arg PASS.  Changed to return the currently
19009         processed basic block or NULL instead of true/false. All callers
19010         changed.
19011         Call IFCVT_INIT_EXTRA_FIELDS.
19012         (block_jumps_and_fallthru_p): New function.
19013         (find_if_block): Discover opportunities to convert multiple tests.
19014         Add additional debugging output.
19015         Update the ce_info structure before returning.
19016
19017         (if_convert): Run multiple passes of if-conversion.
19018         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
19019         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
19020         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
19021         these macros.
19022
19023 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
19024
19025         * gcse.c: Include cselib.h
19026         (constptop_register): Break out from ...
19027         (cprop_insn): ... here; kill basic_block argument.
19028         (do_local_cprop, local_cprop_pass): New functions.
19029         (one_cprop_pass): Call local_cprop_pass.
19030
19031 2002-07-20  Roger Sayle  <roger@eyesopen.com>
19032
19033         * simplify-rtx.c (simplify_relational_operation): Optimize
19034         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
19035
19036 2002-07-20  Michae Matz  <matz@suse.de>
19037
19038         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
19039
19040 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
19041
19042         * cppexp.c (struct op): Add token pointer.
19043         (check_promotion, CHECK_PROMOTION): New.
19044         (optab): Update.
19045         (_cpp_parse_expr): Update, use token pointer of struct op.
19046         (reduce): Warn about change of sign owing to promotion.
19047         * cppinit.c (cpp_handle_option): New warning if -Wall.
19048         * cpplib.h (struct cpp_options): New member.
19049
19050 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
19051
19052         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
19053         fpu list.  Separate Power4 compare and delayed_compare.  Correct
19054         Power4 fpcompare.
19055         (fix_truncdfsi2_internal): Restore FPR preference.
19056         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
19057         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
19058
19059 2002-07-19  Momchil Velikov <velco@fadata.bg>
19060
19061         * reload1.c (reload_as_needed): Duplicate oldpat.
19062
19063 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
19064
19065         PR optimization/7130
19066         * loop.h (struct loop_info): Add "preconditioned".
19067         * unroll.c (unroll_loop): Set it.
19068         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
19069
19070 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
19071
19072         * rtl.def (CODE_LABEL): Remove slot 8.
19073         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
19074         (LABEL_ALTERNATE_NAME): Delete.
19075         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
19076         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
19077
19078         * final.c (output_alternate_entry_point): New.
19079         (final_scan_insn): Use it instead of
19080         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
19081         of a case label being an alternate entry point.
19082
19083         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
19084         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
19085         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
19086         (field deleted).
19087         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
19088
19089         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
19090         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
19091         * doc/tm.texi: Delete documentation of
19092         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
19093
19094 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19095
19096         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
19097         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
19098         (LINK_SPEC): Define.
19099         (STARTFILE_SPEC): Define.
19100         (ENDFILE_SPEC): Define.
19101
19102         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
19103         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
19104
19105         * config/mips/iris6-o32-gas.h: New file.
19106         * config.gcc (mips-sgi-irix6*o32): Use it.
19107
19108         * config/mips/t-iris5-gas: New file.
19109         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
19110
19111 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
19112
19113         * cppexp.c (ALWAYS_EVAL): Remove.
19114         (optab, reduce): Always evaluate.
19115         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
19116         only if not skipping evaluation.
19117
19118 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19119
19120         * config/avr/avr.c (debug_hard_reg_set): Remove.
19121
19122 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
19123
19124         * gcc.c (cpp_options): Include "%1" (cc1_spec).
19125
19126 2002-07-19  Richard Henderson  <rth@redhat.com>
19127
19128         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
19129
19130 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
19131
19132         * prefix.c (update_path): Don't zap single `.' path components
19133         unless followed by another `.' and fix typo last patch.
19134
19135 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
19136
19137         * cppexp.c (cpp_num_mul): Remove unused parameter.
19138         (UNARY, BINARY, OTHER, binary_handler): Remove.
19139         (ALWAYS_EVAL): New.
19140         (optab): Update.
19141         (reduce): Refactor to a large switch, don't use a function
19142         pointer.
19143
19144 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
19145
19146         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
19147
19148 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
19149
19150         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
19151         (sh_expand_binop_v2sf): Likewise.
19152         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
19153         (int_gpr_dest, trunc_hi_operand): New functions.
19154         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
19155         trunc_hi_operand.
19156         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
19157         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
19158         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
19159         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
19160         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
19161         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
19162         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
19163         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
19164         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
19165         (movsf_ie+1): Likewise.
19166         (loaddi_trunc): Use int_gpr_dest predicate.
19167         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
19168         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
19169         (casesi_worker_0+[12], casesi_worker): Likewise.
19170         (shcompact_preserve_incoming_args): Likewise.
19171         (mov_nop): Use any_register_operand predicate.
19172         (mperm_w0): Use trunc_hi_operand predicate.
19173
19174 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19175
19176         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
19177         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
19178         numbering.
19179
19180 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19181
19182         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
19183
19184 2002-07-18  Richard Henderson  <rth@redhat.com>
19185
19186         PR optimization/7147
19187         * ifcvt.c (noce_get_condition): Make certain that the condition
19188         is valid at JUMP.
19189
19190 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
19191
19192         * sh.c (barrier_align, push): Shut up compiler warnings.
19193         (initial_elimination_offset,sh_media_init_builtins): Likewise.
19194         (reg_no_subreg_operand): Delete.
19195
19196 2002-07-17  Bo Thorsen  <bo@suse.de>
19197
19198         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
19199         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
19200         (STARTFILE_SPEC): Remove hardcoded library paths.
19201         (ENDFILE_SPEC): Likewise.
19202
19203 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
19204
19205         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
19206
19207         * gcse.c (try_replace_reg): Do not return false positives.
19208
19209 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
19210
19211         * prefix.c: (update_path): Strip ".." components when prior dir
19212         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
19213
19214         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
19215         (ASM_OUTPUT_REG_POP): Likewise.
19216
19217 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
19218
19219         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
19220         adjustments to first_reg for profiling case.
19221         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
19222         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
19223         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
19224         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
19225         (ASM_OUTPUT_REG_POP): Define.
19226         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
19227         (ASM_OUTPUT_REG_POP): Undef.
19228
19229 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
19230
19231         * cpplib.c (do_sccs): Handle #sccs on all systems.
19232         * system.h (SCCS_DIRECTIVE): Poison.
19233         * config/darwin.h, config/freebsd.h, config/netbsd.h,
19234         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
19235         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
19236         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
19237         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
19238         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
19239         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
19240         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
19241         Remove all references to SCCS_DIRECTIVE.
19242         * doc/cpp.texi, doc/tm.texi: Update.
19243
19244 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
19245
19246         * regrename.c (maybe_mode_change): New function.
19247         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
19248
19249 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
19250
19251         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
19252         suppress addition when either ct or cf are zero.
19253
19254 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
19255             Glen Nakamura <glen@imodulo.com>
19256
19257         PR optimization/6713
19258         * loop.c (loop_givs_rescan): Explicitly delete the insn that
19259         sets a non-replaceable giv after issuing the new one.
19260
19261 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
19262
19263         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
19264         eval_token): Clarify and correct use of "bool" variables.
19265         * cpplib.h (struct cpp_options): Similarly.
19266         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
19267         * cpptrad.c (recursive_macro): Similarly.
19268
19269 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
19270
19271         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
19272         SHmedia code.
19273
19274         * sh.md (cmpgtudi_media): Remove spurious @.
19275
19276         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
19277         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
19278
19279         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
19280         * sh-protos.h (sh_initialize_trampoline): Declare.
19281         * sh.c (sh_initialize_trampoline): New function.
19282         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
19283         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
19284         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
19285         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
19286         * sh.md (initialize_trampoline, double_shori): New patterns.
19287         (initialize_trampoline_compact): Likewise.
19288         (shmedia32_initialize_trampoline_big): Remove.
19289         (shmedia32_initialize_trampoline_little): Likewise.
19290
19291         * sh-protos.h (binary_float_operator): Remove declaration.
19292         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
19293         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
19294         (unary_float_operator, sh_expand_unop_v2sf): New functions.
19295         (sh_expand_binop_v2sf): Likewise.
19296         (zero_vec_operand): Delete.
19297         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
19298         all non-shared ones.
19299         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
19300         Enable nsb and byterev.
19301         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
19302         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
19303         in general regs.
19304         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
19305         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
19306         immediate operands.
19307         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
19308         Add DF_HI_REGS.
19309         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
19310         lowpart fp regs - only for big endian for now.
19311         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
19312         when FPU is in use.
19313         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
19314         (LOAD_EXTEND_OP): NIL for SImode.
19315         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
19316         general and fp registers is 4.
19317         PREDICATE_CODES: Amend binary_float_operator entry.
19318         Remove zero_vec_operand.  Add unary_float_operator.
19319         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
19320         subreg SET_DEST.
19321         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
19322         (truncdiqi2): Do sign extension.
19323         (movsi_media, movdi_media): Allow to use r63 to an fp register.
19324         (movdf_media, movsf_media): Likewise.
19325         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
19326         Collapse to one define_insn_and_split.  Allow immediate sources.
19327         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
19328         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
19329         (movv4sf): Allow immediate sources.
19330         (movsf_media_nofpu+1): Don't split moves to FP registers.
19331         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
19332         (movv8qi_i+3): Check against CONST0_RTX.
19333         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
19334         for input and output operands.  Fix argument 3 to gen_mextr_rl.
19335         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
19336         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
19337         (mshf0_w, fipr, ftrv): Likewise.
19338         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
19339
19340 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
19341
19342         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
19343         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
19344         * arm.c: Similarly.
19345
19346 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
19347
19348         * config/mips/mips-protos.h (mips_sign_extend): Declare.
19349         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
19350         (TARGET_SWITCHES): Remove debugh.
19351         (ISA_HAS_TRUNC_W): New macro.
19352         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
19353         (PREDICATE_CODES): Remove se_nonimmediate_operand.
19354         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
19355         any SImode move_operand.
19356         (se_nonimmediate_operand): Remove.
19357         (mips_sign_extend): New.
19358         (mips_move_2words): Use it for sign-extended source operands.
19359         (override_options): Allow integers to be put into single FPRs.
19360         (mips_secondary_reload_class): Handle integers in float registers.
19361         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
19362         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
19363         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
19364         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
19365         (fix_truncdfdi2): Provide only a single alternative, in which the
19366         integer is in a float register.  Depend on TARGET_FLOAT64 rather
19367         than TARGET_64BIT.
19368         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
19369         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
19370         (movdi_internal2): Don't allow the source operand to be sign-extended.
19371         Add alternatives for float registers.
19372         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
19373         allows sign-extension.
19374         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
19375         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
19376         float registers.  Remove TARGET_DEBUG_H_MODE test.
19377         (movhi_internal1): Rename to movhi_internal.  Don't check
19378         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
19379         (movqi_internal1): Rename to movqi_internal and remove
19380         TARGET_DEBUG_H_MODE dependency.
19381         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
19382
19383 2002-07-16  Jim Wilson  <wilson@redhat.com>
19384
19385         * toplev.c (lang_dependent_init): Create function context for
19386         init_expr_once.
19387
19388 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
19389
19390         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
19391         --gc-sections if -r.
19392         * config/cris/cris.h: Ditto.
19393
19394 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
19395
19396         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
19397         the comparison directly gives a mask suppress addition when cf is
19398         zero by complementing the mask.
19399
19400 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
19401
19402         * Makefile.in: Delete references to enquire.
19403         * enquire.c: Move to contrib.
19404
19405 2002-07-16  Stan Shebs  <shebs@apple.com>
19406
19407         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
19408         config/rs6000/darwin.h.
19409         (ASM_OUTPUT_SKIP): Ditto.
19410         (TEXT_SECTION_ASM_OP): Ditto.
19411         (DATA_SECTION_ASM_OP): Ditto.
19412         (ASM_APP_ON): Define.
19413         (ASM_APP_OFF): Define.
19414         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
19415         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
19416
19417         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
19418         (machopic_function_base_name): Declare result to be const.
19419         (machopic_non_lazy_ptr_name): Ditto.
19420         (machopic_stub_name): Ditto.
19421         * config/darwin-protos.h: Ditto for the prototypes.
19422
19423 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
19424
19425         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
19426
19427 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
19428
19429         * i386.md (prefetch): Fix for 64bit mode.
19430         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19431
19432 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
19433
19434         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
19435         * i386.c (x86_machine_dependent_reorg): New function.
19436         * i386-protos.h (x86_machine_dependent_reorg): Declare.
19437
19438 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
19439
19440         * builtins.c (std_expand_builtin_va_start): Remove unused
19441         first argument.
19442         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
19443         std_expand_builtin_va_start with just two arguments.
19444         * expr.h: Update prototypes.
19445
19446         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
19447         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
19448         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
19449         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
19450         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
19451         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
19452         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
19453         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
19454         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
19455         argument from all implementations of EXPAND_BUILTIN_VA_START
19456         and all uses of std_expand_builtin_va_start.
19457
19458 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
19459
19460         * regrename.c (copy_value): Don't record high part copies.
19461
19462 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
19463
19464         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
19465         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
19466         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
19467
19468 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
19469
19470         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
19471
19472         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
19473         into addsi3 using register class "x" and "y".
19474
19475         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
19476         "earlyclobber" constraint modifier for some alternative.
19477
19478         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
19479         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
19480         unordered.
19481         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
19482
19483         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
19484         (TARGET_SWITCHES): Add -mieee-compare option.
19485         (OVERRIDE_OPTIONS): 32332 is a subset of
19486         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
19487         (TARGET_SWITCHES): Fix description of bitfield option.
19488         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
19489         -mieee-compare option. Remove 32332 flag.
19490
19491 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
19492
19493         * explow.c (convert_memory_address): Remove special handling
19494         when POINTERS_EXTEND_UNSIGNED < 0.
19495         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
19496         (movedi_symbolic): Fix typo.
19497         (load_fptr): Remove mode restriction so it works for SI and DI.
19498         (load_fptr_internal1): Ditto.
19499         (load_gprel): Ditto.
19500         (load_symptr_internal1): Ditto.
19501         (call_pic): Ditto.
19502         * config/ia64.c (call_operand): Modify mode check.
19503         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
19504         (ia64_expand_move): Ditto.
19505         (ia64_assemble_integer): Handle SImode function pointers.
19506         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
19507         (ia64_expand_op_and_fetch): Ditto.
19508         (ia64_expand_compare_and_swap): Ditto.
19509         (ia64_expand_lock_test_and_set): Ditto.
19510         (ia64_expand_lock_release): Ditto.
19511
19512 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19513
19514         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
19515
19516 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19517             Richard Earnshaw  <rearnsha@arm.com>
19518
19519         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
19520         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
19521
19522 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
19523
19524         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
19525         understands to be a memory clobber.
19526         * arm.c (arm_expand_prologue): Use it.
19527
19528 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
19529
19530         * ra-rewrite.c: #include reload.h, insn-config.h
19531         * ra-build.c: #include reload.h
19532         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
19533         depend on reload.h, insn-config.h.
19534
19535 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
19536
19537         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
19538         the same size as a word.
19539
19540         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
19541         BYTES_BIG_ENDIAN into account.
19542
19543 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
19544
19545         * i386.md (prefetch): Fix for 64bit mode.
19546         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19547
19548         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
19549
19550 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19551
19552         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
19553
19554 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
19555
19556         * ginclude/varargs.h: Replace with stub which issues #error.
19557         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
19558         __builtin_va_start.
19559
19560         * builtins.def (BUILT_IN_VARARGS_START): Delete.
19561         (BUILT_IN_VA_START): New.
19562         * builtins.c (expand_builtin_va_start): Eliminate first
19563         argument and code to implement pre-ISO varargs.
19564         (std_expand_builtin_va_start): Ignore first argument; it is
19565         always 1.
19566         (expand_builtin): Handle BUILT_IN_VA_START and
19567         BUILT_IN_STDARG_START identically.  Delete
19568         BUILT_IN_VARARGS_START case.
19569
19570         * function.c (assign_parms): Delete hide_last_arg and all
19571         its uses.
19572         (mark_varargs): Delete function.
19573         * function.h (struct function): Delete 'varargs' bit.
19574         (current_function_varargs): Delete macro.
19575         * tree.h: Don't declare mark_varargs.
19576
19577         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
19578         (c_expand_body): Don't call mark_varargs.
19579         * c-objc-common.c: Handle BUILT_IN_VA_START and
19580         BUILT_IN_STDARG_START identically.  Delete
19581         BUILT_IN_VARARGS_START case.
19582         * c-tree.h: Don't declare c_mark_varargs.
19583         * c-parse.in: Remove grammar rules for '&...' (which has been
19584         commented out since before 2.7.2) and for '...' in K+R
19585         argument declarations.
19586
19587         * builtins.c, function.c, integrate.c, sibcall.c,
19588         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
19589         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
19590         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
19591         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
19592         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
19593         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
19594         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
19595         config/stormy16/stormy16.c: Delete all references to
19596         current_function_varargs, and code predicated on that flag.
19597
19598         * config/alpha/alpha.c (alpha_va_start),
19599         config/arc/arc.c (arc_va_start),
19600         config/i386/i386.c (ix86_va_start),
19601         config/mips/mips.c (mips_va_start),
19602         config/mn10300/mn10300.c (mn10300_va_start),
19603         config/rs6000/rs6000.c (rs6000_va_start),
19604         config/s390/s390.c (s390_va_start),
19605         config/sh/sh.c (sh_va_start),
19606         Ignore first argument; it is always 1.
19607
19608         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
19609         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
19610         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
19611         Delete m68hc11_va_start.
19612         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
19613         No need to define EXPAND_BUILTIN_VA_START.
19614
19615         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
19616         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
19617
19618 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
19619
19620         PR optimization/7153
19621         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
19622         dies in more than one insn.
19623
19624 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
19625
19626         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
19627
19628 2002-07-15  Michael Matz  <matz@suse.de>,
19629             Daniel Berlin  <dberlin@dberlin.org>,
19630             Denis Chertykov  <denisc@overta.ru>
19631
19632         Add a new register allocator.
19633
19634         * ra.c: New file.
19635         * ra.h: New file.
19636         * ra-build.c: New file.
19637         * ra-colorize.c: New file.
19638         * ra-debug.c: New file.
19639         * ra-rewrite.c: New file.
19640
19641         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
19642         (ra-rewrite.o): New .o files for libbackend.a.
19643         (GTFILES): Add basic-block.h.
19644
19645         * toplev.c (flag_new_regalloc): New.
19646         (f_options): New option "new-ra".
19647         (rest_of_compilation): Call initialize_uninitialized_subregs()
19648         only for the old allocator.  If flag_new_regalloc is set, call
19649         new allocator, instead of local_alloc(), global_alloc() and
19650         friends.
19651
19652         * doc/invoke.texi: Document -fnew-ra.
19653         * basic-block.h (FOR_ALL_BB): New.
19654         * config/rs6000/rs6000.c (print_operand): Write small constants
19655         as @l+80.
19656
19657         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
19658         (df_reg_table_realloc): Make size at least as large as max_reg_num().
19659         (df_insn_table_realloc): Size argument now is absolute, not relative.
19660         Changed all callers.
19661
19662         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
19663         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
19664
19665         2002-06-20  Michael Matz  <matz@suse.de>
19666
19667         * df.h (struct ref.id): Make unsigned.
19668         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
19669
19670         2002-06-13  Michael Matz  <matz@suse.de>
19671
19672         * df.h (DF_REF_MODE_CHANGE): New flag.
19673         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
19674         involving subregs with invalid mode changes, when
19675         CLASS_CANNOT_CHANGE_MODE is defined.
19676
19677         2002-05-07  Michael Matz  <matz@suse.de>
19678
19679         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
19680
19681         2002-05-03  Michael Matz  <matz@suse.de>
19682
19683         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
19684
19685         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
19686
19687         * regclass.c (regclass): Work with all regs which have sets or
19688         refs.
19689         (reg_scan_mark_refs): Count regs inside (clobber ...).
19690
19691         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
19692
19693         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
19694         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
19695         add new refs.
19696         (df_bb_refs_update): Don't clear insns_modified here, ...
19697         (df_analyse): ... but here.
19698
19699         * sbitmap.c (dump_sbitmap_file): New.
19700         (debug_sbitmap): Use it.
19701
19702         * sbitmap.h (dump_sbitmap_file): Add prototype.
19703
19704         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
19705
19706         * df.c (df_insn_modify): Grow the UID table if necessary, rather
19707         than assume all emits go through df_insns_modify.
19708
19709         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
19710
19711         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
19712         increase REG_N_REFS (like flow does), so that regclass doesn't
19713         think a reg is useless, and thus, not calculate a class, when it
19714         really should have.
19715
19716         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
19717
19718         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
19719         dataflow analysis.
19720
19721 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
19722
19723         PR middle-end/7245
19724         * config/i386/i386.c (const_int_1_31_operand): New.
19725         * config/i386/i386.h (PREDICATE_CODES): Add it.
19726         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
19727         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
19728         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
19729
19730 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
19731
19732         PR target/7282
19733         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
19734         (floatunssidf2): Likewise.
19735         (floatsidf_ppc64): New insn_and_split.
19736         (floatunssidf_ppc64): Likewise.
19737
19738 2002-07-14  Andreas Jaeger  <aj@suse.de>
19739
19740         * config.gcc (sh64): Remove unused
19741         target_requires_64bit_host_wide_int.
19742
19743 2002-07-12  Roger Sayle  <roger@eyesopen.com>
19744
19745         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
19746         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
19747         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
19748         whether clear_by_pieces should be used to clear storage.
19749         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
19750
19751         * doc/tm.texi: Document these two new target macros.
19752
19753 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
19754
19755         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
19756         the scratch register.
19757         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
19758         of it, forbid reload to use it.
19759
19760 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19761
19762         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
19763         usage on 64-bit hosts, return value was truncated to 32 bits.
19764
19765 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
19766
19767         * simplify-rtx.c (simplify_subreg): Handle floating point
19768         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
19769         the element mode is requested, compute a subreg with an
19770         integer mode of the same size as the element mode first.
19771
19772 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
19773
19774         * combine.c (try_combine): When converting a paradoxical subreg
19775         to an extension, take LOAD_EXTEND_OP into account.
19776
19777 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19778
19779         * config.gcc (mips-sgi-irix6*o32): New configuration.
19780
19781         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
19782         configurations.
19783         * configure: Regenerate.
19784
19785         * config/mips/iris6-o32-as.h: New file.
19786         * config/mips/iris6-o32.h: New file.
19787
19788         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
19789         (NM_FLAGS): Define.
19790         (HAVE_AS_SHF_MERGE): Undefine.
19791
19792         * config/mips/t-iris5-as: New file.
19793         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
19794
19795         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
19796         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
19797         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
19798         dp-bit.c, fp-bit.c): Move ...
19799         * config/mips/t-iris5-6: ... here.
19800         New file, shared by IRIX 5 and IRIX 6.
19801         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
19802         mips-sgi-irix5*): Use it.
19803
19804         * config/mips/iris6.h: Remove duplicate comment.
19805
19806         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
19807         !TARGET_IRIX6]: Define.
19808         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
19809
19810         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
19811
19812 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19813
19814         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
19815         and delete code to force constant to register.
19816         * pa-protos.h (adddi3_operand): Add prototype.
19817         * pa.c (adddi3_operand): New function.
19818
19819 2002-07-11  Roger Sayle  <roger@eyesopen.com>
19820
19821         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
19822         non-ANSI builtin functions.
19823
19824 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
19825
19826         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
19827         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
19828         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
19829         (gen_const_vector_0): Use it.
19830
19831 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19832
19833         * pa.md (adddi3): For 32-bit targets, force constants to a register
19834         if they don't fit in an 11-bit immediate.  Change insn predicate to
19835         arith11_operand.  Remove comment.
19836         * pa.c (cint_ok_for_move): Fix comment.
19837         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
19838         targets.
19839
19840 2002-07-11  Tim Josling  <tej@melbpc.org.au>
19841
19842         Remove front end hard coding from gengtype.c.
19843
19844         * Makefile.in
19845         (STAGESTUFF): add gtyp-gen.h
19846         (GTFILES): Remove front end specific files.
19847         (GTFILES_FILES_LANGS): New, from configure..
19848         (GTFILES_FILES_FILES): Likewise.
19849         (GTFILES_LANG_DIR_NAMES): Likewise.
19850         (GTFILES_SRCDIR): Likewise.
19851         (gtyp-gen.h): Build from configure information.
19852         (s-gtype): Remove command line parameters from gengtype.
19853         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
19854         (mostlyclean): Delete files generated by and for gengtype.
19855
19856         * c-config-lang.in: New file.
19857
19858         * configure.in (all_gtfiles_files_langs): New. Accumulate files
19859         for each language.
19860         (all_gtfiles_files_files): New. Accumulate language for each file
19861         accumulated.
19862         (gtfiles): Pick up value for C.
19863         (srcdir): AC-SUBST this variable.
19864         (all_gtfiles_files_langs): AC-SUBST this variable.
19865         (all_gtfiles_files_files): AC-SUBST this variable.
19866
19867         * configure: Regenerate.
19868
19869         * gengtype-lex.l (parse_file): Make parameter const.
19870
19871         * gengtype.c (toplevel): include gtyp-gen.h.
19872         (BASE_FILE_<language> unnamed enum): Delete.
19873         (lang_names): Delete (replaced by gtyp-gen.h)
19874         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
19875         all references.
19876         (NUM_GT_FILES): New.
19877         (NUM_LANG_FILES): New.
19878         (srcdir_len): New.
19879         (NUM_BASE_FILES): Change calculation.
19880         (open_base_files): Change prototype to avoid warning.
19881         (startswith): Delete.
19882         (get_file_basename): Iterate through generated language list not
19883         hard coded list.
19884         (get_base_file_bitmap): Use generated list of files and languages.
19885         (close_output_files): Add prototype to rmove warning.
19886         (main): Iterate through list of generated files from gtyp-gen.h
19887         rather than command line paramaters.  Ignore duplicated file
19888         names.
19889
19890         * gengtype.h (parse_file): Amend prototype for const parameter.
19891
19892         * doc/sourcebuild.texi: Document gtfiles variable.
19893
19894         * doc/gty.texi: Document changes to gtfiles variable for front
19895         ends.
19896
19897         * objc/config-lang.in (gtfiles): Add files needed for objc front
19898         end.
19899
19900 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19901
19902         PR c/2454
19903         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
19904         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
19905
19906 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19907             Zack Weinberg <zack@codesourcery.com>
19908
19909         * builtins.def: Make the argument types of abort and exit
19910         independent of the front-end.
19911
19912 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
19913
19914         * config/rs6000/linux64.h (ASM_SPEC): Define.
19915
19916 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
19917
19918         * config/rs6000/rs6000.c (emit_frame_save): New.
19919         (rs6000_frame_related): Replace reg2 before reg.
19920         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
19921         and eh_return registers.
19922
19923 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
19924
19925         Revert all patches for optimization of Complex .op. Real.
19926         * complex_part_zero_p: Remove
19927         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
19928         with x.
19929         * expand_cmplxdiv_wide: Ditto.
19930         * expand_binop: Ditto.
19931
19932 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19933
19934         * config/avr/avr.md: Fix two 0x80000000 constants to make them
19935         negative also on 64-bit hosts.
19936
19937         Default to -fno-reorder-blocks when optimizing for size.
19938         * config/avr/avr-protos.h (avr_optimization_options): Declare.
19939         * config/avr/avr.c (avr_optimization_options): New function.
19940         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
19941
19942         Optimize returning from simple functions.
19943         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
19944         * config/avr/avr.c (avr_simple_epilogue): New function.
19945         * config/avr/avr.md (return): New insn.
19946
19947 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
19948
19949         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
19950         HAS_INIT_SECTION to protection.
19951
19952 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
19953
19954         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
19955         deprecated.
19956
19957 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
19958
19959         * combine.c (gen_lowpart_for_combine): Handle vector modes.
19960         Supply non-VOID mode to simplify_gen_subreg.
19961
19962 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
19963
19964         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
19965
19966 2002-07-10  Jeffrey A Law  <law@redhat.com>
19967
19968         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
19969         as appropriate.
19970
19971         * mn10200.c (expand_epilogue): Fix test to determine which scratch
19972         register to use.
19973
19974 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
19975
19976         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
19977         Get mode from dest.
19978         If simplify_gen_subreg fails, try next equivalent.
19979
19980 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
19981
19982         * diagnostic.h: #include location.h
19983         (location_t): Move definition to..
19984         * location.h: ... here.  New file.
19985         * tree.h: #include location.h
19986         (DECL_SOURCE_LOCATION): New macro.
19987         (DECL_SOURCE_FILE): Use.
19988         (DECL_SOURCE_LINE): Likewise.
19989         (struct tree_decl): REplace filename and linenum with locus.
19990         * Makefile.in (TREE_H): add location.h
19991         (diagnostic.o): Depends on gt-location.h
19992         (gt-location.h): Depends on s-gtype
19993
19994 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
19995
19996         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
19997         TARGET_OS_CPP_BUILTINS.
19998         * config/rs6000/aix31.h: Likewise.
19999         * config/rs6000/aix41.h: Likewise.
20000         * config/rs6000/aix43.h: Likewise.
20001         * config/rs6000/aix51.h: Likewise.
20002         * config/rs6000/beos.h: Likewise.
20003         * config/rs6000/darwin.h: Likewise.
20004         * config/rs6000/eabi.h: Likewise.
20005         * config/rs6000/eabisim.h: Likewise.
20006         * config/rs6000/linux.h: Likewise.
20007         * config/rs6000/linux64.h: Likewise.
20008         * config/rs6000/lynx.h: Likewise.
20009         * config/rs6000/mach.h: Likewise.
20010         * config/rs6000/rtems.h: Likewise.
20011         * config/rs6000/sysv4.h: Likewise.
20012         * config/rs6000/vxppc.h: Likewise.
20013
20014 2002-07-09 Devang Patel <dpatel@apple.com>
20015         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
20016         Do not allow ObjC objects as a parameter type for Objective-C methods.
20017         My previous patch restricted  'struct' also.
20018
20019 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
20020
20021         * cpperror.c (cpp_error): Default to directive_line within
20022         directives here.
20023         * cppexp.c (cpp_interpret_integer): Only use traditional
20024         number semantics in directives.
20025         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
20026         (do_include_common): Similarly.
20027         * cpptrad.c (scan_out_logical_line): Implement accurate
20028         quoting of <> in #include.
20029         * doc/cpp.texi: Update.
20030
20031 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
20032                           J"orn Rennecke <joern.rennecke@superh.com>
20033
20034         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
20035         * sh.md (attribute issues): Replace with:
20036         (attribute pipe_model).  All users changed.
20037         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
20038         All users changed.
20039         (function units sh5issue, sh5fds): New.
20040         (attribute is_mac_media): New.
20041         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
20042         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
20043         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
20044         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
20045         (call_media, call_value_media, sibcall_media): Likewise.
20046         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
20047         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
20048         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
20049         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
20050         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
20051         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
20052         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
20053         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
20054         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
20055         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
20056         (truncdfsf2_media): Likewise.
20057         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
20058         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
20059
20060 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
20061
20062         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
20063         * sh.c (general_extend_operand, inqhi_operand): New functions.
20064         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
20065         alternatives using 'N' modifier.  Add type.
20066         (adddi3z_media): Likewise.  Enable generator function generation.
20067         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
20068         exact predicates / constraints.  Add type.
20069         (subsi3): Allow 0 for SHMEDIA.
20070         (udivsi3_i4_media): Use match_operand for input values
20071         rather than hard registers.
20072         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
20073         unnecessarily through hard registers.  Keep copies of pseudo
20074         registers outside of the libcall sequence.
20075         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
20076         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
20077         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
20078         (extendhidi2, extendqidi2): Likewise.
20079         (andsi3_compact): Name.
20080         (andcdi3): Enable generator function generation.
20081         (zero_extendhisi2, zero_extendqisi2): Rename to
20082         (zero_extendhisi2_compact, zero_extendqisi2_compact).
20083         (extendhisi2, extendqisi2): Rename to
20084         (extendhisi2_compact, extendqisi2_compact).
20085         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
20086         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
20087         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
20088         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
20089         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
20090         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
20091         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
20092         (shmedia32_initialize_trampoline_big): Likewise.
20093         (shmedia32_initialize_trampoline_little): Likewise.
20094         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
20095         (negdi2): Remove spurious T clobber.
20096         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
20097         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
20098         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
20099         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
20100         (ic_invalidate_line_media): Write back data cache before invalidating
20101         instruction cache.  Add type.
20102         (movsf_media): Sign-extend when the destination is a general
20103         purpose register.  Add type.
20104         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
20105         (casesi_worker_0+1): Only increment ref count for proper label.
20106         (casesi_worker_0+2): Likewise.
20107
20108 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
20109
20110         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
20111
20112 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
20113
20114         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
20115         from Pmode to ptr_mode.
20116         (get_exception_pointer): Ditto.
20117         (connect_post_landing_pads): Ditto.
20118         (dw2_build_landing_pads): Ditto.
20119
20120 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
20121         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
20122         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
20123         (handle_pragma_redefine_extname): Change to use new function.
20124
20125 2002-07-08  Roger Sayle  <roger@eyesopen.com>
20126
20127         * combine.c (combine_simplify_rtx): Add an explicit cast
20128         to avoid signed/unsigned comparison warning.
20129         (simplify_if_then_else): Likewise.
20130         (extended_count): Likewise.
20131         (simplify_shift_const): Likewise.
20132         (simplify_comparison): Likewise.
20133
20134 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
20135
20136         * config/mips/mips.md: Add imadd type.  Update scheduler description
20137         to use imadd as well as imul.
20138         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
20139         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
20140         (*mul_sub_si): Likewise for first alternative.  Change second
20141         alternative from imul to multi.
20142
20143 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
20144
20145         * c-common.c (c_common_post_options): Update prototype;
20146         don't init backends if preprocessing only.
20147         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
20148         * langhooks.h (struct lang_hooks): Update post_options to
20149         return a boolean.
20150         * toplev.c (parse_options_and_default_flags, do_compile,
20151         lang_independent_init): Update prototypes.  Allow the
20152         front end to specify that there is no need to initialize
20153         the back end.
20154         (general_init): Move call to hex_init here...
20155         (toplev_main): ...from here.  Pass flag for back end init
20156         suppression.
20157
20158 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
20159
20160         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
20161         (PREDICATE_CODES): Add entries for equality_comparison_operator,
20162         greater_comparison_operator and less_comparison_operator.
20163         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
20164         more operators.
20165         (equality_comparison_operator): New function.
20166         (greater_comparison_operator, less_comparison_operator): Likewise.
20167         * sh.md (beq_media_i): Disable generator function generation.
20168         Use match_operator to handle a whole class of comparisons.  Add
20169         modifier in output template to provide branch prediction.  Add type.
20170         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
20171         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
20172         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
20173         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
20174
20175 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
20176
20177         Emit MMIX function prologue and epilogue as rtl.
20178         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
20179         not unprototyped get_hard_reg_initial_val.
20180         ("call_value", "nonlocal_goto_receiver"): Ditto.
20181         ("return"): Make define_expand.  Move real insn to...
20182         ("*expanded_return"): New pattern.
20183         ("prologue", "epilogue"): New define_expands.
20184         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
20185         (struct machine_function): New member in_prologue.
20186         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
20187         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
20188         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
20189         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
20190         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
20191         (LOCAL_REGNO): Define.  Adjust comment.
20192         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
20193         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
20194         leaf_function_p.
20195         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
20196         the prologue.
20197         (mmix_target_asm_function_prologue): Make static.  Just mark that
20198         the prologue is being emitted.  Move guts to...
20199         (mmix_expand_prologue): New function.  Adjust for emitting
20200         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
20201         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
20202         \n.  Move guts to...
20203         (mmix_expand_epilogue): New function.  Adjust for emitting
20204         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
20205         (mmix_target_asm_function_end_prologue): Mark that the prologue
20206         has ended.
20207         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
20208         (mmix_conditional_register_usage): Improve comments.
20209         (mmix_local_regno): New function.
20210         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
20211         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
20212         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
20213         (mmix_get_hard_reg_initial_val): Ditto.
20214
20215 2002-07-06  Andreas Jaeger  <aj@suse.de>
20216
20217         * toplev.c (set_fast_math_flags): Don't use ISO C style function
20218         definitions.
20219         * gengtype.c (open_base_files): Likewise.
20220         (close_output_files): Likewise.
20221         * tracer.c (find_best_predecessor): Likewise.
20222         (find_best_successor): Likewise.
20223         (ignore_bb_p): Likewise.
20224
20225 2002-07-05  Roger Sayle  <roger@eyesopen.com>
20226
20227         PR c++/7099
20228         * builtin-attrs.def: Define new attribute lists for use in
20229         builtins.def.
20230         * builtins.def [DEF_BUILTIN]: Modify to take an additional
20231         ATTRS argument, an enumerated value defined in builtin-attrs.def
20232         that represents the attribute list for the builtins.  Modify
20233         all builtin functions to pass an appropriate attribute list.
20234         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
20235         their required noreturn attributes.
20236         * tree.h (enum_builtin_function): Ignore the additional parameter
20237         to DEF_BUILTIN.
20238         * builtins.c (built_in_names): Likewise.
20239         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
20240         argument with a tree representing the functions attribute list.
20241         Pass this "attrs" argument to builtin_function.  No longer handle
20242         the noreturn_p processing manually.
20243         (built_in_attributes): Move the definitions from builtin-attrs.def
20244         before c_common_nodes_and_builtins.
20245         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
20246         DEF_BUILTIN, passing it to both builtin_function and the changed
20247         builtin_function_2.
20248
20249         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
20250         __builtin__exit and __builtin__Exit.
20251
20252 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20253
20254         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
20255         QI mode registers in soft registers.
20256         ("zero_extendqihi2"): Do not take into account soft registers
20257         for register allocation (use '*' constraint).
20258
20259 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20260
20261         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
20262         it is dead.
20263         ("*ashrsi3"): Likewise.
20264         ("*lshrsi3"): Likewise.
20265
20266 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
20267
20268         * genautomata.c (output_max_insn_queue_index_def): Take latencies
20269         into account.
20270
20271 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20272
20273         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
20274         address computation and memory moves.
20275
20276 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
20277
20278         PR c++/6706
20279         * dwarfout.c (output_reg_number): Fix warning message.
20280         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
20281         before using it.
20282
20283 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
20284
20285         * gcc/gcc.c (asm_debug): Move initialization ...
20286         (init_spec): ... here.
20287
20288 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
20289
20290         * c-parse.in (extdef): Append ';'.
20291         (old_style_parm_decls): Append ';'.
20292
20293 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
20294
20295         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
20296         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
20297         to gcc_cv_as_gstabs_flag.
20298         * configure: Rebuilt.
20299
20300 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
20301
20302         * ggc.h (ggc_add_root): Document as obsolete.
20303
20304 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
20305
20306         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
20307         (mshflo_w): Likewise.
20308
20309 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
20310
20311         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
20312         vector mode subregs of constants to finding integer mode
20313         subregs of constants.
20314         * cse.c (cse_insn): Use simplify_gen_subreg.
20315         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
20316         From a vector mode expression of different size than the
20317         target mode.
20318
20319 2002-07-03  Eric Christopher  <echristo@redhat.com>
20320
20321         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
20322         * config/mips/mips.h: Remove deprecated -m<processor> options
20323         and cc1_cpu_spec associated.
20324         (CONSTANT_ADDRESS_P): Fix last patch.
20325         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
20326         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
20327         sunge_sf): Remove.
20328
20329 2002-07-03  Stan Shebs  <shebs@apple.com>
20330
20331         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
20332         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
20333         (CPP_SPEC): Remove insertion of APPLE_CC definition.
20334
20335 2002-07-03  Roger Sayle  <roger@eyesopen.com>
20336
20337         * combine.c (struct_undo): Change types of recorded substitutions
20338         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
20339         (do_SUBST_INT): Change types of the substitution from unsigned int
20340         to int, to avoid compilation warning from SUBST_INT's only caller.
20341
20342         (make_extraction): Add cast to avoid compilation warning.
20343         (force_to_mode): Remove cast to avoid compilation warning.
20344
20345 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
20346             Jeff Law  <law@redhat.com>
20347
20348         * i386.md (length_immediate attribute): Fix typo.
20349         (length_address attribute): Likewise.
20350         (modrm attribute): Set it to 0 for immediate call instructions.
20351         (jcc_1 pattern): Set modrm attribute to 0.
20352         (jcc_2 pattern ): Likewise.
20353         (jump pattern): Likewise.
20354         (doloop_end_internal pattern): Explicitly set length.
20355         (leave pattern): Fix typo.
20356         (leave_rex64 pattern): Likewise.
20357
20358 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
20359
20360         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
20361         in FPR as preference.
20362         (fctiwz): Same.
20363         (floatdidf2, fix_truncdfdi2): Same.
20364         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
20365         (floatditf2): Same.
20366         (floatsitf2, fix_trunctfsi2): SImode in GPR.
20367         (ctrdi): Remove FPR alternative and splitter.
20368
20369 2002-07-03  Will Cohen  <wcohen@redhat.com>
20370
20371         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
20372
20373 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
20374
20375         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
20376         than UNITS_PER_WORD, unless this is little endian and the first unit
20377         in this word.  Let extract_bit_field decide how to load an element.
20378         Force arguments to matching mode.
20379         (expand_vector_unop): Likewise.
20380
20381         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
20382         consist of word_mode elements.
20383         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
20384         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
20385         (build_unary_op): Allow vector types for BIT_NOT_EPR.
20386         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
20387         CONST_VECTOR.
20388         * optabs.c (expand_vector_binop): Try to perform operation in
20389         smaller vector modes with same inner size.  Add handling of AND, IOR
20390         and XOR.  Reject expansion to inner-mode sized scalars when using
20391         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
20392         (expand_vector_unop): Try to perform operation in smaller vector
20393         modes with same inner size.  Add handling of one's complement.
20394         When there is no vector negate operation, try a vector subtract
20395         operation.  Use simplify_gen_subreg on constants.
20396         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
20397         constants into smaller vectors with same inner mode, and to
20398         integer CONST_DOUBLEs.
20399
20400 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20401
20402         * c-parse.in (parsing_iso_function_signature): New variable.
20403         (extdef_1): New, copied from...
20404         (extdef): ... here.  Reset parsing_iso_function_signature.
20405         (old_style_parm_decls):  Reset parsing_iso_function_signature.
20406         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
20407         Warn about ISO C style function definitions.
20408         (nested_function, notype_nested_function): Reset
20409         parsing_iso_function_signature.
20410         (parmlist_2): Set parsing_iso_function_signature.
20411
20412         * doc/invoke.texi (-Wtraditional): Document new behavior.
20413
20414 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
20415
20416         * config.gcc (mips*el-*-*): Use tm_defines to set
20417         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
20418         * config/mips/little.h: Remove.
20419
20420 2002-07-02 Devang Patel <dpatel@apple.com>
20421
20422         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
20423         object as parameter. Prevent something like 'NSObject' to be
20424         used as the type for a method argument.
20425
20426 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
20427
20428         * cpptrad.c: Update comment.
20429
20430 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
20431
20432         * doc/cpp.texi: Update for traditional preprocessing changes.
20433         * goc/cppopts.texi: Similarly.
20434
20435 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
20436
20437         * c-parse.in (designator): Enable designated initializers if ObjC.
20438         (objcmessageexpr): Remove references to objc_receiver_context.
20439         * objc/objc-act.h (objc_receiver_context): Remove decl.
20440         * objc/objc-act.c (objc_receiver_context): Remove.
20441         (lookup_objc_ivar): Test objc_method_context instead of
20442         objc_receiver_context.
20443
20444 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
20445
20446         * sh.c (print_operand, case 'N'): Allow zero vector.
20447         (arith_reg_or_0_operand): Likewise.
20448         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
20449         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
20450         IOR, XOR, PLUS and SET and take their respective constant
20451         ranges into account.
20452         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
20453         * sh.md (subdi3, subdi3_media): Allow zero operand.
20454         (movv8qi_i+3): Only vector that is not split is the zero vector.
20455         Fix operand 3 to simplify_subreg.
20456         (movv2si_i): Split alternative 1.
20457         (mshfhi_l_di_rev+1): New splitter.
20458
20459 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
20460
20461         PR preprocessor/7029
20462         * cppinit.c (cpp_handle_option):  Suppress warnings with an
20463         implicit "-w" for "-M" and "-MM".
20464         * doc/cppopts.texi: Update.
20465
20466 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20467
20468         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
20469         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
20470         builtin_function.
20471
20472 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
20473
20474         * README.Portability: Fix typos.
20475
20476 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
20477
20478         PR target/7177
20479         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
20480         of indirections for register inside sign-extended mem part.
20481
20482 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20483
20484         * tree.h:  Modify builtin_function interface to take an extra
20485         argument ATTRS, which is a tree representing an attribute list.
20486
20487         * c-decl.c (builtin_function): Accept additional parameter.
20488         * objc/objc-act.c (builtin_function): Likewise.
20489         * f/com.c (builtin_function): Likewise.
20490         * java/decl.c (builtin_function): Likewise.
20491         * ada/utils.c (builtin_function): Likewise.
20492         * cp/decl.c (builtin_function): Likewise.
20493         (builtin_function_1): Likewise.
20494
20495         * c-common.c (c_common_nodes_and_builtins): Pass an additional
20496         NULL_TREE argument to builtin_function.  (builtin_function_2):
20497         Likewise.
20498         * cp/call.c (build_java_interface_fn_ref): Likewise.
20499         * objc/objc-act.c (synth_module_prologue): Likewise.
20500         * java/decl.c (java_init_decl_processing): Likewise.
20501         * f/com.c (ffe_com_init_0): Likewise.
20502
20503         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
20504         NULL_TREE argument to builtin_function.
20505         * config/arm/arm.c (def_builtin): Likewise.
20506         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
20507         * config/i386/i386.c (def_builtin): Likewise.
20508         * config/ia64/ia64.c (def_builtin): Likewise.
20509         * config/rs6000/rs6000.c (def_builtin): Likewise.
20510
20511 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
20512
20513         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
20514         * config/mips/t-isa3264: Likewise.
20515         * config/mmix/t-mmix: Likewise.
20516
20517 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
20518
20519         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
20520
20521 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20522
20523         PR opt/4046
20524         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
20525         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
20526         B are truth values.
20527
20528 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
20529
20530         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
20531
20532 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
20533
20534         * README.Portability (Function prototypes): Give an example of
20535         declaring and defining a function with no arguments.
20536
20537         * README.Portability (Function prototypes): Document new
20538         variable-argument function macros.
20539
20540 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
20541
20542         * sh.c (langhooks.h): Include.
20543         (sh_init_builtins, sh_media_init_builtins): New functions.
20544         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
20545         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
20546         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
20547         (builtin_description): New struct tag.
20548         (signature_args, bdesc): New arrays.
20549         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
20550         (print_operand): Add 'N' modifier.
20551         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
20552         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
20553         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
20554         (CONST_COSTS): Add special case for SHmedia AND.
20555         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
20556         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
20557         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
20558         target_operand can also be const or unspec.
20559         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
20560         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
20561         (attribute type): Add new types.
20562         (anddi3): Add splitter.
20563         (movdi_const_16bit+1): Add code to handle vector constants and
20564         bitmasks efficiently.
20565         (shori_media): Have generator function made.
20566         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
20567         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
20568         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
20569         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
20570         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
20571         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
20572         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
20573         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
20574         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
20575         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
20576         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
20577         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
20578         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
20579         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
20580         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
20581         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
20582         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
20583         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
20584         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
20585         (ftrv): Likewise.
20586
20587         (fpu_switch+1, fpu_switch+2): Remove constraint.
20588
20589 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
20590
20591         * tree.c (build_function_type_list): Update function comment.
20592         Rename first argument to return_type.
20593
20594 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
20595
20596         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
20597         tradcif.y and related files.
20598
20599 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
20600
20601         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
20602
20603 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20604
20605         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
20606
20607 See ChangeLog.7 for earlier changes.