Makefile.in (lcm.o): Add dependency on function.h
[platform/upstream/gcc.git] / gcc / ChangeLog
1 Tue Feb 25 12:35:34 CET 2003  Jan Hubicka  <jh@suse.cz>
2
3         * Makefile.in (lcm.o):  Add dependency on function.h
4         * lcm.c (function.h): Include.
5         * i386.c (machine_function, ix86_stack_locals,
6         * ix86_save_varrargs_registers) : Move to
7         ...
8         * i386.h (machine_function, ix86_stack_locals,
9         ix86_save_varrargs_registers): ... here; add optimize_mode_switching
10         (ix86_optimize_mode_switching): New.
11         * i386.md (fix patterns): Set ix86_optimize_mode_switching
12
13 2003-02-25  Nick Clifton  <nickc@redhat.com>
14
15         * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo.  Name
16         of fourth arg is 'fndecl' not 'indirect'.  Update comment
17         describing the function's parameters.
18
19 Mon Feb 24 22:08:22 CET 2003  Jan Hubicka  <jh@suse.cz>
20
21         * combine.c (simplify_shift_const):  Fix previous patch.
22
23 2003-02-24  Jeff Law  <law@redhat.com>
24
25         * i386.md (testdi_1_rex64): Discourage reload from using the %eax
26         alternative.
27         (testsi_1, testhi_1, testqi_1): Likewise.
28
29 2003-02-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
30
31         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
32         __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
33         * doc/extend.texi (Tru64 Pragmas): Reflect this.
34
35         * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
36         extern_prefix support for Tru64 UNIX V5 <sys/stat.h>. 
37         * fixinc/fixincl.x: Regenerate.
38         * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
39         testcase.
40         Fixes PR c/5059, c/6126, other/9671.
41         
42 2003-02-24  Roger Sayle  <roger@eyesopen.com>
43
44         * gcc.c (do_spec_1) ['{']:  Handle pending argument upon return
45         from handle_braces in "%{...}".
46
47 2003-02-24  Kaz Kojima  <kkojima@gcc.gnu.org>
48
49         * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
50         (prepare_move_operands): Handle TLS operands.
51         (tls_symbolic_operand): New.
52         (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
53         (legitimize_pic_address): Do nothing for the TLS symbol.
54         (sh_encode_section_info): Handle TLS case.
55         (sh_strip_name_encoding): Drop TLS encoding.
56         * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
57         * config/sh/sh.h (SH_TLS_ENCODING): Define.
58         (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
59         (ASM_OUTPUT_LABELREF): Drop TLS encoding.
60         (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
61         * config/sh/sh.md: Define TLS UNSPEC constants.
62         (type): Add tls_load.
63         ("tls_global_dynamic", "tls_local_dynamic"): New insns.
64         ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
65         ("tls_initial_exec"): New insn.
66         ("sym2TPOFF", "symTPOFF2reg"): New expanders.
67         ("load_gbr"): New insn.
68
69         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
70         * configure: Regenerate.
71
72 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
73
74         * calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
75         2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
76         * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
77         (enum block_op_methods): Reorder for better store_expr optimization.
78         * expr.c (store_expr): Test bit 1 of "want_value" for call param
79         stores, test bit 0 for original want_value meaning.  Pass
80         BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set.  Adjust
81         recursive calls, and calls to expand_param.
82         (expand_expr): Handle EXPAND_STACK_PARM modifier.  When cse
83         expected, set target to 0 rather than to subtarget.  Formatting.
84
85 2003-02-23  Kazu Hirata  <kazu@cs.umass.edu>
86
87         * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
88
89 2003-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
90
91         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
92         new default behavior.
93         * ggc-common.c: Include sys/resource.h.
94         (ggc_rlimit_bound): New function.
95         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
96         defaults to account for rlimits.
97
98 2003-02-22  Richard Henderson  <rth@redhat.com>
99
100         * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
101
102 2003-02-22  Kelley Cook <kelley@dwhoops.info>
103
104         * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
105         (ix86_tune_string): Rename from ix86_cpu_string.
106
107 2003-02-22  Kelley Cook <kelleycook@comcast.net>
108
109         * config/i386/i386.c: Replace "mcpu" with "mtune".
110         * config/i386/i386.h (TARGET_OPTIONS): Likewise.
111         (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
112         * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
113         with "mtune".  Note that "mcpu" is a deprecated synonym for "mtune".
114
115 2003-02-23  Andreas Schwab  <schwab@suse.de>
116
117         * config.gcc: Delete references to m68k/t-linux and
118         m68k/t-linux-aout.
119         * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
120
121 Sat Feb 22 20:22:19 CET 2003  Jan Hubicka  <jh@suse.cz>
122
123         * toplev.c (rest_of_compilation):  Apply fotgotten hunk
124         of track scheduling patch.
125
126 Sat Feb 22 19:29:28 CET 2003  Jan Hubicka  <jh@suse.cz>
127
128         * config/linux.h (TARGET_HAS_F_SETLKW): Define.
129         * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
130
131 Sat Feb 22 12:42:16 CET 2003  Jan Hubicka  <jh@suse.cz>
132
133         * c-decl.c (c_expand_body_1): Fix.
134
135 Sat Feb 22 03:13:36 CET 2003  Jan Hubicka  <jh@suse.cz>
136
137         * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
138
139         * cfgcleanup.c (try_forward_edges):  Don't check loop structures
140         when not optimizing.
141         (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
142         when not expensive.
143         * toplev.c (rest_of_compilation):  Duplicate loop headers only when
144         optimizing;  Delete trivially dead insns early; fix optimize check.
145
146         * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
147         dependency on cgraph.h
148         * c-decl.c: Include cgraph.h
149         (finish_function): Update call of tree_inlinable_function_p.
150         * c-objc-common.c: Include cgraph.h
151         * cgraph.h: New file.
152         * cgraphunit.c: New file.
153         * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
154         (cgraph_nodes, cgraph_n_nodes): Globalize.
155         (cgraph_finalize_function, cgraph_finalize_compilation_unit
156         cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
157         Move into cgraphunit.c
158         * tree-inline.c: Include cgraph.h
159         * tree-inline.c: Include cgraph.h
160
161 2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
162
163         * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
164         for copying a register.
165
166 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
167
168         PR other/3782
169         * toplev.c (process_options): If flag_detailed_statistics is set,
170         then set time_report as well.
171
172         PR c/8828
173         * jump.c (never_reached_warning): Don't fall through BARRRIER
174         insns.  Update comments to reflect what the function really does.
175
176 2003-02-21  Roger Sayle  <roger@eyesopen.com>
177
178         * fold-const.c (omit_one_operand): No longer static.
179         * tree.h (omit_one_operand): Prototype here.
180         (div_and_round_double): Keep fold-const.c prototypes together.
181         * builtins.c (builtin_mathfn_code): Handle binary built-in
182         funtions, such as "pow" and "atan2".
183         (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
184         Simplify optimizations using "type" the builtin's return type.
185
186 2003-02-22  Hans-Peter Nilsson  <hp@axis.com>
187
188         * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
189         Fix functionalization typo.
190
191         * regmove.c (optimize_reg_copy_1): Do not replace a hard register
192         in an asm.
193
194 2003-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
195
196         * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
197         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
198         documentation.
199         * ggc-common.c: Include params.h
200         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
201         init_ggc_heuristics): New functions.
202         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
203         init_ggc_heuristics): Prototype.
204         * toplev.c (print_version):  Output GGC heuristics.
205         (parse_options_and_default_flags): Call init_ggc_heuristics.
206
207 Sat Feb 22 02:35:07 CET 2003  Jan Hubicka  <jh@suse.cz>
208
209         * i386.c (def_builtin):  Special case 64bit builtins.
210         (MASK_SSE164, MASK_SSE264): New constants.
211         (builtin_description): Add 64bit builtins.
212         (ix86_init_mmx_sse_builtins): Likewise.
213         * i386.h (enum ix86_builtins): Likewise.
214         * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
215         sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
216         (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
217         * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
218         * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
219         _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
220         _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
221
222 Sat Feb 22 00:48:22 CET 2003  Jan Hubicka  <jh@suse.cz>
223
224         * i386.c (builtin_description): Add __builtin_ia32_paddq and
225         __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
226          and __builtin_ia32_psubq128.
227         * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
228         * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
229         (mmx_adddi3, mmx_subdi3): New.
230         * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
231         * xmmintrin.h (_mm_movepi64_pi64): New.
232         (_mm_add_epi64, _mm_sub_epi64): fix.
233         (_mm_mul_pu16): Rename to...
234         (_mm_mul_su32): ... this one.
235
236         * builtins.c (expand_builtin_expect):  Do not predict
237         flag_guess_branch_prob is not set.
238         * c-semantics.c (expand_stmt): Likewise.
239         * predict.c (predict_insn): Likewise.
240         * stmt.c (expand_continue_loop): Likewise.
241         * toplev.c (rest_of_compilation): Do not call
242         note_prediction_to_br_prob and note_prediction_to_br_prob
243         when not optimizing.
244
245 Fri Feb 21 23:10:13 CET 2003  Jan Hubicka  <jh@suse.cz>
246
247         * cfgrtl.c (commit_edge_insertions):  Call
248         find_many_sub_basic_block only when some code has been emitted.
249         (commit_edge_insertions_watch_calls): Bring into sync with
250         commit_edge_insertions
251
252 Fri Feb 21 20:41:29 2003  J"orn Rennecke <joern.rennecke@superh.com>
253
254         * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
255
256         * sh.md (binary_sf_op): Use extra constant operand instead of
257         negating constant operand 4.
258         * sh.c (sh_expand_binop_v2sf): Supply it.
259
260 2003-02-21  Zack Weinberg  <zack@codesourcery.com>
261
262         * cpphash.h (struct lexer_state): Add directive_wants_padding.
263         * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
264         for directives of type INCL.
265         (glue_header_name, parse_include): Use get_token_no_padding.
266         * cppmacro.c (replace_args): If directive_wants_padding,
267         provide padding tokens.
268
269 2003-02-21  Kazu Hirata  <kazu@cs.umass.edu>
270
271         * config/h8300/h8300.md (a peephole2): New.
272
273 Fri Feb 21 11:05:44 CET 2003  Jan Hubicka  <jh@suse.cz>
274
275         * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
276         (commit_edge_insertions): Call find_many_sub_basic_blocks
277
278         * reg-stack.c (convert_regs): Cleax aux for blocks.
279
280 Fri Feb 21 10:29:52 CET 2003  Jan Hubicka  <jh@suse.cz>
281
282         * toplev.c (parse_options_and_default_flags): Undo accidental commit.
283
284 2003-02-21  Glen Nakamura  <glen@imodulo.com>
285
286         PR optimization/8613
287         * builtins.c (expand_builtin): Emit postincrements before expanding
288         builtin functions.
289
290 2003-02-21  Ben Elliston  <bje@redhat.com>
291
292         PR other/5634
293         * doc/install.texi (Configuration): Explain using $HOME instead of
294         the ~ metacharacter when referring to home directories.
295
296 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
297
298         * configure.in (TARGET_SYSTEM_ROOT): Set default to
299         ${exec_prefix}/${target_alias}/sys-root.  Match explicit
300         '${exec_prefix}' (in addition to the expansion thereof) as
301         relocatable.
302         * configure: Rebuilt.
303
304 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
305
306         * config/h8300/h8300.md (addhi3_incdec): Change the name to
307         *addhi3_incdec.
308         (addsi3_incdec): Change the name to *addsi3_incdec.
309
310 2003-02-20  Roger Sayle  <roger@eyesopen.com>
311
312         * explow.c (force_reg): Avoid useless REG_EQUAL notes.
313
314 2003-02-20  Toon Moene  <toon@moene.indiv.nluug.nl>
315
316         PR fortran/9038
317         * c-opts.c (sanitize_cpp_opts): Add Fortran front end
318         options to be ignored.
319         (c_common_decode_option): Ignore them when preprocessing.
320
321 Thu Feb 20 21:41:19 CET 2003  Jan Hubicka  <jh@suse.cz>
322
323         * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
324         global variables.
325         (lang_independent_options):  Add -fsched2-use-superblocks
326         -fsced2-use-traces.
327         (rest_of_compilation): Deal with it.
328         * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
329         * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
330         Declare.
331         * rtl.h (reg_to_stack):  Update prototype.
332         * reg-stack.c (reg_to_stack): Return when something has changed;
333         update liveness when executing after superblock scheduling.
334
335         * combine.c (simplify_shift_const):  Simplify few special cases
336         into constants.
337
338 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
339
340         * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
341         (add.,subf.,neg.): Change attribute to fast_compare.
342         All DFA descriptions updated.
343
344 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
345
346         Change base class access representation.
347         * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
348         TREE_VIA_PRIVATE): Remove.
349         (BINFO_BASEACCESSES): New binfo elt.
350         (BINFO_BASEACCESS): New accessor.
351         (BINFO_ELTS): Increase.
352         (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
353         (access_public_node, access_protected_node,
354         access_private_node): New global nodes.
355         * tree.c (build_common_tree_nodes_2): Initialize access nodes.
356         * dbxout.c (dbxout_type): Adjust.
357         * dwarf2out.c (gen_inheritance_die): Add access parameter.
358         (gen_member_die): Adjust.
359         * dwarfout.c (output_inheritance_die): ARG is array of two trees.
360         (output_type): Adjust.
361         * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
362
363         Change base class access representation. Share virtual base
364         binfos.
365         * cp/call.c (build_special_member_call): Remove binfo_for_vbase
366         call.
367         * cp/class.c (build_base_path): Likewise.
368         (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
369         (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
370         (make_new_vtable): Adjust.
371         (force_canonical_binfo_r): Delete.
372         (force_canonical_binfo): Delete.
373         (mark_primary_virtual_base): Delete.
374         (dfs_unshared_virtual_bases): Delete.
375         (mark_primary_bases): Adjust.
376         (maybe_warn_about_overly_private_class): Adjust.
377         (dfs_base_derived_from): Delete.
378         (base_derived_from): Follow the inheritance chain.
379         (struct find_final_overrider_data): Add vpath member.
380         (dfs_find_final_overrider): Adjust.
381         (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
382         (find_final_overrider): Adjust.
383         (update_vtable_entry_for_fn): Adjust.
384         (modify_all_vtables): Adjust.
385         (walk_subobject_offsets): Adjust.
386         (layout_nonempty_base_or_field): Adjust.
387         (layout_empty_base): Remove last parameter. Adjust.
388         (build_base_field): Adjust.
389         (build_base_fields): Adjust.
390         (propagate_binfo_offsets): Remove last parameter. Adjust.
391         (dfs_set_offset_for_unshared_vbases): Delete.
392         (layout_virtual_bases): Adjust.
393         (finish_struct_1): Adjust.
394         (init_class_processing): Don't init access nodes.
395         (dfs_get_primary_binfo): Delete.
396         (get_primary_binfo): Adjust.
397         (dump_class_hierarchy_r): Remove most derived arg, add IGO
398         parameter. Adjust.
399         (dump_class_hierarchy): Adjust.
400         (finish_vtbls): Adjust.
401         (get_original_base): Delete.
402         (build_vtt_inits): Adjust.
403         (dfs_build_secondary_vptr_vtt_inits): Adjust.
404         (dfs_ctor_vtable_bases_queue_p): Adjust.
405         (build_ctor_vtbl_group): Adjust.
406         (dfs_accumulate_vtbl_inits): Adjust.
407         (build_vtbl_initializer): Adjust.
408         (build_vbase_offset_vtbl_entries): Adjust.
409         (add_vcall_offset_vtbl_entries_1): Adjust.
410         * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
411         (access_*_node): Remove.
412         (CANONICAL_BINFO): Delete.
413         (BINFO_UNSHARED_MARKED): Remove.
414         (BINFO_MARKED): Set LANG_FLAG_0 directly.
415         (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
416         (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
417         (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
418         Delete.
419         (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
420         (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
421         (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
422         Delete.
423         (BINFO_DEPENDENT_BASE_P): New.
424         (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
425         index.
426         (markedp, unmarkedp): Adjust.
427         (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
428         dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
429         find_vbase_instance, binfo_for_vbase): Delete.
430         (copied_binfo, original_binfo): Declare.
431         (finish_base_specifier): Add virtual_p arg.
432         (unshare_base_binfos): Delete.
433         (copy_base_binfos): Declare.
434         (reverse_path): Delete.
435         * cp/decl.c (xref_basetypes): Access and virtuality passed
436         differently. Don't copy direct base binfos here. Call
437         copy_base_binfos.
438         * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
439         (initialize_vtbl_ptrs): Adjust.
440         (expand_member_init): Adjust.
441         * cp/parser.c (cp_parser_base_specifier): Adjust.
442         * cp/pt.c (instantiate_class_template): Adjust.
443         (get_template_base_recursive): Adjust.
444         * cp/rtti.c (get_pseudo_ti_init): Adjust.
445         (get_pseudo_ti_desc): Adjust.
446         * cp/tree.c (unshare_base_binfos): Rename to ...
447         (copy_base_binfos): ... here, reimplement.
448         (make_binfo): Set BINFO_DEPENDENT_BASE_P.
449         (reverse_path): Remove.
450         * cp/typeck.c (get_delta_difference): Adjust error messages.
451         * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
452         * cp/search.c (lookup_base_r): Adjust.
453         (dynamic_cast_base_recurse): Adjust.
454         (canonical_binfo): Remove.
455         (dfs_canonical_queue): Remove.
456         (dfs_assert_unmarked_p): Remove.
457         (assert_canonical_unmarked): Remove.
458         (shared_marked_p, shared_unmarked_p): Remove.
459         (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
460         (dfs_access_in_type): Adjust.
461         (access_in_type): Adjust.
462         (dfs_accessible_queue_p): Adjust.
463         (dfs_accessible_p): Adjust.
464         (is_subobject_of_p_1, is_subobject_of_p): Remove.
465         (struct lookup_field_info): Remove from_dep_base_p field.
466         (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
467         (lookup_field_r): Remove dependent base code.
468         (lookup_member): Likewise.
469         (dfs_walk, dfs_walk_real): Add access arg to queue fn.
470         (dfs_unmarked_real_bases_queue_p): Remove.
471         (dfs_marked_real_bases_queue_p): Remove.
472         (dfs_skip_vbases): Remove.
473         (dfs_get_pure_virtuals): Adjust.
474         (markedp, unmarkedp): Adjust.
475         (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
476         (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
477         (dfs_unmark): Adjust.
478         (dfs_get_vbase_types):Remove.
479         (dfs_build_inheritance_graph_order): Remove.
480         (get_vbase_types): Remove
481         (dfs_find_vbase_instance): Remove.
482         (find_vbase_instance): Remove.
483         (dfs_debug_unmarkedp): Adjust.
484         (dependent_base_p): Remove.
485         (dfs_push_type_decls): Adjust.
486         (dfs_push_decls): Adjust.
487         (dfs_no_overlap_yet): Adjust.
488         (copied_binfo): New function.
489         (original_binfo): New function.
490         (binfo_for_vbase): Remove.
491
492         Change base class access representation.
493         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
494         (add_interface_do): Likewise.
495
496 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
497
498         * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
499         * config/rs6000/power4.md (power4-store,power4-vecstore): New
500         insn reservations.
501         (power4-fpstore): Compact.
502
503 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
504
505         * config/h8300/h8300.md (*iorsi3_w): New.
506
507 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
508
509         * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
510         * rtl.c (reg_note_name): Likewise.
511         * rtl.h (enum reg_note): Likewise.
512         * doc/invoke.texi: Likewise.
513         * doc/rtl.texi: Likewise.
514
515 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
516
517         * bb-reorder.c (find_traces_1_round): Fix comment typo.
518
519 2003-02-19  Roger Sayle  <roger@eyesopen.com>
520
521         * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
522         addition in the presence of signaling NaNs.
523
524 2003-02-19  Krister Walfridsson  <cato@df.lth.se>
525
526         * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
527
528 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
529
530         * config/h8300/h8300.c (output_logical_op): Optimize or.l when
531         ORing with 0xffff??00 with the highest bit of the ?? part set.
532         (compute_logical_op_length): Update.
533         (compute_logical_op_cc): Likewise.
534
535 2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
536
537         * bb-reorder.c (find_traces_1_round): Fixed condition for small
538         destination block with multiple predecessors.
539         (connect_traces): Check whether the block is a start of trace.
540
541 Wed Feb 19 19:00:24 CET 2003  Jan Hubicka  <jh@suse.cz>
542
543         * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
544         * function.c (assign_params): Likewise.
545         * arm-protos.h (arm_init_cumulative_args): Update prototype.
546         * arm.c (arm_init_cumulative_args): Update function.
547         * arm.h (INIT_CUMULATIVE_ARGS): Update.
548         * avr-protos.h (init_cumulative_args): Update prototype.
549         * avr.c (init_cumulative_args): Update function.
550         * avr.h (INIT_CUMULATIVE_ARGS): Update.
551         * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
552         * d30v.c (d30v_init_cumulative_args): Update function.
553         * d30v.h (INIT_CUMULATIVE_ARGS): Update.
554         * frv-protos.h (frv_init_cumulative_args): Update prototype.
555         * frv.c (frv_init_cumulative_args): Update function.
556         * frv.h (INIT_CUMULATIVE_ARGS): Update.
557         * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
558         * pa.h (INIT_CUMULATIVE_ARGS): Update.
559         * sparc-protos.h (init_cumulative_args): Update prototype.
560         * sparc.c (init_cumulative_args): Update function.
561         * sparc.h (INIT_CUMULATIVE_ARGS): Update.
562         * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
563
564 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
565
566         * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
567         (*ashiftsi_sextqi_7): Likewise.
568
569 2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
570
571         * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
572         ISO C99 and C++.
573
574         * fixinc/inclhack.def (irix___restrict): Don't change __restrict
575         for C++ on IRIX 6.5.1[89].
576         * fixinc/tests/base/internal/sgimacros.h: New file.
577
578         * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
579         * fixinc/tests/base/internal/wchar_core.h: New file.
580
581         * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
582         socklen_t definition.
583         * fixinc/fixincl.x: Regenerate.
584         * fixinc/tests/base/sys/socket.h: New file.
585         Fixes PR libgcj/9652.
586
587 Wed Feb 19 17:22:51 CET 2003  Jan Hubicka  <jh@suse.cz>
588
589         * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
590
591 2003-02-19  David Edelsohn  <edelsohn@gnu.org>
592
593         * config/rs6000/rs6000.c (rs6000_override_options): Initialize
594         align_jumps_max_skip and align_loops_max_skip.
595
596 2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
597
598         * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
599         test size if named section.
600
601 2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
602
603         * expr.c (expand_expr): Use gen_int_mode for the argument
604         to gen_rtx_MULT.
605
606 Wed Feb 19 14:22:42 CET 2003  Jan Hubicka  <jh@suse.cz>
607
608         * i386.md (cosxf2):  Fix conditional.
609
610 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
611
612         * config/h8300/h8300.md (extendqisi2): Change to an expander.
613         (*extendqisi2_h8300): New.
614         (*extendqisi2_h8300hs): Likewise.
615
616 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
617
618         * config/h8300/h8300-protos.h: Update the prototype for
619         split_adds_subs.  Remove the prototypes for
620         const_int_le_2_operand and const_int_le_6_operand.
621         * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
622         (const_int_le_2_operand): Remove.
623         (const_int_le_6_operand): Likewise.
624         * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
625         for const_int_le_2_operand and const_int_le_6_operand.
626         * config/h8300/h8300.md: Update all uses of split_adds_subs.
627         (a peephole2): New.
628
629 Tue Feb 18 23:50:59 CET 2003  Jan Hubicka  <jh@suse.cz>
630
631         * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
632         (cgraph_expand_function): Rewrite.
633
634 2003-02-18  Matt Austern <austern@apple.com>
635
636         * toplev.c, langhooks.c, langhooks-def.h: Move
637         write_global_declarations from toplev.c to langhooks.c.
638
639 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
640
641         * config/h8300/h8300.c (general_operand_src): Always check
642         MODE.
643         (general_operand_dst): Likewise.
644
645 2003-02-18  Roger Sayle  <roger@eyesopen.com>
646
647         * convert.c (convert_to_real): Also optimize (float)log(x) into
648         logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
649
650 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
651
652         * config/sh/sh.c (unspec_caller_rtx_p): New.
653         (sh_cannot_copy_insn_p): New.
654         (TARGET_CANNOT_COPY_INSN_P): New.
655
656 2003-02-18  Richard Henderson  <rth@redhat.com>
657
658         * c-common.c (handle_used_attribute): Accept static data too.
659
660 2003-02-18  Nick Clifton  <nickc@redhat.com>
661             Aldy Hernandez  <aldyh@redhat.com>
662
663         * testsuite/gcc.dg/20030218-1.c: New.
664
665         * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
666
667         * target-def.h (TARGET_INITIALIZER): Add
668         TARGET_VECTOR_TYPES_COMPATIBLE.
669         (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
670
671         * target.h (struct gcc_target): Add field vector_types_compatible.
672
673         * c-typeck.c (comptypes): Take into account
674         TARGET_VECTOR_TYPES_COMPATIBLE.
675         (convert_for_assignment): Same.
676
677         * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
678         (rs6000_spe_vector_types_compatible): New.
679         (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
680
681 2003-02-19  Andreas Schwab  <schwab@suse.de>
682
683         * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
684         * toplev.c: Include langhooks-def.h.
685
686 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
687
688         * config/mips/mips.h (enum processor_type): Sort entries
689         alphabetically.
690         * config/mips/mips.md (define_attr cpu): Sync with processor_type
691         enum values, including adding entries that were missing.
692
693 Tue Feb 18 20:15:54 2003  J"orn Rennecke <joern.rennecke@superh.com>
694
695         * sh.c (calc_live_regs): Also check GET_CODE when checking if
696         initial value for PR_REG is still the PR_REG register.
697
698 2003-02-18  Jim Wilson  <wilson@redhat.com>
699
700         * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
701         instruction in output template.
702         (bsp_value): Change output template from string to C code, add %,
703         before actual instruction.
704         (flushrs): Mark as not predicable.
705
706 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
707
708         * inclhack.def (netbsd_bogus_semicolon): New fix.
709         * fixincl.x: Rebuilt.
710         * tests/base/ctype.h: Update.
711
712 2003-02-18  Roger Sayle  <roger@eyesopen.com>
713
714         * fold-const.c (negate_expr_p): New function to determine whether
715         an expression can be negated cheaply.
716         (fold) [MINUS_EXPR]: Use it to determine whether to transform
717         -A - B into -B - A for floating point types.
718
719 2003-02-18  Roger Sayle  <roger@eyesopen.com>
720
721         * sbitmap.c (sbitmap_resize): New function.
722         * sbitmap.h (sbitmap_resize): Prototype here.
723         * recog.c (split_all_insns): Use sbitmap_resize.
724
725 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
726
727         * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
728         insn length.
729         (extendqisi2): Likewise.
730         (*extendhisi2_h8300): Likewise.
731
732 2003-02-18  Matt Austern <austern@apple.com>
733
734         * langhooks.h, langhooks-def.h: introduce new langhook,
735         final_write_globals, with write_global_declarations as default.
736         * toplev.c: Move invocation of wrapup_global_declarations from
737         compile_file to new function, write_global_declarations.  Change
738         compile_file to use final_write_globals hook.  Change
739         wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
740         conditional.
741
742 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
743
744         * pa.md: Correct and enhance comment.
745
746 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
747
748         * gcc.c (validate_switches): Don't scan past closing '}'.
749
750 2003-02-18  Ben Elliston  <bje@redhat.com>
751
752         PR c++/1607
753         * doc/extend.texi (Function Attributes): Document the effect of
754         the C++ "this" parameter on the counting of arguments for the
755         "format" and "format_arg" attributes.
756
757 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
758
759         * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
760         (__ev_stdw): Same.
761         (__ev_stdh): Same.
762
763 Mon Feb 17 16:16:54 CET 2003  Jan Hubicka  <jh@suse.cz>
764
765         * recog.c (split_all_insns):  Fix memory overflow.
766
767 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
768
769         * config/h8300/h8300.md (cmpqi): Remove mode from compare.
770         (cmphi): Likewise.
771         (*cmphi_h8300): Likewise.
772         (*cmphi_h8300hs): Likewise.
773         (cmpsi): Likewise.
774         (7 peephole2): Likewise.
775
776 Sun Feb 16 23:07:52 CET 2003  Jan Hubicka  <jh@suse.cz>
777
778         * c-typeck.c (build_c_cast):  Fold constant variables into
779         initial values.
780
781 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
782
783         * doc/install.texi (Specific): Fix link for m68k-att-sysv.
784         (Binaries): Ditto for Sinix/Reliant Unix.
785
786 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
787
788         * arm.c (arm_reload_in_hi): Ensure that the scratch register does
789         not overlap the final result register.
790
791 2003-02-16 Arend Bayer <arend.bayer@web.de>
792            Richard Henderson  <rth@redhat.com>
793
794         PR c/8068
795         * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
796         rearrange mult arguments for less recursion.
797         (extract_muldiv): New.  Prevent runaway recursion.
798
799 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
800
801         * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
802         MASK_ALIGN_DOUBLE.
803
804 2003-02-15  Roger Sayle  <roger@eyesopen.com>
805
806         * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
807         to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
808         (ext_80387_constants_table): Global table of 80387 special constants
809         guarded by ext_80387_constants_init flag when not initialized.
810         (init_ext_80387_constants): New function to initialize this table.
811         (standard_80387_constant_p): Extend to recognize extra 80387
812         constants, in XFmode, on processors where this is a win.
813         (standard_80387_constant_opcode): New function to return the
814         opcode associated with standard_80387_constant_p.
815         (standard_80387_constant_rtx): New function to return the XFmode
816         CONST_DOUBLE associated with standard_80387_constant_p.
817         (ix86_rtx_costs): Give the new constants the same cost as 1.0.
818
819         * config/i386/i386-protos.h (standard_80387_constant_opcode):
820         Prototype here.
821         (standard_80387_constant_rtx): Likewise.
822
823         * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
824         *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
825         *movtf_integer): Simplify using new standard_80387_constant_opcode.
826
827 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
828
829         * doc/invoke.texi (Optimize Options): Correct @option syntax.
830
831 2003-02-15  Richard Henderson  <rth@redhat.com>
832
833         * Makefile.in (cfglayout.o): Depend on TARGET_H.
834         * cfglayout.c: Include target.h.
835         (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
836         * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
837         * target.h (struct gcc_target): Add cannot_copy_insn_p.
838
839         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
840         (TARGET_CANNOT_COPY_INSN_P): New.
841         (override_options): Revert 2003-02-08 hack.
842
843 2003-02-15  Richard Henderson  <rth@redhat.com>
844
845         * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
846         (bypass_conditional_jumps): Accept computed_jump_p insns as well.
847
848 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
849
850         * config/rs6000/rs6000.h (processor_type): Add PPC440.
851         * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
852         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
853         TARGET_SCHED_VARIABLE_ISSUE): Define.
854         (rs6000_use_dfa_pipeline_interface): New function.
855         (rs6000_multipass_dfa_lookahead): New Function.
856         (rs6000_variable_issue): New function.
857         (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
858         (rs6000_issue_rate): Add PPC440.
859         * config/rs6000/rs6000.md (unspec list): Correct typo.
860         (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
861         store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
862         cmp, delayed_cr, mfcr, mtcr.
863         (automata_option): Set "ndfa".
864         (extendMMNN2): Update attributes.
865         (movcc_internal1): Discourage move to non-cr0.  Update
866         attributes.
867         (movMM_update): Update attributes.
868         (cmpMM_internal): Update attributes.
869         (sCC CR materialization): Update attributes.
870         (branch patterns): Do not discourage non-cr0.
871         (cr logical patterns): Prefer destructive register allocation.
872         Update attributes.
873         (movesi_from_cr): Update attribute.
874         (mtcrf_operation): Update attribute.
875         (mtcrfsi): Update attribute.
876         * config/rs6000/40x.md: New file.
877         * config/rs6000/603.md: New file.
878         * config/rs6000/6xx.md: New file.
879         * config/rs6000/7450.md: New file.
880         * config/rs6000/7xx.md: New file.
881         * config/rs6000/mpc.md: New file.
882         * config/rs6000/power4.md: New file.
883         * config/rs6000/rios1.md: New file.
884         * config/rs6000/rios2.md: New file.
885         * config/rs6000/rs64.md: New file.
886         [Some DFA descriptions based on work by Michael Hayes]
887
888 2003-02-15  Richard Henderson  <rth@redhat.com>
889
890         * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
891         successors with multiple predecessors.
892         (connect_traces): Try harder to copy traces of length 1.
893
894         * function.h (struct function): Add computed_goto_common_label,
895         computed_goto_common_reg.
896         * function.c (free_after_compilation): Zap them.
897         * stmt.c (expand_computed_goto): Use them to produce one
898         indirect branch per function.
899
900 2003-02-15  Richard Henderson  <rth@redhat.com>
901
902         * cfgcleanup.c: Include params.h.
903         (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
904         too many outgoing edges from a block.
905         * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
906         * params.def (max-crossjump-edges): New.
907         * doc/invoke.texi: Document it.
908
909 2003-02-15  Richard Henderson  <rth@redhat.com>
910
911         * recog.c (split_all_insns): Include new blocks in life update;
912         do a global life update.
913
914 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
915
916         * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
917         Update copyright.
918         * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
919         -mno-cygwin case.
920
921 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
922
923         PR optimization/7702
924         * reload1.c (reload_cse_simplify_set): Honor
925         CANNOT_CHANGE_MODE_CLASS.
926
927 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
928
929         * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
930         function.
931         * config/mn10300/mn10300-protos.h: Declare it.
932         * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
933         attribute cc of instructions that may use clr.
934
935 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
936
937         * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
938         (x - (x & y)) is found.
939
940 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
941
942         * configure.in: Fix typo.
943         * configure: Regenerate.
944
945 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
946
947         * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
948
949 2003-02-13  Adam Nemet  <anemet@lnxw.com>
950
951         PR opt/2391
952         * combine.c: Fix spelling in comment.
953         (cached_nonzero_bits): New function.
954         (cached_num_sign_bit_copies): New function.
955         (nonzero_bits_with_known): New macro.
956         (num_sign_bit_copies_with_known): New macro.
957         (nonzero_bits1): Rename from nonzero_bits.  Add three new
958         arguments.  Change calls from nonzero_bits to
959         nonzero_bits_with_known.
960         (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
961         three new arguments.  Change calls from num_sign_bit_copies to
962         num_sign_bit_copies_with_known.
963         (nonzero_bits): New macro.
964         (num_sign_bit_copies): New macro.
965         (update_table_tick): Don't traverse identical subexpression more
966         than once.
967         (get_last_value_validate): Likewise.
968
969 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
970
971         * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
972         * function.h (struct emit_status): Length of regno_pointer_align
973         and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
974         not regno_pointer_align_length (i.e. length actually used, not
975         length as allocated)
976
977         * config/i386/i386.c (struct stack_local_entry): New.
978         (struct machine_function): Replace huge array with alist.
979         (assign_386_stack_local): Change to match.
980
981 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
982
983         * inclhack.def (hpux_long_double): Tighten select and add bypass
984         regexp.
985         * fixincl.x: Rebuilt.
986
987 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
988
989         * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
990         edge and block ends with a jump insn it must be simple jump.
991
992 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
993
994         * Makefile.in (PREPROCESSOR_DEFINES): Add
995         @TARGET_SYSTEM_ROOT_DEFINE@.
996         * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
997         is specified or if building a cross compiler.
998         (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
999         if the sysroot is under $exec_prefix.
1000         * configure: Regenerated.
1001         * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
1002         defined.
1003         (struct default_include): Add add_sysroot field.
1004         (cpp_SYSROOT): Declare.
1005         * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
1006         field.
1007         (cpp_SYSROOT): New variable.
1008         * cppinit.c (cpp_create_reader): Initialize
1009         CPP_OPTION (pfile, sysroot).
1010         (init_standard_includes): Handle add_sysroot.  Do not
1011         add unrelocated copies of relocated directories.
1012         (COMMAND_LINE_OPTIONS): Add -isysroot.
1013         (cpp_handle_option): Handle -isysroot.
1014         * cpplib.h (struct cpp_options): Add sysroot member.
1015         * gcc.c (The Specs Language): Update description of %I.
1016         (target_system_root_changed): New variable.
1017         (process_command): Conditionalize make_relative_prefix call
1018         on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
1019         target_system_root_changed.
1020         (do_spec_1): Add -isysroot to %I.
1021         * doc/invoke.texi (Spec Files): Update description of %I.
1022         * doc/install.texi (--with-sysroot): Update comment about
1023         relocation.
1024
1025 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
1026
1027         * config/h8300/h8300.md (a peephole2): New.
1028
1029 2003-02-13  Robert Lipe <robertlipe@usa.net>
1030             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1031
1032         * doc/install.texi (Specific): Update three SCO-related URLs.
1033
1034 2003-02-13  Andreas Schwab  <schwab@suse.de>
1035
1036         * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
1037         Parenthesize properly.
1038         (NPREDECESORS): Parenthesize properly.
1039
1040 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1041
1042         * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
1043
1044 2003-02-12  Roger Sayle  <roger@eyesopen.com>
1045
1046         * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
1047         (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
1048
1049         * reg-stack.c (subst_stack_regs_pat): Add support for binary
1050         UNSPEC instructions (e.g. "fpatan").
1051
1052 2003-02-12  Mike Stump  <mrs@apple.com>
1053
1054         * varray.c (element_size): Remove.
1055         (uses_ggc): Remove.
1056         (element): Add.
1057         (varray_init): Use new interface.
1058         (varray_grow): Use new interface.
1059         (varray_clear): Use new interface.
1060
1061 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
1062
1063         * config/rs6000/spe.h: Add casts to the arguments of the following
1064         macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
1065         evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
1066         evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
1067         __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
1068         __ev_get_u16, __ev_get_s16.
1069
1070 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1071
1072         * config/h8300/h8300.md (a peephole2): New.
1073
1074 Wed Feb 12 22:47:18 CET 2003  Jan Hubicka  <jh@suse.cz>
1075
1076         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
1077         (OBJS): Add callgraph.o
1078         (callgraph.o): New.
1079         * c-decl.c (expand_body_1): Break out from ...
1080         (expand_body): This one;  change calling convention
1081         (finish_function): Move some of expand_body logic here.
1082         (c_expand_deferred_function): Update call of expand_body
1083         (c_expand_stmt): Use c_expand_body_1.
1084         * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
1085         * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
1086         * c-tree.h (c_expand_body): Declare.
1087         * callgraph.c: New file.
1088         * flags.h (flag_unit_at_a_time): Declare.
1089         * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
1090         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
1091         LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
1092         * langhooks.h (struct lang_hooks_for_callgraph): New.
1093         (struct lang_hooks): Add callgraph field.
1094         * toplev.c (flag_unit_at_a_time): New.
1095         (lang_independent_options): Add flag_unit_at_a_time.
1096         (process_options): Disable unit-at-a-time mode for frontends not
1097         supporting callgraph.
1098         * tree-inline.c (typedef struct inline_data): Add "decl"
1099         (expand_call_inline): Update callgraph.
1100         (optimize_inline_calls): Set id.decl.
1101         * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
1102         cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
1103         cgraph_calls_p): Declare.
1104         * invoke.texi (-funit-at-a-time): Document
1105
1106 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
1107
1108         * config/rs6000/spe.h: Fix misc formatting.
1109         (__ev_create_ufix32_fs): Cast ev argument.
1110         (__ev_create_sfix32_fs): Same.
1111         (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
1112         (__ev_get_ufix32_fs_internal): Same.
1113
1114 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
1115
1116         * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
1117         * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
1118
1119 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
1120
1121         * cpplib.c (do_include_common): Move warnings for
1122         #include_next and #import out to callers.  Use early-return
1123         instead of nested ifs.  Don't do check_eol here.
1124         (parse_include): Do check_eol here with the rest of the
1125         parsing stuff.
1126         (do_include_next, do_import): Now handle warnings.
1127
1128 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1129
1130         * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
1131
1132 Wed Feb 12 15:19:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1133
1134         * predict.c (estimate_probability):  Fix roundoff error.
1135
1136 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1137
1138         * config/h8300/h8300.md (a peephole2): Don't handle 65535.
1139         (two peephole2): New.
1140
1141 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1142
1143         * config/h8300/h8300.md (several peephole2): Replace
1144         find_regno_note with peep2_reg_dead_p.
1145
1146 2003-02-11  Richard Henderson  <rth@redhat.com>
1147
1148         * gcse.c (lookup_set): Remove unused argument PAT.  Update
1149         both callers.
1150
1151 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
1152
1153         * diagnostic.c (real_abort): New.
1154         (diagnostic_report_diagnostic): Call real_abort on error.
1155         * diagnostic.h (diagnostic_abort_on_error): New.
1156         (struct diagnostic_context): Add abort_on_error field.
1157         * toplev.c (setup_core_dumping): New.
1158         (decode_d_option): Handle 'H' case.
1159         * doc/invoke.texi (Debugging Options): Document -dH.
1160
1161 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
1162
1163         * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
1164         which refers to obsolete directories.
1165
1166 2003-02-11  Richard Henderson  <rth@redhat.com>
1167
1168         * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
1169
1170 Mon Oct 21 17:07:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
1171
1172         * i386.c (contains_128bit_aligned_vector_p): New function.
1173         (ix86_function_arg_boundary): Properly align vector modes.
1174
1175 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
1176
1177         * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
1178         * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
1179         as a SET pattern.
1180
1181 2003-02-11  Roger Sayle  <roger@eyesopen.com>
1182
1183         * builtins.c:  Fix failure caused by commiting wrong patch.
1184
1185 2003-02-11  Dale Johannesen  <dalej@apple.com>
1186         * ra-build.c (compare_and_free_webs):  Relax checking.
1187         * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
1188         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
1189
1190 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1191
1192         PR optimization/9651
1193         * rtlanal.c (may_trap_p): Handle FIX.
1194
1195 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
1196
1197         * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
1198         * doc/invoke.texi: Extra alias.
1199
1200 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
1201
1202         * config/rs6000/host-darwin.c: Fix comment.
1203
1204 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
1205
1206         * config/rs6000/rs6000.md (divmodsi4): Use register_operand
1207         predicate for mod result.
1208
1209 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1210
1211         * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
1212         hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
1213         * fixincl.x: Rebuilt.
1214         * tests/base/stdlib.h: Update.
1215         * tests/base/ctype.h: New file.
1216
1217 Tue Feb 11 20:44:45 CET 2003  Jan Hubicka  <jh@suse.cz>
1218
1219         * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
1220
1221 2003-02-11  Richard Henderson  <rth@redhat.com>
1222
1223         * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
1224         appropriated as globals.
1225         (ix86_expand_clrstr): Similarly.
1226         * config/i386/i386.md (cmpstrsi): Similarly.
1227
1228 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1229
1230         * config/h8300/h8300.md (a peephole2): Add a case of 255.
1231
1232 2003-02-11  Roger Sayle  <roger@eyesopen.com>
1233
1234         * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
1235         (pow_optab, atan2_optab): Define corresponding macros.
1236         * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
1237         * genopinit.c (optabs): Implement pow_optab and atan2_optab
1238         using pow?f3 and atan2?f3 patterns.
1239         * builtins.c (expand_errno_check): New function to update errno
1240         if necessary, split out from expand_builtin_mathfn.
1241         (expand_builtin_mathfn): Use expand_errno_check.
1242         (expand_builtin_mathfn_2): New function to handle expanding binary
1243         math functions, reusing the code in expand_errno_check.
1244         (expand_builtin): Handle the pow and atan2 math built-ins,
1245         BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
1246         expand_builtin_mathfn_2.
1247
1248         * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
1249
1250 Tue Feb 11 19:03:22 MET 2003  Jan Hubicka  <jh@suse.cz>
1251
1252         * combine.c (combine_simplify_rtx): Fix folding of
1253         nested float_truncates.
1254
1255 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1256
1257         * config/h8300/h8300.md (a peephole2): Fix a typo.
1258
1259 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
1260
1261         * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
1262         register number.
1263
1264 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1265
1266         * config/h8300/h8300-protos.h: Add a prototype for
1267         gtuleu_operator.
1268         * config/h8300/h8300.c (gtuleu_operator): New.
1269         * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
1270         * config/h8300/h8300.md (a peephole2): New.
1271
1272 Tue Feb 11 13:32:12 CET 2003  Jan Hubicka  <jh@suse.cz>
1273
1274         * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
1275
1276 Tue Feb 11 10:02:54 CET 2003  Jan Hubicka  <jh@suse.cz>
1277
1278         * predict.c (choose_function_section): Choose sections correctly.
1279
1280 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1281
1282         * reload1.c (first_label_num): New.
1283         (reload): Index offsets_known_at and offsets_at using difference of
1284         label number and first label number.  Don't use offset pointers.
1285         (set_label_offsets, set_initial_label_offsets): Likewise.
1286
1287 2003-02-10  Roger Sayle  <roger@eyesopen.com>
1288
1289         * mips-tfile.c (init_file): Add missing initializers in the
1290         "#ifdef __alpha" case.
1291         (file_offset, max_file_offset): Declare as unsigned long.
1292         (write_varray): Cast to "unsigned long" in comparisons against
1293         either file_offset or max_file_offset.
1294         (write_object): Likewise.
1295         (read_seek): Likewise.
1296         (copy_object): Likewise. Declare "ifd" as int to match its use
1297         in add_ext_symbol, and avoid signed/unsigned conditional warning.
1298
1299 2003-02-10  Nick Clifton  <nickc@redhat.com>
1300             Aldy Hernandez  <aldyh@redhat.com>
1301
1302         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
1303         override options which have been specified on the command line.
1304
1305 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1306
1307         * config/h8300/h8300.md (abssf2): New.
1308         (*abssf2_h8300): Likewise.
1309         (*abssf2_h8300hs): Likewise.
1310
1311 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
1312
1313         * tree.c (build_tree_list):  Fix parameter names in comment.
1314
1315 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
1316
1317         * config/rs6000/ppc64-fp.c: New file.
1318         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
1319
1320 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
1321
1322         * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
1323         * bb-reorder.c (make_reorder_chain): Deleted.
1324         (make_reorder_chain_1): Deleted.
1325         (find_traces): New function.
1326         (rotate_loop): New function.
1327         (mark_bb_visited): New function.
1328         (find_traces_1_round): New function.
1329         (copy_bb): New function.
1330         (bb_to_key): New function.
1331         (better_edge_p): New function.
1332         (connect_traces): New function.
1333         (copy_bb_p): New function.
1334         (get_uncond_jump_length): New function.
1335         (reorder_basic_blocks): Use new functions (Software Trace Cache).
1336         * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
1337         boundaries.
1338
1339 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
1340
1341         * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
1342
1343 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
1344
1345         * tree.h (struct tree_decl): Remove unused live_range_rtl field.
1346         (DECL_LIVE_RANGE_RTL): Remove.
1347
1348 2003-02-10  Nick Clifton  <nickc@redhat.com>
1349
1350         * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
1351         config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
1352         config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
1353         config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
1354         config/arm/freebsd.h, config/arm/linux-elf.h,
1355         config/arm/linux-gas.h, config/arm/netbsd-elf.h,
1356         config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
1357         config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
1358         config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
1359         config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
1360         config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
1361         config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
1362         and reformat as appropriate.
1363
1364 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1365
1366         * config/h8300/clzsi2.c: Remove.
1367         * config/h8300/ctzsi2.c: Likewise.
1368         * config/h8300/paritysi2.c: Likewise.
1369         * config/h8300/popcountsi2.c: Likewise.
1370         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
1371         ctzsi2, paritysi2, and popcountsi2.
1372
1373 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1374             Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1375
1376         PR c/7741
1377         * c-decl.c (duplicate_decls): Discard the initializer of the
1378         new decl when the types are conflicting.
1379
1380 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
1381
1382         * Makefile.in (sreal.o): Added.
1383         (predict.o): Depends on sreal.h instead of real.h.
1384         * sreal.c: New file.
1385         * sreal.h: New file.
1386         * predict.c: Use sreal.c instead of real.c.
1387
1388 2003-02-10  Nick Clifton  <nickc@redhat.com>
1389
1390         * Contributed support for the Cirrus EP9312 "Maverick"
1391         floating point co-processor.  Written by Aldy Hernandez
1392         <aldyh@redhat.com>.
1393         (config/arm/arm.c): Add Cirrus support.
1394         (config/arm/arm.h): Likewise.
1395         (config/arm/aout.h): Likewise.
1396         (config/arm/arm.md): Likewise.
1397         (config/arm/arm-protos.h): Likewise.
1398         (config.gcc): Likewise.
1399         (doc/invoke.texi): Describe new -mcpu value and new
1400         -mcirrus-fix-invalid-insns switch,
1401         (cirrus.md): New file.
1402
1403 Mon Feb 10 11:40:18 CET 2003  Jan Hubicka  <jh@suse.cz>
1404
1405         * combine.c (combine_simplify_rtx): Simplify using
1406         (float_truncate (float x)) is (float x)
1407         (float_extend (float_extend x)) is (float_extend x).
1408
1409 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
1410
1411         * calls.c (try_to_integrate): Tidy stack_usage_map access.
1412         (emit_library_call_value_1): Likewise.  Formatting.
1413         (store_one_arg): Likewise.
1414
1415 2003-02-09  Nick Clifton  <nickc@redhat.com>
1416             Aldy Hernandez  <aldyh@redhat.com>
1417
1418         * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
1419         spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
1420         spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
1421         spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
1422         spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
1423         docs.  Add range test for immediate value.
1424
1425 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
1426
1427         Rename spe_evxor to xorv2si3.
1428         (xorv4hi3): New.
1429         (xorv1di3): New.
1430
1431 2003-02-10  Glen Nakamura  <glen@imodulo.com>
1432
1433         * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
1434         tag.
1435
1436 Mon Feb 10 00:29:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1437
1438         * i386.c (vector_move_operand): New predicate.
1439         (ix86_expand_vector_move): Be happy about 0.
1440         * i386.h (PREDICATE_CODES): Add sse-move_operand.
1441         * i386.md (mov*_internal): Add 'C' alternative.
1442
1443 Sun Feb  9 23:58:33 CET 2003  Jan Hubicka  <jh@suse.cz>
1444
1445         * i386.md (floathi*): Deal with SSE.
1446
1447 Sun Feb  9 23:54:59 CET 2003  Jan Hubicka  <jh@suse.cz>
1448
1449         * simplify-rtx.c (simplify_unary_operation,
1450         simplify_binary_operation):  Deal with vector modes
1451         (simplify_ternary_operation):  Deal with no-op VEC_MERGE.
1452
1453 2002-02-09  Richard Sandiford  <rsandifo@redhat.com>
1454
1455         * toplev.c (rest_of_compilation): Recompute register usage after
1456         split_all_insns.
1457
1458 2003-02-09  Richard Henderson  <rth@redhat.com>
1459
1460         * libgcc-std.ver (__clztf2): New.
1461         (__ctztf2, __popcounttf2, __paritytf2): New.
1462         * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
1463         __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
1464         adjust code to match the different type sizes.
1465         * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
1466         __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
1467
1468         * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
1469         TImode; select word_mode and twice that.
1470         (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
1471         select the modes from float, double, and long double.
1472         (init_optabs): Remove duplicate initializations.
1473
1474 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
1475
1476         * doc/install.texi: Squeeze and streamline section on
1477         testing and regression checking.
1478
1479 Sun Feb  9 13:33:34 CET 2003  Jan Hubicka  <jh@suse.cz>
1480
1481         * i386.md (ahi?v*3): Set third operand type to TImode.
1482         * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
1483
1484         * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
1485         integer mode.
1486
1487         * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
1488         Change code so they are arithmetic expressions now.
1489         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
1490         simplify_ternary_operation): Deal with VEC_* expressions.
1491
1492         * i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
1493
1494 Sat Feb  8 00:21:22 CET 2003  Jan Hubicka  <jh@suse.cz>
1495
1496         * cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
1497         * reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
1498         possibly got duplicated.
1499
1500 2003-02-08  Richard Henderson  <rth@redhat.com>
1501
1502         * config/alpha/alpha.c (override_options): Turn off explicit
1503         relocs until post-peep2 code duplication resolved.
1504
1505 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1506
1507         * optabs.c (expand_unop): Widen clz properly when clz is done
1508         via libcall.
1509
1510 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1511
1512         * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
1513         * config/h8300/crti.asm: Likewise.
1514         * config/h8300/crtn.asm: Likewise.
1515         * config/h8300/ctzsi2.c: Likewise.
1516         * config/h8300/fixunssfsi.c: Likewise.
1517         * config/h8300/h8300-protos.h: Likewise.
1518         * config/h8300/h8300.c: Likewise.
1519         * config/h8300/h8300.h: Likewise.
1520         * config/h8300/h8300.md: Likewise.
1521         * config/h8300/paritysi2.c: Likewise.
1522         * config/h8300/popcountsi2.c: Likewise.
1523         * config/h8300/rtems.h: Likewise.
1524
1525 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1526
1527         * doc/invoke.texi: Documentation for my previous commit.
1528         * doc/passes.texi: Ditto.
1529
1530 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1531
1532         * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
1533         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1534         Declare.
1535         (DLTHE_FLAG_UPDATE_FREQ): New.
1536         * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
1537         loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
1538         rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
1539         fix_bb_placement, fix_bb_placements, place_new_loop,
1540         scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
1541         New static functions.
1542         (fix_loop_placement, can_duplicate_loop_p,
1543         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1544         New functions.
1545
1546         * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
1547         unswitch_loops): Declare.
1548         * loop-init.c: New file.
1549         * loop-unswitch.c: New file.
1550         * Makefile.in (loop-init.o, loop-unswitch.o): New.
1551         * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
1552         * toplev.c (DFI_loop2): New dump.
1553         (flag_unswitch_loops): New.
1554         (lang_independent_options): Add it.
1555         (rest_of_compilation): Call new loop optimizer.
1556         (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
1557
1558 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1559
1560         * config/h8300/clzsi2.c: New.
1561         * config/h8300/ctzsi2.c: Likewise.
1562         * config/h8300/paritysi2.c: Likewise.
1563         * config/h8300/popcountsi2.c: Likewise.
1564         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
1565
1566 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
1567
1568         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
1569         * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
1570         (ctzsi2): New pattern.
1571         (ffssi2): Use clz instead of unspec.
1572         (clzdi2): Rename from cntlzd2.
1573         (ctzdi2): New pattern.
1574         (ffsdi2): Use clz instead of unspec.
1575
1576 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
1577
1578         * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
1579         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
1580         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1581         * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
1582
1583 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
1584
1585         * doc/trouble.texi: Document pitfalls of two-stage name lookup.
1586
1587 2003-02-07  Richard Henderson  <rth@redhat.com>
1588
1589         PR 9226
1590         * gcse.c (local_cprop_find_used_regs): New.
1591         (local_cprop_pass): Use it.
1592
1593 2003-02-07  Fred Fish  <fnf@intrinsity.com>
1594
1595         * mips-tfile.c (parse_def): Parenthesize assignments to fix
1596         precedence bugs.
1597
1598 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
1599
1600         * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
1601
1602 2003-02-07  Roger Sayle  <roger@eyesopen.com>
1603
1604         * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
1605         (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
1606         (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
1607         * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
1608         builtin functions (and their __builtin_* variants).
1609         * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
1610         (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
1611         when not optimizing.
1612
1613         * doc/extend.texi: Document new pow and atan2 builtins, and
1614         their float and long double variants.  Realphabetize builtins.
1615
1616 Fri Feb  7 23:24:28 CET 2003  Jan Hubicka  <jh@suse.cz>
1617
1618         * i386.md (sse2_nandv2di3): Fix.
1619
1620 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
1621
1622         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
1623         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
1624         definition.
1625         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
1626         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
1627
1628 Fri Feb  7 22:22:40 CET 2003  Jan Hubicka  <jh@suse.cz>
1629
1630         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
1631
1632 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
1633
1634         * cfg.c (dump_flow_info): Add back accidently deleted line.
1635
1636 2003-02-07  Andrey Petrov <petrov@netbsd.org>
1637
1638         * optabs.c (expand_float): Search wider integer modes first.
1639
1640 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
1641
1642         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
1643         based on preprocessor flag.
1644
1645 2003-02-07  Roger Sayle  <roger@eyesopen.com>
1646             Richard Henderson  <rth@redhat.com>
1647
1648         * gcse.c (implicit_sets): New.
1649         (compute_hash_table_work): Include them in hash table.
1650         (find_implicit_sets, fis_get_condition): New.
1651         (one_cprop_pass): Allocate and free implicit_sets; call
1652         find_implicit_sets before building hash table.
1653
1654 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
1655
1656         * config/t-netbsd (USER_H): Revert previous change.
1657
1658 2003-02-07  Gabor Greif  <ggreif@lucent.com>
1659
1660         * doc/c-tree.texi (Namespaces): Fix typo.
1661
1662 Fri Feb  7 02:18:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1663
1664         * regrename.c (do_replace, find_oldest_value_reg,
1665         copyprop_hardreg_forward_1): Update register attributes.
1666
1667 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
1668
1669         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
1670         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
1671         variables starting with underscore.
1672         (struct unit_usage): New structure.
1673         (unit_usages, cycle_alt_unit_usages): New global variables.
1674         (check_unit_distribution_in_reserv): Remove it.
1675         (store_alt_unit_usage): New function.
1676         (check_regexp_units_distribution): Rewrite it.
1677
1678 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1679
1680         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
1681         target_cpu_default.
1682         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
1683         if not MASK_NO_SPACE_REGS.
1684         (output_call): Adjust return pointer, don't load new space register
1685         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
1686         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
1687         TARGET_NO_SPACE_REGS is true.
1688         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
1689         conditions.
1690         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
1691         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
1692         true.  Use bve when TARGET_64BIT is true.
1693
1694 2003-02-06  Richard Henderson  <rth@redhat.com>
1695
1696         * combine.c (nonzero_bits): Fix double break.
1697
1698 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
1699             Richard Henderson <rth@redhat.com>
1700
1701         PR c/9530
1702         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
1703         from functions that return a float to functions that don't.
1704
1705 Thu Feb  6 00:18:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1706
1707         * i386.c (x86_inter_unit_moves): New variable.
1708         (ix86_secondary_memory_needed): Fix 64bit case, honor
1709         TARGET_INTER_UNIT_MOVES
1710         * i386.h (x86_inter_unit_moves): Declare.
1711         (TARGET_INTER_UNIT_MOVES): New macro.
1712         * i386.md (movsi_1): Cleanup constraints; disable
1713         when not doing inter-unit moves.
1714         (movsi_1_nointernunit): New.
1715         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
1716         (movdi_1_rex64_nointerunit): New.
1717         (mivsf_1): disable when not doing inter-unit moves.
1718         (movsf_1_nointerunit): New.
1719
1720         * basic-block.h (inside_basic_block_p):  Declare.
1721         * cfgbuild.c (inside_basic_block_p): Make global.
1722         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
1723         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
1724         update CFG.
1725         (fix_basic_block_boundaries, add_missing_bbs): New.
1726         (rank): Use profile.
1727         (scheudle_ebbs): Rely on CFG; update coments.
1728
1729 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
1730
1731         * Makefile.in (host_hook_obj): New.
1732         (OBJS): Add $(host_hook_obj).
1733         (host_default.o): New rule.
1734         * config.gcc (host_hook_obj): New, default to host-default.o.
1735         (powerpc-*-darwin*): Use host-darwin.o.
1736         (out_host_hook_obj): New.
1737         * configure: Regenerate.
1738         * configure.in: Print information about out_host_hook_obj, substitute
1739         into output files.
1740         * host-default.c: New file.
1741         * hosthooks.h: New file.
1742         * toplev.c (general_init): Call host_hooks.extra_signals.
1743         * config/rs6000/host-darwin.c: New file.
1744         * config/rs6000/x-darwin: New file.
1745         * doc/hostconfig.texi: Add documentation for new host hook.
1746         Rearrange existing documentation.
1747
1748 2003-02-05  Roger Sayle  <roger@eyesopen.com>
1749
1750         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
1751         with *targetm.delegitimize_address.
1752         (rtl_for_decl_location): Likewise.
1753         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
1754         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
1755
1756         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1757         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
1758         prototype.
1759         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
1760         i386_simplify_dwarf_addr.  Made static.  Prototyped.
1761         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
1762         i386_simplify_dwarf_addr to ix86_delegitimize_address.
1763         (ix86_find_base_term): Likewise.
1764         (maybe_get_pool_constant): Likewise.
1765
1766         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1767         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
1768         prototype.
1769         * config/s390/s390.c (s390_delegitimize_address): Renamed from
1770         s390_simplify_dwarf_addr.  Made static.  Prototyped.
1771         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
1772
1773 2003-02-05  Richard Henderson  <rth@redhat.com>
1774
1775         PR c/8602
1776         * integrate.c (output_inline_function): Reset input_filename
1777         and lineno from the decl before rest_of_compilation.
1778
1779 2003-02-05  Richard Henderson  <rth@redhat.com>
1780
1781         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1782         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1783         * doc/rtl.texi, doc/tm.texi: Document them.
1784
1785         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
1786         of the value at zero properly.
1787         * fold-const.c (tree_expr_nonnegative_p): Likewise.
1788         * simplify-rtx.c (simplify_unary_operation): Likewise.
1789
1790         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1791         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1792
1793         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
1794         (TARGET_EXPAND_BUILTIN): Remove.
1795         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
1796         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1797         (enum arm_builtins): Remove.
1798         * config/arm/arm.md (UNSPEC_CLZ): Remove.
1799         (clzsi2): Rename from clz; use clz instead of unspec.
1800         (ctzsi2): New.
1801         * config/arm/arm-protos.h: Update.
1802
1803 Wed Feb  5 23:12:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1804
1805         * i386-protos.h (x86_emit_floatuns):  Declare.
1806         * i386.c (x86_emit_floatuns): New global function.
1807         * i386.md (floatunssisf2, floatunsdisf2,
1808         floatunsdidf2):  New patterns.
1809
1810 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1811
1812         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
1813
1814 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
1815
1816         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
1817           config/ia64/linux.h
1818
1819 2002-02-05  Roger Sayle  <roger@eyesopen.com>
1820
1821         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
1822
1823 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
1824
1825         PR optimization/8555
1826         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
1827         instead of aborting.
1828
1829 2003-02-04  Richard Henderson  <rth@redhat.com>
1830
1831         * config/i386/i386.md (UNSPEC_BSF): Remove.
1832         (ffssi2): Split into cmove and no_cmove insns and splitters;
1833         lose pentium float trick for now.
1834         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
1835         (ctzsi2, clzsi2, bsr): New.
1836
1837 2003-02-04  Richard Henderson  <rth@redhat.com>
1838
1839         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
1840         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
1841         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
1842         (ffsdi2): Use popcount instead of unspec.
1843         (popcountdi2): Rename from *popcnt.
1844         (ctzdi2, clzdi2, getf_exp_tf): New.
1845
1846 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
1847
1848         * genconfig.c (main): Generate CC0_P.
1849         * rtl.h (CC0_P): Remove.
1850
1851 2003-02-04  Richard Henderson  <rth@redhat.com>
1852
1853         * libgcc2.h, libgcc2.c (__ffsSI2): New.
1854         (__ffsDI2): Rename from __ffsdi2.
1855         * mklibgcc.in (lib2funcs): Add _ffssi2.
1856
1857 2003-02-04  Richard Henderson  <rth@redhat.com>
1858
1859         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
1860         rounds with a "bit table" lookup.
1861
1862 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
1863
1864         * reload.c (find_reloads): Do not use the mode specified in the insn
1865         pattern as reload mode for address operands.  Do not generate optional
1866         reloads for operands where a mandatory reload was already pushed.
1867
1868 2003-02-04  Richard Henderson  <rth@redhat.com>
1869
1870         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
1871         builtins instead of inline assembly.
1872
1873 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1874
1875         PR c/9376
1876         * libgcc2.c (__subvdi3): Fix typo.
1877
1878 Tue Feb  4 21:46:05 CET 2003  Jan Hubicka  <jh@suse.cz>
1879
1880         * i386.md (movti_rex64):  Fix constraint.
1881
1882 Tue Feb  4 18:40:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1883
1884         * i386.md (vector push splitters):  Fix typo in resolving conflict.
1885
1886 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
1887
1888         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
1889
1890 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
1891
1892         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
1893         for recent libstdc++.  Remove formatting cruft.
1894
1895 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
1896
1897         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
1898         attribute even if input file name is absolute, but one of the
1899         includes is relative.
1900
1901 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
1902
1903         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
1904         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
1905         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
1906
1907 2003-02-03  Richard Henderson  <rth@redhat.com>
1908
1909         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1910         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
1911         return type to "int".  Shuffle declarations and undef int trap.
1912         * libgcc2.h: Remove their declarations.
1913         * optabs.c (expand_unop): Force outmode to int for bitops.
1914
1915 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
1916
1917         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
1918         coprocessor registers before floating-point registers.
1919         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
1920         to account for a previously removed register.
1921         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
1922         Delete unused macros.
1923
1924 Mon Feb  3 21:19:11 CET 2003  Jan Hubicka  <jh@suse.cz>
1925
1926         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
1927         (mov*_internal): Fix predicates; require one of operands to not be
1928         memory.
1929         (SSE?MMX move expanders):  Fix predicates; force one of operands to
1930         register.
1931         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
1932         (movups/movupd/movdqu patterns): Force one of operands to not be
1933         memory.
1934
1935 2002-02-03  Roger Sayle  <roger@eyesopen.com>
1936
1937         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
1938         takes a single rtx and returns it unmodified.
1939         * hooks.h (hook_rtx_rtx_identity): Prototype here.
1940         * target.h (struct gcc_target): Add "delegitimize_address"
1941         field to target structure.
1942         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
1943         for delegitimize_address target using hook_rtx_rtx_identity.
1944         (TARGET_INITIALIZER): Initialize delegitimize_address field
1945         using TARGET_DELEGITIMIZE_ADDRESS macro.
1946         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
1947         extensions of constant pool references.  Use delegitimize_address
1948         to undo the obfuscation of "-fpic".
1949         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
1950
1951         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
1952         i386_simplify_dwarf_addr.
1953         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
1954         (maybe_get_pool_constant): Likewise.
1955
1956 Mon Feb  3 16:01:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1957
1958         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
1959
1960 Mon Feb  3 01:30:11 CET 2003  Jan Hubicka  <jh@suse.cz>
1961
1962         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
1963
1964 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1965
1966         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
1967         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
1968
1969 2003-02-02  Andreas Schwab  <schwab@suse.de>
1970
1971         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
1972
1973 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
1974
1975         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
1976         (epilogue_insns): Likewise.
1977
1978 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1979
1980         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
1981
1982 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1983
1984         * pa-protos.h (attr_length_millicode_call): Remove second argument.
1985         (attr_length_indirect_call, attr_length_indirect_call,
1986         attr_length_save_restore_dltp): New prototypes.
1987         * pa.c (attr_length_millicode_call): Remove second argument.  Check
1988         INSN_ADDRESSES_SET_P in distance calculation.
1989         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
1990         INSN_ADDRESSES.
1991         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
1992         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
1993         Call attr_length_call directly.
1994         (attr_length_indirect_call, output_indirect_call,
1995         attr_length_save_restore_dltp): New functions.
1996         * pa.md (attr_length_millicode_call): Drop second argument from all
1997         patterns.
1998         (return_internal_pic): Delete.
1999         (return_external_pic): Remove use of PIC register and pic operand and
2000         flag checks.
2001         (epilogue): Use return_internal for both normal and pic code.
2002         (call, call_value): Emit new 32-bit pic patterns for symref and
2003         indirect calls.  Remove uses for arg pointer and pic register.
2004         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
2005         call_reg_pic_post_reload, call_val_symref_pic,
2006         call_val_symref_pic_post_reload, call_val_reg_pic,
2007         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
2008         Implement define_split and define_peephole2 patterns for pre reload
2009         patterns.
2010         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
2011         call_value_internal_reg_64bit): Shorten names.
2012         (all call patterns): Explicitly indicate registers used and clobbered.
2013         Use attr_length_indirect_call and attr_length_save_restore_dltp for
2014         attribute length calculation.  Move code generation for indirect calls
2015         to output_indirect_call.
2016         (sibcall, sibcall_value): Don't restore PIC register.
2017         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
2018         register retore.
2019
2020 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2021
2022         * doc/install.texi (Testing): Simplify and compress instructions
2023         concerning Dejagnu.
2024
2025 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2026
2027         * collect2.c (pexecute_pid): Rename to pid.
2028         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
2029         pid.
2030
2031 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
2032
2033         * doc/extend.texi (Function Attributes): Remove documentation
2034         for PowerPC Windows NT function attributes..
2035
2036 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
2037
2038         * dwarf2out.c (gen_type_die): Check for typedefs before calling
2039         for TYPE_MAIN_VARIANT.
2040
2041 2003-02-01  Richard Henderson  <rth@redhat.com>
2042
2043         * libgcc2.c: Include auto-host.h.
2044         (ATTRIBUTE_HIDDEN): New.
2045         (__clz_tab): Don't declare here for clz and ctz.
2046         (__clzsi2, __clzdi2): Use count_leading_zeros.
2047         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
2048         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
2049         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
2050         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
2051
2052 2003-02-01  Richard Henderson  <rth@redhat.com>
2053
2054         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
2055         to the conditional.
2056         (ashlsi3_1_zext splitter): Likewise.
2057
2058 2003-02-01  Richard Henderson  <rth@redhat.com>
2059
2060         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
2061         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2062         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
2063         return type to Wtype.
2064
2065         * libgcc-std.ver (GCC_3.4): Fix inheritance.
2066
2067         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
2068         expander input constraint.
2069
2070 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
2071
2072         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
2073         OTI_parity.
2074         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
2075         * optabs.c (widen_clz, expand_parity): New.
2076         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
2077         for libcalls to clz, ctz, popcount, and parity.
2078         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
2079         parity_optab, and set up libfunc handlers.
2080         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2081         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
2082         __popcount_tab): New.
2083         * libgcc2.h: Declare them.
2084         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
2085         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
2086         and parity_optab.
2087         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
2088         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
2089         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
2090         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
2091         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
2092         BUILT_IN_PARITYLL): New.
2093         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
2094         and add optab argument.
2095         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
2096         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
2097         * expr.c (expand_expr): Handle them.
2098         * fold-const.c (tree_expr_nonnegative_p): Likewise.
2099         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
2100         * reload1.c (eliminate_regs): Handle them.
2101         (elimination_effects): Likewise.
2102         * function.c (instantiate_virtual_regs_1): Likewise
2103         * genattrtab.c (check_attr_value): Likewise.
2104         * simplify-rtx.c (simplify_unary_operation): Likewise.
2105         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
2106         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
2107         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
2108         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
2109         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
2110         __builtin_arm_clz.
2111         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
2112         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
2113         * doc/extend.texi (Other Builtins): Add new builtins.
2114         * doc/md.texi (Standard Names): Add new patterns.
2115
2116 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
2117
2118         * reload.c: Revert 2003-01-31 change.
2119
2120 Sat Feb  1 14:14:40 CET 2003  Jan Hubicka  <jh@suse.cz>
2121
2122         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
2123
2124 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
2125
2126         * flags.h (flag_volatile): Remove declaration.
2127         (flag_volatile_global, flag_volatile_static): Likewise.
2128         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
2129         * toplev.c (flag_volatile): Remove definition.
2130         (flag_volatile_global, flag_volatile_static): Likewise.
2131         (f_options): Remove corresponding entries here.
2132         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
2133         or flag_volatile_static.
2134         * doc/invoke.texi: Remove documentation of -fvolatile,
2135         -fvolatile-global and -fvolatile-static.
2136
2137 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2138
2139         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
2140         updating of total_code_bytes from prologue to epilogue.
2141
2142 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
2143
2144         * reload.c (find_reloads): Do not use the mode specified in the insn
2145         pattern as reload mode for address operands.  Do not generate optional
2146         reloads for operands where a mandatory reload was already pushed.
2147         Generate optional reloads only in the final pass though find_reloads.
2148         (have_replacement_p): New function.
2149
2150 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2151
2152         * doc/install.texi (Testing): Remove a reference to our obsolete
2153         /testresults web pages and strip redundant information concerning
2154         test results.
2155         (Binaries): Refer to Microsoft Windows instead of listing all
2156         possible variants.
2157
2158 Sat Feb  1 00:28:30 CET 2003  Jan Hubicka  <jh@suse.cz>
2159
2160         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
2161         RTL chain.
2162
2163         * combine.c (simplify_set): Reverse order of ragumetns to
2164         REG_CANNOT_CHANGE_MODE_P
2165         * df.c (df_def_record_1): Likewise.
2166         * recog.c (register_operand): Likewise.
2167         * simplify-rtx.c (simplify_subreg): Likewise.
2168         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
2169         CANNOT_CHANGE_MODE_CLASS.
2170         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
2171         Likewise.
2172         * reload.c (push_reload): Likewise.
2173         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2174         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2175         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2176         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
2177         * mips.c (mips_cannot_change_mode_class): Update.
2178         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2179         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2180         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2181         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2182         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
2183         * sh.c (sh_cannot_change_mode_class): Update.
2184         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
2185         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
2186
2187 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
2188
2189         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
2190         change to LINK_COMMAND_SPEC in gcc.c.
2191
2192 2003-01-31  Jan Hubicka  <jh@suse.cz>
2193
2194         PR c/9506
2195         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
2196
2197 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2198
2199         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
2200         duplicated code.
2201
2202 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
2203
2204         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
2205         (BINFO_ELTS): New #define.
2206         * stor-layout.c (finalize_record_size): Don't set them.
2207         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
2208         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
2209         (BINFO_LANG_ELTS): New #define.
2210         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
2211         * java/class.c (make_class): Use BINFO_ELTS.
2212         (set_super_info): Likewse.
2213         (add_interface_do): Likewise.
2214         * objc/objc-act.c (start_class): Use BINFO_ELTS.
2215
2216 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
2217
2218         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
2219         (times): Don't ever declare if not HAVE_TIMES.
2220         (clock): Don't ever declare if not HAVE_CLOCK.
2221
2222 2003-01-30  Richard Henderson  <rth@redhat.com>
2223
2224         * flow.c (update_life_info): Zap life info after cleanup_cfg.
2225         (regno_uninitialized): Use correct live at function entry set.
2226         (regno_clobbered_at_setjmp): Likewise.
2227
2228         * expr.c (store_expr): Promote all MEM intermediates to regs.
2229
2230 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2231
2232         * config/arm/arm.c: Fix comment typos.
2233         * config/arm/arm.h: Likewise.
2234         * config/arm/netbsd-elf.h: Likewise.
2235         * config/arm/netbsd.h: Likewise.
2236
2237 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
2238
2239         * gengtype.c (struct walk_type_data): Add needs_cast_p.
2240         (walk_type): Set needs_cast_p in walk_type_data.
2241         (write_types_process_field): Supply casts when required to suppress
2242         warnings.
2243         (write_root): Cast gt_pch_n_S to suppress warning.
2244         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
2245         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
2246         when they might exist.
2247         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
2248         insn-conditions.o, and rs6000.o.
2249
2250 2003-01-30  Richard Henderson  <rth@redhat.com>
2251
2252         * ggc-page.c (G.context_depth_allocations): New.
2253         (G.context_depth_collections): New.
2254         (alloc_page): Set G.context_depth_allocations.
2255         (ggc_collect): Set G.context_depth_collections.
2256         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
2257         (ggc_pop_context): Early exit for no allocations or collections.
2258
2259 2003-01-30  Richard Henderson  <rth@redhat.com>
2260
2261         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
2262
2263 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
2264
2265         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
2266         size, the link register is always saved if any other register is
2267         saved.
2268
2269 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2270
2271         * config/h8300/h8300-protos.h: Update the prototype for
2272         compute_plussi_cc.
2273         (cpp_reader): Declare before it is used.
2274         * config/h8300/h8300.c (compute_plussi_cc): Change the return
2275         type to int.
2276         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
2277         see an unknown H8 variant.
2278
2279 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
2280
2281         PR target/9316
2282         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
2283         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
2284         * config/rs6000/t-rtems: New file. multilib variants to match OS.
2285         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
2286         rs6000/t-ppcgas so we get the desired multilibs.
2287
2288 2003-01-30  Nick Clifton  <nickc@redhat.com>
2289
2290         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
2291         when popping saved IP register off the stack.
2292
2293 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2294
2295         * config/rs6000/aix43.h: Fix comment typos.
2296         * config/rs6000/aix51.h: Likewise.
2297         * config/rs6000/aix52.h: Likewise.
2298         * config/rs6000/altivec.h: Likewise.
2299         * config/rs6000/rs6000.c: Likewise.
2300         * config/rs6000/rs6000.h: Likewise.
2301         * config/rs6000/rs6000.md: Likewise.
2302         * config/rs6000/spe.md: Likewise.
2303
2304 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
2305
2306         * c-common.c (builtin_define_float_constants): Define
2307         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
2308
2309 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2310
2311         * config/sh/lib1funcs.asm: Fix comment typos.
2312         * config/sh/linux.h: Likewise.
2313         * config/sh/sh.c: Likewise.
2314         * config/sh/sh.md: Likewise.
2315
2316 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
2317
2318         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
2319
2320 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
2321
2322         * config/fp-bit.h (__make_dp): Declare if TMODES.
2323
2324 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
2325
2326         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
2327         general_operand_src and general_operand_dst.
2328
2329 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
2330
2331         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
2332         Return true for variable sized types.
2333         (rs6000_va_arg): Handle variable sized types passed by reference
2334         on non-SVR4 ABI.
2335
2336 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
2337
2338         * arm.c (arm_legtimize_address): New function.
2339         * arm-protos.h (arm_legtimize_address): Add prototype.
2340         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
2341         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
2342         do ... while (0)
2343
2344 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2345
2346         PR bootstrap/9296
2347         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
2348         depended on it being defined until now.
2349
2350 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2351
2352         PR target/9295
2353         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
2354         RTEMS code knows which C++ initialization style the toolset
2355         configuration is using.
2356
2357 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2358
2359         PR bootstrap/9293
2360         * config/m68k/t-crtstuff: Replace spaces with tabs, add
2361          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2362
2363 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2364
2365         PR bootstrap/9292
2366         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
2367         RTEMS threads.
2368         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
2369
2370 2003-01-29  Nick Clifton  <nickc@redhat.com>
2371
2372         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
2373         not $(srcdir).
2374
2375 2003-01-29  Andrew Haley  <aph@redhat.com>
2376
2377         * tree-inline.c (walk_tree): Add CHAR_TYPE.
2378
2379 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
2380
2381         * i386.md (subdi3_carry_rex64): Fix typo.
2382
2383 2003-01-28  Stan Shebs  <shebs@apple.com>
2384
2385         * coretypes.h (cpp_reader): Forward declare struct.
2386         * c-pragma.h (cpp_reader): Remove forward declaration.
2387         * hashtable.h (cpp_reader): Likewise.
2388         * scan.h (cpp_reader): Likewise.
2389         * tree.h (cpp_reader): Likewise.
2390         * config/darwin-protos.h (cpp_reader): Likewise.
2391         * config/arm/arm-protos.h (cpp_reader): Likewise.
2392         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
2393         struct cpp_reader in prototypes.
2394
2395 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2396
2397         * doc/install.texi: Add documentation for installation into
2398         tooldirs and with DESTDIR.
2399
2400 2003-01-28  Richard Henderson  <rth@redhat.com>
2401
2402         * config.gcc (ia64*-*-aix*): Remove.
2403         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
2404         * config/ia64/unwind-aix.c: Remove file.
2405
2406 2003-01-28  Andreas Schwab  <schwab@suse.de>
2407
2408         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
2409         register.
2410         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
2411         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
2412         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
2413         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
2414         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
2415         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
2416         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
2417
2418 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
2419
2420         * combine.c (nonzero_bits): Fix check for negative divide operands.
2421
2422 2003-01-28  Richard Henderson  <rth@redhat.com>
2423
2424         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
2425         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
2426
2427 2003-01-28  Richard Henderson  <rth@redhat.com>
2428
2429         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
2430
2431         * config/cris/cris.c (cris_address_cost): Make static.
2432         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
2433         * config/cris/cris.h (ADDRESS_COST): Remove.
2434         * config/cris/cris-protos.h: Update.
2435
2436 2003-01-23  Mike Stump  <mrs@apple.com>
2437
2438         * regclass.c (init_reg_autoinc): New function.
2439         (regclass): Move initialization of forbidden_inc_dec_class from
2440         here...
2441         (init_regs): to here.  Avoids reinitialization for each function,
2442         saving compilation time.
2443
2444 2003-01-28  Jason Merrill  <jason@redhat.com>
2445
2446         * cpplib.h (struct cpp_options): Add warn_deprecated field.
2447         * cppinit.c (cpp_create_reader): Turn it on by default.
2448         * c-opts.c (c_common_decode_option): Set it.
2449         * cpplib.c (do_pragma_once): Only complain about #pragma once
2450         if warn_deprecated is set.
2451
2452 2003-01-28  Dale Johannesen  <dalej@apple.com>
2453
2454         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
2455         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
2456         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
2457
2458 2003-01-28  Richard Henderson  <rth@redhat.com>
2459
2460         * target.h (targetm.address_cost): New.
2461         * target-def.h (TARGET_ADDRESS_COST): New.
2462         (TARGET_RTX_COSTS): Uncomment.  Oops.
2463         * cse.c (address_cost): Use new target hook.
2464         (default_address_cost): New.
2465         * output.h (default_address_cost): Declare.
2466         * hooks.c (hook_int_rtx_0): New.
2467         * hooks.h (hook_int_rtx_0): Declare.
2468         * loop.c (combine_givs_p): Remove if 0 code.
2469         * system.h (ADDRESS_COST): Poison.
2470
2471         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
2472         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
2473         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
2474         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
2475         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
2476         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
2477         config/xtensa/xtensa.c, config/xtensa/xtensa.h
2478         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
2479         (ADDRESS_COST): Remove.
2480
2481         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
2482         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
2483         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
2484         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2485         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
2486         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
2487         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
2488         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
2489         config/mips/mips.c, config/mips/mips.h,
2490         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
2491         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
2492         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
2493         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
2494         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
2495         config/vax/vax.c, config/vax/vax.h
2496         (foo_address_cost): Make static.
2497         (TARGET_ADDRESS_COST): New.
2498         (ADDRESS_COST): Remove.
2499
2500         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
2501         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
2502         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
2503         config/stormy16/stormy16.h
2504         (ADDRESS_COST): Move code ...
2505         (foo_address_cost): ... here.
2506         (TARGET_ADDRESS_COST): New.
2507
2508         * config/m32r/m32r.c (m32r_address_cost): Remove.
2509         * config/m32r/m32r-protos.h: Update.
2510
2511         * config/mmix/mmix.c (mmix_address_cost): Remove.
2512         * config/mmix/mmix-protos.h: Update.
2513
2514         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
2515         mn10300_address_cost; move unsig allocation ...
2516         (mn10300_address_cost): ... here.
2517         (TARGET_ADDRESS_COST): New.
2518         * config/mn10300/mn10300-protos.h: Update.
2519         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
2520
2521         * doc/tm.texi: Update.
2522
2523 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
2524
2525         * haifa-sched.c (schedule_insn): Return necessary cycle advance
2526         after issuing the insn.
2527         (rank_for_schedule): Make a insn with /S the highest priority
2528         insn.
2529         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
2530         (choose_ready): Check SCHED_GROUP_P.
2531         (schedule_block): Advance cycle after issuing insn if it is
2532         necessary.  Don't reorder insns if there is an insn with /S.
2533         (set_priorities): Ignore schedule groups.
2534
2535         * sched-deps.c (remove_dependence, group_leader): Remove the
2536         functions.
2537         (add_dependence): Ignore schedule groups.
2538         (set_sched_group_p): Don't make copy of dependencies from previous
2539         insn of the schedule group.  Add anti-dependency to the previous
2540         insn of the schedule group.
2541         (compute_forward_dependences): Ignore schedule groups.
2542
2543         * sched-ebb.c (init_ready_list): Ignore schedule groups.
2544
2545         * sched-rgn.c (init_ready_list): Ditto.
2546         (can_schedule_ready_p): Ditto.
2547
2548 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
2549
2550         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
2551         register to another one.
2552
2553 2003-01-28  Richard Henderson  <rth@redhat.com>
2554
2555         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
2556
2557 2003-01-28  Roger Sayle  <roger@eyesopen.com>
2558
2559         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
2560
2561 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
2562
2563         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
2564         class contains a floating-point register, return the size of the
2565         mode in half words.
2566
2567 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
2568
2569         * i386.c (ix86_carry_flag_operator):  New predicate.
2570         (fcmov_operator): Fix whitespace.
2571         (ix86_expand_carry_flag_compare):  Deal with floating point.
2572         (ix86_expand_int_movcc): Deal with fp; update insn expansion
2573         (ix86_expand_int_addcc): Likewise.
2574         (ix86_expand_strlensi_unroll_1): likewsie.
2575         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
2576         * i386.md (add?i_carry_rex64): Use new predicate.
2577         (sub?i3_carry_rex64): Likewise.
2578         (x86_mov?icc_0_m1*): Likewise.
2579
2580 2003-01-28  Andreas Schwab  <schwab@suse.de>
2581
2582         * cfgloopmanip.c (create_preheader): Initialize src to avoid
2583         warning.
2584
2585         * expmed.c (emit_store_flag): Fix cast to avoid sign
2586         comparison warning.
2587
2588         * combine.c (force_to_mode): Add cast to fix warning when
2589         STORE_FLAG_VALUE is negative.
2590
2591 2003-01-27  Richard Henderson  <rth@redhat.com>
2592
2593         * Makefile.in (cse.o): Depend on TARGET_H.
2594         * cse.c (rtx_cost): Use targetm.rtx_costs.
2595         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
2596         * doc/tm.texi: Update.
2597
2598         * target.h (targetm.rtx_costs): New.
2599         * target-def.h (TARGET_RTX_COSTS): New.
2600         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
2601         * hooks.h: Update.
2602
2603         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
2604         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
2605         * config/alpha/alpha.h (PROCESSOR_MAX): New.
2606         (CONST_COSTS, RTX_COSTS): Remove.
2607
2608         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
2609         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
2610         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
2611         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
2612         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
2613         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
2614         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
2615         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
2616         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
2617         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
2618         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
2619         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
2620         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
2621         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
2622         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
2623         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
2624         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
2625         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
2626         config/v850/v850.c, config/v850/v850.h,
2627         config/xtensa/xtensa.c, config/xtensa/xtensa.h
2628         (CONST_COSTS, RTX_COSTS): Move code ...
2629         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
2630
2631         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
2632         (arm_rtx_costs, TARGET_RTX_COSTS): New.
2633         * config/arm/arm-protos.h: Update.
2634         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
2635
2636         * config/avr/avr.h (CONST_COSTS): Move code ...
2637         * config/avr/avr.c (avr_rtx_costs): ... here.
2638         (default_rtx_costs): Make static.
2639         * config/avr/avr-protos.h: Update.
2640
2641         * config/h8300/h8300.c (const_costs): Make static.
2642         (h8300_and_costs, h8300_shift_costs): Likewise.
2643         * config/h8300/h8300-protos.h: Update.
2644
2645         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
2646         (CONST_COSTS): Move code ...
2647         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
2648         default_rtx_costs; update for signature change.
2649         * config/ip2k/ip2k-protos.h: Update.
2650
2651         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
2652         (CONST_COSTS): Move code ...
2653         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
2654         (TARGET_RTX_COSTS): New.
2655         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
2656         * config/m68hc11/m68hc11-protos.h: Update.
2657
2658         * config/m68k/m68k.c (const_int_cost): Make static.
2659         * config/m68k/m68k-protos.h: Update.
2660
2661         * config/mcore/mcore.c (mcore_const_costs): Make static.
2662         (mcore_and_cost, mcore_ior_cost): Likewise.
2663         * config/mcore/mcore-protos.h: Update.
2664
2665         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
2666         (mmix_rtx_cost_recalculated): Remove.
2667         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
2668         * config/mmix/mmix-protos.h: Update.
2669
2670         * config/sh/sh.c (shiftcosts): Make static.
2671         (addsubcosts, andcosts, multcosts): Likewise.
2672         * config/sh/sh-protos.h: Update.
2673
2674         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
2675         (sparc_rtx_costs): Make static; update for change in signature.
2676         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
2677         * config/sparc/sparc-protos.h: Update.
2678
2679         * config/v850/v850.c (const_costs): Make static.
2680         * config/v850/v850-protos.h: Update.
2681
2682         * config/vax/vax.h (RTX_COSTS): Remove.
2683         (CONST_COSTS): Move code ...
2684         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
2685         from vax_rtx_cost.
2686         (vax_rtx_costs, TARGET_RTX_COSTS): New.
2687
2688 2003-01-27  Richard Henderson  <rth@redhat.com>
2689
2690         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
2691         * config/vax/vax-protos.h: Update.  Really.
2692
2693 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
2694
2695         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
2696         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
2697         zero if no hardware floating point.
2698         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
2699         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
2700         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
2701         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
2702         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
2703         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
2704         even FP registers on N32 and N64.
2705         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
2706         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
2707         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
2708         even-register-like alignment to 128-bit arguments.
2709         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
2710         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
2711         on N32 or N64.
2712         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
2713         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
2714         (TPBIT): Set to tp-bit.c.
2715         (tp-bit.c): Create out of fp-bit.c.
2716
2717 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2718
2719         * c-parse.in: Remove '%expect 32' directive in objc mode.
2720
2721 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
2722
2723         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
2724         (LIBGCOV): New variable.
2725         (libgcc.mk): Add LIBGCOV.
2726         (LIBGCC_DEPS): Add libgcov.c.
2727         (libgcov.a): New target.
2728         (clean): Remove libgcov.a.
2729         (install-libgcc): Do libgcov too.
2730         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
2731         with libgcov.a.
2732         * libgcc2.c (L_gcov): Move into ...
2733         * libgcov.c: ... here. New file.
2734         * mklibgcc.in: Add libgcov rules.
2735         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
2736
2737         * doc/invoke.texi (profile-arcs, test-coverage): Update and
2738         clarify.
2739
2740         * profile.c (index_counts_file): Remove duplicate check for open file.
2741
2742 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
2743
2744         * gcc/doc/invoke.texi (Optimization Options): Group together
2745         optional and experimental flags.  Move trapv and bounds-check
2746         out of this section.  Group floating point flags together.
2747         (Code Gen Options): Move trapv and bounds-check to here.
2748
2749 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
2750
2751         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
2752
2753 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
2754
2755         PR optimization/9090
2756         * function.c (purge_addressof_1): After pushing an addressed register
2757         onto the stack, simplify the result.
2758
2759 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2760
2761         * doc/extend.texi: Fix typo.
2762
2763 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2764
2765         * doc/cppopts.texi: Fix typo.
2766         * doc/objc.texi: Likewise.
2767         * doc/passes.texi: Likewise.
2768
2769 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
2770
2771         * real.c (ibm_extended_format): Add 53 to minimum exponent.
2772         (encode_ibm_extended): Adjust.
2773
2774 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
2775
2776         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
2777         timevar_id enumerations.
2778
2779 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2780
2781         * combine.c: Fix formatting.
2782
2783 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2784
2785         * doc/gccint.texi: Update the copyright.
2786
2787 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2788
2789         * doc/cpp.texi: Fix typos.
2790         * doc/extend.texi: Likewise.
2791         * doc/gty.texi: Likewise.
2792         * doc/install.texi: Likewise.
2793         * doc/passes.texi: Likewise.
2794         * doc/rtl.texi: Likewise.
2795         * doc/tm.texi: Likewise.
2796
2797 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2798
2799         * config/ia64/fde-glibc.c: Fix comment typos.
2800         * config/ia64/hpux.h: Likewise.
2801         * config/ia64/ia64.c: Likewise.
2802         * config/ia64/ia64.h: Likewise.
2803         * config/ia64/unwind-ia64.c: Likewise.
2804
2805 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2806
2807         * config/i386/i386-modes.def: Fix comment typos.
2808         * config/i386/i386.c: Likewise.
2809         * config/i386/i386.md: Likewise.
2810
2811 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2812
2813         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
2814         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
2815         ASM_FINISH_DECLARE_OBJECT before defining it.
2816         * toplev.c (rest_of_decl_compilation):  Don't define
2817         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
2818         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
2819         parameters for DWARF2 targets because they _are_ used.
2820
2821 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2822
2823         * fp-bit.h: Define macros for TFmode floating-point constants
2824         in IBM-extended TFmode types.
2825         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
2826         widths.
2827         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
2828         TFmode type.
2829
2830         * config/fp-bit.h: Define macros for TFmode floating-point
2831         constants in IEEE quad TFmode type.  Declare functions according
2832         to L_ macros.
2833         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
2834         (TFtype, TItype, UTItype): Define if TMODES is defined.
2835         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
2836         (F_T_BITOFF, D_T_BITOFF): Define.
2837         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
2838         guaranteed to be wide enough.
2839         * config/fp-bit.c: Check for L_ macros for tf functions.
2840         (__thenan_tf): New.
2841         (nan): Adjust.
2842         (pack_d, unpack_d): Support IEEE 854 quad type.
2843         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
2844         from FRAC_NBITS, FRAC_BITS and NGARDS.
2845         (usi_to_float): Cast constants to be shifted to fractype
2846         instead of assuming long long is wide enough.
2847         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
2848
2849 2003-01-26  Andreas Jaeger  <aj@suse.de>
2850
2851         * df.c: Remove prototype of unused function df_regno_rtl_debug.
2852
2853 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2854
2855         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
2856         (DBBIT_FUNCS): Added _df_to_tf.
2857         (TPBIT_FUNCS): New.
2858         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
2859         (LIBGCC_DEPS): Added TPBIT.
2860         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
2861
2862         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
2863         been able to move the result to target.
2864
2865         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
2866         for the appropriate mode.
2867
2868         * calls.c (emit_library_call_value_1): Handle return values
2869         in a PARALLEL.
2870
2871         * rtl.c (get_mode_alignment): Moved to...
2872         * stor-layout.c: ... here.
2873
2874         * print-rtl.c (print_rtx): Don't print MEM details in
2875         GENERATOR_FILEs.
2876
2877 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
2878
2879         * df.h: Update comments, tidy formatting.
2880         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
2881         REVERSE, UNION, INTERSECTION.  All uses updated.
2882         (OLD_DF_INTERFACE): Remove.
2883         (struct insn_info): Remove commented out insn field.
2884         * df.c: Update comments, tidy formatting.
2885         (df_def_table_realloc): Remove.
2886
2887
2888 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
2889
2890         * calls.c (save_fixed_argument_area): Tidy.
2891         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
2892         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
2893         call chain loop at 1 if !try_tail_call.  Formatting.
2894         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
2895         Use save_fixed_argument_area and restore_fixed_argument_area.
2896
2897 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2898
2899         * df.c (df_uses_record): Handle CC0.
2900
2901 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
2902
2903         * reload.c (maybe_memory_address_p): New function.
2904         (find_reloads_address): Use it instead of memory_address_p.
2905
2906 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
2907
2908         * final.c (shorten_branches): Align the address of code label
2909         when computing initial lengths and addresses.
2910
2911 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2912
2913         * config/m68hc11/m68hc11.md: Fix a comment typo.
2914
2915 2003-01-25  Andreas Jaeger  <aj@suse.de>
2916
2917         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
2918         TARGET_MACHO.
2919
2920 2003-01-25  Roger Sayle  <roger@eyesopen.com>
2921
2922         * gcse.c (bypass_last_basic_block): New global variable.
2923         (bypass_block):  Use redirect_edge_and_branch_force to redirect
2924         fall-through edges.  Use bypass_last_basic_block to determine
2925         which blocks have valid PRE information.
2926         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
2927
2928 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
2929
2930         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
2931
2932 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
2933                               Eric Botcazou <ebotcazou@libertysurf.fr>
2934         PR opt/8492
2935         * gcse.c (one_cprop_pass): Delete unreachable blocks.
2936
2937 2003-01-25  Richard Henderson  <rth@redhat.com>
2938
2939         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
2940         from ia64_aix_select_rtx_section.
2941         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
2942         instead of saving and restoring flag_pic.
2943         (ia64_rwreloc_unique_section): Similarly.
2944         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
2945         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
2946         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
2947         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
2948
2949 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2950
2951         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
2952         comment.
2953
2954 2002-01-25  Richard Henderson  <rth@redhat.com>
2955
2956         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
2957
2958 2002-01-25  Kelley Cook <kelleycook@comcast.net>
2959
2960         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
2961
2962 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
2963
2964         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
2965         type for bitmaps.  Use unsigned long.
2966         (nBITMAP_WORD_BITS): New macro.
2967         (BITMAP_WORD_BITS): New macro.
2968         (rest of file): Use it.
2969         * bitmap.c: Use it.
2970
2971 2003-01-25  Richard Henderson  <rth@redhat.com>
2972
2973         2002-02-19  Robert Lipe  <robertlipe@usa.net>
2974         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
2975
2976 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2977
2978         * builtins.c (purge_builtin_constant_p): Scan insn stream
2979         sequentially rather than by basic block.
2980         * function.c (purge_addressof): Simplify test with INSN_P.
2981
2982 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2983
2984         * combine.c (simplify_comparison, case AND): Remove a redundant test.
2985
2986 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2987
2988         * function.h (struct function): New field calls_constant_p.
2989         (current_function_calls_constant_p): New macro for above.
2990         * function.c (prepare_function_start): Initialize calls_eh_return
2991         and calls_constant_p.
2992         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
2993         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
2994         when the current_function_calls_constant_p.
2995         * integrate.c (expand_inline_function): Set calls_constant_p if
2996         the function being inlined has calls_constant_p set.
2997
2998 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2999
3000         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
3001         optimizing, even if flag_gcse is true.
3002         * toplev.c (rest_of_compilation): purge_builtin_constant_p
3003         only needs to be called when "optimize > 0 && flag_gcse".
3004
3005 2003-01-25  Roger Sayle  <roger@eyesopen.com>
3006
3007         * stmt.c (emit_case_bit_tests): New routine to implement suitable
3008         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
3009         (case_bit_test_cmp): New comparison function for "qsort" to order
3010         case_bit_tests by decreasing number of destination nodes.
3011         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
3012         (expand_end_case_type): Use emit_case_bit_tests to implement
3013         suitable switch statments.
3014         (CASE_USE_BIT_TESTS): New target macro to disable the above.
3015         * Makefile.in (stmt.o): Add dependency on optab.h.
3016         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
3017
3018 2003-01-23  Andreas Schwab  <schwab@suse.de>
3019
3020         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
3021         __do_global_ctors_aux hidden global and don't put it in
3022         .init_array.
3023         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
3024         instead so that it comes first.
3025
3026 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
3027
3028         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
3029         subreg is read/modify.
3030
3031 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
3032
3033         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
3034         do libcall for large blocks.
3035         * i386.md (comi patterns): Set type to ssecomi.
3036         (sse2_unpck?pd): Fix mode of vec_select.
3037
3038         * cse.c: Include except.h
3039         (cse_set_around_loop):  Do not create new basic blocks.
3040         * Makefile.in (cse.o): Add dependnecy on except.h
3041
3042 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
3043
3044         * builtins.c (fold_trunc_transparent_mathfn): New function.
3045         (fold_builtin): Use it.
3046         * convert.c (convert_to_real): Re-enable code to convert
3047         math functions; add support for floor familly functions.
3048
3049 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3050
3051         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
3052         dependencies on coretypes.h and $(TM_H).
3053
3054 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
3055
3056         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
3057
3058 2002-01-24  Stuart Hastings  <stuart@apple.com>
3059
3060         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
3061
3062 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3063
3064         * config/c4x/c4x.md (UNSPEC_BU): New constants.
3065         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
3066         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
3067         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
3068         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
3069         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
3070         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
3071         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
3072
3073 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
3074
3075         * emit-rtl.c (reg_attrs_htab): New static variable.
3076         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
3077         functions.
3078         (reg_rtx): Do not maintain regno_decl.
3079         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
3080         set_mem_attrs_from_reg): New global function.
3081         (init_emit): Do not initialize regno_decl.
3082         (init_emit_once): initialize reg_attrs_htab.
3083         * final.c (alter_subreg): Do not replace REG by SUBREG.
3084         (gen_mem_expr_from_op): Improve output.
3085         (output_asm_operands): Likewise.
3086         * function.c (assign_params): Do not set REGNO_DECL.
3087         * function.h (struct function): Kill regno_decl.
3088         (REGNO_DECL): Kill.
3089         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
3090         * print_rtl.c (print_rtx): Output REG information.
3091         * regclass.c (reg_scan_mark_refs): Update attrs.
3092         * reload1.c (alter_reg): Likewise.
3093         * simplify_rtx.c (simplify_subreg): Likewise.
3094         * stmt.c (expand_decl): Likewise.
3095         * rtl.def (REG): Add new field.
3096         * rtl.h (struct reg_attrs): New.
3097         (rtunion_def): At rtreg.
3098         (X0MEMATTR): Add checking.
3099         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
3100         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
3101         Declare.
3102         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
3103
3104 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
3105
3106         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
3107         (xtensa_emit_call, print_operand): Fix printf format strings
3108         to avoid compile warnings.
3109         (xtensa_function_prologue, xtensa_function_epilogue): Change type
3110         of "size" argument to HOST_WIDE_INT to fix compile warnings.
3111         * config/xtensa/xtensa-protos.h
3112         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
3113
3114 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
3115
3116         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
3117         (implicit_built_in_decls): New global array.
3118         (mathfn_built_in): New global function.
3119         (fold_trunc_transparent_mathfn): New static function
3120         (expand_builtin_strstr, expand_bultin_strchr,
3121         expand_builtin_strpbrk, expand_builtin_strcpy,
3122         expand_builtin_strncpy, expand_bultin_strcmp,
3123         expand_bultin_strncat, expand_builtin_fputs): Use
3124         implicint_built_in_decls.
3125         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
3126         * builtins.def: Fix comments.
3127         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
3128         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
3129         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
3130         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
3131         (DEF_C99_C90RES_BULTIN): New.
3132         (*f, *l builtins): Update.
3133         * c-common.c (DEF_BUILTIN): Initialize implicit array.
3134         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
3135         * convert.c (strip_float_extensions): New global function.
3136         * tree.h (DEF_BUILTIN): Accept 10 arguments.
3137         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
3138         Declare.
3139         * java/builtins.c (define_builtin): Handle implicit.
3140         (DEF_BUILTIN): Update.
3141         * tm.texi (TARGET_C99_FUNCTIONS): Document.
3142         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
3143         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
3144         when using glibc2.
3145
3146 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
3147
3148         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
3149         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
3150         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
3151         * config/xtensa/crti.asm: New file.
3152         * config/xtensa/crtn.asm: New file.
3153         * config/xtensa/t-elf: New file.
3154         * config/xtensa/t-linux: New file.
3155         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
3156         Move various CFLAGS settings to new t-elf file.
3157
3158 2003-01-24  Richard Henderson  <rth@redhat.com>
3159
3160         PR optimization/4382
3161         * tree-inline.c (find_builtin_longjmp_call_1): New.
3162         (find_builtin_longjmp_call): New.
3163         (inlinable_function_p): Use it.
3164
3165 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3166
3167         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
3168         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
3169         * config/i386/i386.c (function_arg_pass_by_reference): New.
3170         (ix86_va_arg): Support arguments passed by reference.
3171
3172 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3173
3174         * cfgloopanal.c: New file.
3175         * cfgloopmanip.c: New file.
3176         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
3177         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
3178         cfglayout.o): Add dependency on cfgloop.h.
3179         (cfgloop.o): Add flags.h dependency.
3180         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
3181         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
3182         (struct loop, struct loops, flow_loops_find, flow_loops_update,
3183         flow_loops_free, flow_loops_dump, flow_loop_dump,
3184         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
3185         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
3186         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
3187         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
3188         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
3189         find_common_loop, verify_loop_structure): Declarations moved to ...
3190         * cfgloop.h: New file.
3191         * bb-reorder.c (reorder_basic_blocks): Modified.
3192         * cfglayout.c: Include cfgloop.h.
3193         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
3194         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
3195         (break_superblocks): New static function.
3196         (cfg_layout_finalize): Use it.
3197         (cfg_layout_split_block): New function.
3198         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
3199         fields.
3200         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
3201         changed.
3202         (cfg_layout_split_block): Declare.
3203         * cfgloop.c: Include cfgloop.h and flags.h.
3204         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
3205         get_loop_body): Avoid signed versus unsigned comparison warnings.
3206         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
3207         loop_latch_edge): Modified.
3208         (verify_loop_structure): Modified to use flags stored in loop structure;
3209         check irreducible loops.
3210         (cancel_loop, cancel_loop_tree): New functions.
3211         (estimate_probability): Use loop analysis code for predictions.
3212         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
3213         warnings.
3214         * doloop.c: Include cfgloop.h.
3215         * loop.c: Include cfgloop.h.
3216         * predict.c: Include cfgloop.h.
3217         * toplev.c: Include cfgloop.h.
3218         * unroll.c: Include cfgloop.h.
3219         * tracer.c (tracer): Modified.
3220
3221 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
3222
3223         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
3224
3225 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
3226
3227         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
3228         * configure: Regenerate.
3229
3230         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
3231         (tls_symbolic_reference_mentioned_p): Add prototype.
3232         (s390_tls_get_offset): Add prototype.
3233         (emit_pic_move): Remove prototype, replace by ...
3234         (emit_symbolic_move): .. this new prototype.
3235
3236         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
3237         (tls_model_chars): New global variable.
3238         (s390_encode_section_info): Encode TLS model.
3239         Use targetm.binds_local_p to check for local symbols.
3240         (s390_strip_name_encoding): New function.
3241         (TARGET_STRIP_NAME_ENCODING): Define.
3242
3243         (get_thread_pointer): New function.
3244         (legitimize_tls_address): New function.
3245         (legitimize_address): Call it.
3246         (emit_pic_move): Remove, replace by ...
3247         (emit_symbolic_move): ... this new function.
3248
3249         (larl_operand): Handle TLS operands.
3250         (legitimate_constant_p): Likewise.
3251         (s390_decompose_address): Likewise.
3252         (s390_cannot_force_const_mem): New function.
3253         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
3254
3255         (s390_output_symbolic_const): Handle TLS unspecs.
3256         (print_operand): New code 'J'.
3257         (machine_function): Add struct member 'some_ld_name'.
3258         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
3259
3260         (enum s390_builtin): New type.
3261         (code_for_builtin_64, code_for_builtin_31): New global variables.
3262         (s390_init_builtins, s390_expand_builtin): New functions.
3263         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
3264
3265         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
3266         (ASM_OUTPUT_LABELREF): Define.
3267         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
3268
3269         * config/s390/s390.md: Define TLS UNSPEC constants.
3270         ("movdi", "movsi"): Handle TLS operands.
3271         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
3272         ("*tls_load_64", "*tls_load_31"): New insns.
3273         ("call_value_tls", "call_value_tls_exp"): New expanders.
3274         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
3275         "bas_tls_64", "bas_tls_31"): New insns.
3276
3277 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
3278
3279         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
3280         spe ABI is configured, if requested.
3281
3282 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3283
3284         * doc/passes.texi: Fix typo.
3285
3286 2003-01-24  Andreas Schwab  <schwab@suse.de>
3287
3288         * stor-layout.c (excess_unit_span): Only define if used.
3289
3290 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
3291
3292         * gcc/doc/invoke.texi (Optimization Options): List -O levels
3293         for each optimization flag.
3294
3295 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
3296
3297         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
3298
3299 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3300
3301         * doc/bugreport.texi: Use @command instead of @code for commands.
3302         * doc/collect2.texi: Likewise.
3303         * doc/headerdirs.texi: Likewise.
3304         * doc/invoke.texi: Likewise.
3305         * doc/standards.texi: Likewise.
3306         * doc/tm.texi: Likewise.
3307         * doc/trouble.texi: Likewise.
3308
3309 2003-01-24  Nick Clifton  <nickc@redhat.com>
3310
3311         * config/arm/arm.c (use_return_insn): Do not use a single return
3312         instruction for interrupt handelrs which have to create a stack
3313         frame.
3314         (arm_expand_prologue): Do not pre-bias the return address of
3315         interrupt handlers which create a stack frame.
3316
3317 2003-01-24  Nick Clifton  <nickc@redhat.com>
3318
3319         * Add sh2e support:
3320
3321         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
3322
3323                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
3324                 med_cbranches.  Fix logic in short_cbranches.
3325
3326         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
3327
3328                 * config/sh/sh.md (delay for cbranch): Don't annul delay
3329                 slots on SH2e.
3330                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
3331                 cbranch with unfilled delay slot on SH2e.
3332                 (output_branch): Fill with a nop the delay slot of a
3333                 branch that required a delay slot but didn't get one.
3334
3335         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
3336
3337                 * doc/invoke.texi (SH options): Document -m2e.
3338                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
3339                 * config/sh/lib1funcs.asm: Likewise.
3340                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
3341                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
3342                 not __sh1__.
3343                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
3344                 SH2E up.
3345                 (SH3E_BIT): Renamed to...
3346                 (SH_E_BIT): ... this.  Replace all uses.
3347                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
3348                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
3349                 (TARGET_SWITCHES): Added 2e.
3350                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
3351                 (processor_type): Added PROCESSOR_SH2E.
3352                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
3353                 TARGET_SH2E, except in sqrtsf2_i.
3354                 (attribute cpu): Added sh2e.
3355                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
3356                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
3357                 * config.gcc: Add sh2e target support.
3358
3359 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
3360
3361         Rename -W to -Wextra.
3362         * c-decl.c:  Update comments.
3363         * c-typeck.c:  Likewise.
3364         * flags.h:  Likewise.
3365         * function.c:  Likewise.
3366         * stmt.c:  Likewise.
3367         * toplev.c:  Update comments.
3368         (W_options):  Add 'extra'.
3369         (display_help):  Remove '-W'.
3370         (decode_W_option):  Special warn_uninitialized treatment in the case
3371         of -Wextra.
3372         * doc/invoke.texi:  Update with new entries.
3373
3374 2003-01-23  Richard Henderson  <rth@redhat.com>
3375
3376         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
3377         in no-else-block case.  Add commentary.
3378
3379 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3380
3381         * configure.in: Revert last change.
3382
3383 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3384
3385         * configure.in: Don't include ansidecl.h in tconfig.h.
3386         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
3387         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
3388         ATTRIBUTE_UNUSED.
3389
3390         * configure: Regenerate.
3391
3392 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3393
3394         PR java/6748
3395         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
3396         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
3397         kernels.
3398
3399 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3400
3401         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
3402
3403 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
3404
3405         * genattrtab.c (write_attr_get): Mark 'insn' paramter
3406         as ATTRIBUTE_UNUSED.
3407
3408 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
3409
3410         * arm.c (thumb_base_register_rtx_p): New function.
3411         (thumb_index_register_rtx_p): New function.
3412         (thumb_legitimate_address_p): New function.
3413         (thumb_legitimate_offset_p): New function.
3414         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
3415         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
3416         definitions.
3417         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
3418         (THUMB_LEGITIMATE_OFFSET): Delte.
3419         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
3420         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
3421         (thumb_legitimate_offset_p): Likewise.
3422
3423 2003-01-23  Andreas Schwab  <schwab@suse.de>
3424
3425         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
3426
3427 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3428
3429         * fixinc/Makefile.in (FL_LIST): Revert last change.
3430
3431 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3432
3433         PR other/7341
3434         * invoke.texi (ftest-coverage): Fix broken cross-reference.
3435         Change @code to @command for gcov command.
3436
3437         * gcc.texi: Adjust title of gcov section.
3438         Adjust copyright.
3439         * gcov.texi: Likewise.
3440
3441 2003-01-22  Roger Sayle  <roger@eyesopen.com>
3442
3443         PR optimization/8423
3444         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
3445         its argument is constant, or 0 if !flag_gcse.
3446         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
3447         if it's argument is constant.
3448         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
3449         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
3450         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
3451         * builtins.c (purge_builtin_constant_p): New function to force
3452         instantiation of any remaining CONSTANT_P_RTX nodes.
3453         * rtl.h (purge_builtin_constant_p): Prototype here.
3454         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
3455         pass after GCSE and before loop.
3456         (flag_gcse): No longer static.
3457         * flags.h (flag_gcse): Prototype here.
3458
3459 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
3460
3461         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
3462         introduced by last change.
3463
3464 2003-01-22  Andreas Schwab  <schwab@suse.de>
3465
3466         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
3467
3468 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
3469
3470         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
3471         request a scratch reg on H8S when the shift count is 8.
3472
3473 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
3474
3475         * config/s390/s390-protos.h (preferred_la_operand_p):
3476         Remove second parameter.
3477         * config/s390/s390.c (preferred_la_operand_p): Likewise.
3478         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
3479         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
3480         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
3481         Add peepholes to transform ADD to LOAD ADDRESS.
3482
3483 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
3484
3485         * arm.c (arm_address_register_rtx_p): New function.
3486         (arm_legitimate_address_p): New function.
3487         (arm_legitimate_index_p): New function.
3488         (legitimize_pic_address): Use arm_legitimate_index_p.
3489         * arm-protos.h (arm_legtimate_address_p): Add prototype.
3490         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
3491         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
3492
3493 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
3494
3495         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
3496         * config/s390/2064.md (define_bypass): Correct 'Load' and
3497         'Load-address' bypass values.
3498
3499 2003-01-22  Andreas Schwab  <schwab@suse.de>
3500
3501         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
3502
3503 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3504
3505         * genautomata.c (output_internal_insn_latency_func,
3506         output_print_reservation_func): Short circuit when there is no
3507         automaton to generate code for.
3508
3509 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3510
3511         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
3512         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
3513
3514 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
3515
3516         * config/rs6000/rs6000.md: Remove warning.
3517         (builtin_setjmp_receiver): Likewise.
3518         * config/darwin.c (update_stubs): Slightly improve terrible hack
3519         with identifiers.  Add comment pointing out problems with it.
3520         (update_non_lazy_ptrs): Likewise.
3521
3522 2003-01-21  Richard Henderson  <rth@redhat.com>
3523
3524         * dwarf2out.c (lookup_filename): Fix printf format warning.
3525         * system.h (fread_unlocked, fwrite_unlocked): Undef.
3526
3527         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
3528         (fixincl.o-warn, gnu-regex.o-warn): New.
3529         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
3530         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
3531         * fixinc/fixincl.c (process): Fix printf format warning.
3532
3533 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3534
3535         * dwarf2out (output_file_names): Don't crash if called
3536         with empty file_table.
3537
3538 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3539
3540         * genautomata.c (output_internal_insn_latency_func): Add
3541         missing break statement to generated code.
3542
3543 2003-01-21  Roger Sayle  <roger@eyesopen.com>
3544
3545         * stmt.c (same_case_target_p): New function to determine whether
3546         two case labels branch to the same target.  Split out from...
3547         (group_case_nodes): ... here.  Use same_case_target_p instead.
3548         (strip_default_case_nodes): Remove explicit case nodes
3549         that branch to the default destination.
3550         (expand_end_case_type): Call strip_default_case_nodes after
3551         group_case_nodes, to simplify the case-list before we count it.
3552         Only generate table_label RTX when actually needed.  Try to share
3553         thiscase->exit_label and thiscase->data.case_stmt.default_label
3554         when a switch has no explicit default case.  Simplify test for
3555         constant index.
3556
3557 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
3558
3559         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
3560         \t.
3561         (*negsf2_h8300hs): Likewise.
3562         (*addsi3_lshiftrt_16_zexthi): Likewise.
3563         (*iorhi3_lshiftrt_8): Likewise.
3564
3565 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3566
3567         * dwarf2out.c (fde_table_in_use): Mark GTY.
3568         (dwarf2out_cfi_label_num): New variable, marked GTY.
3569         (dwarf2out_cfi_label): Use it instead of static label_num.
3570         * emit-rtl.c (label_num): Mark GTY.
3571
3572 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
3573
3574         * config/h8300/h8300.c (output_plussi): Support H8/300.
3575         (compute_plussi_length): Likewise.
3576         (compute_plussi_cc): Likewise.
3577         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
3578         output assembly instructions.
3579
3580 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3581
3582         * calls.c (fix_unsafe_tree): Prototype.
3583
3584         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
3585         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
3586         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
3587         c-parse.o-warn): Add -Wno-error.
3588         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
3589
3590         * configure.in (--enable-werror): Add new flag.
3591         * doc/install.texi (--enable-werror): Document.
3592         * configure: Regenerate.
3593
3594         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
3595
3596 2003-01-21  Andreas Schwab  <schwab@suse.de>
3597
3598         * genautomata.c (output_internal_insn_latency_func): Fix missing
3599         close paren in output.
3600
3601 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3602
3603         * genautomata.c: Space savings in generated code:
3604         (output_dfa_insn_code_func): Split out the table-enlargement
3605         path to an out-of-line static function, dfa_insn_code_enlarge.
3606         (output_internal_insn_latency_func): Use a lookup table for the
3607         default latencies.
3608         (output_print_reservation_func): Use a lookup table for the
3609         strings.
3610
3611 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
3612
3613         PR opt/7507
3614         * calls.c (fix_unsafe_tree): Split out from ...
3615         (expand_call): ... here.  Use it on the function address too.
3616
3617 2003-01-20  Richard Henderson  <rth@redhat.com>
3618
3619         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
3620
3621 2003-01-20  Richard Henderson  <rth@redhat.com>
3622
3623         PR opt/7154
3624         * stmt.c (expand_asm_operands): Validize memory operands.
3625
3626 2003-01-20  Richard Henderson  <rth@redhat.com>
3627
3628         PR opt/8848
3629         * ifcvt.c (noce_process_if_block): Correct arguments to
3630         modified_between_p for no-else-block case.
3631
3632 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3633
3634         * config/h8300/h8300.c (const_costs): Remove a warning.
3635         (output_plussi): Likewise.
3636         (compute_plussi_length): Likewise.
3637         (compute_plussi_cc): Likewise.
3638
3639 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3640
3641         * config/h8300/h8300.md (addsi_h8300): Remove the last
3642         alternative.
3643
3644 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3645
3646         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3647
3648 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3649
3650         * system.h (__NO_STRING_INLINES): Define.
3651
3652 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3653
3654         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
3655         is not a scalar int mode.
3656
3657 2003-01-20  Roger Sayle  <roger@eyesopen.com>
3658
3659         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
3660         insn's notes following a substitution inside a libcall.
3661
3662 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
3663
3664         * configure.in: Check for system-provided 'uchar' type.
3665         * configure, config.in: Regenerate.
3666         * cpphash.h: Only typedef 'uchar' if the system doesn't.
3667
3668 2003-01-20  Richard Henderson  <rth@redhat.com>
3669
3670         * expr.h (MUST_PASS_IN_STACK): Move implementation...
3671         * calls.c (default_must_pass_in_stack): ... here.
3672
3673 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
3674
3675         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
3676
3677         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
3678
3679         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
3680         Wrap up definition of `insn_alts'.
3681
3682         * genattrtab.c (main): Wrap up `insn_alts'.
3683
3684 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3685
3686         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
3687         prototyping.
3688         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
3689
3690         * config.in, configure: Regenerate.
3691
3692 2003-01-20  Nick Clifton  <nickc@redhat.com>
3693
3694         * config/arm/arm.md (sibcall_epilogue): Add an
3695         UNSPEC_PROLOGUE_USE to prevent the link register from being
3696         considered dead.
3697
3698 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
3699
3700         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
3701
3702 2003-01-20  Andreas Schwab  <schwab@suse.de>
3703
3704         * system.h: Don't declare strsignal if the decl test hasn't been
3705         run yet.
3706
3707 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3708
3709         * config/h8300/h8300.c (notice_update_cc): Don't assume that
3710         recog_data.operands[0] is always associated with cc0.
3711
3712 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
3713
3714         * collect2.c (ldgetname): Expand declaration to prototype.
3715         * read-rtl.c (atoll): Add prototype.
3716         * system.h (strsignal): Also declare if no declaration found.
3717
3718 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
3719
3720         * config.gcc (mips64*-*-linux*): Added.
3721         * config/mips/linux64.h, config/mips/t-linux64: New file.
3722         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
3723         * config/mips/mips.c (override_options): Use it.
3724         * config/mips/mips.h (TARGET_SWITCHES): Added...
3725         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
3726         * Makefile.in (SPECS): New.
3727         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
3728         * gcc.c (process_command): Move self-spec processing past spec
3729         file loading.
3730         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
3731         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
3732         CRTSTUFF_T_CFLAGS.
3733         (SPECS): Document.
3734         * doc/invoke.texi (-mabi-fake-default): Document.
3735
3736 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
3737
3738         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
3739         z_reg, z_reg_qi): Declare static and GTY().
3740         (da_reg): Remove.
3741         (create_regs_rtx): Don't create da_reg.
3742         ("gt-m68hc11.h"): Include for GTY roots.
3743         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
3744         and GTY() here.
3745         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
3746         (m68hc11_soft_tmp_reg): Likewise.
3747         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
3748
3749 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
3750
3751         * basic-block.h: Fix comment formatting.
3752         * calls.c: Likewise.
3753         * combine.c: Likewise.
3754         * convert.c: Likewise.
3755         * gcov.c: Likewise.
3756         * haifa-sched.c: Likewise.
3757         * libgcc2.c: Likewise.
3758         * loop.c: Likewise.
3759         * profile.c: Likewise.
3760         * system.h: Likewise.
3761
3762 2003-01-18  Roger Sayle  <roger@eyesopen.com>
3763
3764         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
3765
3766 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3767
3768         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
3769
3770 2003-01-17  Dale Johannesen  <dalej@apple.com>
3771
3772         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
3773           (*floatunssidf2_internal):  Ditto.
3774
3775 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3776
3777         * alias.c: Fix comment typos.
3778         * basic-block.h: Likewise.
3779         * c-common.c: Likewise.
3780         * c-common.h: Likewise.
3781         * c-decl.c: Likewise.
3782         * c-opts.c: Likewise.
3783         * c-pragma.c: Likewise.
3784         * c-pretty-print.h: Likewise.
3785         * cfg.c: Likewise.
3786         * cfganal.c: Likewise.
3787         * cfgbuild.c: Likewise.
3788         * cfgcleanup.c: Likewise.
3789         * cfglayout.c: Likewise.
3790         * cfgrtl.c: Likewise.
3791         * convert.c: Likewise.
3792         * cpphash.h: Likewise.
3793         * cpplex.c: Likewise.
3794         * cpplib.h: Likewise.
3795         * df.h: Likewise.
3796         * diagnostic.c: Likewise.
3797         * diagnostic.h: Likewise.
3798         * dwarf2.h: Likewise.
3799
3800 2003-01-17  Stan Shebs  <shebs@apple.com>
3801
3802         * config/darwin-protos.h: Forward-declare struct cpp_reader.
3803
3804 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
3805
3806         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
3807         mistake in last checkin.
3808
3809 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3810
3811         * et-forest.c: Fix comment typos.
3812         * et-forest.h: Likewise.
3813         * except.c: Likewise.
3814         * expr.c: Likewise.
3815         * flags.h: Likewise.
3816         * flow.c: Likewise.
3817         * gcc.c: Likewise.
3818         * gcse.c: Likewise.
3819         * genattrtab.c: Likewise.
3820         * genautomata.c: Likewise.
3821         * gengtype.c: Likewise.
3822         * genrecog.c: Likewise.
3823         * global.c: Likewise.
3824         * gthr-rtems.h: Likewise.
3825
3826 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3827
3828         * i386.c (x86_function_profiler): Fix format specifier.
3829
3830 2003-01-17  Richard Henderson  <rth@redhat.com>
3831
3832         * gengtype.c (walk_type): Allow paramN_is.
3833
3834 2003-01-17  Nick Clifton  <nickc@redhat.com>
3835
3836         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
3837
3838 2003-01-16  Richard Henderson  <rth@redhat.com>
3839
3840         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
3841
3842 2003-01-16  Richard Henderson  <rth@redhat.com>
3843
3844         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
3845         (alpha_next_sequence_number): Likewise.
3846         (alpha_this_literal_sequence_number): Likewise.
3847         (alpha_this_gpdisp_sequence_number): Likewise.
3848         (struct alpha_funcs, alpha_funcs_num): Likewise.
3849         (struct alpha_links): Fix branch merge error.
3850         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
3851
3852 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
3853
3854         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
3855         R. Ghazi.
3856
3857 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
3858
3859         * ifcvt.c: Fix comment typos.
3860         * lcm.c: Likewise.
3861         * libgcc2.c: Likewise.
3862         * local-alloc.c: Likewise.
3863         * loop.c: Likewise.
3864         * predict.c: Likewise.
3865         * ra-build.c: Likewise.
3866         * ra.c: Likewise.
3867         * ra-colorize.c: Likewise.
3868         * ra.h: Likewise.
3869         * ra-rewrite.c: Likewise.
3870         * regmove.c: Likewise.
3871         * reload.h: Likewise.
3872         * rtlanal.c: Likewise.
3873         * toplev.c: Likewise.
3874         * tree.h: Likewise.
3875         * unwind-dw2-fde-glibc.c: Likewise.
3876         * vmsdbgout.c: Likewise.
3877
3878 2003-01-16  Richard Henderson  <rth@redhat.com>
3879
3880         * dwarf2out.c (struct file_table): Remove.
3881         (FILE_TABLE_INCREMENT): Remove.
3882         (file_table): Make a varray; mark for GC.  Update all users.
3883         (file_table_last_lookup_index): Extract from struct file_table.
3884         (output_file_names): Fix unsigned compare warnings.
3885         (add_name_attribute): Remove inline marker.
3886         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
3887         (lookup_filename): Don't manage size of file_table.
3888         (init_file_table): Allocate file_table with GC.
3889         (dwarf2out_init): Don't record main_input_filename here.
3890         (dwarf2out_finish): Do it here instead.
3891
3892 2003-01-16  Bruce Korb  <bkorb@gnu.org>
3893
3894         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
3895
3896 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
3897
3898         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
3899         instead of rotldi3_mextr.
3900
3901 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
3902
3903         * haifa-sched.c (move_insn): Restore moving all schedule group.
3904         (set_priorities): Restore taking SCHED_GROUP_P into account.
3905
3906         * sched-deps.c (add_dependence): Restore processing the last group
3907         insn.
3908         (remove_dependence, group_leader): Restore the functions.
3909         (set_sched_group_p): Restore adding dependencies from previous insn
3910         in the group.
3911         (compute_forward_dependences): Restore usage of group_leader.
3912
3913         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
3914         account.
3915
3916         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
3917         account.
3918         (can_schedule_ready_p): Ditto.
3919         (add_branch_dependences): Restore skipping over the group insns.
3920
3921 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3922
3923         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
3924         68HC12 pre/post inc/dec side effects.
3925
3926 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3927
3928         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
3929
3930 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
3931
3932         * sh.md (mshflo_w_x): Fix description of operation.
3933
3934 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
3935
3936         * config/rs6000/rs6000.h: Mention Altivec registers in
3937         commentary.  Fix typo.
3938
3939 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
3940
3941         * config/rs6000/rs6000.md (movti_string): Remove clobber.
3942         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
3943         generate PARALLEL with clobber for TARGET_POWER.
3944
3945 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3946
3947         * ra-colorize.c (colorize_one_web): Initialize variable.
3948         * regmove.c (fixup_match_1): Likewise.
3949         * reload1.c (reload_as_needed): Likewise.
3950         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
3951
3952 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3953
3954         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
3955
3956 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3957
3958         * dbxout.c (lastfile, cwd): Fix `unused' warning.
3959         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
3960         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
3961         is_main_source, file_table, decl_die_table_in_use,
3962         abbrev_die_table_in_use, line_info_table_in_use,
3963         separate_line_info_table_in_use, pubname_table_in_use,
3964         arange_table_in_use, ranges_table_in_use,
3965         current_function_has_inlines): Likewise.
3966         * flow.c (life_analysis): Likewise.
3967         * genemit.c (gen_insn): Likewise.
3968         * protoize.c (cplus_suffix): Likewise.
3969
3970         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
3971         * arm.h (ROUND_UP_WORD): Likewise.
3972
3973         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
3974         warning.
3975         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
3976         init_emit_once): Likewise.
3977         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
3978         Likewise.
3979         * function.c (assign_stack_temp_for_type): Likewise.
3980         * loop.c (loop_invariant_p): Likewise.
3981         * recog.c (push_operand): Likewise.
3982         * regclass.c (init_reg_sets_1): Likewise.
3983         * reload.c (update_auto_inc_notes): Likewise.
3984         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
3985         * stmt.c (expand_asm_operands): Likewise.
3986         * stor-layout.c (start_record_layout): Likewise.
3987
3988 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3989
3990         * config/c4x/c4x.md (epilogue): Correct last patch.
3991
3992 2003-01-15  Richard Henderson  <rth@redhat.com>
3993
3994         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
3995         also check that GP is being used.
3996         (alpha_find_lo_sum_using_gp): New.
3997         (alpha_does_function_need_gp): Use get_attr_usegp.
3998         * config/alpha/alpha-protos.h: Update.
3999         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
4000         as needed.
4001
4002 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4003
4004         * gcse.c (one_cprop_pass): Change function arguments to take both
4005         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
4006         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
4007         (bypass_jumps): New function to perform separate jump bypassing pass.
4008         * rtl.h (bypass_jumps): Add function prototype.
4009         * timevar.def (TV_BYPASS): New timing variable.
4010         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
4011         (dump_file): New entry for the bypass RTL dump file.
4012         (rest_of_compilation): Insert new jump bypassing optimization
4013         pass after loop.
4014         * doc/passes.texi: Document new pass.
4015
4016 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4017
4018         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
4019         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
4020         * pa.h (TARGET_SOM_SDEF): Define.
4021         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
4022
4023 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
4024
4025         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
4026         allocate 4-bytes of locals on 68HC11.
4027         (expand_epilogue): Likewise.
4028         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
4029
4030 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
4031
4032         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
4033         and -mshort-double to the assembler to specify the ABI.
4034         (LINK_SPEC): Likewise.
4035         (CPP_SPEC): Pass HCS12 specific define.
4036         (MASK_M68S12): New define.
4037         (TARGET_M68S12): Likewise.
4038         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
4039         (TARGET_VERSION): Update.
4040         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
4041         (LINK_SPEC): Update.
4042         (ASM_SPEC): Update.
4043         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
4044         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
4045
4046 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
4047
4048         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
4049         the return code.
4050
4051 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
4052
4053         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
4054         flag before setting it.
4055
4056 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4057
4058         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
4059         when loop condition is known true, i.e.  "while (1) { ... }".
4060         (genrtl_for_stmt): Similarly for "for" statements.
4061
4062 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4063
4064         * real.c (real_sqrt): Return a bool result indicating whether
4065         a floating point exception or trap should be raised.
4066         * real.h (real_sqrt): Update function prototype.
4067         * builtins.c (fold_builtin): Only fold non-trapping square
4068         roots unless we're ignoring errno and trapping math.
4069
4070 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
4071
4072         * expr.h (emit_conditional_add): Add PARAMS to declaration.
4073         * gengtype-lex.l (malloc, realloc): Move defines after include of
4074         system.h.  Remove duplicate include of system.h.
4075
4076 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4077
4078         PR middle-end/9009
4079         * optabs.c (expand_unop):  When manipulating the FP sign bit
4080         using integer operations, account for targets with different
4081         integer and FP word orders.
4082         (expand_abs): Likewise.
4083
4084 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
4085
4086         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
4087         file extension in section name.
4088
4089 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
4090
4091         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
4092         constant offset.
4093
4094 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
4095
4096         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
4097         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
4098         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
4099         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
4100
4101 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
4102
4103         PR f/9258
4104         * global.c (struct allocno): Add no_stack_reg.
4105         (global_conflicts): Set no_stack_reg.
4106         (find_reg): Use it.
4107
4108         * convert.c (convert_to_real): Fold - and abs only when profitable.
4109         * fold-const.c (fold): Fold truncates in - and abs.
4110
4111 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
4112
4113         Segher Boessenkool  <segher@koffie.nl>
4114
4115         * predict.c (real_inv_br_prob_base): New variable.
4116         (propagate_freq): Use multiply by reciprocal instead of
4117         division.  Don't divide by 1.0 at all.
4118         (estimate_bb_frequencies): Similar.
4119
4120 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
4121
4122         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
4123         * configure: Rebuilt.
4124
4125 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
4126
4127         * config/s390/s390.c (s390_safe_attr_type): New function.
4128         (s390_use_dfa_pipeline_interface): New function, return true for z900.
4129         (s390_issue_rate): New function.
4130         (s390_agen_dep_p): New function.
4131         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
4132         (s390_adjust_cost): Return 'cost' if new DFA is used.
4133         (s390_adjust_priority): Delete function.
4134         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
4135         * config/s390/s390.md (atype attribute): Attribute 'atype' default
4136         determined by 'op_type'.
4137         (type attribute): Added more type attributes.
4138         * config/s390/2064.md: New DFA description for z900 pipeline.
4139
4140 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
4141
4142         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
4143         forced to memory.  Fixes PR bootstrap/9036.
4144
4145         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
4146         to set $gp before the call.
4147
4148 2003-01-14  Richard Henderson  <rth@redhat.com>
4149
4150         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
4151         for force_const_mem.
4152
4153 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4154
4155         * genattr.c (main): Rearrange output to avoid prototype warning.
4156         * genautomata.c (transform_3): Fix ambiguous-else warning.
4157         * local-alloc.c (requires_inout): Add parentheses around
4158         assignment used as truth-value.
4159         * timevar.c: Move system includes above local includes.  Include
4160         toplev.h
4161         * Makefile.in (timevar.o): Depend on toplev.h.
4162
4163 2003-01-14  Denis Chertykov  <denisc@overta.ru>
4164
4165         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
4166         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
4167
4168         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
4169         attributes.
4170         (TARGET_ATTRIBUTE_TABLE): New macro.
4171         (valid_machine_type_attribute): Remove.
4172         (valid_machine_decl_attribute): Remove.
4173         (ip2k_handle_progmem_attribute): New function.
4174         (ip2k_handle_fndecl_attribute): New function.
4175
4176 2003-01-10  Andrew Haley  <aph@redhat.com>
4177
4178         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
4179         registers to be in correct order.  Add rip.
4180
4181 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
4182
4183         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
4184         (*iorsi3_and_lshiftrt_9_sb): Likewise.
4185
4186 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
4187
4188         * convert.c (strip_float_extensions):  Look for narrowest type handling
4189         FP constants.
4190
4191         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
4192         float1 CMP float2.
4193         * convert.c (strip_float_extensions): Make global.
4194         * tree.h (strip_float_extensions): Declare.
4195
4196 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4197
4198         * timevar.def: define TV_NAME_LOOKUP.
4199         * timevar.c (timevar_pop): Be verbose when aborting.
4200
4201 2003-01-13  Andreas Schwab  <schwab@suse.de>
4202
4203         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
4204         $(parsedir), just move the temporary file at the end.
4205         ($(parsedir)/gengtype-yacc.c): Likewise.
4206
4207 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
4208
4209         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
4210         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
4211         splitting.
4212         * configure: Rebuilt.
4213
4214 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4215
4216         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
4217         internal_mcount): Don't use PARAMS.
4218         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
4219         ISO C style.
4220         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
4221
4222 2003-01-13  Andreas Schwab  <schwab@suse.de>
4223
4224         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
4225         directive.
4226
4227 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
4228
4229         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
4230         (*iorsi3_and_lshiftrt_n_sb): Likewise.
4231
4232 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
4233
4234         PR c++/9264
4235         * c-lex.c (c_lex): Set the token value to error_mark_node for
4236         invalid numeric constants.
4237
4238 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4239
4240         * c-pch.c (asm_file_startpos): Change to `long'.
4241         (pch_init): Use ftell, not ftello.
4242         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
4243         Use `long' instead of `off_t'.
4244         (c_common_read_pch): Likewise.
4245         * ggc-common.c (gt_pch_save): Use long/ftell instead of
4246         off_t/ftello.
4247
4248 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
4249
4250         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
4251
4252 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
4253
4254         * arm-protos.h (struct cpp_reader): Add declaration.
4255
4256 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
4257
4258         PR target/9068
4259         * i386.c (output_fp_compare): Fix typo.
4260
4261 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
4262
4263         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
4264
4265 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
4266
4267         * Makefile.in (parsedir): New variable.
4268         (docobjdir): New variable.
4269         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
4270         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
4271         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
4272         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
4273         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
4274         Use docobjdir.
4275         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
4276         objc.maintainer-clean): Use parsedir.
4277
4278         * varasm.c (struct constant_descriptor_rtx): Remove unused
4279         `label' field.
4280
4281         * toplev.c (documented_lang_options): Document -Winvalid-pch.
4282
4283 2003-01-10  Richard Henderson  <rth@redhat.com>
4284
4285         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
4286         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
4287
4288 2003-01-10  Richard Henderson  <rth@redhat.com>
4289
4290         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
4291         not INTEGRAL_MODE_P when widening extensions.
4292
4293 2003-01-10  Richard Henderson  <rth@redhat.com>
4294
4295         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
4296
4297 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
4298
4299         * ggc-page.c (ggc_collect): Avoid overflow computing
4300         min_expand.
4301
4302         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
4303         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
4304         Remove calls.
4305         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
4306
4307 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
4308
4309         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
4310         with weird operands.
4311
4312 2003-01-10  Dale Johannesen <dalej@apple.com>
4313
4314         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
4315         parameters.  Call check_sibcall_argument_overlap if indicated.
4316         (check_sibcall_argument_overlap):  Add mark_stored_args_map
4317         parameter.  Don't mark parameter area as clobbered if not set.
4318         (expand_call):  Adjust calls to above.
4319
4320 2003-01-10 Kelley Cook <kelleycook@comcast.net>
4321
4322         * configure.in (linker read-only and read-write section mixing):
4323         Squelch some assembler warnings.
4324         * configure: Likewise.
4325
4326 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
4327
4328         * doc/invoke.texi: Document -mtune, delete -mcpu
4329         option for S/390 and zSeries.
4330         * config/s390/s390.c (s390_tune_string) New variable.
4331         (s390_cpu_string) Delete variable.
4332         (override_options): Use s390_tune_string instead of
4333         s390_cpu_string.
4334         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
4335
4336 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
4337
4338         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
4339
4340 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
4341
4342         * jump.c (next_nonnote_insn_in_loop): New function.
4343         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
4344         next_nonnote_insn.
4345         (duplicate_loop_exit_test). Likewise.
4346
4347 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
4348
4349         Merge from pch-branch:
4350
4351         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
4352
4353         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
4354         load.
4355
4356         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
4357
4358         * cpplib.c (count_registered_pragmas): New function.
4359         (save_registered_pragmas): New function.
4360         (_cpp_save_pragma_names): New function.
4361         (restore_registered_pragmas): New function.
4362         (_cpp_restore_pragma_names): New function.
4363         * cpphash.h (_cpp_save_pragma_names): Prototype.
4364         (_cpp_restore_pragma_names): Likewise.
4365         * cpppch.c (struct save_macro_item): Split from save_macro_data.
4366         (struct save_macro_data): New field 'saved_pragmas'.
4367         (save_macros): Update for changes to struct save_macro_data.
4368         (cpp_prepare_state): Call _cpp_save_pragma_names, update
4369         for changes to struct save_macro_data.
4370         (cpp_read_state): Call _cpp_restore_pragma_names, update
4371         for changes to struct save_macro_data.
4372
4373         * cpppch.c (cpp_read_state): Restore the hashtable references
4374         in the cpp_reader.
4375
4376         * tree.h (built_in_decls): Mark for PCH.
4377
4378         * dbxout.c (lastfile): Don't mark for PCH.
4379
4380         * ggc.h: Document PCH calls into memory managers.
4381
4382         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
4383
4384         * doc/invoke.texi (Precompiled Headers): Document the
4385         directory form of PCH.
4386         * cppfiles.c (validate_pch): New function.
4387         (open_file_pch): Search suitably-named directories for PCH files.
4388
4389         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
4390
4391         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
4392         reorder options.
4393         (Type Information): Mention that the information is also
4394         used to implement PCH.
4395         * doc/passes.texi (Passes): Improve documentation of
4396         language-specific files.
4397
4398         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
4399
4400         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
4401         (struct walk_type_data): Add reorder_fn field.
4402         (walk_type): Process 'reorder' option.
4403         (write_types_process_field): Reorder parameters to gt_pch_note_object,
4404         call reorder_note_routine.
4405         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
4406         (ggc_wtd): Update for change to struct write_types_data.
4407         (pch_wtd): Likewise.
4408         * ggc.h (gt_pch_note_object): Reorder parameters.
4409         (gt_handle_reorder): New definition.
4410         (gt_pch_note_reorder): New prototype.
4411         * ggc-common.c (struct ptr_data): Add reorder_fn.
4412         (gt_pch_note_object): Reorder parameters.
4413         (gt_pch_note_reorder): New.
4414         (gt_pch_save): Call reorder_fn.
4415         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
4416
4417         * dbxout.c (cwd): Don't mark for PCH.
4418
4419         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
4420
4421         * gengtype.c (finish_root_table): Fix some warnings.
4422         (write_root): Handle TYPE_STRING.
4423         * ggc.h (gt_ggc_m_S): Add prototype.
4424         * stringpool.c (gt_ggc_m_S): New function.
4425
4426         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
4427
4428         * dwarf2out.c (dw2_string_counter): New.
4429         (AT_string_form): Use it.
4430         (same_dw_val_p): Update for removal of hashtable.h hash tables.
4431
4432         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4433
4434         * dbxout.c: Include gt-dbxout.h.
4435         (lastfile): Mark for PCH/GGC.
4436         (cwd): Likewise.
4437         (struct typeinfo): Likewise.
4438         (typevec): Likewise.
4439         (typevec_len): Likewise.
4440         (next_type_number): Likewise.
4441         (struct dbx_file): Likewise.
4442         (current_file): Likewise.
4443         (next_file_number): Likewise.
4444         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
4445         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
4446         (dbxout_end_source_file): Don't free struct dbx_file.
4447         (dbxout_type): Use GGC to allocate typevec.
4448         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
4449         (GTFILES): Add dbxout.c.
4450         (gt-dbxout.h): New rule.
4451
4452         * Makefile.in (c-pch.o): Add debug.h as dependency.
4453         * c-pch.c: Include debug.h.
4454         (pch_init): Call start_source_file to keep nesting right.
4455         (c_common_read_pch): Add orig_name parameter.  Call
4456         start_source_file debug hook.  Call end_source_file debug hook.
4457         * c-common.h (c_common_read_pch): Update prototype.
4458         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
4459         callback.
4460         * cppfiles.c (struct include_file): Add new field `header_name'.
4461         (find_or_create_entry): Default it to `name'.
4462         (open_file_pch): Set it to the original header file searched for.
4463         (stack_include_file): Don't stack an empty buffer, just handle
4464         PCH files immediately.  Pass header_name field to read_pch callback.
4465
4466         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
4467
4468         * function.c (funcdef_no): Mark to be saved in a PCH.
4469
4470         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
4471
4472         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
4473
4474         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
4475
4476         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
4477
4478         * optabs.h (code_to_optab): Add GTY marker.
4479
4480         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
4481
4482         * Makefile.in (GTFILES): Add cpplib.h.
4483         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
4484         * c-decl.c (build_compound_literal): Don't use var_labelno.
4485         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
4486         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
4487         * varasm.c (const_labelno): Use gengtype to mark.
4488         (var_labelno): Likewise.
4489         (in_section): Likewise.
4490         (in_named_name): Likewise.
4491         (struct in_named_entry): Likewise.
4492         (in_named_htab): Likewise.
4493         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
4494         (init_varasm_once): Use GGC to allocate in_named_htab.
4495         * config/darwin.c (current_pic_label_num): Mark for PCH.
4496
4497         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
4498
4499         * ggc-simple.c (init_ggc_pch): New stub procedure.
4500         (ggc_pch_count_object): Likewise.
4501         (ggc_pch_total_size): Likewise.
4502         (ggc_pch_this_base): Likewise.
4503         (ggc_pch_alloc_object): Likewise.
4504         (ggc_pch_prepare_write): Likewise.
4505         (ggc_pch_write_object): Likewise
4506         (ggc_pch_finish): Likewise.
4507         (ggc_pch_read): Likewise.
4508
4509         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
4510
4511         * c-pch.c (c_common_write_pch): Write the macro definitions after
4512         the GCed data.
4513         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
4514         definitions after the GCed data.
4515         * cpplib.c (save_macros): New.
4516         (reset_ht): New.
4517         (cpp_write_pch_deps): Split out of cpp_write_pch.
4518         (cpp_write_pch_state): Split out of cpp_write_pch.
4519         (cpp_write_pch): Delete.
4520         (struct save_macro_data): Delete.
4521         (cpp_prepare_state): New.
4522         (cpp_read_state): Erase and restore initial macro definitions.
4523         * cpplib.h (struct save_macro_data): Forward-declare.
4524         (cpp_write_pch_deps): Prototype.
4525         (cpp_write_pch_state): Prototype.
4526         (cpp_write_pch): Delete prototype.
4527         (cpp_prepare_state): Prototype.
4528         (cpp_read_state): Add fourth argument.
4529
4530         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
4531
4532         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
4533         (write_array): Remove warning.
4534
4535         * gengtype.c (contains_scalar_p): New.
4536         (finish_root_table): Add the table to all languages, even if it's
4537         empty.
4538         (write_roots): Output gt_pch_scalar_rtab.
4539         * ggc-common.c (gt_pch_save): Write out scalars.
4540         (gt_pch_restore): Read scalars back.
4541
4542         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
4543         (struct page_entry): Delete pch_page field.
4544         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
4545         (clear_marks): Likewise.
4546         (sweep_pages): Likewise.
4547         (poison_pages): Likewise.
4548         (ggc_print_statistics): Likewise.
4549         (ggc_pch_read): Don't free objects read from a PCH.
4550         Properly set up in_use_p and page_tails.
4551
4552         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
4553
4554         * gengtype.c (struct write_types_data): New.
4555         (struct walk_type_data): Make `cookie' const; add extra
4556         prev_val item; add `orig_s' field.
4557         (walk_type): Update prev_val[3].
4558         (write_types_process_field): New.
4559         (write_func_for_structure): Take write_types_data structure.
4560         (write_types): New.
4561         (ggc_wtd): New.
4562         (pch_wtd): New.
4563         (write_types_local_process_field): New.
4564         (gc_mark_process_field): Delete.
4565         (write_local_func_for_structure): New.
4566         (gc_mark_func_name): Delete.
4567         (write_gc_types): Delete.
4568         (write_local): New.
4569         (finish_root_table): Don't include 'ggc_' in PFX.
4570         (write_root): Rename from write_root.  Fill pchw field of structures.
4571         (write_array): New.
4572         (write_roots): Rename from write_gc_roots.  Split out to write_array.
4573         Update to changes to other routines.  Write gt_pch_cache_rtab table.
4574         (main): Write PCH walking routines.
4575         * ggc-common.c: Include toplev.h, sys/mman.h.
4576         (ggc_mark_roots): For cache hashtables, also mark the hash table
4577         and the array of entries.
4578         (saving_htab): New.
4579         (struct ptr_data): New.
4580         (POINTER_HASH): New.
4581         (gt_pch_note_object): New.
4582         (saving_htab_hash): New.
4583         (saving_htab_eq): New.
4584         (struct traversal_state): New.
4585         (call_count): New.
4586         (call_alloc): New.
4587         (compare_ptr_data): New.
4588         (relocate_ptrs): New.
4589         (write_pch_globals): New.
4590         (struct mmap_info): New.
4591         (gt_pch_save): New.
4592         (gt_pch_restore): New.
4593         * ggc-page.c (ROUND_UP_VALUE): New.
4594         (ROUND_UP): New.
4595         (struct page_entry): Add field `pch_page'.
4596         (init_ggc): Use ROUND_UP.
4597         (struct ggc_pch_data): Declare.
4598         (init_ggc_pch): New.
4599         (ggc_pch_count_object): New.
4600         (ggc_pch_total_size): New.
4601         (ggc_pch_this_base): New.
4602         (ggc_pch_alloc_object): New.
4603         (ggc_pch_prepare_write): New.
4604         (ggc_pch_write_object): New.
4605         (ggc_pch_finish): New.
4606         (ggc_pch_read): New.
4607         * ggc.h (gt_pointer_operator): New.
4608         (gt_note_pointers): New.
4609         (gt_pch_note_object): New prototype.
4610         (gt_pointer_walker): New.
4611         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
4612         (LAST_GGC_ROOT_TAB): Update.
4613         (gt_pch_cache_rtab): Declare.
4614         (gt_pch_scalar_rtab): Declare.
4615         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
4616         (LAST_GGC_CACHE_TAB): Update.
4617         (gt_pch_save_stringpool): Declare.
4618         (gt_pch_restore_stringpool): Declare.
4619         (gt_pch_p_S): Declare.
4620         (gt_pch_n_S): Declare.
4621         (struct ggc_pch_data): Forward-declare.
4622         (init_ggc_pch): Declare.
4623         (ggc_pch_count_object): Declare.
4624         (ggc_pch_total_size): Declare.
4625         (ggc_pch_this_base): Declare.
4626         (ggc_pch_alloc_object): Declare.
4627         (ggc_pch_prepare_write): Declare.
4628         (ggc_pch_write_object): Declare.
4629         (ggc_pch_finish): Declare.
4630         (ggc_pch_read): Declare.
4631         (gt_pch_save): Declare.
4632         (gt_pch_restore): Declare.
4633         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
4634         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
4635         const_double_htab, mem_attrs_htab using GGC.
4636         * c-pch.c: Include ggc.h.
4637         (pch_init): Allow reading PCH file back.
4638         (c_common_write_pch): Call gt_pch_save.
4639         (c_common_read_pch): Call gt_pch_restore.
4640         * c-parse.in (init_reswords): Delete now-untrue comment.
4641         Allocate ridpointers using GGC.
4642         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
4643         calling expand_deferred_fns.
4644         * c-common.h (ridpointers): Mark for GTY machinery.
4645         * Makefile.in (stringpool.o): Update dependencies.
4646         (c-pch.o): Update dependencies.
4647         (ggc-common.o): Update dependencies.
4648         * stringpool.c: Include gt-stringpool.h.
4649         (gt_pch_p_S): New.
4650         (gt_pch_n_S): New.
4651         (struct string_pool_data): New.
4652         (spd): New.
4653         (gt_pch_save_stringpool): New.
4654         (gt_pch_restore_stringpool): New.
4655         * tree.c (init_ttree): Make type_hash_table allocated using GC.
4656
4657         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
4658
4659         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
4660         (output_mangled_typename): Don't pass size_t to printf.
4661
4662         * tree.h (union tree_type_symtab): Add tag to `address' field.
4663         (union tree_decl_u2): Add tag to 'i' field.
4664         * varasm.c (union rtx_const_un): Add tags to all fields.
4665         * gengtype.c (struct walk_type_data): New.
4666         (output_escaped_param): Take struct walk_type_data parameter.
4667         (write_gc_structure_fields): Delete.
4668         (walk_type): New.
4669         (write_gc_marker_routine_for_structure): Delete.
4670         (write_func_for_structure): New.
4671         (gc_mark_process_field): New.
4672         (gc_mark_func_name): New.
4673         (gc_counter): Delete.
4674         (write_gc_types): Use write_func_for_structure.
4675         (write_gc_roots): Use walk_type.
4676
4677         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
4678
4679         * ggc-common.c (ggc_mark_roots): Delete 'x'.
4680         (ggc_splay_dont_free): Fix warning about unused 'x'.
4681         (ggc_print_common_statistics): Remove warnings.
4682
4683         2002-10-01  Mike Stump  <mrs@apple.com>
4684
4685         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
4686         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
4687
4688         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
4689             Catherine Moore  <clm@redhat.com>
4690
4691         * Makefile (c-pch.o): Update dependencies.
4692         (LIBCPP_OBJS): Add cpppch.o.
4693         (cpppch.o): New.
4694         * c-common.c (c_common_init): Don't call pch_init here.
4695         * c-common.h (c_common_read_pch): Update prototype.
4696         * c-lex.c (c_common_parse_file): Call pch_init here.
4697         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
4698         (c_common_decode_option): Handle them.
4699         * c-pch.c: Include c-pragma.h.
4700         (save_asm_offset): Delete.
4701         (pch_init): Move contents of save_asm_offset into here, call
4702         cpp_save_state.
4703         (c_common_write_pch): Call cpp_write_pch.
4704         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
4705         cpp_valid_state.
4706         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
4707         * cppfiles.c (stack_include_file): Update for change to
4708         parameters of cb.read_pch.
4709         * cpphash.h (struct cpp_reader): Add `savedstate' field.
4710         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
4711         `restore_pch_deps' fields.
4712         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
4713         (cpp_save_state): Prototype.
4714         (cpp_write_pch): Prototype.
4715         (cpp_valid_state): Prototype.
4716         (cpp_read_state): Prototype.
4717         * cpppch.c: New file.
4718         * flags.h (version_flag): Remove prototype.
4719         * mkdeps.c (deps_save): New.
4720         (deps_restore): New.
4721         * mkdeps.h (deps_save): Prototype.
4722         (deps_restore): Prototype.
4723         * toplev.c (late_init_hook): Delete.
4724         (version_flag): Make static again.
4725         (compile_file): Don't call late_init_hook.
4726         * toplev.h (late_init_hook): Delete.
4727         * doc/cppopts.texi: Document -fpch-deps.
4728         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
4729
4730         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
4731
4732         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
4733         callers.
4734         (c_common_valid_pch): Rename from c_valid_pch, change callers.
4735         (c_common_read_pch): Rename from c_read_pch, change callers.
4736
4737         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
4738         a space between it and its argument.
4739
4740         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
4741
4742         * c-pch.c: New file.
4743         * toplev.h (late_init_hook): Declare.
4744         * toplev.c (late_init_hook): Define.
4745         (version_flag): Make globally visible.
4746         (compile_file): Call late_init_hook.
4747         (init_asm_output): Make output file seekable.
4748         * gcc.c (default_compilers): Update c-header rule.
4749         * flags.h (version_flag): Declare.
4750         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
4751         fields.
4752         * cppfiles.c (struct include_file): Add 'pch' field.
4753         (INCLUDE_PCH_P): New.
4754         (open_file_pch): New.
4755         (stack_include_file): Handle PCH files specially.
4756         (find_include_file): Call open_file_pch instead of open_file.
4757         (_cpp_read_file): Explain why open_file is used instead of
4758         open_file_pch.
4759         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
4760         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
4761         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
4762         in cpplib callbacks.
4763         * c-common.c (pch_file): Correct comment.
4764         (allow_pch): Define.
4765         (c_common_init): Call pch_init.
4766         * c-common.h (allow_pch): Declare.
4767         (pch_init): Declare.
4768         (c_valid_pch): Declare.
4769         (c_read_pch): Declare.
4770         (c_write_pch): Declare.
4771         * Makefile.in (c-pch.o): New.
4772         (C_AND_OBJC_OBJS): Add c-pch.o.
4773         * doc/invoke.texi (Precompiled Headers): Add index entries,
4774         complete truncated paragraph.
4775
4776         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
4777
4778         * c-common.c: (pch_file): Define.
4779         * c-common.h (pch_file): Declare.
4780         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
4781         (missing_arg): Require --output-pch= to have an argument.
4782         (c_common_decode_option): Handle --output-pch=.
4783         * gcc.c: Document new %V.
4784         (default_compilers): Handle compiling C header files.
4785         (do_spec_1): Implement %V.
4786         (main): Handle "gcc foo.h" without trying to run linker.
4787         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
4788         (Overall Options): Document what the driver does with header files,
4789         document new -x option possibilities.
4790         (Invoking G++): More documentation for PCH.
4791         (Precompiled Headers): New.
4792
4793         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
4794
4795         * ggc.h: Don't include varray.h.  Rearrange functions to be more
4796         organized.
4797         (ggc_add_root): Delete.
4798         (ggc_mark_rtx): Delete.
4799         (ggc_mark_tree): Delete.
4800         (struct ggc_statistics): Remove contents.
4801         * ggc-common.c: Remove unneeded includes.
4802         (struct ggc_root): Delete.
4803         (roots): Delete.
4804         (ggc_add_root): Delete.
4805         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
4806         (ggc_print_common_statistics): Remove most of the contents.
4807         * Makefile.in (GGC_H): No longer uses varray.h.
4808         (ggc-common.o): Update dependencies.
4809         (c-parse.o): Add varray.h to dependencies.
4810         (c-common.o): Add varray.h.
4811         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
4812         (mark_ident_hash): Rename to ggc_mark_stringpool.
4813         (init_stringpool): Don't use ggc_add_root.
4814         * c-parse.in: Include varray.h.
4815         * c-common.c: Include varray.h.
4816         * objc/Make-lang.in (objc-act.o): Add varray.h.
4817         * objc/objc-act.c: Include varray.h.
4818
4819         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
4820
4821         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
4822         (dw_cfi_oprnd1_desc): Likewise.
4823
4824         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
4825
4826         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
4827         move out of ifdef.
4828         (alpha_links): Use gengtype to mark; move out of ifdef.
4829         (mark_alpha_links_node): Delete.
4830         (mark_alpha_links): Delete.
4831         (alpha_need_linkage): Use GGC to allocate splay tree, struct
4832         alpha_links, strings.  Don't use ggc_add_root.
4833         * ggc-common.c (ggc_splay_alloc): New.
4834         (ggc_splay_dont_free): New.
4835         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
4836         (ggc_mark_tree): Likewise.
4837         (splay_tree_new_ggc): New.
4838         (ggc_splay_alloc): Declare.
4839         (ggc_splay_dont_free): Declare.
4840         * dwarf2asm.c: Include gt-dwarf2asm.h.
4841         (mark_indirect_pool_entry): Delete.
4842         (mark_indirect_pool): Delete.
4843         (indirect_pool): Use gengtype to mark.
4844         (dw2_force_const_mem): Don't use ggc_add_root.
4845         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
4846         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
4847         (gt-dwarf2asm.h): Depend on s-gtype.
4848
4849         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
4850
4851         * tree.h (union tree_type_symtab): Mark `die' field.
4852         * Makefile.in (dwarf2out.o): Update dependencies.
4853         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
4854         hash tables.
4855         (dw_cfi_oprnd1_desc): New function.
4856         (dw_cfi_oprnd2_desc): New function.
4857         (indirect_string_alloc): Delete.
4858         (debug_str_do_hash): New function.
4859         (debug_str_eq): New function.
4860         (mark_limbo_die_list): Delete.
4861         (dwarf2out_init): Don't call ggc_add_root.
4862
4863 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
4864
4865         The following changes are merged from itanium-sched-branch:
4866
4867         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
4868
4869         * doc/md.texi: Clarify assignment of units to automata description.
4870
4871         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
4872
4873         * genautomata.c (unit_decl): Remove members
4874         `the_same_automaton_unit' and
4875         `the_same_automaton_message_reported_p'.
4876         (process_unit_to_form_the_same_automaton_unit_lists,
4877         form_the_same_automaton_unit_lists_from_regexp,
4878         form_the_same_automaton_unit_lists, the_same_automaton_lists):
4879         Remove them.
4880         (annotation_message_reported_p): New global variable.
4881         (check_unit_distribution_in_reserv,
4882         check_regexp_units_distribution): New functions.
4883         (check_unit_distributions_to_automata): Rewrite it.
4884
4885         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
4886
4887         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
4888         Use continue instead of break if cycle is too big.
4889
4890         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
4891
4892         * genautomata.c (check_unit_distributions_to_automata): Output at
4893         most one message for a unit.
4894         (process_unit_to_form_the_same_automaton_unit_lists): Check
4895         automaton of units instead of units themself.
4896
4897         * doc/md.texi: Describe the constraint about assigning unit to
4898         automata.
4899
4900         2002-12-20  Jan Hubicka  <jH@suse.cz>
4901                     Vladimir Makarov  <vmakarov@redhat.com>
4902
4903         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
4904         and `in_set_p'.
4905         (gen_cpu_unit): Initialize the new members.
4906         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
4907         up `min_occ_cycle_num'.
4908         (evaluate_max_reserv_cycles): Change the function call.
4909         (CLEAR_BIT): New macro.
4910         (states_union, state_shift): Use the mask.
4911         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
4912         (form_reservs_matter): New function.
4913         (make_automaton): Call the function and use the mask.
4914         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
4915         account.
4916
4917         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4918
4919         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
4920
4921         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4922
4923         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
4924         for Itanium.
4925
4926         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4927
4928         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
4929         default cpu.
4930
4931         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4932                 2002-10-31  Dale Johannesen <dalej@apple.com>
4933
4934         * haifa-sched.c (find_set_reg_weight): New function.
4935         (find_insn_reg_weight): Use the new function.
4936         (schedule_block): Do sorting ready queue always
4937         after insn issue.
4938
4939         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
4940
4941         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
4942
4943         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
4944
4945         * haifa-sched.c (choice_entry): New structure.
4946         (choice_stack, cycle_issued_insns): New variables.
4947         (max_issue): Rewrite it.
4948         (choose_ready): Set up ready_try for unknown insns too.
4949         (schedule_block): Allocate and free choice_stack.  Set up
4950         and modify cycle_issued_insns.
4951
4952         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
4953         with and without filling the bundle.
4954         (bundling): Combine calls of issue_nops_and_insn.
4955
4956         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
4957
4958         * config/ia64/itanium1.md: New file.
4959
4960         * config/ia64/itanium2.md: New file.
4961
4962         * config/ia64/ia64.md: Move DFA descriptions into the new files.
4963         Remove the old pipeline description.
4964
4965         * config/ia64/ia64.c (ia64_override_options): Add aliases of
4966         itanium processor names.
4967
4968         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
4969
4970         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
4971         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
4972
4973         * config/ia64/ia64.md: Add descriptions for Itanium2.
4974
4975         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
4976
4977         * config/ia64/ia64.h (processor_type): New enumeration.
4978         (ia64_tune, ia64_tune_string): New external declarations.
4979         (TARGET_OPTIONS): Add option `tune='.
4980
4981         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
4982         variables.
4983         (ia64_override_options): Set up `ia64_tune'.
4984         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
4985         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
4986         (bundling): Add nops for MM-insns only for Itanium.
4987         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
4988         Itanium.
4989
4990         * config/ia64/ia64.md (cpu): New attribute.
4991         (DFA description): Enable it only for Itanium.
4992
4993         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
4994                     Richard Henderson  <rth@redhat.com>
4995
4996         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
4997         MASK_EARLY_STOP_BITS.
4998         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
4999         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
5000         `early-stop-bits'.
5001
5002         * config/ia64/ia64.c (ia64_dfa_new_cycle,
5003         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
5004         instead of TARGET_TUNE_STOP_BITS.
5005
5006         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
5007         `-mearly-stop-bits'.
5008
5009         * config/ia64/ia64.c (automata_option "v"): Comment it.
5010
5011         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
5012
5013         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
5014         New macros.
5015         (TARGET_SWITCHES): Add entries for the new option.
5016
5017         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
5018         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
5019         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
5020         global variables.
5021         (ia64_sched_reorder2): Set up `clocks'.
5022         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
5023         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
5024         queue when TARGET_TUNE_STOP_BITS.
5025         (bundling): Insert additional nops for MM-insns.
5026         (final_emit_insn_group_barriers): Add insertion of stop bits
5027         according `stops_p'.
5028         (ia64_reorg): Initiate the new varibales.
5029
5030         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
5031
5032         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
5033
5034         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
5035         insns at the end of block insn scheduling.
5036
5037         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
5038
5039         * sched-deps.c (remove_dependence, group_leader): Remove it.
5040         (add_dependence): Add dependence to group leader to.
5041         (set_sched_group_p): Add dependence to the first insn of the
5042         schedule group too.
5043         (sched_analyze_insn): Make dependence to jump as anti-dependence.
5044         Change true dependence by anti-dependence when
5045         `reg_pending_barrier'.
5046
5047         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
5048         add_branch_dependences): Ignore schedule groups.
5049
5050         * sched-ebb.c (init_ready_list): Ditto.
5051
5052         * (move_insn, set_priorities): Ditto.
5053
5054         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
5055         flag is clear after reload.
5056         (adjust_cost): Change cost only for output dependencies.
5057
5058         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
5059
5060         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
5061
5062         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
5063
5064         * target.h (gcc_target): Add member
5065         `dependencies_evaluation_hook'.
5066
5067         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
5068         macro.
5069         (TARGET_SCHED): Add initiatialization of the new member.
5070
5071         * sched-ebb.c: Include `target.h'.
5072         (schedule_ebb): Call `dependencies_evaluation_hook'.
5073
5074         * sched-rgn.c (schedule_region): Call
5075         `dependencies_evaluation_hook'.
5076
5077         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
5078         New macro.
5079         (ia64_dependencies_evaluation_hook): New function.
5080
5081         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
5082         Describe the new hook.
5083
5084         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
5085
5086         * target.h (gcc_target): Add members
5087         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
5088
5089         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
5090         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
5091         macros.
5092         (TARGET_SCHED): Add initiatialization of the new members.
5093
5094         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
5095         insn scheduling too.
5096         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
5097         initialize `ready_try'.
5098         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
5099         `dfa_new_cycle' says not to do it.
5100
5101         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
5102         bundling.
5103
5104         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
5105
5106         * config/ia64/ia64.c: Include `hashtab.h'.
5107         (ia64_first_cycle_multipass_dfa_lookahead_guard,
5108         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
5109         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
5110         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
5111         bundle_state_eq_p, insert_bundle_state,
5112         initiate_bundle_state_table, finish_bundle_state_table,
5113         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
5114         get_template, get_next_important_insn, bundling): New functions.
5115         (ia64_internal_sched_reorder): Remove it.
5116         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5117         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
5118         (ia64_safe_itanium_requires_unit0): Remove it.
5119         (group_barrier_needed_p): Place group barrier right before a real
5120         insn.
5121         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
5122         Remove them.
5123         (bundle_name): New variable.
5124         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
5125         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
5126         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
5127         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
5128         temp_dfa_state, prev_cycle_state): New global variables.
5129         (insn_matches_slot, maybe_rotate, finish_last_head,
5130         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
5131         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
5132         find_best_packet, itanium_reorder, dump_current_packet,
5133         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
5134         (sched_data, sched_ready, sched_types): Remove them.
5135         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
5136         `init_insn_group_barriers'.
5137         (ia64_sched_reorder, ia64_sched_reorder2): Call
5138         ia64_dfa_sched_reorder.
5139         (ia64_variable_issue): Rewrite it.
5140         (bundle_state): New structure.
5141         (index_to_bundle_states, bundle_states_num,
5142         allocated_bundle_states_chain, free_bundle_state_chain): New
5143         global variables.
5144         (ia64_sched_finish): Add stop bits and call `bundling' after the
5145         2nd insn scheduling.
5146         (ia64_use_dfa_pipeline_interface): Return zero always.
5147         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
5148         insn scheduling.
5149         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
5150         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
5151         (ia64_reorg): Add bundling insns.
5152
5153         * doc/tm.texi
5154         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5155         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
5156
5157         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
5158
5159         * config/ia64/ia64.md: Add Itanium1 DFA description.
5160         (itanium_class): Add `nop' and `pre_cycle'.  Add
5161         define_function_unit for `nop'.
5162         (nop): Change attribute `itanium_class'.
5163         (pre_cycle): New define_insn.
5164
5165         * config/ia64/ia64-protos.h (bundling_p): New external variable.
5166         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
5167         ia64_produce_address_p): New function prototypes.
5168
5169         * config/ia64/ia64.c (bundling_p): New global variable.
5170         (ia64_use_dfa_pipeline_interface,
5171         ia64_first_cycle_multipass_dfa_lookahead,
5172         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
5173         functions.
5174         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5175         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5176         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5177         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
5178         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
5179         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
5180         (dfa_pre_cycle_insn): New variable.
5181
5182         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5183
5184         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
5185         constructions.
5186
5187         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
5188         New function prototypes.
5189
5190         * genattrtab.c (main): Process the new constructions.
5191
5192         * genautomata.c (gen_presence_absence_set,
5193         process_presence_absence_names, process_presence_absence_patterns,
5194         add_presence_absence, check_absence_pattern_sets): Add parameter
5195         `final_p'.
5196         (unit_decl): Add new members `final_presence_list' and
5197         `final_absence_list'.
5198         (unit_pattern_rel_decl): Add new member `final_p'.
5199         (gen_final_presence_set, gen_final_absence_set): New functions.
5200         (process_decls): Use member `final_p'.
5201         (temp_reserv): New global variable.
5202         (reserv_sets_are_intersected): Add processing `final_presence_set'
5203         and `final_absence_set'.
5204         (initiate_states): Allocate `temp_reserv'.
5205         (unit_final_presence_set_table, unit_final_absence_set_table): New
5206         gloabal variables.
5207         (initiate_presence_absence_pattern_sets): Initiate them.
5208         (NDFA_to_DFA): Fix typo.
5209         (output_description): Output `final_presence_set' and
5210         `final_absence_set'.
5211
5212         * doc/md.texi (final_presence_set, final_absence_set): Describe
5213         them.
5214
5215         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5216
5217         * genautomata.c (transform_3): Process a missing case (nothing on
5218         unit place).
5219
5220         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5221
5222         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
5223         comments about queried units and the minimization.
5224
5225         * doc/md.texi: Ditto.
5226
5227         * genautomata.c (create_composed_state): Return nonzero if the new
5228         state has been created.
5229         (first_cycle_unit_presence): New function.
5230         (state_is_differed): Add new parameter.  Use the new function.
5231         Take queried units into account.
5232         (partition_equiv_class): Pass additional parameter to
5233         `state_is_differed'.
5234         (merge_states): Process composed states too.
5235         (build_automaton, create_automata, output_min_issue_delay_table,
5236         output_tables, output_statistics): Output more information.
5237         (output_reserved_units_table): Use function
5238         `first_cycle_unit_presence'.
5239         (output_tables): Output table of queried units even if the
5240         minimization is switched on.
5241         (write_automata): Output code for querying units even if the
5242         minimization is switched on.
5243
5244         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
5245
5246         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
5247         syntax of the constructions.
5248
5249         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
5250         extended syntax of the constructions.
5251
5252         * genautomata.c (unit_rel_decl): Rename it to
5253         `unit_pattern_rel_decl'.
5254         (pattern_set_el, pattern_reserv): New structures.
5255         (pattern_set_el_t, pattern_reserv_t): New types.
5256         (gen_presence_absence_set): New function.
5257         (process_presence_absence): Remove it.
5258         (process_presence_absence_names,
5259         process_presence_absence_patterns): New functions.
5260         (get_presence_absence_set): Remove it.
5261         (initiate_presence_absence_sets): Rename it on
5262         `initiate_presence_absence_pattern_sets'.  Use new function
5263         `form_reserv_sets_list'.
5264         (form_reserv_sets_list, check_presence_pattern_sets,
5265         check_absence_pattern_sets, output_pattern_set_el_list): New
5266         functions.
5267         (unit_decl): Change types of members `presence_list' and
5268         `absence_list'.
5269         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
5270         (decl): Change types of members `excl', `presence', and `absence'.
5271         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
5272         at the end of the vector.
5273         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
5274         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
5275         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
5276         (gen_presence_set, gen_absence_set): Use new function
5277         `gen_presence_absence_set'.
5278         (add_presence_absence): Process `pattern_list' instead of
5279         `source_list'.
5280         (process_decls): USe new functions
5281         `process_presence_absence_names' and
5282         `process_presence_absence_patterns'.
5283         (reserv_sets_are_intersected): Use new function
5284         `check_presence_pattern_sets'.
5285         (presence_set, absence_set): Remove them.
5286         (unit_presence_set_table, unit_absence_set_table): New global
5287         variables.
5288         (output_description): Use new function
5289         `output_pattern_set_el_list'.
5290         (generate): Use `initiate_presence_absence_pattern_sets'.
5291
5292         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
5293
5294         * genattr.c (main): Add output of prototype of new interface
5295         function `dfa_clean_insn_cache'.
5296
5297         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
5298         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
5299         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
5300         the generated code.
5301         (write_automata): Call the new function.
5302
5303 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
5304
5305         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
5306         correctly.
5307
5308 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
5309
5310         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
5311
5312 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
5313
5314         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
5315         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
5316         (CONSTRAINT_LEN): Provide default definition.
5317         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5318         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
5319         (EXTRA_CONSTRAINT_STR): Likewise.
5320         (REG_CLASS_FROM_CONSTRAINT): Define.
5321         * genoutput.c (check_constraint_len, constraint_len): New functions.
5322         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
5323         constraint / modifier.
5324         (gen_insn): Call check_constraint_len.
5325         * local-alloc.c (block_alloc): Update to use new macros / pass
5326         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
5327         * ra-build.c (handle_asm_insn): Likewise.
5328         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
5329         (constrain_operands, peep2_find_free_register): Likewise.
5330         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
5331         * regmove.c (find_matches): Likewise.
5332         * reload.c (push_secondary_reload, find_reloads): Likewise.
5333         (alternative_allows_memconst): Likewise.
5334         * reload1.c (maybe_fix_stack_asms): Likewise.
5335         (reload_cse_simplify_operands): Likewise.
5336         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
5337         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
5338         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5339         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
5340         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
5341         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
5342
5343         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
5344
5345 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5346
5347         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
5348         length.
5349         (*extzv_1_r_h8300hs): Likewise.
5350         (*extzv_1_r_inv_h8300): Likewise.
5351         (*extzv_1_r_inv_h8300hs): Likewise.
5352
5353 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5354
5355         * config/h8300/h8300.h (PREDICATE_CODES): New.
5356
5357 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5358
5359         * config/h8300/h8300.md (*addsi3_upper): New.
5360         (*iorsi3_shift): Likewise.
5361         (two splitters): Likewise.
5362         (*addsi3_shift): Likewise.
5363         (two splitters): Likewise.
5364
5365 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
5366
5367         * Makefile.in (optabs.o): Add dependency on basic-block.h.
5368         * basic-block.h (control_flow_insn_p): Fuction was exported.
5369         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
5370         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
5371         notes only when the region is contained in a single basic block.
5372
5373 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5374
5375         PR inline-asm/8832
5376         * tree.h (expand_asm): New prototype.
5377         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
5378         to do so.
5379         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
5380         down to expand_asm.
5381         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
5382         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
5383         (volatile_refs_p) [ASM_INPUT]: Likewise.
5384         (side_effects_p) [ASM_INPUT]: Likewise.
5385
5386 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
5387
5388         * i386.md (*mul*): FIx constraints; remove confused comment; fix
5389         athlon_decode attributes
5390         (imul/k8 optimization peep2s): New.
5391
5392         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
5393         * i386.md (type attribute): Add ssecomi.
5394         (unit, memory, prefix attributes): Handle ssecomi.
5395         (cvt?2? patterns): Fix athlon_decode attribute
5396         (comi patterns): Set attribute to ssecomi.
5397
5398         PR target/8343
5399         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
5400
5401 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
5402
5403         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
5404         that match register_operands.
5405         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
5406         register_operand the default case.
5407
5408 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5409
5410         PR c/8032
5411         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
5412         an empty element, do not advance the pointer to unfilled
5413         fields if there are pending initializers.
5414
5415 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
5416
5417         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
5418         (install-gcc-tooldir, install-cpp, installdirs,
5419         install-common, install-driver, install-info, install-man,
5420         install-headers, install-include-dir, install-headers-tar,
5421         install-headers-cpio, install-headers-cp, install-mkheaders,
5422         install-collect2, uninstall): Prepend $(DESTDIR) to
5423         destination paths in all (un)installation commands.
5424         (install-driver): Rewrite $(LN) commands to support DESTDIR
5425         with "ln" as well as with "ln -s".
5426         (installdirs): Simply use mkinstalldirs.
5427         (install-libgcc, install-multilib): Also pass DESTDIR.
5428         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
5429         installation destination variable ldir.
5430         * config/alpha/t-osf4, config/arm/t-netbsd,
5431         config/ia64/t-hpux, config/mips/t-iris5-6,
5432         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
5433         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
5434         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
5435         in the definition of SHLIB_INSTALL.
5436         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
5437         $(libsubdir) in the installation commands.
5438
5439 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
5440
5441         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
5442         non-optimizing compile.
5443         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
5444         compile.
5445
5446 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
5447
5448         * config/i386/i386.c (ix86_attribute_table): Add new attributes
5449         ms_struct and gcc_struct.
5450         (ix86_handle_struct_attribute): New function.
5451         (ix86_ms_bitfield_layout_p): Update to take new attributes
5452         into account.
5453         * doc/extend.texi: Document new attributes.
5454         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
5455
5456 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
5457
5458         PR optimization/8750
5459         * config/i386/i386.c (ix86_expand_prologue): Don't allow
5460         scheduling pass to move insns across __alloca call.
5461
5462 2003-01-08  Dale Johannesen  <dalej@apple.com>
5463
5464         * config/rs6000/rs6000.md:  Replace *store_multiple_string
5465         with *stmsi[3-8].
5466
5467 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
5468
5469         PR target/9210
5470         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
5471         Set SYMBOL_REF_FLAG on local data sym_ref.
5472
5473 2003-01-08  Dale Johannesen  <dalej@apple.com>
5474
5475         * function.c (assign_parms):  Don't set pretend_args_size if
5476           REG_PARM_STACK_SPACE.
5477           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
5478           pretend_args_size.
5479
5480 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
5481
5482         * gcc.hlp: Delete.
5483
5484 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
5485
5486         * i386.c  (ix86_expand_int_addcc): Fix thinko.
5487
5488 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
5489
5490         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
5491         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
5492         as hook_bool_tree_hwi_hwi_tree_true.
5493         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
5494         (rs6000_emit_epilogue): Same.
5495         (rs6000_output_mi_thunk): Re-implement as RTL.
5496         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
5497         xcoffout_declare_function if any debugging enabled.
5498
5499 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
5500
5501         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
5502         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
5503         * config/mips/mips.h (enum processor_type): Rename
5504         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
5505         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
5506         Add PROCESSOR_M4K.
5507         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
5508         (ISA_MIPS32R2): New define.
5509         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
5510         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
5511         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
5512         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
5513         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
5514         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
5515         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
5516         compiling MIPS16 code.
5517         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
5518         comment.
5519         (ISA_HAS_SEB_SEH): New define.
5520         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
5521         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
5522         processor_type value renaming.  Add support for MIPS32R2.
5523         Clean up comments, and move "sb1" entry with other MIPS64 CPU
5524         entries.
5525         (override_options): Reimplement -mipsN option handling so that
5526         it will work correctly for -mips32r2.  Avoid branch-likely
5527         instructions on MIPS32R2.
5528         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
5529         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
5530         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
5531         (extendhisi2_hw, extendqisi2_hw): New.
5532         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
5533         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
5534         MIPS32R2, and MIPS64.
5535         (LINK_SPEC): Pass -mips32r2 to linker.
5536         * config/mips/t-isa3264: Built -mips32r2 multilibs.
5537         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
5538         for mips32r2 in the -march description.  Alphabetically sort
5539         CPU names in the -march description.  Add long-missed -mips32
5540         and -mips64 to MIPS option summary.
5541
5542         * config.gcc: Update copyright years to include 2003.
5543         * config/mips/mips.c: Likewise.
5544         * config/mips/mips.h: Likewise.
5545         * config/mips/mips.md: Likewise.
5546         * config/mips/netbsd.h: Likewise.
5547         * doc/invoke.texi: Likewise.
5548
5549 2003-01-08  Andreas Schwab  <schwab@suse.de>
5550
5551         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
5552         variable.
5553         * configure: Regenerated.
5554
5555 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
5556
5557         * config/h8300/h8300.c (output_logical_op): Replace byte/word
5558         extraction of det with b0, b1, w0, w2, etc.
5559         (compute_logical_op_length): Likewise.
5560         (compute_logical_op_cc): Likewise.
5561
5562 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
5563
5564         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
5565         HIGH on all variants.
5566
5567 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
5568
5569         * Makefile.in (PARTITION_H): New.
5570         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
5571         * basic-block.h: Include hard-reg-set.h.
5572
5573 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
5574
5575         * arm.h (ENABLE_XF_PATTERNS): Delete.
5576         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
5577         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
5578         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
5579         (cmpxf_trap): Delete.
5580         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
5581
5582 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
5583
5584         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
5585         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
5586         (add??cc): New expanders.
5587         * i386.c (expand_int_addcc): New function.
5588         * i386-protos.h (expand_int_addcc): Declare.
5589
5590         * alias.c (memory_modified_1): New static function.
5591         (memory_modified): New static varaible.
5592         (memory_modified_in_insn_p): New global function.
5593         * rtl.h (memory_modified_in_insn_p): Declare.
5594         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
5595         references.
5596
5597         * expr.h (emit_conditional_add): Declare.
5598
5599 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
5600
5601         PR other/8947
5602         * doc/invoke.texi (-malign-double): Explain that the option breaks
5603         binary compatibility.
5604
5605 2003-01-08  Andreas Schwab  <schwab@suse.de>
5606
5607         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
5608         should come from the generic *-*-linux* entry.
5609
5610 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
5611
5612         * cselib.c (cselib_current_insn_in_libcall): New static variable.
5613         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
5614         we are inside libcall.
5615         * cselib.h (elt_loc_list): Add in_libcall.
5616         * gcse.c (do_local_cprop): Do not copy propagate using insns
5617         in libcalls.
5618
5619 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
5620
5621         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
5622         not normally affect to issue rate.
5623
5624 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
5625
5626         * genopinit.c (optabs): Add addc_optab.
5627         * ifcvt.c (noce_try_store_flag): Rename to ...
5628         (noce_try_addcc): ... this one; handle generic conditional increment.
5629         (noce_process_if_block): Update noce_try_addcc call.
5630         * optabs.c (emit_conditional_add): New.
5631         (init_obtabs): Initialize addc_optab.
5632         * optabs.h (optab_index): Add OTI_addcc.
5633         (addcc_optab): New macro.
5634         * md.texi: Document addMcc
5635
5636         PR target/8322
5637         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
5638         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
5639         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
5640
5641         * reload1.c (delete_output_reload): Avoid repeated attempts
5642         to delete insn.
5643
5644 2003-01-07  Andreas Schwab  <schwab@suse.de>
5645
5646         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
5647         Move --enable-initfini-array check ...
5648         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
5649         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
5650         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
5651         * configure: Rebuild.
5652
5653 2003-01-07  Richard Henderson  <rth@redhat.com>
5654
5655         * alias.c (find_base_value): Only use new_reg_base_value shortcut
5656         if the register is set once.
5657
5658 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
5659
5660         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
5661         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
5662         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
5663
5664 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
5665             Sunil Davasam  <sunil.k.davasam@intel.com>
5666
5667         PR libstdc++/9076
5668         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
5669         DW_CFA_same_value, read next and ignore.
5670
5671 2003-01-07  Richard Henderson  <rth@redhat.com>
5672
5673         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
5674
5675 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5676
5677         * cfg.c: Include alloc-pool.h
5678         (edge_pool): New pool.
5679         (bb_pool): New pool.
5680         (first_deleted_edge): Remove.
5681         (first_deleted_block): Remove.
5682         (init_flow): Alloc/free the pools.
5683         (free_edge): Use pools.
5684         (alloc_block): Ditto.
5685         (expunge_block): Ditto.
5686         (cached_make_edge): Ditto.
5687
5688         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
5689
5690 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5691
5692         * et-forest.c: Include alloc-pool.h.
5693         (struct et_forest): Add node_pool and occur_pool.
5694         (et_forest_create): Create the new pools.
5695         (et_forest_delete): Delete them.
5696         (et_forest_add_node): Allocate and free using pools.
5697         (et_forest_add_edge): Ditto.
5698         (et_forest_remove_node): Ditto.
5699         (et_forest_remove_edge): Ditto.
5700
5701         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
5702
5703 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
5704
5705         * config/h8300/h8300.c (output_logical_op): Simplify and
5706         optimize the handling of SImode.
5707         * config/h8300/h8300.c (compute_logical_op_length): Update
5708         accordingly.
5709         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
5710
5711 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
5712
5713         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
5714         big-endian correction to indirect arguments too.
5715
5716 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5717
5718         Segher Boessenkool  <segher@koffie.nl>
5719
5720         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
5721         (alt_reg_names): Ditto, fix formatting.
5722         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
5723
5724 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5725
5726         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
5727         (output_logical_op): Constify intval and det.
5728         (compute_logical_length): Likewise.
5729         (compute_logical_cc): Likewise.
5730         (output_a_shift): Constify mask.
5731         (h8300_encode_label): Constify len.
5732
5733 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5734
5735         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
5736         (h8300_expand_epilogue): Likewise.
5737
5738 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5739
5740         Segher Boessenkool  <segher@koffie.nl>
5741
5742         * config/rs6000/altivec.md: Remove spaces from assembler
5743         instruction argument lists.
5744
5745 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5746
5747         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
5748         c4x_assembler_function_p.
5749         (c4x_null_epilogue_p): Complement return value, all uses updated.
5750         (c4x_insert_attributes): Add naked.
5751         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
5752         * doc/extend.texi: Update C4x function attributes.
5753
5754 2003-01-06  Richard Henderson  <rth@redhat.com>
5755
5756         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
5757         properly when changing "local-ness".
5758         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
5759
5760 2003-01-06  Dale Johannesen  <dalej@apple.com>
5761
5762         * config/darwin-protos.h:  Add prototypes for new section functions.
5763
5764 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
5765
5766         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
5767         to EABI.
5768
5769 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
5770
5771         * hwint.h: If the current compiler has no 64-bit type at all,
5772         make HOST_WIDEST_INT 32 bits.
5773
5774 2003-01-06  Eric Christopher  <echristo@redhat.com>
5775
5776         * config/mips/mips.md (movdf_internal2): Fix constraints.
5777
5778 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5779
5780         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
5781
5782 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
5783
5784         * config/mips/mips.md (leadi): Use dla rather than la.
5785
5786 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
5787
5788         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
5789         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
5790
5791 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
5792
5793         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
5794         redefinition.
5795
5796 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5797
5798         * config/h8300/h8300.md (*extzv_8_23): New.
5799
5800 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5801
5802         * pa64-hpux.h (JCR_SECTION_NAME): Define.
5803         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
5804         USE_EH_FRAME_REGISTRY when defining.
5805
5806 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5807
5808         * config/h8300/h8300.c (output_a_shift): Do not output a
5809         variable shift.
5810         * config/h8300/h8300.md (two splitters): New.
5811
5812 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
5813
5814         * config/mips/mips.md: Disable the movstrsi define_split.
5815
5816 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5817
5818         * alloc-pool.c: Don't include "libiberty.h".
5819         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
5820         * convert.c (convert_to_real): Hide unused variable.
5821
5822 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5823
5824         * Makefile.in (gtyp-gen.h): Const-ify.
5825         * gcov-dump.c (tag_table): Likewise.
5826
5827 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5828
5829         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
5830         of *both* the file name and the fix name.
5831
5832 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
5833
5834         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
5835         collect2.
5836         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
5837         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
5838         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
5839         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
5840         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
5841         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
5842         elfos.h.
5843         (EH_FRAME_IN_DATA_SECTION): Delete define.
5844         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
5845         (STARTFILE_SPEC): Use crtbegin.o.
5846         (ENDFILE_SPEC): Use crtend.o.
5847         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
5848         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
5849         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
5850         DTOR_LIST_BEGIN): Define.
5851         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
5852         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
5853         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
5854
5855 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
5856
5857         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
5858         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
5859         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
5860         Cleanup handling of replacement text.
5861         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
5862
5863 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5864
5865         * fixinc/tests/base/math.h: removed obsolete results
5866         * fixinc/tests/base/stdlib.h: ditto
5867         * fixinc/tests/base/sys/param.h: ditto
5868         * fixinc/tests/base/sys/stat.h: ditto
5869         * fixinc/tests/base/time.h: ditto
5870         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
5871         * fixinc/tests/base/sys/byteorder.h: ditto
5872         * fixinc/inclhack.def: Remove superfluous backslashes
5873
5874 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
5875
5876         * config/h8300/h8300-protos.h: Add prototypes for
5877         the new functions defined below.
5878         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
5879         define.
5880         (dosize): Emit RTL instead of assembly code.
5881         (push): Likewise.
5882         (pop): Likewise.
5883         (h8300_output_function_prologue): Remove.
5884         (h8300_expand_prologue): New.
5885         (h8300_expand_epilogue): New.
5886         (h8300_output_function_epilogue): Do only the reset of
5887         pragma_saveall.
5888         * config/h8300/h8300.md (push_h8300): New.
5889         (push_h8300hs): Likewise.
5890         (pop_h8300): Likewise.
5891         (pop_h8300hs): Likewise.
5892         (*stm_h8300s_2): Change the name to stm_h8300s_2.
5893         (*stm_h8300s_3): Change the name to stm_h8300s_3.
5894         (*stm_h8300s_4): Change the name to stm_h8300s_4.
5895         (*ldm_h8300s_2): New.
5896         (*ldm_h8300s_3): Likewise.
5897         (*ldm_h8300s_4): Likewise.
5898         (return): Likewise.
5899         (*return_1): Likewise.
5900         (prologue): Likewise.
5901         (epilogue): Likewise.
5902         (monitor_prologue): Likewise.
5903
5904 2003-01-03  Dale Johannesen  <dalej@apple.com>
5905
5906         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
5907           machopic_picsymbol_stub1.
5908           (EXTRA_SECTION_FUNCTIONS):  Ditto.
5909         * rs6000/rs6000.c:  Update copyright.
5910           (machopic_output_stub):  Use them.  Remove an insn from stub code.
5911
5912 2003-01-02  Jason Merrill  <jason@redhat.com>
5913
5914         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
5915
5916         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
5917         static/external decls.
5918
5919         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
5920         outermost scope.
5921         * c-decl.c (c_make_fname_decl): Push the decls there, too.
5922
5923 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
5924
5925         * config/h8300/h8300-protos.h: Add a prototype for
5926         h8300_current_function_interrupt_function_p.
5927         * config/h8300/h8300.c (interrupt_handler): Remove.
5928         (os_task): Likewise.
5929         (monitor): Likewise.
5930         (pragma_interrupt): New.
5931         (WORD_REG_USED): Use
5932         h8300_current_function_interrupt_function_p.
5933         (dosize): Likewise.
5934         (h8300_output_function_prologue): Likewise.
5935         Do not set interrupt_handler, os_task, monitor.
5936         (h8300_output_function_prologue): Use
5937         h8300_current_function_interrupt_function_p.
5938         Do not set interrupt_handler, os_task, monitor.
5939         (h8300_current_function_interrupt_function_p): New.
5940         (h8300_pr_interrupt): Set pragma_interrupt.
5941         (h8300_insert_attributes): Reset pragma_interrupt.
5942
5943 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5944
5945         * doc/install.texi (Configuration): Fix markup for reference to
5946         gcc/config.gcc.
5947
5948 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
5949
5950         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
5951         (*iorhi3_two_qi): Likewise.
5952         (*iorsi3_zexthi): Likewise.
5953         (*xorhi3_zextqi): Likewise.
5954         (*xorsi3_zexthi): Likewise.
5955         (*xorsi3_zextqi): Likewise.
5956
5957 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
5958
5959         * config/h8300/h8300.c (stack_pointer_operand): New.
5960         (const_int_gt_2_operand): Likewise.
5961         (const_int_ge_8_operand): Likewise.
5962         * config/h8300/h8300.md (a splitter): Likewise.
5963         (a peephole2): Likewise.
5964         * config/h8300/h8300-protos.h: Add prototypes for the new
5965         functions above.
5966
5967 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
5968
5969         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
5970         objc/objc-act.h: Fix copyright years.
5971
5972 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
5973
5974         * doc/passes.texi: Fix documentation for -fssa-ccp
5975
5976 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
5977
5978         * gccbug.in: Update for new categories.
5979
5980 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5981
5982         * config/h8300/h8300.md: Reorder some patterns.
5983
5984 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5985
5986         * config/h8300/h8300.c (output_logical_op): Fix a warning.
5987
5988 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5989
5990         * config/darwin-protos.h, config/c4x/c4x-protos.h,
5991         config/cris/cris-protos.h, config/i370/i370-protos.h,
5992         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
5993         config/v850/v850-protos.h: Use struct, and don't conditionally
5994         compile on GCC_C_PRAGMA_H.
5995
5996 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5997
5998         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
5999         * config/h8300/h8300-protos.h: Likewise.
6000         * config/sh/sh-protos.h: Likewise.
6001
6002 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6003
6004         * config/arm/arm-protos.h: Use struct cpp_reader instead of
6005         cpp_reader.
6006         * config/h8300/h8300-protos.h: Likewise.
6007         * config/sh/sh-protos.h: Likewise.
6008
6009 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
6010
6011         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
6012         arm_pr_long_calls_off): Use struct.
6013         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
6014         : Similarly.
6015         Don't include cpplib.h.
6016         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
6017         sh_pr_nosave_low_regs): Similarly.
6018
6019 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6020
6021         * config/h8300/h8300.c: Include cpplib.h.
6022
6023 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
6024
6025         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
6026           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
6027           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
6028           "GCC" in the copyright header.
6029
6030 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
6031
6032         * c-pragma.c (c_register_pragma): New.
6033         (init_pragma): Use it.
6034         * c-pragma.h (cpp_register_pragma): Don't declare.
6035         (c_register_pragma): New.
6036         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
6037         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
6038         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
6039         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
6040         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
6041         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
6042         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
6043         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
6044         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
6045         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
6046         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
6047         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
6048
6049 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6050
6051         * config/h8300/h8300-protos.h: Update the prototypes.
6052         * config/h8300/h8300.c (const_le_2_operand): Change to
6053         const_int_le_2_operand.
6054         (const_int_le_6_operand): Change to const_int_le_6_operand.
6055         * config/h8300/h8300.md (two peepholes): Update the function
6056         names.
6057
6058 2002-12-31  Tom Tromey  <tromey@redhat.com>
6059
6060         * doc/install.texi (Testing): Fixed typo.
6061
6062 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6063
6064         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
6065         (TRAMPOLINE_SIZE): Support the normal mode.
6066         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
6067
6068 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
6069
6070         * c-common.h (pending_lang_change): Declare.
6071
6072 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
6073
6074         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
6075         descriptions.
6076
6077 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
6078
6079         * gcc/doc/invoke.texi (Optimization Options): List the options
6080         enabled by each -O flag.
6081
6082 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6083
6084         * doc/install.texi (Configuration): Explicitly refer
6085         gcc/config.gcc for a list of cpu models.
6086
6087 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6088
6089         * config/h8300/h8300.h: Fix comment typos.
6090
6091 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
6092
6093         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
6094
6095 2002-12-30  Tom Tromey  <tromey@redhat.com>
6096
6097         * doc/install.texi (Testing): Mention Jacks.
6098
6099 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
6100
6101         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
6102
6103 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6104
6105         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
6106         cases.
6107         (compute_logical_op_length): Update to reflect the change in
6108         output_logical_op.
6109         (compute_logical_op_cc): Likewise.
6110
6111 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
6112
6113         * doc/service.texi: Uncomment and update FAQ link.
6114
6115 2002-12-30  Andreas Jaeger  <aj@suse.de>
6116
6117         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
6118
6119 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6120
6121         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
6122
6123 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6124
6125         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
6126         are clearing the most significant byte.
6127         (compute_logical_op_length): Update to reflect the change in
6128         output_logical_op.
6129         (compute_logical_op_cc): Likewise.
6130
6131 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6132
6133         * config/h8300/h8300.md: Give internal names to anonymous
6134         insns.
6135
6136 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6137
6138         * config/h8300/h8300.md: Reorder some insns.
6139
6140 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6141
6142         * config/h8300/h8300-protos.h: Add prototypes for
6143         const_int_qi_operand and const_int_hi_operand.
6144         * config/h8300/h8300.c (const_int_qi_operand): New.
6145         (const_int_hi_operand): Likewise.
6146         * config/h8300/h8300.md (three peepholes): New.
6147
6148 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
6149
6150         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
6151         Use @copying.
6152
6153 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
6154
6155         * configure.in: Increase makeinfo version requirement to 4.[2-9].
6156         * configure: Regenerate.
6157         * doc/install.texi: Update Texinfo version requirement.
6158
6159 2002-12-28  Andreas Jaeger  <aj@suse.de>
6160
6161         * config/i386/i386.c (x86_function_profiler): Mark labelno as
6162         possibly unused.
6163
6164         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
6165         correct format.
6166
6167 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
6168
6169         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
6170         *iorhi_ashift_8.
6171         (*iorhi_lshiftrt_8): New.
6172
6173 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
6174
6175         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
6176
6177 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6178
6179         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
6180
6181 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6182
6183         * config/h8300/h8300-protos.h: Fix comment typos.
6184         Update copyright.
6185         * config/h8300/h8300.c: Fix comment typos.
6186
6187 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6188
6189         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
6190
6191 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6192
6193         * config/i386/athlon.md: Fix comment typos.
6194         * config/i386/crtdll.h: Likewise.
6195         * config/i386/djgpp.h: Likewise.
6196         * config/i386/i386-interix.h: Likewise.
6197         * config/i386/i386.c: Likewise.
6198         * config/i386/i386.h: Likewise.
6199         * config/i386/i386.md: Likewise.
6200         * config/i386/k6.md: Likewise.
6201         * config/i386/mingw32.h: Likewise.
6202         * config/i386/pentium.md: Likewise.
6203         * config/i386/sco5.h: Likewise.
6204         * config/i386/winnt.c: Likewise.
6205         * config/i386/xmmintrin.h: Likewise.
6206
6207 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
6208
6209         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
6210         INSN_P before checking to see if it is dead.
6211         (mark_all_insn_unnecessary): Similarly.
6212         (ssa_eliminate_dead_code): Similarly.
6213         * rtl.h (struct rtx_def): Update comments for in_struct usage
6214         in dead code elimination pass.
6215         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
6216
6217 2002-12-26  Andreas Schwab  <schwab@suse.de>
6218
6219         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
6220
6221 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
6222
6223         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
6224         tartet_flags_explicit.
6225         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
6226         Compact target_flags bits.
6227         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
6228         (TARGET_SWITCHES): Delete references to *_SET flags.
6229
6230 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
6231
6232         * i386.md (memory attribute): Fix setcc attribute.
6233
6234 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6235
6236         * output.h: Fix comment typos.
6237         * predict.c: Likewise.
6238         * print-tree.c: Likewise.
6239         * profile.c: Likewise.
6240         * ra-build.c: Likewise.
6241         * ra-colorize.c: Likewise.
6242         * ra-debug.c: Likewise.
6243         * ra-rewrite.c: Likewise.
6244         * ra.c: Likewise.
6245         * ra.h: Likewise.
6246         * real.c: Likewise.
6247         * recog.c: Likewise.
6248         * reg-stack.c: Likewise.
6249         * regclass.c: Likewise.
6250
6251 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6252
6253         * config/h8300/h8300.c (print_operand_address): Do not negate
6254         a negative number when printing one.
6255
6256 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6257
6258         * config/h8300/h8300-protos.h: Add prototypes for
6259         output_plussi, compute_plussi_length, and compute_plussi_cc.
6260         * config/h8300/h8300.c (output_plussi): New.
6261         (compute_plussi_length): Likewise.
6262         (compute_plussi_cc): Likewise.
6263         * config/h8300/h8300.md (addsi_h8300h): Call
6264         output_plussi, compute_plussi_length, and compute_plussi_cc.
6265
6266 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
6267
6268         * config/h8300/h8300.md (two peepholes): Use match_dup instead
6269         of match_operand in the new patterns.
6270
6271 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
6272
6273         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
6274
6275 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
6276
6277         * configure.in (enable-coverage): Add SELF_COVERAGE.
6278         * profile.c (end_branch_prob): Use SELF_COVERAGE.
6279
6280 2002-12-24  Jim Wilson  <wilson@redhat.com>
6281
6282         * alias.c (record_set): Handle multi-reg hard registers.
6283
6284 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
6285
6286         * regmove.c: Fix comment typos.
6287         * reload.c: Likewise.
6288         * reload1.c: Likewise.
6289         * resource.c: Likewise.
6290         * rtl.def: Likewise.
6291         * rtl.h: Likewise.
6292         * rtlanal.c: Likewise.
6293         * sched-deps.c: Likewise.
6294         * sched-rgn.c: Likewise.
6295         * sibcall.c: Likewise.
6296         * simplify-rtx.c: Likewise.
6297         * ssa-ccp.c: Likewise.
6298         * ssa.c: Likewise.
6299         * stmt.c: Likewise.
6300         * stor-layout.c: Likewise.
6301         * system.h: Likewise.
6302         * tlink.c: Likewise.
6303         * toplev.c: Likewise.
6304         * tracer.c: Likewise.
6305         * tree-inline.c: Likewise.
6306         * tree.c: Likewise.
6307         * tree.h: Likewise.
6308         * unroll.c: Likewise.
6309         * varasm.c: Likewise.
6310
6311 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
6312
6313         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
6314         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
6315         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
6316         DG/UX entries.
6317         * doc/md.texi: Remove AMD 29K entries.
6318         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
6319         1.38.1, NewsOS, RT PC, WE32K entries.
6320
6321 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
6322
6323         PR/8763
6324         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
6325         (altivec_vspltisw_v4sf): Name pattern.
6326         (altivec_vslw_v4sf): New pattern.
6327
6328 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
6329
6330         * doc/include/gcc-common.texi: Define DEVELOPMENT.
6331
6332 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
6333
6334         * stor-layout.c (update_alignment_for_field): Correct handling of
6335         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
6336         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
6337         bitfield does not affect alignment.
6338
6339 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
6340
6341         * expr.c (expand_assignment): Apply special treatment to
6342         ARRAY_TYPE.
6343
6344 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
6345
6346         * config/h8300/h8300-protos.h: Update the prototype of
6347         expand_a_shift.
6348         * config/h8300/h8300.c (expand_a_shift): Change the return
6349         type to void.
6350         * config/h8300/h8300.md: Update all the uses of
6351         expand_a_shift.
6352
6353 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
6354
6355         * tree.c (save_expr): Allow either side of a dyadic operand to be
6356         constant.
6357
6358         * doc/portability.texi (portability): Update portability goals.
6359
6360 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
6361
6362         * config/h8300/h8300.c (output_a_shift): Remove unused code.
6363
6364 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
6365
6366         * stor-layout.c (update_alignment_for_field): Guard use of
6367         ADJUST_FIELD_ALIGN with #ifdef.
6368
6369         * stor-layout.c (update_alignment_for_field): Use
6370         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
6371         bitfield when PCC_BITFIELD_TYPE_MATTERS.
6372
6373 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6374
6375         * genautomata.c: Fix comment typos.
6376
6377 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6378
6379         * params.def (tracer-min-branch-probability-feedback): Fix default.
6380         * final.c (compute_alignments): Use profile to avoid code bloat.
6381
6382 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6383
6384         * config/h8300/h8300.c (get_shift_alg): Make shift insn
6385         sequences end with a valid cc0 whenever possible.
6386
6387 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6388
6389         * config/h8300/h8300.md (negsf2): New.
6390         (*negsf2_h8300): Likewise.
6391         (*negsf2_h8300hs): Likewise.
6392
6393 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
6394
6395         * integrate.c (output_inline_function): Don't hold private
6396         pointers to 'struct function' over GC calls.
6397
6398 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
6399
6400         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
6401         NO_FPSCR_VALUES.
6402         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
6403
6404 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6405
6406         * config/h8300/h8300.md (zero_extendqisi2): Correct the
6407         length.
6408
6409 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6410
6411         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
6412         second alternative "#".
6413         (*zero_extendqihi2_h8300hs): Likewise.
6414         (a define_split): New.
6415
6416 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6417
6418         * config/h8300/h8300-protos.h: Update the prototype for
6419         split_adds_subs.
6420         Add prototypes for const_le_2_operand and const_le_6_operand.
6421         * config/h8300/h8300.c (split_adds_subs): Add an argument to
6422         specify whether inc/dec should be used when possible.
6423         (const_le_2_operand): New.
6424         (const_le_6_operand): Likewise.
6425         * config/h8300/h8300.md (two peepholes): New.
6426
6427 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6428
6429         * config/fr30/fr30.md: Fix a comment typo.
6430         * config/i386/i386.c: Likewise.
6431         * config/ip2k/ip2k.h: Likewise.
6432
6433 2002-12-20  Jim Wilson  <wilson@redhat.com>
6434
6435         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
6436         (__ev_subw, __ev_subiw): New.
6437         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
6438         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
6439
6440 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
6441
6442         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
6443         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
6444         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
6445         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
6446
6447 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6448
6449         * config/h8300/h8300-protos.h: Add prototypes for
6450         incdec_operand and eqne_operator.
6451         * config/h8300/h8300.c (incdec_operand): New.
6452         (eqne_operator): Likewise.
6453         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
6454         (CONST_OK_FOR_O): Likewise.
6455         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
6456         CONST_OK_FOR_O.
6457         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
6458         (addhi3_incdec): New.
6459         (addsi3_incdec): Likewise.
6460         (two peepholes): Likewise.
6461
6462 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6463
6464         * config/h8300/h8300.c (dosize): Remove warnings.
6465         (print_operand): Likewise.
6466
6467 2002-12-20  Richard Henderson  <rth@redhat.com>
6468
6469         * config/alpha/alpha.c (decl_has_samegp): New.
6470         (samegp_function_operand): Use it.  Rename from
6471         current_file_function_operand.
6472         (direct_call_operand): Handle -msmall-text via symbol->jump.
6473         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
6474         (tls_symbolic_operand_type): Likewise.
6475         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
6476         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
6477         (alpha_end_function): Set symbol->jump for functions defined in
6478         the text section.
6479         * config/alpha/alpha-protos.h: Update.
6480         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
6481         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
6482         (PREDICATE_CODES): Update.
6483         * config/alpha/alpha.md (call patterns): Update for
6484         samegp_function_operand rename; use !samegp reloc if
6485         TARGET_EXPLICIT_RELOCS.
6486         * doc/invoke.text: Document -msmall-text and -mlarge-text.
6487
6488 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
6489
6490         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
6491         all registers capable of holding a double float.
6492         (*rcond): change name of "reverse branch" insns to
6493         something more meaningful.
6494         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
6495         comparisons properly.
6496         (*ffs): Change operand 0 from write to read-modify-write.
6497         (*ffsssi2): Drop constraints from define_expand.
6498
6499         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
6500         MOVE_RATIO as default for store operations.
6501
6502         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
6503         LONG_REGS class.
6504         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
6505         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
6506         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
6507
6508         * config/ns32k/STATUS: New File
6509         * config/ns32k/NOTES: New file.
6510
6511 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
6512
6513         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
6514         option for S/390 and zSeries.
6515         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
6516         s390_arch_string): New variables.
6517         (override_options): Checking for options and setting of
6518         appropriate target_flags, cpu and arch flags.
6519         * config/s390/s390.h: (processor_type): New enum.
6520         (TARGET_SWITCHES): New switches -mesa/zarch.
6521         * config/s390/s390.md: New attribute 'cpu'.
6522
6523 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6524
6525         * c-pretty-print.h: Fix comment typos.
6526         * integrate.c: Likewise.
6527         * varasm.c: Likewise.
6528         * config/c4x/c4x.h: Likewise.
6529         * config/c4x/c4x.md: Likewise.
6530         * config/fr30/fr30.md: Likewise.
6531         * config/frv/frv.c: Likewise.
6532         * config/h8300/h8300.c: Likewise.
6533         * config/i386/i386.c: Likewise.
6534         * config/i386/i386.h: Likewise.
6535         * config/ia64/ia64.c: Likewise.
6536         * config/ia64/ia64.h: Likewise.
6537         * config/ip2k/ip2k.md: Likewise.
6538         * config/m68hc11/m68hc11-crt0.S: Likewise.
6539         * config/m68hc11/m68hc11.h: Likewise.
6540         * config/m68hc11/m68hc11.md: Likewise.
6541         * config/m68hc11/m68hc12.h: Likewise.
6542         * config/mcore/mcore.md: Likewise.
6543         * config/mips/mips.c: Likewise.
6544         * config/mips/mips.md: Likewise.
6545         * config/mmix/mmix-modes.def: Likewise.
6546         * config/pa/pa.c: Likewise.
6547         * config/rs6000/rs6000.c: Likewise.
6548         * config/rs6000/rs6000.h: Likewise.
6549         * config/rs6000/rs6000.md: Likewise.
6550
6551 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6552
6553         * config/h8300/h8300.md (output_a_shift): Clean up the code to
6554         output shifts using rotation.
6555
6556 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6557
6558         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
6559
6560 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6561
6562         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
6563         pointer.
6564         (pushqi_h8300hs): Likewise.
6565         (pushhi_h8300): Likewise.
6566         (pushhi_h8300hs): Likewise.
6567
6568 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
6569
6570         * sched-rgn.c (init_regions): Update comment.
6571
6572 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
6573
6574         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
6575         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
6576         attributes.
6577         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
6578         (get_vrsave_internal,set_vrsave_internal): Same.
6579         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
6580         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
6581         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
6582
6583 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
6584             Danny Smith  <dannysmith@users.sourceforge.net>
6585             Eric Kohl  <ekohl@rz-online.de>
6586
6587         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
6588         attributes incompatible with fastcall attribute.
6589         (ix86_handle_regparm_attribute): Likewise.
6590
6591         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
6592         fastcall types.
6593
6594         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
6595         attributes.
6596         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
6597         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
6598         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
6599         i386_pe_output_labelref rather than here.
6600         (gen_fastcall_suffix): New function. Decorates a label name with the
6601         fastcall prefix (@) and the stdcall suffix.
6602         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
6603         has a fastcall attribute.
6604         (i386_pe_output_labelref): New function. Outputs a label reference.
6605         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
6606         valid attribute.
6607         (ix86_return_pops_args): Fastcall functions pop the stack.
6608         (init_cumulative_args): Reserve registers ECX and EDX if function has
6609         fastcall attribute.
6610         (function_arg): Use registers ECX and EDX if function has fastcall
6611         attribute.
6612         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
6613         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
6614         (FASTCALL_PREFIX): Define as '@'.
6615         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
6616         attributes.
6617         * doc/extend.texi: Add documentation of fastcall attribute.
6618
6619 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
6620
6621         * configure.in: FORBUILD when build!=host changed from
6622         ../$build-alias to ../build-$build_alias to match change made
6623         in top directory.
6624         * configure: Regenerated.
6625
6626 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6627
6628         PR optimization/8988
6629         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
6630         the biv when eliminating.
6631
6632 2002-12-19  Devang Patel  <dpatel@apple.com>
6633         * gcc.c (struct default_compiler): Recognizes input file name with
6634         .CPP extension as C++ source files
6635         * cp/lang-spec.h: Same
6636         * doc/invoke.texi:  Add documentation for .CPP support.
6637
6638 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
6639
6640         PR 8553
6641         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
6642         registers.
6643         ("absv16qi2"): Same.
6644         ("absv4si2"): Same.
6645         ("absv4sf2"): Same.
6646         ("altivec_abss_v16qi"): Same.
6647         ("altivec_abss_v8hi"): Same.
6648         ("altivec_abss_v4si"): Same.
6649
6650 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
6651
6652         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
6653         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
6654
6655 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6656
6657         PR target/8340
6658         * stmt.c (expand_asm_operands): Produce an error when
6659         the PIC register is clobbered.
6660
6661 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
6662
6663         * Makefile.in (OBJS): Add alloc-pool.o
6664         (alloc-pool.o): New object.
6665
6666         * alloc-pool.c: New file.
6667         * alloc-pool.h: New file.
6668
6669 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
6670
6671         * gcc.c (validate_switches): Robustify against skipping past '\0'.
6672
6673 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6674
6675         * config.gcc: Set extra_objs in the generic Darwin rule,
6676         not in the machine-specific rules.
6677
6678 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6679
6680         * ChangeLog: Follow spelling conventions.
6681         * ChangeLog.2: Likewise.
6682         * ChangeLog.4: Likewise.
6683         * ChangeLog.5: Likewise.
6684         * cppexp.c: Likewise.
6685         * df.c: Likewise.
6686         * gcov.c: Likewise.
6687         * gengtype.c: Likewise.
6688         * reload1.c: Likewise.
6689         * sched-rgn.c: Likewise.
6690         * stmt.c: Likewise.
6691         * stor-layout.c: Likewise.
6692         * timevar.c: Likewise.
6693         * toplev.c: Likewise.
6694         * tree.h: Likewise.
6695         * varasm.c: Likewise.
6696         * config/fr30/fr30.md: Likewise.
6697         * config/i386/i386.c: Likewise.
6698         * config/ia64/ia64.c: Likewise.
6699         * config/pa/pa.c: Likewise.
6700
6701 2002-12-18  Roger Sayle  <roger@eyesopen.com>
6702
6703         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
6704
6705 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
6706
6707         PR 8551
6708         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
6709         macro.
6710         (vec_cmplt C++ functions): Reverse arguments.
6711
6712 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6713
6714         * config/rs6000/t-rs6000: Move contents to t-fprules,
6715         add rules for dependencies of rs6000.o and to build rs6000-c.o
6716         * config/rs6000/t-fprules: New file from t-rs6000.
6717         * config/rs6000/t-beos: Remove soft-fp rules.
6718         * config/rs6000/t-ppccomm: Likewise.
6719         * config/rs6000/t-newas: Likewise.
6720         * config/rs6000/t-rs6000-c-rule: Delete.
6721         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
6722         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
6723         Create generic Darwin rules.
6724
6725         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
6726
6727 2002-12-18  Doug Evans  <dje@sebabeach.org>
6728
6729         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
6730         and LIT_NAME_P.
6731         (move_src_operand): Remove compile-time warning.
6732         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
6733
6734 2002-12-18  Jason Merrill  <jason@redhat.com>
6735
6736         * unwind-dw2-fde.c (frame_downheap): Split out from...
6737         (frame_heapsort): Here.
6738
6739 2002-12-17  Jason Merrill  <jason@redhat.com>
6740
6741         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
6742         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
6743
6744         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
6745
6746         * calls.c (expand_call): Don't try to be clever about expanding
6747         the return slot address.
6748
6749 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
6750
6751         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
6752         Define.
6753
6754 2002-12-17  Jason Merrill  <jason@redhat.com>
6755
6756         * genmultilib: Use 'cd ./foo'.
6757
6758 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6759
6760         * doc/c-tree.texi: Restore deliberate spelling mistakes.
6761
6762 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6763
6764         * doc/c-tree.texi: Fix typos and follow spelling conventions.
6765         * doc/cpp.texi: Likewise.
6766         * doc/extend.texi: Likewise.
6767         * doc/gty.texi: Likewise.
6768         * doc/install.texi: Likewise.
6769         * doc/invoke.texi: Likewise.
6770         * doc/md.texi: Likewise.
6771         * doc/passes.texi: Likewise.
6772         * doc/rtl.texi: Likewise.
6773         * doc/sourcebuild.texi: Likewise.
6774         * doc/tm.texi: Likewise.
6775
6776 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
6777
6778         * doc/invoke.texi: Minor spelling and grammar fixes.
6779
6780 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
6781
6782         * config/s390/s390.c (s390_output_constant_pool): Replace
6783         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
6784
6785 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
6786
6787         * convert.c (convert_to_real): Disable function transformation for
6788         now.
6789
6790 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6791
6792         * gcc.c (handle_braces): Allow '@' as a switch name.
6793
6794 2002-12-16  Jason Merrill  <jason@redhat.com>
6795
6796         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
6797         with special struct-return ABIs.
6798
6799         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
6800         doesn't match the begin SCOPE_STMT in partialness.
6801
6802 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6803
6804         * genmultilib: Create temporary files in unique subdirectory.
6805
6806         * gcc.c (validate_switches): Allow '@' as a switch name.
6807
6808 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
6809
6810         * Makefile.in (gcov-iov.h): Improve portability.
6811
6812 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
6813
6814         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
6815         gas
6816         * mips.md (tablejump insn): Likewise.
6817
6818 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
6819
6820         * doc/include/gcc-common.texi: Change version number to 3.4.
6821
6822 2002-12-16  Bruce Korb  <bkorb@gnu.org>
6823
6824         * fixinc/fixlib.h: add: #include <signal.h>
6825         * fixinc/fixincl.c: remove: #include <signal.h>
6826
6827 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
6828
6829         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
6830         (EXTRA_CONSTRAINT): Use it.
6831         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
6832
6833 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
6834
6835         * config.gcc (need_64bit_hwint): New variable.
6836         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
6837         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
6838         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
6839         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
6840         Set it.
6841         (powerpc*-*-darwin*): Unset it.
6842         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
6843         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
6844         deleted/nonexistent xm-*.h headers.
6845         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
6846         target set need_64bit_hwint in config.gcc.
6847         * configure, config.in: Regenerate.
6848
6849         * hwint.h: Overhaul.  Don't bother trying int for
6850         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
6851         decision to force 64-bit HOST_WIDE_INT on
6852         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
6853         not visible at this point.  Don't allow prior definition of
6854         any macro defined by this file.
6855
6856         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
6857         HOST_BITS_PER_WIDE_INT.
6858         * config/c4x/c4x.h: Adjust redefinition of
6859         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
6860         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
6861         config/i386/xm-i386-interix.h: Delete file.
6862
6863 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
6864             John David Anglin  <dave@hiauly1.hia.nrc.ca>
6865
6866         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
6867         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
6868
6869 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6870
6871         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
6872
6873 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6874
6875         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
6876         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
6877         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
6878         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
6879         config/v850/t-v850:  Correct dependencies and normalize
6880         compilation commands for files that include coretypes.h and tm.h.
6881
6882         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
6883         not config.h and system.h.
6884
6885 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
6886
6887         * i386.c (flags_reg_operand):  New function.
6888         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
6889         * i386.md (cmov splitter, movqicc): Use new predicate.
6890
6891 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
6892
6893         * i386.md (movqicc splitter): Fix template.
6894
6895 2002-12-13  Jason Merrill  <jason@redhat.com>
6896
6897         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
6898         * calls.c (expand_call): Handle it.
6899         * tree-inline.c (struct inline_data): Remove target_exprs field.
6900         (optimize_inline_calls): Don't initialize it.
6901         (expand_call_inline): Don't modify it.  Handle
6902         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
6903         (declare_return_variable): Take return slot addr.
6904         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
6905         to return_slot_addr.
6906         * langhooks-def.h, langhooks.c: Adjust.
6907         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
6908         a decl with no DECL_INITIAL.
6909
6910         * expr.c (expand_expr): Don't discard the target of a call which
6911         returns in memory.
6912
6913 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
6914
6915         * cppinit.c (path_include): Take an environment variable name.
6916         Tidy up.
6917         (init_standard_includes): Simplify environment handling, and
6918         move to ...
6919         (cpp_read_main_file): ...here as -nostdinc should not affect
6920         environment variable paths.
6921
6922 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6923
6924         * pa.c (output_millicode_call): Correct typo.
6925         (output_call): Likewise.
6926
6927 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
6928
6929         * config/mn10300/mn10300.c (print_operand) <case N>: Check
6930         operand's range.  Print value directly, without aid from
6931         output_address.
6932         <case U>: New.
6933         <case S>: Make sure argument to fprintf has the right type.
6934         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
6935         (EXTRA_CONSTRAINT): Adjust.
6936         * config/mn10300/mn10300.md: Add new all-QImode pattern for
6937         bclr.  Use %U for immediate operands of bset and bclr.
6938         (iorqi3): New expand, with insns for AM33 and mn10300.
6939
6940 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
6941
6942         * sh.c (sh_register_operand): New function.
6943         (prepare_move_operands): Use it.
6944         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
6945         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
6946         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
6947         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
6948         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
6949         (movv2si_i): Likewise.
6950
6951 2002-12-13  Jim Wilson  <wilson@redhat.com>
6952
6953         * doc/extend.texi (Complex Numbers): Update info on debug info.
6954
6955 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
6956
6957         * config/h8300/h8300.md (addhi3_h8300): Remove the last
6958         alternative.
6959
6960 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6961
6962         * hooks.h (hook_tree_tree_bool_false): Declare
6963         hook_bool_tree_tree_false instead.
6964
6965 2002-12-12  Devang Patel  <dpatel@apple.com>
6966
6967         * doc/invoke.texi: Document Darwin linker options, -bundle
6968         -bind_at_load, -all_load and -arch_errors_fatal
6969
6970 2002-12-12  Jim Wilson  <wilson@redhat.com>
6971
6972         * dbxout.c (dbxout_fptype_value): New.
6973         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
6974
6975 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6976
6977         * c-decl.c: Fix a comment typo.
6978         * cfg.c: Likewise.
6979         * cfgcleanup.c: Likewise.
6980         * cfglayout.c: Likewise.
6981         * cfgrtl.c: Likewise.
6982         * c-typeck.c: Likewise.
6983         * dominance.c: Likewise.
6984         * dwarf2asm.c: Likewise.
6985         * dwarfout.c: Likewise.
6986         * expmed.c: Likewise.
6987         * expr.c: Likewise.
6988         * final.c: Likewise.
6989         * flow.c: Likewise.
6990         * function.c: Likewise.
6991         * gcc.c: Likewise.
6992         * genautomata.c: Likewise.
6993         * integrate.c: Likewise.
6994         * loop.c: Likewise.
6995         * loop.h: Likewise.
6996         * output.h: Likewise.
6997         * profile.c: Likewise.
6998         * ra.h: Likewise.
6999         * reload1.c: Likewise.
7000         * reload.c: Likewise.
7001         * sched-rgn.c: Likewise.
7002         * stmt.c: Likewise.
7003         * tree.h: Likewise.
7004         * vmsdbgout.c: Likewise.
7005
7006 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7007
7008         * config/h8300/h8300.md: Add a new peephole2.
7009
7010 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7011
7012         * config/h8300/h8300.md (a peephole2): Accept a constant
7013         that's accepted by CONST_OK_FOR_J.
7014
7015 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7016
7017         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
7018         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
7019         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
7020         (*addhi_h8300hs): Likewise.
7021
7022 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
7023
7024         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
7025         (sh_register_move_cost): Add clause for SImode fp-fp moves.
7026         Increase cost for moves involving multiple general purpose registers.
7027         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
7028         TARGET_FMOVD.
7029         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
7030         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
7031         (enum reg_class reg_class_from_letter): No longer const.
7032         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
7033         REGCLASS_HAS_GENERAL_REG.
7034         Handle SImode moves from/to fp registers.
7035         ! TARGET_SHMEDIA && TARGET_FMOVD.
7036         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
7037         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
7038
7039 2002-12-12  Andreas Schwab  <schwab@suse.de>
7040
7041         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
7042         change and some warnings.
7043
7044 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7045
7046         * doc/md.texi (pushm): Fix a typo.
7047
7048 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
7049
7050         * config/mips/mips.c (mips_output_conditional_branch): Support
7051         PIC-safe out-of-range branch and branch-likely.
7052         * config/mips/mips.md (attr length): PIC-safe out-of-range
7053         branches are longer.
7054         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
7055         unused code to support indirect jumps.
7056
7057 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
7058
7059         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
7060         $(tm_file_list).
7061
7062 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
7063
7064         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
7065
7066 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
7067
7068         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
7069
7070 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7071
7072         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
7073         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
7074         BIGGEST_ALIGNMENT.
7075         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
7076         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
7077
7078 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7079
7080         * doc/invoke.texi: Correct dump file names.
7081
7082 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7083
7084         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
7085         name to globalize_label or assemble_name.
7086
7087 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
7088
7089         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
7090         if not TARGET_SHMEDIA.
7091
7092 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
7093
7094         * sh.h (REG_CLASS_HAS_FP_REG): New.
7095         (REGISTER_MOVE_COST) Use it.  Put body into a function and
7096         move it into:
7097         * sh.c (sh_register_move_cost).
7098         * sh-protos.h (sh_register_move_cost): Declare.
7099
7100         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
7101         (sh_adjust_cost): Always return a value.
7102
7103 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
7104
7105         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
7106         (REGISTER_MOVE_COST): Use it.
7107
7108 2002-12-11  Richard Henderson  <rth@redhat.com>
7109
7110         * tree.h (MODULE_LOCAL_P): Kill.
7111         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
7112
7113 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7114
7115         * config/h8300/h8300.md (two define_peephole2): New.
7116
7117 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7118
7119         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
7120         (CONST_OK_FOR_K): Likewise.
7121         (CONST_OK_FOR_M): Likewise.
7122         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
7123
7124 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
7125
7126         * c-common.c (builtin_define_type_max): Handle unsigned
7127         types too.
7128
7129 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
7130
7131         * haifa-sched.c (rank_for_schedule): Correct style.
7132
7133 2002-12-10  Per Bothner  <pbothner@apple.com>
7134
7135         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
7136         directive_index into an unsigned field and a new is_directive field.
7137         * cppinit.c (mark_named_operators):  Update to set new fields.
7138         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
7139         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
7140         No longer need to subtract 1 from directive_index.
7141         (_cpp_init_directives):  No longer need to add 1 to directive_index.
7142         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
7143
7144 2002-12-10  Roger Sayle  <roger@eyesopen.com>
7145
7146         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
7147         check for evaluating sqrt of a constant at compile time.
7148         * simplify-rtx.c (simplify_unary_operation): Likewise.
7149
7150 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
7151
7152         PR other/8882
7153         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
7154
7155 2002-12-10  Devang Patel  <dpatel@appple.com>
7156
7157         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
7158         * doc/invoke.texi: Add new "Darwin Options" section.
7159
7160 2002-12-10  Jim Wilson  <wilson@redhat.com>
7161
7162         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
7163         memory.
7164
7165 2002-12-10  Andrew Haley  <aph@redhat.com>
7166
7167         * cse.c (cse_insn): Don't cse past a basic block boundary.
7168
7169 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
7170
7171         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
7172         -shared.
7173         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
7174         * config/alpha/linux.h (LIB_SPEC): Likewise.
7175         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
7176         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
7177         * config/sparc/linux.h (LIB_SPEC): Likewise.
7178         * config/sparc/linux64.h (LIB_SPEC): Likewise.
7179
7180 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
7181
7182         * doc/invoke.texi: Document UltraSparc III option.
7183
7184 2002-12-09  Richard Henderson  <rth@redhat.com>
7185
7186         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
7187         __tune_pentium2__ and __tune_pentium3__ as necessary.
7188
7189 2002-12-09  Richard Henderson  <rth@redhat.com>
7190
7191         * target.h (gcc_target): Add cannot_force_const_mem.
7192         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
7193         (TARGET_INITIALIZER): Add it.
7194         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
7195         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
7196         * reload1.c (reload): Likewise.
7197         * hooks.c (hook_bool_rtx_false): New.
7198         * hooks.h: Declare it.
7199
7200         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
7201         (TARGET_CANNOT_FORCE_CONST_MEM): New.
7202         (ix86_expand_move): Remove de-const-pooling hack.
7203
7204 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
7205
7206         * toplev.c (dump_file): Fix order to match reality.
7207
7208 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
7209
7210         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
7211         (store_multiple): Likewise.
7212
7213 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7214
7215         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
7216         function pointers in page 0.
7217
7218 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7219
7220         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
7221         definition
7222         (MEMBER_TYPE_FORCES_BLK): Move.
7223         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
7224         aggregate arguments.
7225         (ia64_function_value): Use PARALLEL to return aggregate values.
7226
7227 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7228
7229         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7230         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7231         * calls.c (store_unaligned_arguments_into_pseudos) Remove
7232         FUNCTION_ARG_REG_LITTLE_ENDIAN.
7233         * stmt.c (expand_return): Ditto.
7234         * expr.c (move_block_from_reg): Ditto.
7235         (copy_blkmode_from_reg): Ditto.
7236         * expmed.c (store_bit_field): Ditto.
7237
7238 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
7239
7240         * config.gcc: Added tic4x-* target as an alias to c4x-*
7241
7242 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
7243
7244         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
7245         constructing insn directly.
7246
7247 2002-12-06  Per Bothner  <pbothner@apple.com>
7248
7249         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
7250         char to an int bit-field, for hosts where char is unsigned.
7251
7252 2002-12-07  Roger Sayle  <roger@eyesopen.com>
7253             Richard Henderson <rth@redhat.com>
7254
7255         * real.c (ieee_extended_motorola_format,
7256         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
7257         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
7258         Provide appropriate values for new signbit field.
7259
7260 2002-12-07  Roger Sayle  <roger@eyesopen.com>
7261
7262         * real.h (real_format): Add signbit field.
7263         * real.c (ieee_single_format, ieee_double_format,
7264         ieee_extended_motorola_format, ieee_extended_intel_96_format,
7265         ieee_extended_intel_128_format, ibm_extended_format,
7266         ieee_quad_format, vax_f_format, vax_d_format,
7267         vax_g_format, i370_single_format, i370_double_format,
7268         c4x_single_format, c4x_extended_format, real_internal_format):
7269         Provide suitable signbit value, or -1 to avoid bit twiddling.
7270
7271         * optabs.c (expand_unop): Try implementing negation of
7272         floating point modes by flipping the sign bit.
7273         (expand_abs): Try implementing abs of floating point modes
7274         by clearing the sign bit.
7275
7276 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7277
7278         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
7279         of constructing insn directly.
7280
7281 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
7282
7283         * config/h8300/h8300.md (*iorhi_shift_8): New.
7284
7285 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
7286
7287         * doc/invoke.texi: Document FRV port options.
7288         * doc/md.texi: Document FRV register classes.
7289
7290 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7291
7292         * doc/install.texi (Configuration): Improve description of cases
7293         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
7294
7295 2002-12-06  Per Bothner  <pbothner@apple.com>
7296
7297         * cpplib.h (NODE_MACRO_ARG):  New flag.
7298         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
7299         Remove value.operator field.  Move arg_index field to value union.
7300         (directive_index):  Make signed, since also used for C++ operators.
7301         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
7302         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
7303         Save node->value, and set node->value.arg_index.
7304         (_cpp_create_definition):  For each paramater, restore node->value.
7305         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
7306         * cpptrad.c (scan_out_logical_line): Likewise.
7307         (scan_out_logical_line): Check for directive > 0.
7308         * cpplib.c (cpp_handle_directive):  Likewise.
7309         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
7310         by negative of directive_index.
7311         * cppinit.c (mark_named_operators):  Likewise.
7312
7313         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
7314
7315 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
7316
7317         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
7318         FPU.
7319         (push): Generate push_fpscr.
7320         (pop): Generate pop_fpscr.
7321         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
7322         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
7323
7324 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
7325
7326         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
7327         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
7328
7329 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7330
7331         * sh.md (movdi_i): Name.  Remove inappropriate comment.
7332
7333 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
7334         Merged from basic improvements branch (excerpt):
7335
7336         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
7337         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
7338
7339 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
7340
7341         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
7342
7343 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
7344
7345         * i386.md (dimode peep2s): Re-add "&& 1".
7346
7347 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
7348
7349         * i386.c (ix86_expand_prologue):  Add comment, do not use
7350         fast prologues for cold and normal functions.
7351
7352 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
7353
7354         * i386.c (x86_rep_movl_optimal): New variable.
7355         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
7356         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
7357
7358         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
7359         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
7360         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
7361         generate unnecesary subregs.
7362
7363 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7364
7365         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
7366         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
7367
7368 2002-12-05  Dale Johannesen  <dalej@apple.com>
7369
7370         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
7371
7372 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
7373
7374         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
7375         PROFILE_HOOK.
7376         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
7377
7378 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
7379
7380         * config/rs6000/spe.h (__ev_mwlufi): Remove.
7381         (__ev_mwlufia): Remove.
7382         (__ev_mwlumfaaw): Remove.
7383         (__ev_mwlusfaaw): Remove.
7384         (__ev_mwlumfanw): Remove.
7385         (__ev_mwlusfanw): Remove.
7386
7387 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
7388
7389         * config/h8300/h8300.md (*andorsi3_shift_8): New.
7390
7391 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
7392
7393         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
7394         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
7395         (get_shift_alg): Return optimal assembly instructions for the
7396         shifts mentioned above.
7397
7398 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
7399
7400         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
7401         condtiional moves.
7402
7403 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7404
7405         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
7406         implement ashiftrt:HI by 13 bits on H8S.
7407
7408 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7409
7410         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
7411         * pa.md (canonicalize_funcptr_for_compare): Output library call to
7412         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
7413         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
7414         CTOR_LIST_BEGIN): New defines.
7415         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
7416         (fptr.c): Add make rules.
7417
7418 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
7419
7420         * combine.c (combine_simplify_rtx): Add new canonicalizations.
7421         * doc/md.texi (Insn Canonicalizations): Document new
7422         canonicalizations for multiply/add combinations.
7423         * config/rs6000/rs6000.md: Add and modify floating add/multiply
7424         patterns to ensure they're used whenever they can be.
7425
7426 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7427
7428         * config/h8300/h8300.c: Update the comments related to shifts.
7429
7430 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
7431
7432         * config/mips/mips.md (get_fnaddr): Correct length attribute.
7433
7434 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7435
7436         * config/h8300/h8300.md (*extzv_8_8): New.
7437         (*extzv_8_16): Likewise.
7438
7439 2002-12-04  Jason Merrill  <jason@redhat.com>
7440
7441         PR c++/8461, c++/8625
7442         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
7443         references.
7444         * tree-inline.c (initialize_inlined_parameters): Likewise.
7445
7446         * tree.c (variably_modified_type_p): Just return an error_mark_node.
7447
7448 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
7449
7450         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
7451         macro instruction in a branch delay slot, to avoid assembler
7452         warnings.
7453
7454 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
7455
7456         PR c/7622
7457         * c-semantics (genrtl_scope_stmt): Do not output inlined
7458         nested functions that contain no code.
7459
7460 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
7461
7462         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
7463         to be forced into nonfallthru.
7464
7465 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
7466
7467         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
7468
7469 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
7470
7471         * config/rs6000/spe.md (*movv1di_const0): New pattern.
7472
7473 2002-12-03  Richard Henderson  <rth@redhat.com>
7474
7475         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
7476
7477 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
7478
7479         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
7480         Initialize tmp.using_obstack to 0.
7481
7482 2002-12-03  Andreas Schwab  <schwab@suse.de>
7483
7484         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
7485         (EH_RETURN_STACKADJ_RTX): Define.
7486         (EH_RETURN_HANDLER_RTX): Define.
7487         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7488         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
7489         registers and don't save fixed registers.
7490         (m68k_output_function_prologue): Use it.
7491         (use_return_insn): Likewise.
7492         (m68k_output_function_epilogue): Likewise.
7493
7494 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
7495
7496         * config/h8300/h8300.c (single_one_operand): Fix a warning.
7497         (single_zero_operand): Likewise.
7498
7499 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7500
7501         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
7502         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
7503         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
7504         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
7505         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
7506         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
7507         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
7508         doc/install-old.texi: Replace hconfig.h with bconfig.h.
7509         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
7510
7511 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
7512
7513         * config/rs6000/rs6000.md (ffssi): Convert to expander.
7514         (ffsdi): Likewise.
7515         (cntlzw2, cntlzd2): New patterns.
7516
7517 2002-12-02  H.J. Lu <hjl@gnu.org>
7518
7519         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
7520         (mips*-*-linux*): Remove mips/t-linux.
7521
7522 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
7523
7524         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
7525
7526 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7527
7528         * config/h8300/h8300.c (dosize): Replace argument op with
7529         sign.
7530         (h8300_output_function_prologue): Update the call to dosize.
7531         (h8300_output_function_epilogue): Likewise.
7532
7533 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
7534
7535         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
7536
7537 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7538
7539         * configure.in: Use "missing" script to generate warning if
7540         flex or bison programs not found, instead of invoking "false".
7541         * configure: Rebuilt.
7542
7543 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
7544
7545         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
7546
7547 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
7548
7549         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
7550
7551 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7552
7553         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
7554         (push): Likewise.
7555         (pop): Likewise.
7556         (h8300_output_function_prologue): Likewise.
7557         (h8300_output_function_epilogue): Likewise.
7558
7559 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
7560
7561         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7562         corresponding mode of non-integer mode, unless it is VOIDmode.
7563
7564 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7565
7566         * config/h8300/h8300.md (stm_h8300s_2): New.
7567         (stm_h8300s_3): Likewise.
7568         (stm_h8300s_4): Likewise.
7569         (five define_peephole2): Likewise.
7570
7571 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7572
7573         * ra-build.c: Fix a comment typo.
7574
7575 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7576
7577         * i386.c (ix86_expand_int_movcc): fix
7578         reversed BRANCH_COST test; be curefull about infinite recursion.
7579
7580 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
7581
7582         * config/h8300/h8300.c (h8300_output_function_prologue):
7583         Remove variable idx.
7584         (h8300_output_function_epilogue): Likewise.
7585
7586 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
7587
7588         * config/frv/xm-frv.h: Delete, unnecessary.
7589
7590 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
7591
7592         * config/h8300/h8300.md: Add comments for define_peephole2.
7593
7594 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
7595
7596         * builtin-types.def (BT_SIZE): Use size_type_node.
7597         * builtins.c (fold_builtin): Make the builtin strlen returns a
7598         size_t, not a sizetype.
7599         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
7600         c_size_type_node.
7601         (c_alignof_expr): Likewise.
7602         (c_common_nodes_and_builtins): Likewise.
7603         * c-common.h (CTI_C_SIZE_TYPE): Remove.
7604         (c_size_type_node): Likewise.
7605         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
7606         * tree.h (TI_SIZE_TYPE): New enumeral.
7607         (size_type_node): Likewise.
7608
7609 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
7610
7611         * configure.in: Don't put ${tm_file} into host_xm_file,
7612         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
7613         Take location of tm-preds.h into account when calculating
7614         tm_p_file_list.
7615         * configure: Regenerate.
7616         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
7617         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
7618         Remove special case code for tm_p.h and *config.h; add new
7619         special case code for tm.h and tconfig.h. Clean up a bit.
7620
7621         * Makefile.in (tm_file, tm_file_list): New variables set from
7622         @-substitutions.
7623         (GCONFIG_H): Deleted.
7624         (GTM_H, TM_H): New.
7625         (CONFIG_H): Is now just config.h $(host_xm_file_list).
7626         (TM_P_H): Move up with the other mkconfig.sh-generated
7627         headers; don't mention tm-preds.h explicitly.
7628         (tm.h, cs-tm.h): New rule.
7629         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
7630         invocations of mkconfig.sh for changes to that program.
7631         (mostlyclean): Delete print-rtl1.c.
7632         (clean): Delete tm.h.
7633         Update dependencies for the files listed below.
7634
7635         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
7636
7637         * coretypes.h: New file.
7638         * system.h: #define malloc to xmalloc and realloc to xrealloc
7639         when FLEX_SCANNER or YYBISON is defined, independent of the
7640         value of GCC_VERSION.
7641         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
7642         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
7643         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
7644         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
7645         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
7646         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
7647         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
7648         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
7649         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
7650         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
7651         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
7652         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
7653         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
7654         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
7655         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
7656         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
7657         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
7658         genconstants.c, genemit.c, genextract.c, genflags.c,
7659         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
7660         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
7661         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
7662         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
7663         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
7664         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
7665         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
7666         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
7667         print-tree.c, profile.c, protoize.c, ra-build.c,
7668         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
7669         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
7670         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
7671         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
7672         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
7673         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
7674         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
7675         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
7676         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
7677         xcoffout.c, config/darwin-c.c, config/darwin.c,
7678         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
7679         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
7680         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
7681         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
7682         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
7683         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
7684         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
7685         config/i960/i960-c.c, config/i960/i960.c,
7686         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
7687         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7688         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
7689         config/mips/irix6-libc-compat.c, config/mips/mips.c,
7690         config/mmix/mmix.c, config/mn10200/mn10200.c,
7691         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
7692         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
7693         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
7694         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
7695         config/sparc/sparc.c, config/stormy16/stormy16.c,
7696         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
7697         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
7698         Include coretypes.h and tm.h.
7699
7700         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
7701         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
7702         genrecog.c: Include coretypes.h and tm.h from the file
7703         generated by this program.
7704
7705         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
7706         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
7707         coretypes.h and tm.h, and tsystem.h when not already included.
7708         No need to include stddef.h nor stdlib.h.
7709
7710         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
7711         include auto-host.h or ansidecl.h/
7712         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
7713         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
7714         include auto-host.h, ansidecl.h, or system.h.
7715         * fixinc/server.c: Likewise.  Also, do not include signal.h,
7716         and do not redefine volatile.
7717
7718 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7719
7720         * i386.md (movdf_integer):  Always enable in 64bit.
7721         (movdf_nointeger): Always disable in 64bit.
7722
7723 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7724
7725         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
7726         pseudo register number plus 1.
7727
7728 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
7729
7730         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7731         corresponding mode of non-integer mode, unless it is VOIDmode.
7732
7733 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
7734
7735         * cpplib.c (_cpp_test_assertion): Default *value to 0.
7736
7737         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
7738
7739 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
7740
7741         * config/s390/t-crtstuff: New target makefile fragment.
7742         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
7743
7744 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7745
7746         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
7747         alternatives to correct the length when the memory operand is
7748         either pre_dec or post_inc.
7749
7750 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7751
7752         * config/h8300/h8300.md (an anonymous pattern): Give an
7753         internal name *tst_extzv_bitqi_1_n.
7754         Accept bit_operand instead of bit_memory_operand.
7755         Do not accept bit tests with the MSB.
7756         (*tst_extzv_memqi_1_n): New.
7757
7758 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
7759
7760         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
7761         sharing when operand is SUBREG.
7762
7763 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
7764
7765         * athlon.md (athlon-decodev): New reservation unit.
7766         (athlon-direct0): New reservation.
7767         (athlon-vector): New use athlon-decodev.
7768         (athlon-double, athlon-direct): Better model.
7769         (athlon_imul_k8): Use athlon-direct0.
7770         (athlon_movlpd_load): New insn reservation.
7771
7772 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7773
7774         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
7775         Fix a comment typo.
7776         (h8300_tiny_constant_address_p): Likewise.
7777
7778 2002-11-28  Michael Matz  <matz@suse.de>
7779
7780         * doc/passes.texi: Mention the other register allocator.
7781
7782 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7783
7784         * config/h8300/h8300.md (6 new peephole2 patterns): New.
7785
7786 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
7787
7788         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
7789         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
7790         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
7791
7792 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7793
7794         * config/h8300/h8300.c (h8300_and_costs): New.
7795         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
7796         * config/h8300/h8300-protos.h: Add a prototype for
7797         h8300_and_costs.
7798
7799 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
7800
7801         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
7802         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
7803         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
7804         * i386.md (truncdfsf patterns and splitters): Use
7805         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
7806
7807 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
7808
7809         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
7810         pointer argument in the prototypes of the following builtins
7811         be (const TYPE *) rather than (TYPE *):
7812          + __builtin_altivec_ld_internal_4sf
7813          + __builtin_altivec_ld_internal_4si
7814          + __builtin_altivec_ld_internal_8hi
7815          + __builtin_altivec_ld_internal_16qi
7816          + __builtin_altivec_lvsl
7817          + __builtin_altivec_lvsr
7818          + __builtin_altivec_lvebx
7819          + __builtin_altivec_lvehx
7820          + __builtin_altivec_lvewx
7821          + __builtin_altivec_lvxl
7822          + __builtin_altivec_lvx
7823          + __builtin_altivec_dst
7824          + __builtin_altivec_dstt
7825          + __builtin_altivec_dstst
7826          + __builtin_altivec_dststt
7827
7828 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7829
7830         * except.c (default_exception_section): Move variable into the
7831         scope where it is used.
7832
7833 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
7834
7835         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
7836         correct version.
7837
7838 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7839
7840         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
7841
7842 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7843
7844         * config/h8300/h8300.c (h8300_shift_costs): New.
7845         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
7846         * config/h8300/h8300-protos.h: Add a prototype for
7847         h8300_shift_costs.
7848
7849 2002-11-27  Jim Wilson  <wilson@redhat.com>
7850
7851         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
7852         in output template.
7853
7854 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
7855
7856         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
7857         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
7858         DLL_IMPORT_EXPORT_PREFIX, not '@'.
7859         (i386_pe_dllimport_name_p): Likewise.
7860         (i386_pe_mark_dllexport): Likewise.
7861         (i386_pe_mark_dllimport): Likewise.
7862         (i386_pe_encode_section_info): Likewise.
7863         (i386_pe_strip_name_encoding): Likewise.
7864
7865 2002-11-27  Richard Henderson  <rth@redhat.com>
7866
7867         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
7868         (nm && NF == 3): Set sawsymbol true.
7869         (END): Exit if no symbols seen.
7870         (output): Fix map syntax error if no globals for the version.
7871
7872 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7873
7874         * builtins.def (DEF_C99_BUILTIN): Fix.
7875
7876 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
7877
7878         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
7879         (all): Add .size and .type information.
7880
7881 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
7882
7883         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
7884         partial_reg_stall target.
7885
7886 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7887
7888         * i386.md (movhicc): Allow general operand.
7889         (movqicc): New expander.
7890         (movqicc_noc): New pattern.
7891         * i386.c (ix86_expand_carry_flag_compare): New function.
7892         (ix86_expand_int_movcc): Optimize harder using sbb; support more
7893         HImode conversion; support QImode conditional moves
7894
7895 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
7896
7897         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
7898         (ix86_expand_prologue): Multiply the count by amount of registers to be
7899         pushed.
7900
7901 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
7902
7903         * i386.c (override_options): Error about wrong -mcpu on x86-64
7904         compilation.
7905
7906 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
7907
7908         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
7909
7910 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
7911
7912         * i386-protos.h (x86_extended_QIreg_mentioned_p,
7913         x86_extended_reg_mentioned_p): Declare.
7914         * i386.c (extended_reg_mentioned_1): New static function.
7915         (x86_extended_QIreg_mentioned_p,
7916         x86_extended_reg_mentioned_p): New global functions.
7917         * i386.h (REX_SSE_REGNO_P): New macro.
7918         * i386.md (prefix_rex): New attribute.
7919         (length attribute): Add rex.
7920
7921 2002-11-26  Andrew Haley  <aph@redhat.com>
7922
7923         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
7924         from_Unwind_Find_Enclosing_Function.
7925         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
7926         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
7927         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
7928         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
7929         * unwind.h (_Unwind_FindEnclosingFunction): Add.
7930
7931 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
7932
7933         * config/s390/s390.c (390_output_constant_pool): Set alignment
7934         before label in 64 bit mode, behind otherwise.
7935
7936 2002-11-26  Richard Henderson  <rth@redhat.com>
7937
7938         * c-common.c (handle_visibility_attribute): Accept "default".
7939         * tree.h (enum symbol_visibility): New.
7940         (decl_visibility): Declare.
7941         * target.h (gcc_target.visibility): Take visibility arg as integer.
7942         * varasm.c (default_assemble_visibility): Likewise.
7943         (decl_visibility): New.
7944         (maybe_assemble_visibility): Use it.
7945         * output.h (default_assemble_visibility): Update prototype.
7946         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
7947         visibility arg as integer.
7948         * doc/extend.texi: Document default visibility.
7949
7950 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
7951
7952         * config/h8300/h8300.c: Adjust spacing.
7953         * config/h8300/h8300.h: Likewise.
7954
7955 2002-11-26  Richard Henderson  <rth@redhat.com>
7956
7957         * hooks.c (hook_bool_void_false, hook_void_tree_int,
7958         hook_void_FILEptr_constcharptr): Rename so that the return
7959         type is first.
7960         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
7961         hook_bool_tree_false): New.
7962         * hooks.h: Update.
7963         * langhooks-def.h: Update for renames.
7964         * target-def.h: Likewise.
7965         * tree.c (default_comp_type_attributes,
7966         default_set_default_type_attributes, default_insert_attributes,
7967         default_function_attribute_inlinable_p,
7968         default_ms_bitfield_layout_p): Remove.
7969         * tree.h: Update.
7970
7971 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7972
7973         * pa-protos.h (function_value): New prototype.
7974         * pa.c (function_value): Use a PARALLEL to return small aggregates on
7975         TARGET_64BIT.
7976         * pa.h (FUNCTION_VALUE): Use function_value.
7977         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
7978         call_value_internal_reg, sibcall_value_internal_symref,
7979         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
7980         value.
7981
7982 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7983
7984         * expr.c (gen_group_rtx, emit_group_move): New functions.
7985         * expr.h (gen_group_rtx, emit_group_move): Prototype.
7986         * function.c (expand_function_start): Use gen_group_rtx to create a
7987         PARALLEL rtx to hold the return value when the real return rtx is a
7988         PARALLEL.
7989         (expand_function_end): Use emit_group_move to move the return value
7990         from a PARALLEL to the real return registers.
7991         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
7992         in PARALLELs.
7993
7994 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
7995
7996         * config/t-libc-ok: Fix typo.
7997
7998 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7999
8000         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
8001         before AC_PROG_CC.
8002         * configure: Rebuilt.
8003
8004 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
8005
8006         * c-decl.c: (start_struct): Commonize flag setting.
8007
8008 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
8009
8010         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
8011         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
8012         RS6000_CPU_CPP_ENDIAN_BUILTINS.
8013         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
8014
8015 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
8016
8017         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
8018         insns.
8019         * config/s390/s390.c (struct machine_function): Introduction of
8020         struct machine_function.
8021         (s390_output_symbolic_const): Use of cfun.
8022         (s390_optimize_prolog): Likewise.
8023         (s390_fixup_clobbered_return_reg): Likewise.
8024         (s390_frame_info): Likewise.
8025         (s390_emit_prologue, s390_emit_epilogue): Likewise.
8026         (s390_init_machine_status): New function.
8027         (override_options): call s390_init_machine_status.
8028         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
8029         prototype.
8030
8031 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
8032
8033         * varasm.c (output_constant_pool): For pool constants in mergeable
8034         section ensure each constant is padded to multiple of entity size.
8035
8036 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
8037
8038         * varasm.c (default_exception_section): Move to...
8039         * except.c (default_exception_section): ... here. Make
8040         .gcc_except_table read-only if it is not expected to have any
8041         dynamic relocations and linker handles it.
8042         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
8043         if it is not expected to have any dynamic relocations and linker
8044         handles it.
8045         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
8046         when linking read-only and read-write sections together.
8047         * configure, config.in: Rebuilt.
8048         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
8049         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
8050
8051 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
8052
8053         * i386.md (pushsf_rex64): Fix typo.
8054
8055 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
8056
8057         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
8058         new function.
8059         (__ev_create_ufix32_fs): Same.
8060         (__ev_get_sfix32_fs_internal): New.
8061         (__ev_get_sfix32_fs): Define to use function.
8062         (__ev_get_ufix32_fs_internal): New.
8063         (__ev_get_ufix32_fs): Define to use function.
8064         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
8065         (__ev_get_lower_ufix32_fs): Same.
8066         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
8067         (__ev_get_lower_sfix32_fs): Same.
8068         (__ev_set_sfix32_fs_internal): New.
8069         (__ev_set_ufix32_fs_internal): New.
8070         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
8071         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
8072         (__ev_set_upper_sfix32_fs): Call function.
8073         (__ev_set_lower_sfix32_fs): Same.
8074         (__ev_set_upper_ufix32_fs): Same.
8075         (__ev_set_lower_ufix32_fs): Same.
8076
8077 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
8078
8079         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
8080
8081 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8082
8083         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
8084         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8085         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8086         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
8087         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
8088         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8089         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
8090         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
8091         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8092         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8093         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
8094         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
8095         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
8096         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8097         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
8098         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
8099         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
8100         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
8101         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
8102         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
8103         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8104         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
8105         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
8106         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
8107         defining.
8108         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
8109         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
8110
8111 2002-11-25  Dave Pitts  <dpitts@cozx.com>
8112
8113         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
8114
8115 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
8116
8117         * config/h8300/h8300.md (an anonymous pattern): New.
8118
8119 2002-11-25  Richard Henderson  <rth@redhat.com>
8120
8121         * alias.c (find_base_value): Use new_reg_base_value if it's live.
8122         (copying_arguments): Make boolean.
8123
8124 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8125
8126         * gcc.c (static_spec_functions): Add if-exists-else spec
8127         function.
8128         (if_exists_else_spec_function): New function.
8129         * doc/invoke.texi: Document the if-exists-else spec function.
8130
8131         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
8132         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
8133
8134 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8135
8136         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
8137         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
8138         "${tmake_file} rs6000/t-netbsd".
8139         * config/rs6000/netbsd.h: Rewrite.
8140         * config/rs6000/t-netbsd: New file.
8141
8142 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
8143
8144         * config/h8300/h8300.md (an anonymous pattern): Relax the
8145         condition for the pattern.
8146
8147 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
8148
8149         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
8150         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
8151         evmwlssfanw, evmwlsmfanw.
8152
8153         * config/rs6000/rs6000.c (bdesc_2arg): Same.
8154
8155         * config/rs6000/spe.md: Same for patterns.
8156
8157 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
8158
8159         PR c/8639
8160         * fold-const.c (extract_muldiv): Don't propagate division unless
8161         both arguments are multiples of C.
8162
8163 2002-11-25  Andrew Haley  <aph@redhat.com>
8164
8165         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
8166         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
8167         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
8168         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
8169
8170 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
8171
8172         * i386.c (x86_use_ffreep): New global variable.
8173         * i386.h (x86_use_frfeep): Declare
8174         (TARGET_USE_FFREEP): New macro
8175         * i386.md  (movs?f*): Use freep when asked for.
8176         (push?f): Remove dead code.
8177
8178 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
8179
8180         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
8181         target help message.
8182
8183 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8184
8185         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
8186         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
8187         crtbeginT.o".
8188         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
8189         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
8190         to "" for a.out configurations.
8191         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
8192
8193 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8194
8195         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
8196         NETBSD_CPP_SPEC directly.
8197         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
8198         netbsd_endfile_spec.
8199         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
8200
8201 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8202
8203         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
8204         NETBSD_STARTFILE_SPEC.
8205         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
8206         (ENDFILE_SPEC): Likewise.
8207         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
8208
8209 2002-11-24  Andreas Schwab  <schwab@suse.de>
8210
8211         * Makefile.in (install-driver): Remove versioned link before
8212         trying to create it.
8213
8214         * config/m68k/m68k.c: Fix typo in last change defining
8215         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
8216
8217 2002-11-23  H.J. Lu <hjl@gnu.org>
8218
8219         * aclocal.m4: Include ../config/accross.m4.
8220         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
8221         (gcc_AC_C_COMPILE_ENDIAN): Removed.
8222         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
8223         instead of $ac_cv_c_compile_endian.
8224
8225         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
8226         AC_COMPILE_CHECK_SIZEOF.
8227         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
8228         * configure: Rebuild.
8229
8230 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
8231
8232         * config/h8300/h8300.c (print_operand): Update the use of
8233         h8300_tiny_constant_address_p.
8234         (h8300_adjust_insn_length): Likewise.
8235         (h8300_tiny_constant_address_p): Check if the given rtx is a
8236         variable declared with __attribute__ ((tiny_data)).
8237
8238 2002-11-22  Dale Johannesen  <dalej@apple.com>
8239
8240         * toplev.c (rest_of_compilation):  Fix comments.
8241
8242 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
8243
8244         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
8245         allow mmap from /dev/zero.  Don't make decisions for the host
8246         based on presence or absence of /dev/zero on the build machine.
8247         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
8248         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
8249         * configure: Regenerate.
8250
8251 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
8252
8253         * gcc.c (make_relative_prefix, split_directories)
8254         (free_split_directories): Removed.
8255
8256 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
8257
8258         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
8259         * configure: Regenerated.
8260
8261 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
8262
8263         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
8264         length computation when xor.l is output.
8265
8266 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
8267
8268         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
8269         (call_vms_1, call_value_vms_1): Cleanup syntax.
8270
8271 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
8272
8273         * athlon.md (define_atuomaton): Add athlon_load.
8274         (athlon-double): New reservation.
8275         (athlon-ieu0): New CPU unit.
8276         (athlon-load?): Use athlon_load automaton.
8277         (*_k8 reservations): New.
8278         (other insn revervations): Activate for K8.
8279
8280 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
8281
8282         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
8283
8284 2002-11-21  Jim Wilson  <wilson@redhat.com>
8285
8286         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
8287         vectors to SI.
8288
8289 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
8290
8291         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
8292         * config/xtensa/xtensa.c (struct machine_function): Add
8293         incoming_a7_copied flag.
8294         (xtensa_copy_incoming_a7): Define.
8295         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
8296         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
8297
8298 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
8299
8300         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
8301         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
8302         x86_64_nonmemory_operand, x86_64_movabs_operand,
8303         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
8304         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
8305         (local_symbolic_operand): Do not care the 64bit limits.
8306         (x86_64_sign_extended_value): Remove allow_rip support.
8307         (legitimate_pic_address_disp_p): Handle all cases allowed
8308         with RIP addressing.
8309         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
8310         (legitimize_pic_address): Reorganize.
8311         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
8312
8313 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8314
8315         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
8316         * config/arm/netbsd-elf.h: New file.
8317
8318 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8319
8320         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
8321         subtarget_asm_float_spec.
8322         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
8323         defaults from...
8324         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
8325
8326 2002-11-21  Nick Clifton  <nickc@redhat.com>
8327
8328         * config/fr30/fr30.md (movsf_constant_store): Move code to
8329         detect 0.0 into fr30.c.
8330         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
8331         Prototype.
8332         * config/fr30/fr30.c (fr30_const_double_is_zero): New
8333         function.  Return true if the rtx is 0.0.
8334
8335 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8336
8337         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
8338         if -mlittle-endian is specified.
8339
8340 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
8341
8342         PR optimization/2903
8343         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
8344         (anddi_notsesidi_di): Likewise.
8345
8346 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
8347
8348         * config/h8300/h8300.c (print_operand): Use
8349         h8300_eightbit_constant_address_p and
8350         h8300_tiny_constant_address_p.
8351         (h8300_adjust_insn_length): Likewise.
8352         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
8353         (TINY_CONSTANT_ADDRESS_P): Likewise.
8354         (OK_FOR_U): Use eightbit_constant_address_p.
8355
8356 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
8357
8358         * config/s390/libgcc-libc.ver: Add multilib support.
8359         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
8360         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
8361         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
8362         EXTRA_MULTILIB_PARTS): Define.
8363
8364 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
8365
8366         * arm.c (arm_get_frame_size): A leaf function does not need its
8367         stack padding to an aligned boundary if it has no frame.
8368         (thumb_get_frame_size): Likewise.
8369
8370 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
8371
8372         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
8373         (override_options): Likewise.
8374
8375 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
8376
8377         * config.gcc: Add k8 target alias support
8378         * i386.c (_cost): Declare costs for various variants of divides and
8379         multiplies.
8380         (k8_cost): New.
8381         (m_K8, m_ATHLON_K8): New macros.
8382         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
8383         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
8384         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
8385         x86_integer_DFmode_moves, x86_partial_reg_dependency,
8386         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
8387         x86_prologue_using_move, x86_epilogue_using_move,
8388         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
8389         x86_sse_typeless_stores): Set for K8
8390         (override_options): Add k8 support; fix athlon alignment;
8391         complain about non-x86-64 capable CPU being used in x86-64 compilation.
8392         (ix86_issue_rate): Set for K8.
8393         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
8394         x86_machine_dependent_reorg): Handle K8 like
8395         * i386.h
8396         (x86_costs):  Change mult_init and divide into array.
8397         (TARGET_K8, TARGET_ATHLON): New macros.
8398         (MODE_INDEX): New macro.
8399         (RTX_COST): Use new costs.
8400         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
8401         (TARGET_CPU_DEFAULT_NAMES): Add k8
8402         (TARGET_CPU_DEFAULT_k8): New constant
8403         (enum processor_type): Add PROCESSOR_K8.
8404         * i386.md (cpu attribute): Add k8.
8405
8406         * invoke.texi: Document -march=k8.
8407
8408         * i386.md (type attribute): Add leave
8409         (mode attribute): Remove unknownfp.
8410         (length_immediate, modrm, memory attributes): Handle leave correctly.
8411         (fp comparison patterns): Determine FP mode.
8412         (leave, leave_rex64): Remove special cases.
8413         * ppro.md (ppro_uops, ppro_p2): Add leave
8414         * pentiun.md (pent_pop): Handle leave too.
8415         * k6.md (k6_load): Handle leave.
8416         * athlon.md (athlon_leave, athlon_pop): Fix.
8417         (athlon_decode): Handle leave.
8418
8419 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
8420
8421         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
8422         to component type using GET_MODE_INNER.
8423         * expr.c (emit_move_insn_1): Ditto.
8424         * optabs.c (expand_binop): Ditto.
8425         (expand_unop): Ditto.
8426         (expand_complex_abs): Ditto.
8427
8428 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
8429
8430         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
8431
8432 2002-11-20  DJ Delorie  <dj@redhat.com>
8433
8434         * config/stormy16/stormy16.c (s16builtins,
8435         xstormy16_init_builtins, xstormy16_expand_builtin): New.
8436         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
8437
8438 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
8439
8440         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
8441         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
8442         (executing gencheck, genconfigs, genconditions, genflags,
8443         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
8444         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
8445         gengtype, genprotos): Prepend $(RUN_GEN).
8446         * configure.in: Move host compiler tests before --enable-checking
8447         tests.
8448         (--enable-checking=valgrind): New.
8449         * config.in, configure: Regenerate.
8450         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8451         Define as empty.
8452         (read_include_file): When doing the mmap+1 trick,
8453         valgrind-annotate the byte after the mmap:ed area as readable.
8454         (purge_cache): Remove above annotation.
8455         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
8456         VALGRIND_PATH -q to each command.
8457
8458         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8459         Define as empty.
8460         (ggc_realloc): Update valgrind annotations.
8461         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8462         Define as empty.
8463         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
8464         valgrind-annotate memory.
8465
8466 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
8467
8468         * recog.c (constrain_operands): Prefer exact match over reloadable
8469         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
8470
8471         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
8472         operands in Pmode.
8473
8474 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
8475
8476         PR c/8518
8477         * c-decl.c (duplicate_decls): Outline the second definition
8478         of an extern inline function in all cases.
8479
8480 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8481
8482         * stor-layout.c (place_field): Update rli->offset as well as
8483         rli->bitpos.
8484
8485 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8486
8487         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
8488
8489 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8490
8491         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
8492         into a libcall block.
8493         (divsi3): Likewise divsi3_i4_media.
8494
8495 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8496
8497         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
8498         out another register.
8499
8500 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
8501
8502         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
8503         (not just mask) are set in C.
8504
8505 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
8506
8507         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
8508
8509 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8510
8511         * profile.c (index_counts_file): Fix obvious mistake.
8512
8513 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8514
8515         * Makefile.in (profile.o): Add hashtab.h dependency.
8516         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
8517         * profile.c: Include hashtab.h.
8518         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
8519         cleanup_counts_index, index_counts_file, struct section_reference,
8520         struct da_index_entry, counts_file_name, counts_file_index): New.
8521         (get_exec_counts, init_branch_prob): Modified.
8522
8523 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
8524
8525         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
8526         to tmake_file. Remove setting gas and gnu_ld here.
8527         * config/sh/libgcc-glibc.ver: New file.
8528         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
8529         (SHLIB_MAPFILES): New.
8530         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
8531         (MD_STARTFILE_PREFIX): Likewise.
8532         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
8533         (DWARF2_UNWIND_INFO): Redefine.
8534         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8535         (LINK_EH_SPEC): Redefine.
8536         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
8537         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
8538         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
8539         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
8540         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
8541         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
8542         SH_DWARF_FRAME_FPSCR): Likewise.
8543         * config/sh/sh-protos.h (sh_set_return_address): Declare.
8544         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
8545         registers if the current function calls EH return.
8546         (sh_expand_epilogue): Handle EH stack adjustments.
8547         (sh_set_return_address): New function.
8548         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
8549         Don't abort even if the number is mapped to -1.
8550         (EH_RETURN_DATA_REGNO): Define.
8551         (EH_RETURN_STACKADJ_RTX): Define.
8552         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
8553         (eh_return): New pattern.
8554         (eh_set_ra_di, eh_set_ra_si): Likewise.
8555         Add splitter to perform EH return after reload.
8556
8557 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
8558
8559         * stor-layout.c (excess_unit_span): New function.
8560         (place_field): Use it.
8561
8562 2002-11-19  Andreas Schwab  <schwab@suse.de>
8563
8564         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
8565         not valid in C++.
8566
8567 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
8568
8569         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
8570         * configure: Regenerate.
8571
8572 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
8573
8574         * convert.c (strip_float_extensions): New function.
8575         (convert_to_real): Optimize some cases.
8576
8577 2002-11-19  Andreas Jaeger  <aj@suse.de>
8578
8579         * loop.c (record_giv): Initialize not_replaceable.
8580         (check_final_value): Likewise.
8581
8582 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8583
8584         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
8585         MASK_H8300S.
8586
8587 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
8588
8589         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
8590         only if -mh or -ms present.
8591         (h8300_eightbit_constant_address_p): Support the normal mode.
8592         (h8300_tiny_constant_address_p): Likewise.
8593         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
8594         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
8595         (Pmode): Evaluate to HImode for the normal mode.
8596         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
8597         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
8598         (ASM_WORD_OP): Evaluate to word for the normal mode.
8599         * config/h8300/h8300.md (tablejump_normal_mode): New.
8600         (indirect_jump_normal_mode): New.
8601         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
8602         directory.
8603         (MULTILIB_DIRNAMES): Create target dependent directory
8604         'normal'.
8605         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
8606         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
8607
8608 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
8609
8610         * i386.md (length_immediate): Do not refer to insn address.
8611         (jcc*, jmp patterns):  Compute length explicitly.
8612
8613 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
8614
8615         PR c/8588
8616         * optabs.c (expand_binop): Convert CONST_INTs in shift
8617         operations too.
8618
8619 2002-11-19  Roger Sayle  <roger@eyesopen.com>
8620
8621         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
8622
8623 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8624
8625         * config/h8300/h8300.md (an anonymous pattern): Relax the
8626         condition to accept the same operands and/or subregs.
8627
8628 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
8629
8630         * config/sh/sh.c (gen_shl_and): Revert previous patch.
8631         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
8632         reload_completed.
8633
8634 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8635
8636         * config/h8300/h8300.c (print_operand): Update the use of
8637         EIGHTBIT_CONSTANT_ADDRESS_P.
8638         (h8300_adjust_insn_length): Likewise.
8639         (h8300_eightbit_constant_address_p): Check if the given rtx is
8640         a variable with __attribute__((eightbit_data)).
8641         * config/h8300/h8300.h (OK_FOR_U): Update the use of
8642         EIGHTBIT_CONSTANT_ADDRESS_P.
8643
8644 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8645
8646         * doc/contrib.texi (Contributors): Add self as second contact in
8647         addition to Jeff Law.
8648
8649 2002-11-19  Andreas Jaeger  <aj@suse.de>
8650
8651         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
8652         find_alloca_call to right place.
8653
8654 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8655
8656         * cppfiles.c: Fix formatting.
8657
8658 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
8659
8660         * gcc.c (The Specs Language): Document spec functions.
8661         (static_spec_functions, lookup_spec_function)
8662         (eval_spec_function, handle_spec_function)
8663         (if_exists_spec_function, alloc_args): New.
8664         (execute): Abort if processing_spec_function is true.
8665         (do_spec_1): Hand off spec to handle_spec_function if %:
8666         is encountered.  If processing_spec_function is true,
8667         end any pending argument when the end of the string is reached.
8668         (main): Use alloc_args to allocate the initial argument vector.
8669         * gcc.h (struct spec_function): New.
8670         (lang_specific_spec_functions): New extern.
8671
8672         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
8673         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
8674         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
8675
8676         * doc/invoke.texi: Document spec functions.
8677
8678         * cppspec.c (lang_specific_spec_functions): New.
8679         * gccspec.c: Likewise.
8680
8681 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
8682
8683         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
8684         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
8685         (fixunstfsi_libfunc): Change.
8686         (fixunstfdi_libfunc): Change.
8687         (sdiv_optab): Don't zero out SImode handler.
8688         (udiv_optab): Don't zero out SImode handler.
8689         (smod_optab): Don't zero out SImode handler.
8690         (umod_optab): Don't zero out SImode handler.
8691
8692 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
8693
8694         PR preprocessor/8524
8695         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
8696         Add a new one in its place, which hopefully works.
8697         (skip_rest_of_line): Change test for bottom-of-context-stack.
8698
8699 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
8700
8701         * i386.md (addqi_1_slp): Fix output template.
8702         (subqi_1_slp): Fix type.
8703
8704 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
8705
8706         * calls.c (alloca_call_p): New global function.
8707         * tree.h (alloca_call_p): New.
8708         * tree-inline.c (inlinable_function_p):  Do not inline when
8709         function calls alloca.
8710         (find_alloca_call, find_alloca_call_1): New functions.
8711
8712 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
8713
8714         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
8715         bst.  Update the insn length.
8716         (*andorhi3): Likewise.
8717         (*andorsi3): Likewise.
8718
8719 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8720
8721         * config/sh/sh-protos.h (sh_mark_label): Declare.
8722         * config/sh/sh.c (sh_mark_label): New function, taken from
8723         movdi_const, but fixing the case when the address has an addend.
8724         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
8725
8726 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8727
8728         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
8729         (add_constant): Set it.
8730         (dump_table): Don't reorder a constant if part_of_sequence_p.
8731         (machine_dependent_reorg): Assume that float constants will
8732         stay in their original order if used as a sequence.
8733
8734 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8735
8736         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
8737         in compact code.
8738
8739 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8740
8741         * config/sh/sh.md (initialize_trampoline): Do not force the
8742         trampoline address into R0_REGS here.
8743
8744 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
8745
8746         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
8747         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
8748         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
8749         generate unnecesary subregs.
8750
8751 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8752
8753         * df.c: Fix formatting.
8754
8755 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8756
8757         * config/h8300/h8300.md (two anonymous patterns): Fix insn
8758         lengths.
8759
8760 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
8761
8762         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
8763         is not an arith_reg_operand.
8764
8765 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
8766
8767         * real.c (real_to_decimal): Fix buffer overrun when buffer size
8768         is smaller than representation.
8769
8770 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8771
8772         * builtins.c: Fix formatting.
8773
8774 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
8775
8776         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
8777         floats?dff2_i387):
8778         Work around regclass stupidity.
8779         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
8780
8781 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
8782
8783         * i386.md (fop_df_6): New pattern.
8784         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
8785         (fop_xf_6): Rewrite
8786         (fop_xf_7): Delete.
8787         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
8788         (fop_tf_6): Rewrite
8789         (fop_tf_7): Delete.
8790
8791 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8792
8793         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
8794
8795 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8796
8797         * config/h8300/h8300.md: Fix formatting.
8798
8799 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8800
8801         * config/h8300/h8300.md: Replace spaces with tabs.
8802         * config/h8300/t-h8300: Remove a trailing empty line.
8803
8804 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8805
8806         * tlink.c: Fix formatting.
8807
8808 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
8809
8810         PR 8362
8811         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
8812         * config/rs6000/rs6000.md (movti_string): Remove output modifier
8813         when scratch register never needed.
8814         (ldmsi[3-8]): New patterns.
8815
8816 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8817
8818         * hard-reg-set.h: Follow spelling conventions.
8819         * real.c: Likewise.
8820         * target.h: Likewise.
8821
8822 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
8823
8824         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
8825
8826 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8827
8828         * optabs.c: Fix formatting.
8829
8830 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
8831
8832         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
8833         * i386.md (attribute type): Add type shift1 and rotate1.
8834         (*_slp): Rewrite to have just two operands to avoid reload problems.
8835
8836 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
8837
8838         * config/h8300/h8300.md (4 anonymous patterns): New.
8839
8840 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
8841
8842         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
8843         * doc/invoke.texi: Correct description of what needs to be done to
8844         force collection at every ggc_collect call.
8845
8846 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8847
8848         * config/s390/s390.c (optimization_options): Set
8849         flag_asynchronous_unwind_tables to 1 by default.
8850
8851 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8852
8853         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8854
8855 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
8856
8857         * i386-protos.h (x86_function_profiler): New function
8858         * i386.h (MCOUNT_NAME): New.
8859         (PROFILE_COUNT_REGISTER): New.
8860         (FUNCTION_PROFILER): Move offline to ...
8861         * i386.c (x86_function_profiler) ... here; fix 64bit support
8862         * beos-elf.h (FUNCTION_PROFILER): Kill.
8863         (MCOUNT_NAME): New.
8864         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
8865         (MCOUNT_NAME): New.
8866         (PROFILE_COUNT_REGISTER): New.
8867         * linux.h (FUNCTION_PROFILER): Kill.
8868         (MCOUNT_NAME): New.
8869         * x86-64.h (FUNCTION_PROFILER): Kill.
8870         (MCOUNT_NAME): New.
8871         * freebsd.h (FUNCTION_PROFILER): Kill.
8872         (MCOUNT_NAME): New.
8873
8874 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
8875
8876         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
8877         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
8878         * config/arm/arm.c (arm_va_arg,
8879         arm_function_arg_pass_by_reference): New.
8880         * config/arm/arm-protos.h: Add prototypes.
8881
8882 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
8883
8884         * gthr-single.h: Fix formatting.
8885
8886 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
8887
8888         * tree.c (tree_vec_elt_check_failed): New function.
8889         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
8890         (TREE_VEC_ELT): Use it.
8891
8892         * tree-inline.c (optimize_inline_calls): Don't copy a
8893         zero-length vector.
8894
8895 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8896
8897         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
8898
8899 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
8900
8901         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
8902         both operands contain local relocations.
8903         (categorize_decl_for_section): Don't use mergeable sections if
8904         initializer has any relocations.
8905
8906 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
8907
8908         * gthr-vxworks.h: Fix formatting.
8909
8910 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
8911
8912         * doc/install.texi (Testing): Document extra Java testing.
8913         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
8914
8915 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8916
8917         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
8918         beginning of the spec.
8919         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
8920         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
8921         regarding problems with global constructors when using GNU ld.
8922
8923 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
8924
8925         * gthr-solaris.h: Fix formatting.
8926
8927 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
8928
8929         * gthr-posix.h: Fix formatting.
8930
8931 2002-11-12  Devang Patel <dpatel@apple.com>
8932         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
8933         (process_command): Same.
8934         * doc/invoke.texi: Info about these two new options.
8935
8936 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8937
8938         * config/h8300/h8300.md (*andorsi3): New.
8939
8940 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8941
8942         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
8943
8944 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8945
8946         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
8947         expressions appropriately.
8948
8949 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8950
8951         * gthr-win32.h: Fix formatting.
8952
8953 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8954
8955         * config/h8300/h8300.c (single_one_operand): Correctly compute
8956         mask when mode is SImode.
8957         (single_zero_operand): Likewise.
8958         * config/h8300/h8300.md (two new anonymous insns): New.
8959
8960 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8961
8962         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
8963         to that entire project.
8964
8965 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8966
8967         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
8968         directories.
8969
8970 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
8971
8972         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
8973         * doc/invoke.texi: Document them.
8974
8975         * ggc-page.c: Include params.h.  Remove definitions of
8976         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
8977         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
8978         (init_gcc): Don't set G.allocated_last_gc here.
8979         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
8980         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
8981         perform collection.
8982         * ggc-simple.c: Similarly.
8983         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
8984         dependencies.
8985
8986 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
8987
8988         * gthr-dce.h: Fix formatting.
8989
8990 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8991
8992         PR c/8467
8993         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
8994         mode of DECL_RTL case.
8995
8996 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
8997
8998         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
8999
9000 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
9001
9002         * i386.c (construct_container): Fix handling of SSE_CLASS.
9003
9004 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
9005
9006         * config/m68k/t-crtstuff (crti.o): Use this...
9007         ($(T)crti.o): ... instead.
9008         (crtn.o): Use this...
9009         ($(T)crtn.o): ... instead.
9010
9011 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
9012
9013         PR c/8439
9014         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
9015         if there is something new to be simplified.
9016
9017 2002-11-10  H.J. Lu <hjl@gnu.org>
9018
9019         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
9020         * expr.c (PUSH_ARGS_REVERSED): Likewise.
9021
9022         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
9023
9024 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
9025
9026         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
9027         * config/rs6000/linux.h, config/rs6000/linux64.h,
9028         config/rs6000/windiss.h: ... not here.
9029
9030 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
9031
9032         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
9033         __ABICALLS__ if TARGET_ABICALLS.
9034
9035 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
9036
9037         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
9038
9039 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
9040
9041         * c-decl.c (grokdeclarator): Make error for duplicate type
9042         qualifiers into a pedwarn, disabled for C99.
9043
9044 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
9045
9046         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
9047         as FUNCTION_ARG_PASS_BY_REFERENCE.
9048
9049 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
9050
9051         * doc/install.texi: Add *-*-vxworks* specific installation
9052         instructions.
9053
9054         * config/vxlib.c: Rewrite using generation numbers to identify
9055         valid TSD keys.
9056
9057 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
9058
9059         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
9060
9061 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9062
9063         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
9064
9065         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
9066         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
9067         * pa.c (output_millicode_call): Use symbol difference rather than
9068         $PIC_pcrel$0 when using HP assembler.
9069         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
9070         not elfos.h (i.e., gas) is being used.
9071         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
9072         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
9073         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
9074         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
9075         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
9076         using elfos.h.
9077         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
9078         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
9079         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
9080         using elfos.h.
9081         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
9082         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
9083         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
9084         Don't define when not using elfos.h.
9085         (ASM_DECLARE_RESULT): Don't define.
9086         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
9087         doesn't work on hppa64-hp-hpux11.
9088         (hppa*-hp-hpux11): Update.
9089
9090 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
9091
9092         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
9093         to the assembler if -mno-abicalls was specified.
9094
9095 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9096
9097         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
9098         ASM_OUTPUT_DEF): Delete.
9099
9100 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
9101
9102         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
9103
9104 2002-11-08  Roger Sayle  <roger@eyesopen.com>
9105
9106         * real.c (real_sqrt): Update comment with bibliographic reference.
9107
9108 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
9109
9110         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
9111
9112 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
9113
9114         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
9115
9116 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
9117
9118         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
9119         (expand_builtin): Likewise.
9120         * builtins.def: Add
9121         __builtin_floor, __builtin_floorf, __builtin_floorl
9122         __builtin_ceil, __builtin_ceilf, __builtin_ceill
9123         __builtin_round, __builtin_roundf, __builtin_roundl
9124         __builtin_trunc, __builtin_truncf, __builtin_truncl
9125         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
9126         * genopinit.c (optabs): Initialize the new optabs.
9127         * optab.c (init_optabs): Likewise.
9128         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
9129         OTI_round, OTI_nearbyint.
9130         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
9131         * doc/md.texi: Document new named patterns.
9132         * doc/extend.texi (builtin functions)  Document
9133         floor, floorf, floorl, ceil, ceilf,
9134         ceill, round, roundf, roundl, trunc,
9135         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
9136
9137 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
9138
9139         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
9140
9141 2002-11-08  Dale Johannesen  <dalej@apple.com>
9142
9143         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
9144
9145 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
9146
9147         PR preprocessor/8497
9148         PR preprocessor/8501
9149         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
9150         start a directive.  In assembler, #NUM is not a line directive.
9151
9152 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
9153
9154         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
9155         buffers.
9156
9157 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
9158
9159         * config/h8300/h8300.md (two anonymous test insns): New.
9160
9161 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
9162
9163         * jump.c (mark_jump_label): Handle subregs of label_refs.
9164
9165 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
9166
9167         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
9168         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
9169
9170 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
9171
9172         * config/ia64/crtend.asm: Include "auto-host.h".
9173         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
9174         * config/ia64/crtbegin.asm: Similarly.
9175         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
9176         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
9177
9178         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
9179         * configure.in: Use it if --enable-initfini-array not specified.
9180         * doc/install.texi (Configuration): Document --enable-initfini-array.
9181         * configure, config.in: Rebuild.
9182
9183 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
9184
9185         * config/arm/arm-protos.h (arm_get_frame_size)
9186         (thumb_get_frame_size): New prototypes.
9187         * config/arm/arm.c (arm_get_frame_size)
9188         (thumb_get_frame_size): New functions.
9189         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
9190         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
9191         arm_get_frame_size.
9192         (thumb_expand_prologue, thumb_expand_epilogue): Use
9193         thumb_get_frame_size.
9194         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
9195         (machine_function): Add frame_size member.
9196         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
9197
9198 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
9199
9200         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
9201         Adjust code to use portable unsigned bit manipulation.
9202         (insn_flags, tune_flags): Change type to unsigned.
9203         (struct processors): Make flags unsigned long.
9204         (arm_override_options): Change type of count and current_bit_count
9205         to unsigned.
9206
9207 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
9208
9209         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
9210
9211 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
9212
9213         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
9214
9215 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
9216
9217         * reg-stack.c (compensate_edge): Fix sanity check.
9218
9219 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
9220
9221         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
9222         crt2.o.  Rearrange t-darwin makefiles.
9223         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
9224         * unwind-dw2-fde-darwin.c: New.
9225         * unwind-dw2-fde-glibc.c: Correct comment.
9226         * unwind-dw2-fde.c (__register_frame_info_bases)
9227         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
9228         (classify_object_over_fdes): Use last_fde.
9229         (add_fdes): Likewise.
9230         (linear_search_fdes): Likewise.
9231         * unwind-dw2-fde.h (struct object)
9232         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
9233         (last_fde): New.
9234         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
9235         (ENDFILE_SPEC): No crtend.o.
9236         * config/t-darwin: New.
9237         * config/i386/t-darwin: Delete.
9238         * config/darwin-crt2.c: New.
9239         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
9240         or config/t-darwin.
9241
9242 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
9243
9244         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
9245         MASK_MS_BITFIELD_LAYOUT
9246         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
9247         MS bitfields for Objective-C.
9248         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
9249         defines.
9250
9251         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
9252         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
9253         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
9254
9255         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
9256         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
9257         (TARGET_SWITCHES): Add above mask.
9258
9259         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
9260         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
9261         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
9262         flags for interix.
9263
9264 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
9265
9266         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
9267         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
9268         assembler.
9269         * config/mips/mips.md (tablejump_internal3): Output .cpadd
9270         before jump on ABI_N32 too.
9271         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
9272         length to match.
9273
9274 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
9275
9276         * i386.md (negsf splitter): Accept memory operand in second register.
9277         (abssf/absdf splitters): Simplify
9278         (sse_loadss, sse_loadsd): Turn into expander.
9279
9280 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
9281
9282         PR target/8480
9283         * config/rs6000/rs6000.md (movdi_internal64): Discourage
9284         FPR to FPR moves.
9285
9286 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
9287
9288         * doc/contrib.texi: Merge in the list from the Java web pages.
9289
9290 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
9291
9292         * config/sparc/freebsd: Fix typo.
9293
9294 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9295
9296         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
9297
9298 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
9299
9300         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
9301         non-SImode addresses.
9302
9303 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
9304
9305         * i386.md (float_truncate SSE splitter): Ensure that operand is not
9306         stack register.
9307         (float SSE splitters): Reorder conditional.
9308
9309 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
9310
9311         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
9312
9313 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
9314
9315         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
9316         (STARTFILE_SPEC): Remove p and pg options.
9317
9318 2002-11-05  Andrew Haley  <aph@redhat.com>
9319
9320         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
9321         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
9322
9323 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
9324
9325         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
9326         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
9327
9328 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
9329
9330         * gthr-vxworks.h: Rewritten from scratch.
9331         * config/vxlib.c: New file.
9332         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
9333         * config/rs6000/t-vxworks: Add config/vxlib.c to
9334         LIB2FUNCS_EXTRA here too, because of clash with
9335         config/rs6000/t-ppccomm.
9336
9337 2002-11-04  Dale Johannesen  <dalej@apple.com>
9338
9339         * doloop.c (doloop_modify_runtime):  Fix loop count computation
9340         for unrolled loops.
9341         * loop.c (loop_invariant_p):  Support calling from unroller.
9342
9343 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
9344
9345         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
9346         for comparison.
9347
9348 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
9349
9350         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
9351
9352         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
9353         (CLASS_CANNOT_CHANGE_MODE): Remove.
9354         (CANNOT_CHANGE_MODE_CLASS): New.
9355
9356         * config/alpha/alpha.h: Same.
9357
9358         * config/ia64/ia64.h: Same.
9359
9360         * config/mips/mips.h: Same.
9361
9362         * config/s390/s390.h: Same.
9363
9364         * config/sh/sh.h: Same.
9365
9366         * config/pa/pa64-regs.h: Same.
9367
9368         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
9369
9370         * config/sh/sh.c (sh_cannot_change_mode_class): New.
9371
9372         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
9373         prototype.
9374
9375         * config/mips/mips.c (mips_cannot_change_mode_class): New.
9376
9377         * doc/tm.texi (Register Classes): Remove
9378         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
9379         Document CANNOT_CHANGE_MODE_CLASS.
9380
9381         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
9382         (push_reload): Same.
9383
9384         * simplify-rtx.c (simplify_subreg): Same.
9385
9386         * reload1.c (choose_reload_regs): Same.
9387
9388         * recog.c (register_operand): Same.
9389
9390         * regrename.c (mode_change_ok): Change to use new
9391         CANNOT_CHANGE_MODE_CLASS infrastructure.
9392
9393         * regclass.c (cannot_change_mode_set_regs): New.
9394         Declare subregs_of_mode.
9395         (regclass): Use subregs_of_mode.
9396         Remove references to reg_changes_mode.
9397         (init_reg_sets_1): Remove class_can_change_mode and
9398         reg_changes_mode code.
9399         (invalid_mode_change_p): New.
9400         (dump_regclass): Use invalid_mode_change_p instead of
9401         class_can_change_mode.
9402         (regclass): Same.
9403         (record_operand_costs): Do not set reg_changes_mode.
9404
9405         * local-alloc.c (struct qty): Remove changes_mode field.
9406         (alloc_qty): Remove changes_mode initialization.
9407         (update_qty_class): Remove set of changes_mode.
9408         (find_free_reg): Use subregs_of_mode.
9409
9410         * global.c (find_reg): Use subregs_of_mode info.
9411
9412         * rtl.h (cannot_change_mode_set_regs): New prototype.
9413         (invalid_mode_change_p): Same.
9414         (REG_CANNOT_CHANGE_MODE_P): New macro.
9415
9416         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
9417         REG_CHANGES_MODE.
9418         (life_analysis): Clear subregs_of_mode.
9419
9420         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
9421         Remove use of CLASS_CANNOT_CHANGE_MODE.
9422         (simplify_set): Same.
9423         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
9424         REG_CHANGES_MODE.
9425
9426         * regs.h: Add extern for subregs_of_mode;
9427         Include hard-reg-set and basic-block.
9428         (REG_CHANGES_MODE): Delete.
9429
9430 2002-11-03  Roger Sayle  <roger@eyesopen.com>
9431
9432         * real.c (real_sqrt): New function to calculate square roots.
9433         * real.h (real_sqrt): Add function prototype.
9434         * builtins.c (fold_builtin): Fold sqrt of constant argument.
9435         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
9436         of constant argument.
9437
9438 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9439
9440         * jump.c (never_reached_warning): Don't set contains_insn until the
9441         first line note is seen.
9442
9443 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
9444
9445         * config/rs6000/rs6000.md (movti_string): Use string instructions.
9446
9447 2002-11-03  Roger Sayle  <roger@eyesopen.com>
9448
9449         PR c/7128
9450         * c-typeck.c (c_expand_asm_operands): Defend against
9451         error_mark_nodes in the output argument to avoid ICE.
9452
9453 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
9454
9455         PR middle-end/8408
9456         * genrecog.c (preds): Handle ADDRESSOF.
9457         (validate_pattern): Mark it as an lvalue.
9458
9459 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
9460
9461         * config/rs6000/rs6000.c (rs6000_override_options): Use string
9462         instructions when optimizing for size.
9463
9464 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
9465
9466         * config/h8300/h8300.h: Fix comment typos.
9467         * config/h8300/h8300.md: Likewise.
9468         * config/h8300/lib1funcs.asm: Likewise.
9469
9470 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9471
9472         Revert this change:
9473
9474         *doc/install.texi (Installing GCC: Configuration): Clarify
9475         the only supported ways to configure gcc.
9476
9477 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
9478
9479         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
9480         instead of 'O' for the constraint for the second operand.
9481
9482 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
9483
9484         PR c++/8391
9485         * toplev.c (rest_of_compilation): Do not refuse to output code for
9486         an inline function in a local class.
9487
9488 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
9489
9490         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
9491         (TRANSFER_FROM_TRAMPOLINE): Reformat.
9492         Add comment.
9493
9494 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
9495
9496         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
9497
9498 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
9499
9500         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
9501
9502 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
9503
9504         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
9505         (MASK_INLINE_DIV_THR): Remove.
9506         (TARGET_INLINE_DIV_LAT): Remove.
9507         (TARGET_INLINE_DIV_THR): Remove.
9508         (TARGET_INLINE_DIV): Remove.
9509         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
9510         (MASK_INLINE_FLOAT_DIV_THR): New macro.
9511         (MASK_INLINE_INT_DIV_LAT): New macro.
9512         (MASK_INLINE_INT_DIV_THR): New macro.
9513         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
9514         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
9515         (TARGET_INLINE_INT_DIV_LAT): New macro.
9516         (TARGET_INLINE_INT_DIV_THR): New macro.
9517         (TARGET_INLINE_FLOAT_DIV): New macro.
9518         (TARGET_INLINE_INT_DIV): New macro.
9519         * config/ia64/ia64.md (divsi3): Change to use new macros.
9520         (modsi3): Ditto.
9521         (udivsi3): Ditto.
9522         (umodsi3): Ditto.
9523         (divsi3_internal): Ditto.
9524         (divdi3): Ditto.
9525         (moddi3): Ditto.
9526         (udivdi3): Ditto.
9527         (umoddi3): Ditto.
9528         (divdi3_internal_lat): Ditto.
9529         (divdi3_internal_thr): Ditto.
9530         (divsf3): Ditto.
9531         (divsf3_internal_lat): Ditto.
9532         (divsf3_internal_thr): Ditto.
9533         (divdf3): Ditto.
9534         (divdf3_internal_lat): Ditto.
9535         (divdf3_internal_thr): Ditto.
9536         (divtf3): Ditto.
9537         (divtf3_internal_lat): Ditto.
9538         (divtf3_internal_thr): Ditto.
9539         * config/ia64/ia64.c (ia64_override_options): Change
9540         to check new macros for conflicts in settings.
9541         * doc/invoke.texi (-minline-divide-min-latency): Remove.
9542         (-minline-divide-max-throughput): Remove.
9543         (-minline-float-divide-min-latency): New.
9544         (-minline-float-divide-max-throughput): New.
9545         (-minline-int-divide-min-latency): New.
9546         (-minline-int-divide-max-throughput): New.
9547
9548 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
9549
9550         PR target/7856
9551         * arm.c (use_return_insn): Don't use a return insn if there are
9552         saved integer regs, but LR is not one of them.
9553
9554 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
9555
9556         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
9557         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
9558
9559 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
9560
9561         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
9562         (movps, movpd splitters): Use canonical form.
9563         (movv2di): Fix merge problem.
9564
9565 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
9566
9567         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
9568
9569 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
9570
9571         PR optimization/6162
9572         * doc/md.texi: Document restriction on commutative operand
9573         specification.
9574
9575 2002-10-31  Eric Christopher  <echristo@redhat.com>
9576
9577         * explow.c (convert_memory_address): Use shallow_copy_rtx.
9578
9579 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
9580
9581         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
9582
9583 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
9584
9585         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
9586
9587 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
9588
9589         * config/rs6000/darwin.h:  Correct formatting in previous.
9590
9591 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
9592
9593         * config/rs6000/darwin.h:  Enable -falign-xxx options.
9594
9595 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
9596
9597         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
9598         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
9599         * i386.c (optimization_options): Set flag_omit_frame_pointer,
9600         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
9601         Do not clear -momit-leaf-frame-pointer when profiling.
9602         (ix86_frame_pointer_required): Frame pointer is always required when
9603         profiling.
9604
9605 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
9606
9607         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
9608
9609 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
9610
9611         * sh.h (binary_logical_operator): Declare.
9612         * sh.c (binary_logical_operator): New function.
9613         * sh.md (xordi3+1): New combiner splitter pattern.
9614
9615 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
9616
9617         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
9618         __enable_execute_stack function.
9619
9620 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
9621
9622         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
9623         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
9624         * unwind-sjlj.c (fc_key_dtor): Delete.
9625         (fc_key_init): Adjust __gthread_key_create call to match.
9626
9627 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
9628
9629         * c-common.c: Add GTY to vector_type_node_list.
9630
9631 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
9632
9633         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
9634         * pa-protos.h (attr_length_millicode_call, attr_length_call,
9635         pa_init_machine_status): Declare new global functions.
9636         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
9637         implement new functions.
9638         (attr_length_millicode_call, attr_length_call): Implement.
9639         (total_code_bytes): Change type to long.
9640         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
9641         Reset counter if flag_function_sections.
9642         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
9643         (output_cbranch): Move call to gen_label_rtx.
9644         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
9645         delay slot in all variants, shorten pc-relative calls.
9646         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
9647         slot usage and exposure, various new call variants, and shortened
9648         sequences for some variants on TARGET_PA_20.
9649         Miscellaneous format changes.
9650         * pa.h (total_code_bytes): Change type to long.
9651         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
9652         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
9653         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
9654         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
9655         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
9656         stores on TARGET_ELF32.
9657         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
9658         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
9659         canonicalize_funcptr_for_compare expanders): Calculate attribute length
9660         attr_length_millicode_call().
9661         (call_internal_symref, call_value_internal_symref): Clobber register 1.
9662         Calculate attribute length using attr_length_call().
9663         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
9664         to delay slot.
9665         (sibcall, sibcall_value): Rewrite.
9666         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
9667         register 1.  Use attr_length_call().
9668         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
9669         New patterns.
9670         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
9671         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
9672         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
9673         * doc/invoke.texi (mlong-calls): Document.
9674
9675 2002-10-30  Roger Sayle  <roger@eyesopen.com>
9676
9677         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
9678         handling of cases where one or both branches of the conditional
9679         have void type, i.e. throw an exception or don't return.
9680         (fold): Only apply (and undo) type conversion to the non-void
9681         branches of a COND_EXPR.
9682
9683 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
9684
9685         PR c++/8333
9686         * varasm.c (asm_output_aligned_bss): Do not call
9687         ASM_GLOBALIZE_LABEL.
9688
9689 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
9690             Torbjorn Granlund  <tege@swox.com>
9691
9692         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
9693         for addressibility.
9694         (load_toc_v4_PIC_1b): Same.
9695
9696 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
9697
9698         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
9699         Truncate the addresses for H8/300 using HImode.
9700
9701 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
9702
9703         * i386.md (negdf splitter): Fix construction of the constant.
9704
9705 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
9706
9707         * i386.md (negsf, negdf): Reorganize to use vector modes
9708         for SSE variants.
9709         (abssf, absdf): Use force_reg.
9710         (movv4sf, movv2df): New splitters.
9711         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
9712         * i386.c (zero_extended_scalar_load_operand
9713
9714         * i386-protos.h (ix86_expand_call): Update prototype.
9715         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
9716         (ix86_expand_call): Use r11 for indirect sibcalls.
9717         * i386.md (call, call_value, untyped_call, call_value_pop):
9718         update x86_expand_call call.
9719         (sibcall, sibcall_value): new patterns
9720         (call_rex64, call_value_rex64): Do not accept sibcalls.
9721         (sibcall_rex64, sibcall_value_rex64,
9722         sibcall_rex64_v, sibcall_value_rex64_v): New.
9723
9724 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9725
9726         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9727         before final pass.
9728
9729 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
9730
9731         * toplev.c (rest_of_type_compilation): Return early in case of
9732         errors.
9733         (check_global_declarations): Don't call debug_hooks->global_decl
9734         in case of errors.
9735
9736 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
9737
9738         * doc/c-tree.texi (Tree overview): Fix typos.
9739
9740 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
9741
9742         * Makefile.in (gnucompare*):  Only record bad comparisons
9743         if there really was a bad comparison.
9744
9745 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
9746
9747         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
9748         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
9749         * md.texi (machine dependent constraints): Document 'C'
9750
9751         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
9752
9753         * i386.c (ix86_expand_vector_move): Fix.
9754
9755         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
9756         * i386.md (sse2_maskmovdqu_rex64): New pattern
9757
9758         PR target/8322
9759         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
9760         (ix86_init_mmx_sse_builtins): Fix type.
9761
9762 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
9763
9764         * gthr-posix.h: Include <unistd.h> for feature tests.
9765         (sched_get_priority_max, sched_get_priority_min)
9766         (pthread_getschedparam, pthread_setschedparam): Only use
9767         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
9768         (__gthread_objc_thread_set_priority): Don't treat all nonzero
9769         returns from sched_get_priority_max and sched_get_priority_min
9770         as an error.
9771
9772 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9773
9774         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
9775         MASK_QUICKCALL.
9776
9777 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9778
9779         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
9780         (h8300_tiny_constant_address_p): Likewise.
9781         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
9782         h8300_eightbit_constant_address_p.
9783         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
9784         * config/h8300/h8300-protos.h: Add the prototypes for the two
9785         new functions.
9786
9787 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9788
9789         * reload1.c (update_eliminables): Unconditionally check if
9790         frame_pointer_needed has changed.
9791
9792 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9793
9794         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9795         before final pass.
9796
9797 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
9798
9799         PR optimization/8334
9800         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
9801         check for zero operands explicitly.
9802
9803 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
9804
9805         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
9806         memory after adjusting to BLKmode.
9807
9808 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9809
9810         * config/h8300/h8300.h (MASK_*): New.
9811         (TARGET_*): Use MASK_*.
9812
9813 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
9814
9815         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
9816         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
9817         config/rs6000/vxworks.h: New files.
9818         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
9819
9820         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
9821         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
9822         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
9823         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
9824         sparc-*-vxsim*): Delete stanzas.
9825         * gthr-vxworks.h: Rip out all substantive code and just
9826         include gthr-single.h.
9827
9828         * config/alpha/vxworks.h, config/arm/vxarm.h,
9829         config/i386/vxi386.h, config/i960/t-vxworks960,
9830         config/i960/vx960-coff.h, config/i960/vx960.h,
9831         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
9832         config/mips/vxworks.h, config/rs6000/vxppc.h,
9833         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
9834         config/sparc/vxsim.h, config/sparc/vxsparc.h,
9835         config/sparc/vxsparc64.h: Delete files.
9836
9837 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
9838
9839         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
9840         tm_defines if pthreads are enabled.
9841         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
9842         if NETBSD_ENABLE_PTHREADS is defined.
9843
9844 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
9845
9846         * ChangeLog.1: Fix typos.
9847         * cse.c: Fix a comment typo.
9848         * reload1.c: Likewise.
9849
9850 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
9851
9852         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
9853         * fixinc/tests/base/_G_config.h: New file.
9854
9855 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9856
9857         * combine.c: Fix comment formatting.
9858         * loop.c: Likewise.
9859         * real.c: Likewise.
9860         * regclass.c: Likewise.
9861         * regmove.c: Likewise.
9862         * regrename.c: Likewise.
9863         * reg-stack.c: Likewise.
9864         * reload1.c: Likewise.
9865         * reload.c: Likewise.
9866         * reload.h: Likewise.
9867         * unroll.c: Likewise.
9868
9869 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9870
9871         * reload1.c (reload): Fix a comment typo.
9872
9873 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
9874
9875         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
9876
9877 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9878
9879         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
9880         * dwarf2out.c: Include hashtab.h.
9881         (is_main_source): New static variable.
9882         (attr_checksum, die_checksum): Modified to handle die references.
9883         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
9884         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
9885         record_comdat_symbol_number): New static functions.
9886         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
9887         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
9888         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
9889         declarations added.
9890
9891 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
9892
9893         * config/h8300/h8300.c (initial_offset): Change to
9894         h8300_initial_elimination_offset.
9895         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
9896         h8300_initial_elimination_offset.
9897         * config/h8300/h8300-protos.h: Update the prototype.
9898
9899 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
9900
9901         * config/mmix/mmix.h (LIBCALL_VALUE): Use
9902         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
9903         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
9904         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
9905         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
9906         and RTX_CODE.
9907         (mmix_function_value_regno_p): Declare.
9908
9909         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
9910         invalid for floating point mode result, with fix.
9911
9912 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
9913
9914         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
9915         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
9916         (stage1_build): Likewise.
9917
9918 2002-10-25  Mike Stump  <mrs@apple.com>
9919
9920         Fixes gcc.dg/warn-1.c.
9921         * c-typeck.c (warn_for_assignment): Don't print argument number,
9922         if zero.
9923
9924 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
9925
9926         * toplev.c (dump_file_index): Add DFI_ce3.
9927         (dump_file_info): Likewise.
9928         (rest_of_compilation): Run first ifcvt pass before tracer.
9929
9930 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
9931
9932         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
9933
9934 2002-10-25  Richard Henderson  <rth@redhat.com>
9935
9936         * real.c (real_to_decimal): If the >1 tens reduction loop results
9937         in a negative exponent, fall into the <1 pten computation.
9938
9939 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
9940
9941         PR middle-end/6994
9942         * c-objc-common.c (inline_forbidden_p): Can not inline
9943         functions containing structures or unions containing VLAs.
9944         * tree-inline.c (walk_tree): For all class 't' nodes, walk
9945         TYPE_SIZE and TYPE_SIZE_UNIT.
9946         (copy_tree_r): Copy types if they are variably modified.
9947
9948 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
9949
9950         * config/s390/s390.md: Remove old-style peepholes.
9951
9952 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
9953
9954         * config/s390/s390.c (s390_decompose_address): Do not range check the
9955         displacement if base or index is the argument pointer register.
9956
9957 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
9958
9959         PR other/3337
9960         PR bootstrap/6763
9961         PR bootstrap/8122
9962         * fixinc/inclhack.def (libc1_G_va_list): New fix.
9963         * fixinc/fixincl.x: Regenerate.
9964         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
9965         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
9966         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
9967         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
9968         * config.in, configure: Regenerate.
9969
9970 2002-10-24  Igor Shevlyakov <igor@microunity.com>
9971
9972         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
9973
9974 2002-10-24  Richard Henderson  <rth@redhat.com>
9975
9976         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
9977
9978 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9979
9980         * config/h8300/h8300.c (initial_offset): Simplify by using
9981         round_frame_size.
9982
9983 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9984
9985         * doc/install.texi (avr): Update required binutils version.
9986
9987 2002-10-24  Theodore A. Roth  <troth@openavr.org>
9988
9989         * doc/install.texi: Point avr users at more up-to-date information.
9990
9991 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
9992
9993         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
9994         to pull operands out of the literal pool where possible.
9995
9996 2002-10-24  Denis Chertykov  <denisc@overta.ru>
9997
9998         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
9999
10000 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
10001
10002         * expr.c (convert_move): If unsignedp is less then zero there
10003         is no equivalent code.
10004
10005 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
10006
10007         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
10008
10009 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
10010
10011         * config/s390/s390.h: Rework comments; re-sort target macro definitions
10012         according to the sequence they are defined in the manual.
10013         (POINTER_BOUNDARY): Remove.
10014
10015 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
10016
10017         * config/h8300/h8300.c (round_frame_size): Replace 8 with
10018         BITS_PER_UNIT.
10019
10020 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
10021
10022         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
10023         64-bit safe.
10024         (TINY_CONSTANT_ADDRESS_P): Likewise.
10025
10026 2002-10-24  Richard Henderson  <rth@redhat.com>
10027
10028         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
10029         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
10030         vcall offset.
10031
10032 2002-10-24  Richard Henderson  <rth@redhat.com>
10033
10034         PR opt/7944
10035         * reload.c (find_reloads_toplev): Mode of X is not important
10036         when simplifying subregs of constants.
10037
10038 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
10039
10040         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
10041         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
10042         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
10043         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
10044         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
10045
10046 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
10047
10048         * optabs.c (expand_binop): Don't reuse the shift target in the
10049         middle of shift sequences.
10050
10051 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
10052
10053         * i386.md (abs splitters): Do not produce nested subregs.
10054
10055 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
10056
10057         * i386.md (movti_rex64): Fix constraints.
10058
10059 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
10060
10061         * i386.md (abssf,absdf): Use vector operands for SSE
10062         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
10063         vector operand.
10064
10065 2002-10-23  Ziemowit Laski <zlaski@apple.com>
10066
10067         * objc/objc-act.c (get_static_reference): Remove unneeded
10068         TYPE_BINFO initialization.
10069         (get_object-reference): Likewise.
10070         (build_constructor): Tighten precondition check.
10071         (finish_message_expr): Likewise.
10072
10073 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
10074
10075         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
10076         after CONST test.
10077
10078 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
10079
10080         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
10081         in HFAs.
10082
10083 2002-10-23  Richard Henderson  <rth@redhat.com>
10084
10085         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
10086         (alpha_output_mi_thunk_osf): Handle vcall_offset.
10087
10088 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
10089
10090         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
10091         var_mod_type_p.
10092         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
10093         hook_tree_bool_false.
10094
10095         * tree.c (variably_modified_type_p): Moved here from
10096         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
10097         language-specific cases.  Due to this, must weaken some 'if
10098         and only if' checks to merely 'if'.
10099         * tree.h: Prototype variably_modified_type_p.
10100
10101         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
10102
10103 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
10104
10105         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
10106         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
10107
10108         * config/s390/s390-protos.h (fp_operand): Remove.
10109         * config/s390/s390.c (fp_operand): Remove.
10110         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
10111         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
10112         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
10113         (movdi_31, movdf_31 splitters): Likewise.
10114
10115         * config/s390/s390.h (IEEE_FLOAT): Remove.
10116         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
10117         (INT_REGNO_P): Rename to ...
10118         (GENERAL_REGNO_P): ... this.
10119         (FLOAT_REGNO_P): Rename to ...
10120         (FP_REGNO_P): ... this.
10121         (ADDR_REGNO_P): New macro.
10122         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
10123         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
10124         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
10125         (HARD_REGNO_NREGS): Adapt to macro renaming.
10126         (HARD_REGNO_MODE_OK): Likewise.
10127
10128 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
10129             Geoff Keating  <geoffk@apple.com>
10130
10131         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
10132         (rs6000_memory_move_cost): New function.
10133         * config/rs6000/rs6000-protos.h: Declare them.
10134         * config/rs6000/rs6000.h: Use them.
10135
10136 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
10137
10138         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
10139         inlining it into other libgcc2 routines.
10140         (__udivmoddi4): Likewise.
10141
10142 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
10143
10144         * doc/sourcebuild.texi (Test Suites): Improve.
10145
10146 2002-10-22  Stan Shebs  <shebs@apple.com>
10147
10148         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
10149         case for Darwin.
10150
10151 2002-10-22  Jim Wilson  <wilson@redhat.com>
10152
10153         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
10154
10155 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
10156
10157         PR other/8289
10158         * xmmintrin.h: Add const to the argument of loads.
10159
10160         * i386.md (pushv2di): New pattern.
10161         PR target/6890
10162         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
10163
10164 2002-10-22  Richard Henderson  <rth@redhat.com>
10165
10166         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
10167         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
10168         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
10169         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
10170         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10171         (TARGET_ASM_OUT): Update.
10172         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
10173         (hook_bool_tree_hwi_hwi_tree_true): New.
10174         (default_can_output_mi_thunk_no_vcall): New.
10175         * hooks.h: Declare them.
10176         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
10177
10178         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10179         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
10180         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
10181         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
10182         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
10183         config/stormy16/stormy16.c: Similarly.
10184
10185         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
10186         Handle 64-bit properly.  Streamline.
10187         (x86_output_mi_vcall_thunk): Remove.
10188         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
10189         (x86_can_output_mi_thunk): New.
10190         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
10191         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10192         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
10193
10194         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
10195         output_mi_thunk; make static; always use function_section.
10196         (TARGET_ASM_OUTPUT_MI_THUNK): New.
10197         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10198         (rs6000_ra_ever_killed): Test no_new_pseudos not
10199         targetm.asm_out.output_mi_thunk in conjunction with thunks.
10200         * config/rs6000/rs6000-protos.h: Update.
10201         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10202         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
10203         xcoffout_declare_function when using rs6000_output_mi_thunk.
10204
10205         * config/s390/s390.c (s390_output_mi_thunk): Rename from
10206         s390_output_mi_vcall_thunk.
10207         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10208         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10209
10210         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
10211         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10212         * config/vax/vax-protos.h: Update.
10213         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
10214
10215 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
10216
10217         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
10218         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
10219         * i386.md (movti_internal): Use 'C'
10220
10221         * xmmintrin.h (_mm_cmplt_epi*): New.
10222
10223 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
10224
10225         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
10226         ("*movdf_64"): Likewise.
10227         ("*lshrdi3_64"): Likewise.
10228         ("blockage"): Add length attribute.
10229         ("lit"): Likewise.
10230
10231 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
10232
10233         * i386.md: FIx typo.
10234         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
10235         (sse2_umulv2siv2di3): Fix predicate.
10236         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
10237         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
10238         * xmmintrin.h (_mm_mul_epu16): Rename to...
10239         (_mm_mul_epu32): This one.
10240         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
10241
10242         (contains_128bit_aligned_vector_p): Undo accidental checkin.
10243
10244 2002-10-22  Eric Christopher  <echristo@redhat.com>
10245
10246         * config/sparc/sparc.h: Add #error.
10247
10248 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
10249
10250         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
10251         [s390x-*-linux*]: Likewise.
10252         * config/s390/t-linux: Remove.
10253         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
10254
10255 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
10256
10257         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
10258         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
10259         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
10260         * i386.md (mmx_punpck?dq): Simplify.
10261         (sse2_pubpcklqdq): Fix.
10262         (sse2_pubpckhqdq): New.
10263         * xmmintrin.h (_mm_unpackhi_epi32): New.
10264
10265         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
10266         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
10267
10268 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
10269
10270         PR c++/7209
10271         * fold_const.c (fold_binary_op_with_conditional_arg): Always
10272         build compound_expr if we used save_expr.
10273
10274 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
10275
10276         * output.h (SECTION_NOTYPE): Define.
10277         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
10278         init array sections.
10279         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
10280         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
10281         merge TLS support.
10282
10283 2002-10-21  Richard Henderson  <rth@redhat.com>
10284
10285         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
10286         the function type, not the return type.
10287
10288 2002-10-21  Richard Henderson  <rth@redhat.com>
10289
10290         * real.c (sticky_rshift_significand): Return inexact, don't
10291         or it in immediately.
10292         (sub_significands): Accept incomming carry.
10293         (div_significands, rtd_divmod): Update for sub_significands change.
10294         (round_for_format): Update for sticky_rshift_significand change.
10295         (do_add): Don't involve the inexact bit in addition, do give the
10296         inexact bit as the subtraction carry-in.
10297         (encode_internal, decode_internal, real_internal_format): New.
10298         * real.h (real_internal_format): Declare.
10299
10300 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10301
10302         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
10303         don't define sdiv_qrnnd.
10304
10305 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
10306
10307         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
10308         using IN_RANGE.
10309         (TINY_CONSTANT_ADDRESS_P): Likewise.
10310
10311 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10312
10313         * i386.c (builtin_description): Add punpcklqdq and movdq2q
10314         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
10315         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
10316         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
10317         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
10318         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
10319         __builtin_ia32_setzero128.
10320         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
10321         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
10322         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
10323         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
10324         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
10325         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
10326         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
10327         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
10328         sse2_movq): New patterns.
10329         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
10330         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
10331         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
10332         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
10333         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
10334         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
10335         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
10336         (_mm_insert_epi16): Fix.
10337
10338 2002-10-21  Dale Johannesen  <dalej@apple.com>
10339
10340         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
10341             unsafe math reversals correctly for RTL generation.
10342           (output_cbranch):  Replace rs6000_reverse_condition call
10343             by its former definition.
10344
10345 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
10346
10347         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
10348         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
10349         from constant pool or LABEL_REFs as sign extended if allow_rip.
10350         Change all +-1GB limits to +-16MB.
10351         (x86_64_general_operand, x86_64_szext_general_operand,
10352         x86_64_nonmemory_operand, x86_64_movabs_operand,
10353         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
10354         legitimate_address_p, ix86_expand_int_movcc): Update callers.
10355         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
10356         in CM_SMALL_PIC model.
10357         (legitimate_pic_address_disp_p): Don't check offsets before
10358         calling local_symbolic_operand.
10359         (legitimize_pic_address): Force offsets bigger than +-16MB into
10360         register.
10361         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
10362         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
10363         prototype.
10364
10365         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
10366         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
10367         * configure: Rebuilt.
10368         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
10369         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
10370         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
10371         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
10372         -fpic.
10373         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
10374         non-pic code if TARGET_64BIT.
10375         (legitimize_address): Generate 64-bit TLS sequences.
10376         (output_pic_addr_const): Support x86-64 TLS operators.
10377         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
10378         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
10379         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
10380         (output_addr_const_extra): Support x86-64 TLS operators.
10381         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
10382         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
10383         unconditionally.
10384         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
10385         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
10386         (*tls_global_dynamic_sun): Renamed to...
10387         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
10388         (tls_global_dynamic): Renamed to...
10389         (tls_global_dynamic_32): ... this.
10390         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
10391         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
10392         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
10393         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
10394         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
10395         (tls_local_dynamic_base_dynamic): Renamed to...
10396         (tls_local_dynamic_base_dynamic_32): ... this.
10397         (tls_local_dynamic_base_dynamic_64,
10398         *tls_local_dynamic_base_dynamic_64): New.
10399         (*tls_local_dynamic_once): Renamed to...
10400         (*tls_local_dynamic_32_once): ... this.
10401
10402 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10403
10404         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
10405         __divdi3, __umoddi3, or __moddi3.
10406
10407 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10408
10409         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
10410         instead of just opt_index as switch expression.
10411
10412         * calls.c (store_one_arg): Change type of 'excess_align'
10413         to unsigned int.
10414
10415         * profile.c (output_gcov_string): Change type of 'temp'
10416         to size_t.
10417
10418 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10419
10420         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
10421         (__fixunssfdi, __fixsfdi): Likewise.
10422         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
10423         (s390_single_qi): Likewise.
10424         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
10425         unsigned comparison warning.
10426         (s390_return_addr_rtx): New function.
10427         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
10428         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
10429         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
10430
10431 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10432
10433         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
10434         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
10435         (s390_output_mi_thunk): Remove.
10436         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10437
10438 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
10439
10440         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
10441
10442 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
10443
10444         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
10445         inverted test in the conditional determining the possibility
10446         of sibcalls in PIC mode.
10447
10448 2002-10-20  Richard Henderson  <rth@redhat.com>
10449
10450         * target.h (struct gcc_target): Line wrap.
10451
10452         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
10453         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
10454         * config/alpha/alpha.h: ... not here.
10455         * config/alpha/alpha-protos.h: Update.
10456
10457         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
10458         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
10459         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
10460         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
10461         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
10462         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
10463         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
10464         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
10465         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
10466         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
10467         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
10468         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
10469         config/sparc/sparc.c, config/sparc/sparc.h,
10470         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
10471         config/stormy16/stormy16.h: Similarly.
10472
10473         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
10474         selection logic from call patterns.
10475
10476 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
10477
10478         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
10479
10480 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10481
10482         PR other/8202
10483         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
10484         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
10485         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
10486         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
10487
10488 2002-10-20  Roger Sayle  <roger@eyesopen.com>
10489
10490         PR c/761
10491         * toplev.c (flag_unsafe_profile_arcs): Remove.
10492         (flag_bounded_pointers): Remove.
10493         (flag_bounds_check): Correct comments.
10494         (lang_independent_options): Remove -funsafe-profile-arcs and
10495         -fbounded-pointers.  Correct -fbounds-check comments.
10496
10497         * flags.h: Correct flag_schedule_interblock comments.
10498         (flag_bounded_pointers): Remove prototype.
10499         (flag_bounds_check): Correct comments.
10500
10501         * c-opts.c (c_common_init_options): No need to mark
10502         flag_bounds_check as unspecified.
10503         (c_common_post_options): And no need to set it from
10504         flag_bounded_pointers if its still unspecified.
10505
10506         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
10507         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
10508         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
10509         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
10510
10511 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
10512         Angela Marie Thomas  <angela@releasedominatrix.com>
10513         Brendan Kehoe  <brendan@zen.org>
10514         Nick Clifton  <nickc@redhat.com>
10515         Andrew Haley  <aph@redhat.com>
10516
10517         * configure.in (--with-sysroot): New.  Don't inhibit libc if
10518         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
10519         and CROSS_SYSTEM_HEADER_DIR.
10520         * configure: Rebuilt.
10521         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
10522         (TARGET_SYSTEM_ROOT): New.
10523         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
10524         CROSS_SYSTEM_HEADER_DIR.
10525         (install-gcc-tooldir): New target.
10526         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
10527         if SYSTEM_HEADER_DIR does not exist and it's not the default
10528         sys-include directory.
10529         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
10530         (install-mkheaders): Likewise.
10531         * gcc.c (target_system_root): New variable.
10532         (add_sysrooted_prefix): New function.
10533         (process_command): Recompute run-time target_system_root from
10534         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
10535         does not exist.
10536         (do_spec_1): Process 'R' spec.
10537         (main): Add md_exec_prefix to exec_prefixes regardless of
10538         startfile_prefix_spec.  Use add_sysrooted_prefix for
10539         startfile_prefixes, and don't skip the default ones when cross
10540         compiling with sysroot enabled.  Removed unused case of
10541         non-absolute standard_startfile_prefix.
10542         * config/interix.h: Remove the only potential, yet disabled,
10543         occurrence of non-absolute (empty) standard_startfile_prefix.
10544         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
10545         linking.
10546         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
10547         * doc/install.texi (--with-sysroot): Document.
10548         (--with-headers, --with-libs): Deprecate.
10549
10550 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10551             Mark Mitchell  <mark@codesourcery.com>
10552
10553         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
10554         match target.h.
10555         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
10556         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
10557         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
10558         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
10559         x86_output_mi_thunk): Likewise.
10560         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
10561         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
10562         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
10563         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
10564         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
10565         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
10566         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
10567         Likewise.
10568         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
10569
10570         * target.h (gcc_target): Update output_mi_thunk and
10571         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
10572         vcall_index.
10573
10574         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
10575         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10576         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
10577         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
10578         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
10579         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
10580         signature.
10581         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
10582         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
10583         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10584         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
10585         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
10586         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
10587         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10588         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
10589         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
10590
10591         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
10592         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
10593
10594 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
10595
10596         * real.c (do_add): Fix 0+0 sign corner case.
10597         (do_divide): Fix Inf/0 corner case.
10598
10599 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
10600
10601         * i386.c (classify_argument): Pass MMX arguments in memory
10602         (ix86_expand_builtin): Expand proper address mode for cflush.
10603         * i386.md (movdqa): Fix typo.
10604         (sse2_cflush): Accept DImode addresses.
10605
10606         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
10607         (_mm_max_sd): Fix pasto.
10608         (_mm_storeh_pd, _mm_storel_pd): Fix.
10609
10610         * i386.c (bdesc_comi): Fix to match specification.
10611         (ix86_expand_sse_comi): Emit the comparison properly.
10612         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
10613         Do not use comparison operator.
10614         (vnmaskcmp): Fix template.
10615
10616         * xmmintrin.h (_mm_cvtps_pi16): Fix.
10617
10618 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
10619
10620         * dependence.c : Removed.
10621         * Makefile.in : Remove dependence.o.
10622
10623 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
10624
10625         * mmintrin.h (__m64): typedef it to v2si.
10626         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
10627         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
10628         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
10629         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
10630         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
10631         * xmmintrin.h (_mm_setzero_si64): Likewise.
10632
10633         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
10634         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
10635
10636         PR target/7693
10637         Patch by Shawn Wagner
10638         * mmintrin.h: Replace pi64 by si64.
10639
10640 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
10641
10642         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
10643         Use length of 4 not *.
10644         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
10645         (movdf_softfloat64): Likewise.
10646         (movdi_internal32): Use length of 4 not *.
10647         (movti_power): Same.
10648         (ctrsi, ctrdi): Same.
10649
10650 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
10651
10652         * c-decl.c (start_decl): Point users of the old initialized-
10653         typedef extension at __typeof__.
10654
10655 2002-10-18  Richard Henderson  <rth@redhat.com>
10656
10657         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
10658         (real_to_decimal): Re-implement using the logic from the
10659         gcc 3.2 etoasc.  Comment heavily.
10660         (div_significands): Simplify loop startup and comparison logic.
10661
10662 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
10663
10664         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
10665         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
10666         (TARGET_ASM_OUT): Add them.
10667         * target.h (asm_out): Add output_mi_thunk and
10668         output_mi_vcall_thunk.
10669         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10670         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10671         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
10672         * config/arm/arm.c (arm_output_mi_thunk): Define.
10673         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10674         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10675         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10676         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10677         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10678         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10679         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
10680         prototype.
10681         (x86_output_mi_vcall_thunk): Declare.
10682         * config/i386/i386.c (override_options): Clear
10683         output_mi_vcall_thunk in 64-bit mode.
10684         (ix86_fntype_regparm): New function.
10685         (ix86_return_pops_args): Use it.
10686         (ia32_this_parameter): New function.
10687         (x86_output_mi_vcall_thunk): New function.
10688         (x86_output_mi_thunk): Use it
10689         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
10690         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
10691         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
10692         * config/i960/i960.c (i960_output_mi_thunk): New function.
10693         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
10694         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
10695         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
10696         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10697         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10698         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
10699         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10700         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10701         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10702         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10703         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10704         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10705         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10706         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10707         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10708         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10709         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
10710         * config/s390/s390.c (s390_output_mi_thunk): Define.
10711         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10712         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10713         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10714         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10715         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10716         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10717         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
10718         * config/vax/vax.c (vax_output_mi_thunk): Define.
10719         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10720         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10721         * doc/tm.texi: Adjust documentation.
10722
10723 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10724
10725         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
10726         __enable_execute_stack function.
10727         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
10728         as NETBSD_ENABLE_EXECUTE_STACK.
10729         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10730         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10731         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10732         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10733         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10734
10735 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10736
10737         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
10738         to __enable_execute_stack with the address of the trampoline
10739         if TRANSFER_FROM_TRAMPOLINE is defined.
10740         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
10741         constant if building libgcc2.
10742
10743 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
10744
10745         * i386.c (pentium4_cost): Fix according to Intel recommendations.
10746         (ix86_memory_move_cost): Fix for 64bit compilation.
10747
10748 2002-10-17  Roger Sayle  <roger@eyesopen.com>
10749
10750         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
10751
10752 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
10753
10754         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
10755         in CTR/LR/MQ.
10756         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
10757         to/from CTR/LR/MQ.
10758         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
10759         (movsf_softfloat): Likewise.
10760
10761 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
10762
10763         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
10764
10765 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
10766
10767         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
10768         tramp, not addr, to pass the trampoline address to
10769         __enable_execute_stack.
10770
10771 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
10772
10773         * mmintrin.h: Guard by __MMX__
10774         * xmmintrin.h: Guard by __SSE__
10775
10776         PR other/8062
10777         * xmmintrin.h (_MM_SHUFFLE2): New macro.
10778         (_mm_load*_?d): New functions.
10779         (_mm_set*_?d): New functions.
10780         (_mm_store*_?d): New functions.
10781
10782 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
10783
10784         Really commit patch announced at Oct 14
10785         PR c/7344
10786         * predict.c (can_predict_insn_p): New function.
10787         (estimate_probability): Avoid unnecesary work.
10788         (process_note_prediction): Likewise.
10789         * toplev.c (rest_of_compilation): Account early branch prediction pass
10790         as TV_BRANCH_PROB.
10791
10792         PR other/8048
10793         Found by Ian Ollmann
10794         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
10795         (_mm_load?_pd): Likewise.
10796         (_mm_store?_pd): Likewise.
10797
10798         PR target/7386
10799         * i386.c (builtin_description):Drop cmpg[te]s[sd].
10800         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
10801         swapped alternative.
10802
10803         PR opt/7630
10804         * reload1.c (reload_inner_reg_of_subreg): New argument output;
10805         (push_reload): Update call.
10806
10807 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
10808
10809         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
10810         if using mips/elf.h or mips/elf64.h.
10811         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
10812         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
10813
10814 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
10815
10816         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
10817         SI.
10818
10819 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
10820
10821         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
10822         (LPREFIX): Likewise.
10823         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
10824         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
10825         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
10826         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
10827         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
10828
10829         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
10830         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
10831         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
10832         BSS_SECTION_ASM_OP): Move from linux.h.
10833         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10834         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10835
10836         * config/s390/s390.c (s390_function_profiler): Use
10837         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10838
10839 2002-10-15  Eric Christopher  <echristo@redhat.com>
10840
10841         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
10842         * java/parse.y (obtain_incomplete_type): Make pointer
10843         ptr_mode.
10844
10845 2002-10-15  Richard Henderson  <rth@redhat.com>
10846
10847         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
10848         as arguments.  Bound DIGITS by the available buffer size.
10849         (real_to_hexadecimal): Likewise.
10850         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
10851         (REAL_VALUE_TO_DECIMAL): Remove.
10852         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
10853         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
10854         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
10855         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
10856         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
10857         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
10858         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
10859         use real_to_decimal directly, and with the proper arguments.
10860         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
10861
10862 2002-10-15  Jim Wilson  <wilson@redhat.com>
10863
10864         * reload1.c (merge_assigned_reloads): After converting overlapping
10865         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
10866
10867         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
10868
10869 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
10870
10871         * expr.c (do_tablejump): Fix typo in my previous commit.
10872
10873 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
10874
10875         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
10876
10877 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
10878
10879         * config/s390/s390.c (s390_split_branches): Add return
10880         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
10881
10882         (find_base_register_in_addr): New function.
10883         (find_base_register_ref): New function.
10884         (replace_base_register_ref): New function.
10885
10886         (struct constant_pool): Add members pool_insn, insns, and anchor.
10887         Remove member last_insn.
10888         (s390_start_pool): Initialize them.
10889         (s390_end_pool): Emit pool placeholder insn.
10890         (s390_add_pool_insn): New function.
10891         (s390_find_pool): Use insns bitmap instead of addresses.
10892         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
10893         Replace unspec 104 by local-pool-relative references.
10894         (s390_output_constant_pool): Output anchor label if required.
10895         (s390_output_symbolic_const): Handle unspec 104 and 105.
10896         (s390_add_pool): Remove, replace by ...
10897         (s390_add_constant, s390_find_constant): ... these new functions.
10898         (s390_add_anchor): New function.
10899
10900         (s390_chunkify_pool): Delete, replace by ...
10901         (s390_chunkify_start, s390_chunkify_finish,
10902         s390_chunkify_cancel): ... these new functions.
10903         (s390_optimize_prolog): Add parameter TEMP_REGNO.
10904         Recompute register live data for special registers.
10905         (s390_fixup_clobbered_return_reg): New function.
10906         (s390_machine_dependent_reorg): Rewrite to use new
10907         s390_chunkify_... routines.
10908
10909         config/s390/s390.md ("reload_base"): Rename to ...
10910         ("reload_base_31"): ... this.
10911         ("reload_base_64"): New insn.
10912         ("reload_base2"): Remove.
10913         ("reload_anchor"): New insn.
10914         ("pool"): New insn.
10915
10916         s390.c (s390_pool_overflow): Remove.
10917         s390.h (s390_pool_overflow): Likewise.
10918         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
10919
10920 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
10921
10922         * sh.md (movv8qi_i+2): Don't split if source is -1.
10923
10924 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
10925
10926         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
10927
10928 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
10929
10930         PR opt/7409
10931         * loop.c (loop_regs_scan): Mark registers used for function
10932         argument passing as MAY_NOT_OPTIMIZE.
10933
10934 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
10935
10936         * gcov-io.h (gcov_info): Fix type.
10937         * profile.c (create_profiler): Fix type mismatch.
10938
10939 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
10940
10941         * i386.md (movv2di_internal): New pattern.
10942         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
10943         (movv2di): New expander.
10944         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
10945
10946         * i386.c (ix86_expand_timode_binop_builtin): Delete.
10947         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
10948         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
10949         (ix86_expand_builtin): Likewise.
10950         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
10951         sse_andti3,
10952         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
10953         sse_andnti3,
10954         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
10955         sse_orti3,
10956         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
10957         sse_xorti3): Kill.
10958         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
10959          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
10960         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
10961          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10962         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
10963          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10964
10965         * xmmintrin.h (__m128i): Define as __v2di.
10966
10967         PR c++/6419
10968         (expand_expr): Use DECL_RTL_SET_P.
10969
10970 2002-10-14  Roger Sayle  <roger@eyesopen.com>
10971
10972         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
10973
10974 2002-10-14  Roger Sayle  <roger@eyesopen.com>
10975             Zack Weinberg <zack@codesourcery.com>
10976
10977         * config/i386/i386.c (k6_cost): Correct typo.
10978
10979 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
10980
10981         PR optimization/6631
10982         * alias.c (objects_must_conflict_p): Check honor_readonly when
10983         examining TYPE_READONLY.
10984         * function.c (assign_stack_temp_for_type): Likewise.
10985
10986 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
10987
10988         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
10989         Swap zero extension arguments.
10990         (umaxhi3): Fix instruction class.
10991         PR target/7211
10992         (prefetch): Fix prefetch instructions.
10993         PR target/7238
10994         (pkwb): Fix output constraint.
10995
10996 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
10997
10998         * config/mips/mips.c (print_operand): Increase buffer size for
10999         real numbers.
11000
11001 2002-10-14  Richard Henderson  <rth@redhat.com>
11002
11003         PR opt/8165
11004         * gcse.c (adjust_libcall_notes): Revert last change.
11005         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
11006
11007 2002-10-14  Andrew Haley  <aph@redhat.com>
11008
11009         * tree-inline.c (remap_block): All local class initialization
11010         flags go in the outermost scope.
11011         (expand_call_inline): Call java_inlining_map_static_initializers.
11012         (expand_call_inline): Call java_inlining_merge_static_initializers.
11013         * java/lang.c (merge_init_test_initialization): New.
11014         (java_inlining_merge_static_initializers): New.
11015         (inline_init_test_initialization): New.
11016         (java_inlining_map_static_initializers): New.
11017
11018         * tree-inline.c (expand_call_inline): Convert retvar to expected
11019         type.
11020
11021 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
11022
11023         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
11024
11025 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
11026
11027         * stmt.c: Fix typo in comment.
11028
11029 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
11030
11031         * c-common.c (c_common_type_for_mode): Add V2HImode case.
11032         * tree.c (build_common_tree_nodes_2): Initialize
11033         unsigned_V2HI_type_node and V2HI_type_node.
11034         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
11035         (unsigned_V2HI_type_node, V2HI_type_node): Define.
11036
11037 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
11038
11039         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
11040         Handle TARGET_64BIT.
11041
11042 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
11043
11044         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
11045         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
11046         (MULTILIB_DIRNAMES): Remove long32.
11047         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
11048         (MULTILIB_REDUNDANT_DIRS): Remove.
11049
11050 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
11051
11052         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
11053         * gcc.c (driver_self_specs): New variable.
11054         (do_self_spec): New function.
11055         (main): Use it to process driver_self_specs.
11056
11057 2002-10-13  Richard Henderson  <rth@redhat.com>
11058
11059         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
11060         indirect sibcalls when regparm >= 3.
11061
11062         * config/i386/i386.c (sibcall_insn_operand): New.
11063         * config/i386/i386.h (PREDICATE_CODES): Update.
11064         * config/i386/i386-protos.h: Update.
11065         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
11066
11067         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
11068
11069 2002-10-12  Roger Sayle  <roger@eyesopen.com>
11070
11071         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
11072         arithmetic right shifts of ~0 during RTL simplifications.
11073
11074 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
11075
11076         PR preprocessor/7862
11077         PR preprocessor/8190
11078         * gcc.c (cpp_unique_options): Don't delete .d files.
11079         Remove stray whitespace.
11080
11081 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
11082
11083         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
11084         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
11085         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
11086         (pdp11_output_function_epilogue, output_ascii): Likewise.
11087         (output_addr_const_pdp11): Likewise.
11088         * pdp11.md (movdi): Use offsetable memory for floating store.
11089         (lshrsi3, negsi2): Delete irrelevant comment.
11090
11091 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
11092
11093         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
11094         indirect calls to be sibcall optimized.
11095         * config/i386/i386.md (sibcall_1): New.
11096         (call_1): Add no-sibcalls condition.
11097         (sibcall_value_1): New.
11098         (call_value_1): Add no-sibcalls condition.
11099
11100 2002-10-11  Eric Christopher  <echristo@redhat.com>
11101
11102        * output.h (default_valid_pointer_mode): Declare.
11103        * varasm.c (default_valid_pointer_mode): Define.
11104        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
11105        * target.h: Ditto.
11106        * tree.c (build_pointer_type_for_mode): New function.
11107        (build_pointer_type): Use.
11108        (build_reference_type_for_mode): New function.
11109        (build_reference_type): Use.
11110        * tree.h: Declare new functions.
11111        * c-common.c (handle_mode_attribute): Use new functions, check
11112        for type.
11113        * stor-layout.c (layout_type): Depend on machine mode for
11114        REFERENCE_TYPE and POINTER_TYPE.
11115        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
11116        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
11117        and REFERENCE_TYPE.
11118        * config/mips/mips.c (mips_valid_pointer_mode): New function.
11119        (TARGET_VALID_POINTER_MODE): Use and define.
11120        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
11121
11122 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
11123
11124         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
11125         not the address of the REG.
11126         (struct cse_reg_info): Make subreg_ticked unsigned.
11127
11128 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
11129
11130         * doc/compat.texi: Add info about C++ libraries.
11131
11132 2002-10-11  Richard Henderson  <rth@redhat.com>
11133
11134         PR opt/8165
11135         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
11136
11137 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11138
11139         * cfganal.c (dfs_enumerate_from): Use PARAMS.
11140         * genautomata.c (output_insn_code_cases): Likewise.
11141         * real.c (real_format): Likewise.
11142         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
11143         ensure value is promoted before doing subtraction.
11144
11145 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
11146
11147         * calls.c (expand_call): Simplify noreturn call.
11148
11149         PR c/7344
11150         * cfgbuild.c (make_edges): Create edge cache when we do have
11151         large jumptable.
11152         * expr.c (do_tablejump): Note size of maximal jumptable.
11153         * function.c (prepare_function_start): Zero out size.
11154         * function.h (function): Add max_jumptable_ents.
11155
11156         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
11157
11158 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11159
11160         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
11161         register for mperm_w operation.
11162
11163 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11164
11165         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
11166         an integer, use simplify_gen_subreg.
11167
11168 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
11169
11170         * calls.c (flags_from_decl_or_type): Make extern.
11171         (ECF_*): Move ...
11172         * rtl.h (ECF_*): ... here.
11173         (flags_from_decl_or_type): Declare.
11174
11175 2002-10-10  Roger Sayle  <roger@eyesopen.com>
11176             Nathan Sidwell <nathan@codesourcery.com>
11177
11178         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
11179         shifts of the form -1 >> x.
11180
11181 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
11182
11183         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
11184
11185 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
11186
11187         * extend.texi (Vector Extensions): Remove comment about single
11188         element vectors.
11189
11190 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11191
11192         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
11193         * function.c (insns_for_mem_hash): Likewise.
11194         * varasm.c (STRHASH): Likewise.
11195
11196 2002-10-10  Stuart Hastings  <stuart@apple.com>
11197
11198         * cse.c (struct cse_reg_info): Add subreg_ticked.
11199         (SUBREG_TICKED): New.
11200         (get_cse_reg_info): Initialize SUBREG_TICKED.
11201         (mention_regs): Use it.
11202         (invalidate): Set SUBREG_TICKED.
11203         (invalidate_for_call): Likewise.
11204         (addr_affects_sp_p): Likewise.
11205
11206 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
11207
11208         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
11209         into proper operand.
11210
11211 2002-10-10  Denis Chertykov  <denisc@overta.ru>
11212
11213         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
11214         deallocation.
11215         * config/ip2k/libgcc.S: Combine routines used by function
11216         epilogue.
11217
11218 2002-10-10  Jim Wilson  <wilson@redhat.com>
11219
11220         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
11221         UDIV.
11222
11223 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
11224
11225         * config/rs6000/aix52.h: New file.
11226         * config/rs6000/t-aix52: New File.
11227         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
11228         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
11229
11230 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
11231
11232         PR target/5610
11233         * invoke.texi (-msse-math): Kill
11234         (-msse): Add note to mfpmath=sse.
11235
11236 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
11237
11238         PR target/7723
11239         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
11240
11241 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
11242
11243         PR preprocessor/8179
11244         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
11245         as cc1_options.
11246         (default_compilers): Pass debug options when preprocessing
11247         stdin.
11248
11249 2002-10-06  Richard Henderson  <rth@redhat.com>
11250
11251         * toplev.c (rest_of_compilation): Revert opt/2960 change.
11252
11253 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
11254
11255         * i386.c (*_cost): Add branch costs.
11256         (override_options): set ix86_branch_cost.
11257         (ix86_expand_int_movcc): Use BRANCH_COST.
11258         * i386.h (costs): Add branch_cost.
11259
11260 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
11261
11262         PR c/7353
11263         * c-decl.c (start_decl): Unconditionally issue error for
11264         'typedef foo = bar'.
11265         (finish_decl): Remove special case for TYPE_DECL with initializer.
11266
11267         * doc/extend.texi: Delete "Naming Types" section.  Change all
11268         cross-references to that section to refer to "Typeof" instead.
11269         Add the useful safe-max()-macro example from "Naming Types" to
11270         "Typeof", rewritten using that extension.  Add some compatibility
11271         notes to "Typeof."
11272
11273 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11274
11275         * loop.c: Revert 2002-08-15 change.
11276         (LOOP_REGNO_NREGS): Ensure type is int.
11277
11278 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
11279
11280         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
11281         which copies first FPR and clears second.
11282         (extendsftf2): Same.
11283         (floatditf2): Fix typo.
11284         (floatsitf2): Same.
11285         (fix_trunctfdi2): Same.
11286         (fix_trunctfsi2): Same.
11287
11288 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11289
11290         * conflict.c (arc_hash): Change return type to hashval_t.
11291         * cselib.c (get_value_hash): Likewise.
11292         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
11293         state_hash, automata_list_hash): Likewise.
11294         * read-rtl.c (def_hash): Likewise.
11295         * tree.c (type_hash_hash): Likewise.
11296
11297 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
11298
11299         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
11300         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
11301
11302 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
11303
11304         * sh.md (ffssi2): Fix emitted code.
11305
11306 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
11307
11308         * cse.c (insn_live_p): Pass insn pattern, not full insn
11309         to may_trap_p.
11310
11311 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
11312
11313         * cppmacro.c (paste_tokens): Only allow / to paste with =.
11314
11315 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
11316
11317         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
11318         64-bit hosts.
11319         (movtf_internal): Reference correct displacement for second value
11320         in memory.
11321         (movtf splitter): Correct generation of constants in 64-bit mode.
11322
11323 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
11324
11325         * libgcc2.c (__floatdisf): Properly cure double rounding.
11326
11327 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11328
11329         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
11330         * doc/cpp.texi (Common Predefined Macros): Document.
11331
11332 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11333
11334         PR doc/7484
11335         * doc/invoke.texi (Option Summary): List
11336         -Wmissing-declarations as a C only option.
11337
11338 2002-10-08  Roger Sayle  <roger@eyesopen.com>
11339
11340         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
11341         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
11342         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
11343
11344 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
11345
11346         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11347         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
11348         variables.
11349         (safe_vector_operand): Update sse_clrv4sf call.
11350         (ix86_expand_buildin): Likewise
11351         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11352         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
11353         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
11354         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
11355         macros.
11356         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
11357         movv4si):  Obey the new flags.
11358         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
11359         reformating penalty.
11360         (anddf, cmov patterns): Avoid reformating by first converting.
11361         (sse_cvtsd2ss): Fix predicate.
11362         (sse2_clrti): Fix mode,
11363         (sse_clrv4sf): Avoid unspec.
11364
11365 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
11366
11367         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
11368         mno-app-regs|mcmodel=medany.
11369         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
11370         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
11371         (CRTSTUFF_T_CFLAGS): Define.
11372
11373 2002-10-08  Roger Sayle  <roger@eyesopen.com>
11374
11375         PR target/8087
11376         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
11377         pool references that are constructed using LO_SUM.
11378
11379 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
11380
11381         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
11382         -Wall.
11383         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
11384         message.
11385         * flags.h (warn_strict_aliasing): Declare.
11386         * toplev.c (warn_strict_aliasing): Define.
11387         (lang_independent_options): Add it.
11388         * doc/invoke.texi (-Wstrict-aliasing): Document it.
11389
11390 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
11391
11392         * system.h (GCCBUGURL): Delete.
11393         * version.c (bug_report_url): New.  Add commentary about
11394         modifying both these strings in modified distributions.
11395         * version.h: Declare bug_report_url.
11396
11397         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
11398         bug_report_url.
11399
11400 2002-10-08  Nick Clifton  <nickc@redhat.com>
11401
11402         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
11403         convert uint64_t into __ev64_opaque__.
11404         (__ev_set_acc_s64): Likewise, but using signed types.
11405
11406 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
11407
11408         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
11409         ("*doloop_di_long"): Likewise.
11410
11411 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
11412
11413         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
11414
11415 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
11416
11417         * config/mips/mips.md (define_attr cpu): Add r4111.
11418
11419 2002-10-08  Anthony Green  <green@redhat.com>
11420
11421         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
11422
11423 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11424
11425         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
11426         for REAL_VALUE_TO_DECIMAL output.
11427
11428 2002-10-07  Richard Henderson  <rth@redhat.com>
11429
11430         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
11431         function; cleanup PLUS case by using recursion.  Update all users.
11432         (NONZERO_BASE_PLUS_P): Remove.
11433         (find_comparison_args): Use rtx_addr_can_trap_p instead.
11434         (fold_rtx): Use nonzero_address_p.
11435         * rtl.h (nonzero_address_p): Declare.
11436         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
11437         (rtx_addr_can_trap_p): Likewise.
11438         (nonzero_address_p): New.
11439         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
11440         (simplify_relational_operation): Use nonzero_address_p.
11441
11442 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
11443
11444         * config/rs6000/rs6000.c (rs6000_override_options): Set
11445         real_format_for_mode for IBM extended format, if enabled.
11446         (easy_fp_constant): Add TFmode.
11447         (rs6000_legitimize_address): Add TFmode.
11448         (rs6000_legitimate_address): Same.
11449         (function_arg_advance): TFmode uses two FPRs.
11450         (rs6000_emit_prologue): Fix warning.
11451         (rs6000_output_function_epilogue): Add TFmode.
11452         (output_toc): Add TFmode.
11453         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
11454         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
11455         * rs6000.md (movtf splitter): Load TFmode constant.
11456
11457 2002-10-07  Dale Johannesen  <dalej@apple.com>
11458
11459         * rtl.h:  Add NOTE_PRECONDITIONED.
11460         * unroll.c:  Set it.
11461         * loop.c:  Set loop_info->preconditioned from it.
11462         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
11463
11464 2002-10-07  Richard Henderson  <rth@redhat.com>
11465
11466         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
11467         new rtx for comparing the argument pointer against zero.
11468         (i960_va_start): Similarly.
11469
11470 2002-10-07  Richard Henderson  <rth@redhat.com>
11471
11472         * config/i960/i960.md (*): Use TFmode, not XFmode.
11473         * config/i960/i960.c (*): Likewise.
11474         (i960_arg_size_and_align): Remove XFmode alignment hack.
11475         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
11476         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
11477         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
11478         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
11479
11480 2002-10-07  Richard Henderson  <rth@redhat.com>
11481
11482         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
11483         entry points; use void return value and argument list.
11484
11485 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
11486
11487         * calls.c (expand_call): Fix function-is-volatile check.
11488
11489 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
11490
11491         * t-pdp11: Add MULTILIB support for msoft-float.
11492         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
11493
11494         * t-pdp11: Add LIB2FUNCS_EXTRA.
11495         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
11496         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
11497         'fldd' to 'ldd', rename 'fstd' to 'std'.
11498         (pdp11_output_function_epilogue): Likewise.
11499         (output_move_quad): Make the comment gas compatible.
11500         (output_ascii): Add preceding 0 to the octal constant.
11501         (print_operand_address): Add pre_modify, post_modify.
11502         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
11503         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
11504         with the indication of Paul Koning.
11505         (PRINT_OPERAND): Fix floating constant.
11506         * pdp11.md (movdi): Restrict matching pattern.
11507         (movqi): Generalize the matching pattern.
11508         (movdf): Restrict matching pattern.
11509         (zero_extendqihi2): Change constant representation.
11510         (floatsidf2): Fix wrong operands.
11511         (addqi3): Fix wrong instruction name.
11512         (subqi3): Fix wrong instruction name.
11513         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
11514         (xorsi3): Fix wrong insn.
11515         (one_cmplqi2): Add two operand pattern.
11516         (lsrsi3): New.
11517         (negsi2): New.
11518         (call): Add register indirect case.
11519         (mod): Fix wrong subreg.
11520
11521 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
11522             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11523
11524         PR c/7411
11525         * expr.c (expand_expr) [PLUS]: Simplify after the operands
11526         have been expanded in EXPAND_NORMAL mode.
11527
11528 2002-10-06  Richard Henderson  <rth@redhat.com>
11529
11530         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
11531
11532 2002-10-06  Richard Henderson  <rth@redhat.com>
11533
11534         PR optimization/2960
11535         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
11536         optimize_size.
11537
11538 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
11539
11540         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
11541         previously definitions.
11542
11543 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
11544
11545         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
11546         * c-opts.c (find_opt): Similarly.
11547
11548 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
11549
11550         * athlon.md: rewrite to DFA.
11551         * i386 (ix86_adjust_cost): Drop memory latency code.
11552         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
11553
11554 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
11555
11556         * gcc.c (set_multilib_dir): Don't access *end.
11557         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
11558         (print_multilib_info): Don't show paths starting with ".:".
11559         * genmultilib: Add new option, "yes" if multilibs are enabled.
11560         Update comments.  If multilibs not enabled, print .:${osdirout}
11561         for each directory.  If multilibs are enabled, always print
11562         ${dirout}:${osdirout}, even if the two are the same.
11563         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
11564         Pass all MULTILIB_* variables to genmultilib even if
11565         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
11566
11567 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
11568
11569         * gcc.c (process_command): Set .validated for -pipe.  Correct
11570         grammar in comment.
11571
11572 2002-10-04  Bruce Korb  <bkorb@gnu.org>
11573
11574         * fixinc/inclhack.def(hpux11_abs):  use format fix
11575         * fixinc/fixincl.x: regenerate
11576         * fixinc/tests/base/stdlib.h: accommodate new fix test
11577
11578 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11579
11580         * c-common.c (cb_register_builtins):  Use really_no_inline.
11581
11582 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
11583
11584         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
11585         copied instruction if the note is not loop invariant.
11586
11587 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
11588
11589         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
11590
11591 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
11592
11593         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
11594         and -mhp-ld options to list of options.  Add -mgnu-ld
11595         and -mhp-ld option descriptions.
11596
11597 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
11598
11599         * fixinc/inclhack.def (hpux11_abs):  New.
11600         (stdio_va_list): change __va_list__ to __gnuc_va_list.
11601         * fixinc/fixincl.x: Rebuild.
11602
11603 2002-10-04  Roger Sayle  <roger@eyesopen.com>
11604
11605         * config/i386/i386.h (processor_costs): Add new fields fadd,
11606         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
11607         (RTX_COSTS): Use these fields to determine the RTX costs
11608         of floating point addition/subtraction, multiplication,
11609         division, fabs, negation and square root respectively.
11610         * config/i386/i386.c (size_cost): Provide instruction sizes
11611         for these new fields.
11612         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
11613         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
11614         counts for these new fields for all x86 processor variants.
11615
11616 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11617
11618         * mips.c (mips_const_double_ok): Delete unused variable.
11619
11620         * gengtype.c (rtx_next): Change type to int.
11621
11622 2002-10-04  Andreas Jaeger  <aj@suse.de>
11623
11624         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
11625
11626 2002-10-04  Richard Henderson  <rth@redhat.com>
11627
11628         * real.h (SIGNIFICAND_BITS): Add one more word.
11629         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
11630         * real.c (times_pten): New.
11631         (real_to_decimal, real_from_string): Use it.
11632         (sticky_rshift_significand): Use & to find modulus.
11633         (rshift_significand, lshift_significand): Likewise.
11634         (do_divide): Apply sticky bit after normalization.
11635         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
11636
11637 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
11638
11639         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
11640         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11641
11642 2002-10-03  Andreas Jaeger  <aj@suse.de>
11643
11644         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
11645         to unsigned long, adjust printf format string.
11646         (output_mangled_typename): Likewise.
11647
11648 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
11649
11650         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
11651         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
11652         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
11653         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
11654         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
11655         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
11656         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
11657         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
11658
11659 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
11660
11661         * doc/invoke.texi (-Wabi): Document mangling bug.
11662
11663 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
11664
11665         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
11666         name for the tbtab label that depends on the function asm name.
11667         Don't output tbtab label unless optional_tbtab.
11668         (output_mi_thunk): Formatting.
11669
11670 2002-10-03  Richard Henderson  <rth@redhat.com>
11671
11672         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
11673         * config/m68k/m68k.c (override_options): ... here.
11674         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
11675         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
11676         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11677         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11678
11679 2002-10-03  Richard Henderson  <rth@redhat.com>
11680
11681         * real.h (struct real_value): Use ENUM_BITFIELD.
11682
11683 2002-10-03  Richard Henderson  <rth@redhat.com>
11684
11685         * config/i960/i960.md (call, call_value): Use emit_call_insn.
11686
11687 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11688
11689         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
11690
11691 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11692
11693         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
11694         * config/pa/pa.h (MASK_GNU_LD): New.
11695         (TARGET_GNU_LD): New.
11696         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
11697         on gnu-ld and MASK_GNU_LD.
11698         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
11699
11700 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
11701
11702         * i386.c (athlon_cost): Fix the move costs.
11703
11704 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
11705
11706         * final.c (final): Use symbol name as function name for profiling.
11707         * profile.c (get_exec_counts): Likewise.
11708         (branch_prob): Likewise.
11709
11710 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11711
11712         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
11713
11714 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11715
11716         * gcc.c (print_multi_os_directory): New variable.
11717         (option_map): Support --print-multi-os-directory.
11718         (struct prefix_list): Add os_multilib field.
11719         (multilib_os_dir): New variable.
11720         (static_specs): Add multilib_options.
11721         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
11722         subdirs if nonzero.
11723         (read_specs, execute): Update callers.
11724         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
11725         pass 1 as multilib option.
11726         (display_help): Include --print-multi-os-directory.
11727         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
11728         (process_command): Update callers.  Handle --print-multi-os-directory.
11729         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
11730         set.
11731         (main): Update find_a_file and add_prefix callers.
11732         Handle print_multi_os_directory.
11733         (struct mdswitchstr): New.
11734         (mdswitches, n_mdswitches): New variables.
11735         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
11736         present on the command line nor their mutually incompatible
11737         switches.
11738         (default_arg): Optimize.
11739         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
11740         array.
11741         (print_multilib_info): Only print GCC multilib dir name, not OS
11742         multilib dirname.
11743         * genmultilib: Add osdirnames parameter.  Output multilib_options
11744         variable.  If osdirnames is specified, output dirnames as
11745         dirname:osdirname.
11746         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
11747         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
11748         to compute libgcc_s soname and install path.
11749         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
11750         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
11751         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
11752         argument.
11753
11754         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11755         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11756         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
11757         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
11758         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
11759         and -m64.
11760         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
11761         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11762         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
11763         (STARTFILE_ARCH_SPEC): Remove.
11764         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11765         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11766         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
11767         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
11768         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11769
11770 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
11771
11772         * predict.c (choose_function_section): Avoid choice for linkonce functions.
11773
11774 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
11775
11776         * i386.md (lea to mul peep2): Fix condition.
11777
11778 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11779
11780         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
11781         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
11782
11783 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
11784
11785         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
11786         attribute "unused".
11787
11788         * config/t-libunwind: Mention unwind-sjlj.c.
11789         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
11790         to #ifndef __USING_SJLJ_EXCEPTIONS__.
11791
11792         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
11793         before inclusion of config.gcc, but after configuring the compiler etc.
11794         Determine default value for --enable-libunwind-exceptions based on
11795         whether the host has a libunwind library (not guaranteed to be correct,
11796         but it's a reasonable first guess and can always be overridden with an
11797         explicit --enable/disable-libunwind-exceptions.
11798         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
11799         tmake_file when $use_libunwind_exceptions is enabled.
11800         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
11801         ia64 (e.g., config/t-linux also updates it).
11802         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
11803         along with the shared version of libgcc since the latter requires
11804         the former.
11805         * unwind-libunwind.c: New file.
11806         * config/t-libunwind: Ditto.
11807
11808 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11809
11810         * config.gcc: Remove support for vax-*-vms*.
11811         * config/vax/vms.h: Remove.
11812         * config/vax/xm-vms.h: Remove.
11813         * config/vax/vax-protos.h: Remove VMS-specific code.
11814         * config/vax/vax.c: Remove VMS-specific code.
11815
11816 2002-10-02  Richard Henderson  <rth@redhat.com>
11817
11818         PR opt/7124
11819         * config/i386/i386.c (ix86_register_move_cost): Increase cost
11820         for secondary_memory_needed pairs.
11821
11822 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11823
11824         * doc/vms.texi: Blow away false include file section.
11825
11826 2002-10-02  Roger Sayle  <roger@eyesopen.com>
11827
11828         PR optimization/6627
11829         * toplev.c (force_align_functions_log): New global variable.
11830         * flags.h (force_align_functions_log): Add extern prototype.
11831         * varasm.c (assemble_start_function): Use it to force minimum
11832         function alignment.
11833         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
11834         minimum function alignment to one byte.
11835         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
11836         the least significant bit of vtable member function pointers.
11837         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
11838         here from cp/cp-tree.h.
11839
11840 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
11841
11842         * i386.c (print_operand_address): Use RIP addressing for offsetted
11843         label refs too.
11844
11845 2002-09-30  David S. Miller  <davem@redhat.com>
11846
11847         PR middle-end/7151
11848         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
11849         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
11850
11851 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
11852
11853         * calls.c (expand_call): Remove the `no indirect check'
11854         for sibcall optimization; use function_ok_for_sibcall
11855         target hook; refine check for `function is volatile'.
11856         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
11857         * hooks.c (hook_tree_tree_bool_false): New.
11858         * hooks.h (hook_tree_tree_bool_false): Declare.
11859         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11860         (TARGET_INITIALIZER): Add it.
11861         * target.h (struct gcc_target): Add function_ok_for_sibcall.
11862         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
11863         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11864         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11865         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
11866         Remove function declaration.
11867         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
11868         function static and accept another argument of type `tree'.
11869         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11870         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11871         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11872         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
11873         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11874         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11875         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11876         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
11877         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
11878         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11879         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11880         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
11881         Remove function declaration.
11882         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
11883         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
11884         rename first argument to `decl'; accept another argument
11885         of type `tree'; make static.
11886         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11887         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11888         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
11889         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11890         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11891         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
11892         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11893         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11894         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11895
11896 2002-10-01  Roger Sayle  <roger@eyesopen.com>
11897
11898         * unroll.c (loop_iterations): Revert 2002-09-08 change.
11899
11900 2002-10-01  Richard Henderson  <rth@redhat.com>
11901
11902         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
11903         (real_to_hexadecimal): Likewise.
11904         * print-rtl.c (print_rtx): If we are linked with real.c, don't
11905         dump the XWINT fields of a floating point CONST_DOUBLE.
11906
11907 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
11908
11909         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
11910
11911 2002-10-01  Richard Henderson  <rth@redhat.com>
11912
11913         * calls.c (precompute_register_parameters): Force non-legitimate
11914         constants into pseudos.
11915
11916 2002-10-01  Nick Clifton  <nickc@redhat.com>
11917
11918         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
11919         to assembler template.
11920
11921 2002-10-01  Richard Henderson  <rth@redhat.com>
11922
11923         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
11924         for TLS debug info to !DECL_EXTERNAL.
11925
11926 2002-10-01  Matt Thomas  <matt@3am-software.com>
11927             Jason Thorpe  <thorpej@wasabisystems.com>
11928
11929         * config.gcc (vax-*-netbsdelf*): Enable configuration.
11930         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
11931         if not already defined.
11932         * config/vax/elf.h: New file.
11933         * config/vax/netbsd-elf.h: New file.
11934         * config/vax/vax.c: Include "debug.h".
11935         (vax_output_function_prologue): Add dwarf2 support.  Use
11936         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
11937         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
11938         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
11939         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
11940         (VAX_ISTREAM_SYNC): Remove.
11941         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
11942         (JUMP_TABLES_IN_TEXT_SECTION): Define.
11943         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
11944         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
11945         and assemble_name.
11946         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11947         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
11948         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
11949         (INCOMING_RETURN_ADDR_RTX): Define.
11950         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
11951         (VUNSPEC_SYNC_ISTREAM): Define.
11952         (blockage): Use VUNSPEC_BLOCKAGE.
11953         (sync_istream): New insn.
11954
11955 2002-10-01  Richard Henderson  <rth@redhat.com>
11956
11957         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
11958         (*call_value_pop, call, call_value): Add dwarf2 EH support.
11959         (*call): New insn.
11960
11961 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
11962
11963         PR c/8083
11964         * c-typeck.c (build_c_cast): Warn about type punning which breaks
11965         type based aliasing.
11966
11967 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
11968
11969         * stor-layout.c (update_alignment_for_field): New function.
11970         (place_union_field): Use it.
11971         (place_field): Likewise.
11972
11973 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
11974
11975         PR other/8077
11976         * gcc.c (cc1_options): Add space on -auxbase-strip.
11977
11978 2002-10-01  Jim Wilson  <wilson@redhat.com>
11979
11980         * config/v850/v850.h (EPILOGUE_USES): Define.
11981
11982 2002-09-30  Andrew Haley  <aph@redhat.com>
11983
11984         * flow.c (insn_dead_p): When using non-call-exceptions, don't
11985         eliminate insns that may trap.
11986         * cse.c (insn_live_p): Likewise.
11987
11988 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11989
11990         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
11991         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
11992         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
11993         * config/mips/mips.md: Apply same renaming here.
11994
11995 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11996
11997         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
11998         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
11999         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
12000         * config/mips/mips.md (define_attr cpu): Remove r4320.
12001         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
12002
12003 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12004
12005         * config/mips/mips.c (mips16_strings): New variable.
12006         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
12007         symbol in mips16_strings.  Free the list.
12008         (mips_encode_section_info): Keep track of local strings.
12009
12010 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12011
12012         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
12013         (sordered_df, sordered_sf): Remove.
12014         * config/mips/mips.c (get_float_compare_codes): New fn.
12015         (gen_int_relational, gen_conditional_move): Use it.
12016
12017 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12018
12019         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
12020         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
12021         * config/mips/mips.c (fcc_register_operand): New function.
12022         (mips_emit_fcc_reload): New function, extracted from reload_incc.
12023         (override_options): Allow TFmode values in float registers
12024         if ISA_HAS_8CC.
12025         * cnfig/mips/mips.md (reload_incc): Change destination prediate
12026         to fcc_register_operand.  Remove misleading source constraint.
12027         Use mips_emit_fcc_reload.
12028         (reload_outcc): Duplicate reload_incc.
12029
12030 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
12031
12032         * gcc.c (validate_switches): Handle all new forms of spec
12033         syntax introduced recently.  Now returns a char *.
12034         (validate_all_switches): Repetitive logic broken out to...
12035         (validate_switches_from_spec): ...here.
12036         * mklibgcc.in: Don't @-flag commands to generate .oS files.
12037
12038 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
12039
12040         * longlong.h: Partially synchronize with GMP-4.1 version:
12041         Use i370 definitions also for s390.
12042         Add generic definition of umul_ppmm in terms of smul_ppmm.
12043         [s390] (umul_ppmm): Remove.
12044         [s390] (smul_ppmm): Fix incorrect assembler constraints.
12045         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
12046
12047 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
12048
12049         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
12050         Add new RL_REGS register class.
12051         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
12052         Call xtensa_preferred_reload_class for both input and output reloads.
12053         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
12054         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
12055         instead of either AR_REGS or GR_REGS classes.
12056         (xtensa_secondary_reload_class): Use new RL_REGS class.
12057         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
12058
12059 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12060
12061         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
12062         (pa_strip_name_encoding): Strip '@' and '*', in that order.
12063         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
12064         there is a '*' prefix in NAME.
12065
12066 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
12067
12068         * reload.c (push_reload): Handle subregs and secondary memory.
12069         * reload1.c (gen_reload): Likewise.
12070
12071         * jump.c (reg_or_subregno): New function.
12072         * rtl.h (reg_or_subregno): Declare
12073         * unroll.c (find_splittable_givs): Handle subregs.
12074
12075 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
12076
12077         * store-layout.c (finish_record_layout): Add free_p parameter.
12078         (layout_type): Pass it.
12079         * tree.h (finish_record_layout): Update prototype.
12080
12081 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
12082
12083         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
12084
12085         * gcse.c (cprop_jump): Check that the register has not
12086         been modified
12087         (cprop_jump): Likewise.
12088
12089 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
12090
12091         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
12092         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
12093         that we have a SImode access, and only then if reload hasn't completed;
12094         for all other cases, use LO_REGS.
12095
12096 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12097
12098         * openbsd.h: Fix typo in last change.
12099
12100 2002-09-29  Richard Henderson  <rth@redhat.com>
12101
12102         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
12103
12104 2002-09-29  Richard Henderson  <rth@redhat.com>
12105
12106         PR c/8002
12107         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
12108         for CONST_INT.
12109
12110 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
12111
12112         * real.h (ibm_extended_format): Declare.
12113         * real.c (encode_ibm_extended, decode_ibm_extended): New
12114         functions.
12115
12116 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12117
12118         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
12119
12120         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
12121
12122 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12123
12124         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
12125
12126 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
12127
12128         * builtins.def: Fix comment formatting.
12129         * c-common.def: Likewise.
12130         * cfgcleanup.c: Likewise.
12131         * combine.c: Likewise.
12132         * gengtype.c: Likewise.
12133         * params.def: Likewise.
12134         * predict.def: Likewise.
12135         * rtl.def: Likewise.
12136         * stab.def: Likewise.
12137         * stor-layout.c: Likewise.
12138         * tree.def: Likewise.
12139         * config/darwin.c: Likewise.
12140         * config/darwin.h: Likewise.
12141         * config/dbxcoff.h: Likewise.
12142         * config/elfos.h: Likewise.
12143         * config/fp-bit.c: Likewise.
12144         * config/freebsd-spec.h: Likewise.
12145         * config/interix.h: Likewise.
12146         * config/libgloss.h: Likewise.
12147         * config/linux-aout.h: Likewise.
12148         * config/linux.h: Likewise.
12149         * config/lynx-ng.h: Likewise.
12150         * config/lynx.h: Likewise.
12151         * config/netbsd-aout.h: Likewise.
12152         * config/netbsd.h: Likewise.
12153         * config/netware.h: Likewise.
12154         * config/psos.h: Likewise.
12155         * config/ptx4.h: Likewise.
12156
12157 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
12158
12159         * ChangeLog.4: Fix typos.
12160         * ChangeLog.6: Likewise.
12161         * FSFChangeLog.10: Likewise.
12162         * genattrtab.c: Fix comment typos.
12163         * haifa-sched.c: Likewise.
12164         * real.c: Likewise.
12165         * tree.h: Likewise.
12166         * config/arm/arm.c: Likewise.
12167         * config/arm/crti.asm: Likewise.
12168         * config/arm/crtn.asm: Likewise.
12169         * config/frv/frv.c: Likewise.
12170         * config/frv/frv.md: Likewise.
12171         * config/h8300/h8300.md: Likewise.
12172         * config/i386/rtemself.h: Likewise.
12173         * config/ia64/unwind-ia64.c: Likewise.
12174         * config/ip2k/ip2k.h: Likewise.
12175         * config/m88k/m88k.c: Likewise.
12176         * config/m88k/m88k.md: Likewise.
12177         * config/mips/sr71k.md: Likewise.
12178         * config/mmix/mmix.c: Likewise.
12179         * config/rs6000/rs6000.c: Likewise.
12180         * config/sh/sh.md: Likewise.
12181
12182 2002-09-26  Theodore A. Roth  <troth@verinet.com>
12183
12184         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
12185         * config/avr/avr.md: Ditto.
12186
12187 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
12188
12189         PR preprocessor/8055
12190         * cppmacro.c (stringify_arg): Do not overflow the buffer
12191         with the terminating NUL when the argument to be stringified
12192         has no tokens.
12193
12194 2002-09-27  Richard Henderson  <rth@redhat.com>
12195
12196         * unroll.c (simplify_cmp_and_jump_insns): New.
12197         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
12198         instead of expand_simple_foo.
12199
12200 2002-09-27  Richard Henderson  <rth@redhat.com>
12201
12202         PR optimization/7520
12203         * cfganal.c (flow_active_insn_p): New.
12204         (forwarder_block_p): Use it.
12205
12206 2002-09-27  Richard Henderson  <rth@redhat.com>
12207
12208         * emit-rtl.c (active_insn_p): Revert last change.
12209
12210 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
12211
12212         * doc/extend.texi (tls_model): Document.
12213         * varasm.c (decl_tls_model): New.
12214         * c-common.c (handle_tls_model_attribute): New.
12215         (c_common_attribute_table): Add tls_model.
12216         * config/alpha/alpha.c (alpha_encode_section_info): Use
12217         decl_tls_model.
12218         * flags.h (enum tls_model, flag_tls_default): Move...
12219         * tree.h (enum tls_model, flag_tls_default): ...here.
12220         (decl_tls_model): New prototype.
12221         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
12222         * config/i386/i386.c (ix86_encode_section_info): Likewise.
12223         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
12224         Allow !flag_pic.
12225
12226 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
12227
12228         * LANGUAGES: Follow spelling conventions.
12229         * rtl.def: Likewise.
12230         * sbitmap.c: Likewise.
12231         * sched-int.h: Likewise.
12232         * sched-rgn.c: Likewise.
12233         * sibcall.c: Likewise.
12234         * simplify-rtx.c: Likewise.
12235         * ssa.c: Likewise.
12236         * stab.def: Likewise.
12237         * stmt.c: Likewise.
12238         * stor-layout.c: Likewise.
12239         * target.h: Likewise.
12240         * timevar.c: Likewise.
12241         * toplev.c: Likewise.
12242         * tree-dump.c: Likewise.
12243         * tree-inline.c: Likewise.
12244         * tree.c: Likewise.
12245         * tree.def: Likewise.
12246         * tree.h: Likewise.
12247         * unroll.c: Likewise.
12248         * varasm.c: Likewise.
12249         * vmsdbgout.c: Likewise.
12250         * treelang/treelang.texi: Likewise.
12251         * treelang/treetree.c: Likewise.
12252
12253 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
12254
12255         * config/h8300/h8300.c (compute_saved_regs): Use a macro
12256         instead of a hard register number.
12257         (get_shift_alg): Use an enumerated type instead of numbers.
12258         (h8300_shift_needs_scratch_p): Likewise.
12259
12260 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12261
12262         * varasm.c (force_data_section): Remove.
12263         (assemble_constant_align): Likewise.
12264         * output.h: Remove corresponding prototypes.
12265
12266 2002-09-26  Roger Sayle  <roger@eyesopen.com>
12267
12268         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
12269         jump, if the loop to exit is the top of the current nesting stack.
12270
12271 2002-09-26  Torbjorn Granlund  <tege@swox.com>
12272
12273         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
12274         arithmetic.
12275
12276 2002-09-26  David S. Miller  <davem@redhat.com>
12277
12278         PR optimization/7335
12279         * calls.c (emit_library_call_value_1): Passing args by reference
12280         converts a CONST function into a PURE one.
12281
12282 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
12283
12284         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
12285         text_section.
12286         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
12287         text section.
12288         * config/rs6000/rs6000.c (rs6000_override_options): Allow
12289         function-sections and data-sections functionality on AIX.
12290
12291 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
12292             Dale Johannesen  <dalej@apple.com>
12293
12294         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
12295         in RTL for sub-word loads from memory.
12296
12297 2002-09-26  Richard Henderson  <rth@redhat.com>
12298
12299         PR c/7160
12300         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
12301         on call insns.
12302
12303 2002-09-26  Richard Henderson  <rth@redhat.com>
12304
12305         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
12306
12307 2002-09-26  Chris Lattner  <sabre@nondot.org>
12308
12309         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
12310         handling undefined values.
12311
12312 2002-09-26  Richard Henderson  <rth@redhat.com>
12313
12314         PR opt/7520
12315         * emit-rtl.c (active_insn_p): Consider a clobber of the
12316         function return value to be active even after reload.
12317
12318 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
12319
12320         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
12321         by absolute loop increment, not loop increment.
12322
12323 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12324
12325         * c-common.h: Follow spelling conventions.
12326         * cpplex.c: Likewise.
12327         * cpplib.h: Likewise.
12328         * gthr-dce.h: Likewise.
12329         * gthr-posix.h: Likewise.
12330         * optabs.c: Likewise.
12331         * output.h: Likewise.
12332         * profile.c: Likewise.
12333         * protoize.c: Likewise.
12334         * ra-rewrite.c: Likewise.
12335         * real.c: Likewise.
12336         * recog.c: Likewise.
12337         * reg-stack.c: Likewise.
12338         * regclass.c: Likewise.
12339         * regmove.c: Likewise.
12340         * reload.c: Likewise.
12341         * reload.h: Likewise.
12342         * reload1.c: Likewise.
12343         * reorg.c: Likewise.
12344         * resource.c: Likewise.
12345         * rtl.h: Likewise.
12346         * rtlanal.c: Likewise.
12347
12348 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12349
12350         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
12351         for symbol address.
12352
12353 2002-09-24  Eric Christopher  <echristo@redhat.com>
12354
12355         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
12356         * config/mips/elf64.h: Ditto.
12357
12358 2002-09-24  Eric Christopher  <echristo@redhat.com>
12359
12360         * except.c (expand_builtin_extract_return_address): Handle case
12361         where Pmode != ptr_mode.
12362
12363 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12364
12365         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
12366
12367 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12368
12369         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
12370
12371 2002-09-26  Igor Shevlyakov <igor@microunity.com>
12372
12373         * combine.c (simplify_set): Don't call to force_to_mode if size
12374         of integer type is larger than HOST_BITS_PER_WIDE_INT.
12375
12376 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
12377
12378         * Makefile.in (qmtest-g++): Fix file path.
12379
12380 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
12381
12382         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
12383         A + (-const) on RTX level, even for unsigned types.
12384
12385 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
12386
12387         * reload.c (dup_replacements): New function.
12388         (find_reloads): Use it to duplicate replacements at the top level
12389         of match_dup operands.
12390
12391 2002-09-26  Miles Bader  <miles@gnu.org>
12392
12393         * v850.md ("length"): Change default value to 4.
12394
12395 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12396
12397         * ChangeLog.1: Follow spelling conventions.
12398         * ChangeLog.4: Likewise.
12399         * ChangeLog.6: Likewise.
12400         * FSFChangeLog.11: Likewise.
12401         * doc/cpp.texi: Likewise.
12402         * doc/invoke.texi: Likewise.
12403         * doc/tm.texi: Likewise.
12404
12405 2002-09-26  Nick Clifton  <nickc@redhat.com>
12406
12407         * config.gcc: Add x prefix to v850e case for handling
12408         --with-cpu=v850e.
12409
12410 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
12411
12412         * gcc.c (input_suffix_matches, switch_matches,
12413         mark_matching_switches, process_marked_switches,
12414         process_brace_body): New functions - split from handle_braces.
12415         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
12416         and ignore whitespace in more places.
12417         (specs documentation comment): Document %{S:X;T:Y;:D}.
12418         Clarify other %{...} docs.
12419         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
12420         %{...} docs.
12421
12422         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
12423         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
12424
12425 2002-09-25  David S. Miller  <davem@redhat.com>
12426
12427         PR target/7842
12428         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
12429         extend.
12430
12431 2002-09-25  Richard Henderson  <rth@redhat.com>
12432
12433         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
12434         fp CONST_DOUBLE; use real_identical.
12435
12436 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
12437
12438         * doc/invoke.texi: Add more -Wabi examples.
12439
12440 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
12441
12442         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
12443
12444 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
12445
12446         * profile.c (end_branch_prob): Only look for __gcov_init on
12447         weak-enabled native compilers.
12448
12449 2002-09-24  Denis Chertykov  <denisc@overta.ru>
12450
12451         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
12452         cases of optimizing "add sp,w" to "inc sp".
12453
12454 2002-09-24  Adam Nemet  <anemet@lnxw.com>
12455
12456         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
12457         epilogue for naked functions.
12458
12459 2002-09-24  Adam Nemet  <anemet@lnxw.com>
12460             Nick Clifton  <nickc@redhat.com>
12461
12462         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
12463         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
12464         is defined.
12465
12466 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
12467
12468         * config/s390/s390.c (preferred_la_operand_p): New function.
12469         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
12470         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
12471         ("*la_64_cc", "*la_31_cc", splitters): ... these.
12472         ("*la_31"): Deactivate for TARGET_64BIT.
12473         ("*la_31_and", "*la_31_and_cc"): New.
12474
12475 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12476
12477         * real.h (real_value): Make `exp' explicitly signed.
12478
12479 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
12480
12481         * config/elfos.h: Follow spelling conventions.
12482         * config/alpha/alpha.h: Likewise.
12483         * config/arc/arc.h: Likewise.
12484         * config/arm/arm.md: Likewise.
12485         * config/avr/avr.h: Likewise.
12486         * config/cris/cris.md: Likewise.
12487         * config/d30v/d30v.h: Likewise.
12488         * config/frv/frv.c: Likewise.
12489         * config/frv/frv.h: Likewise.
12490         * config/h8300/h8300.c: Likewise.
12491         * config/h8300/h8300.h: Likewise.
12492         * config/h8300/h8300.md: Likewise.
12493         * config/i386/cygwin.h: Likewise.
12494         * config/i386/i386.h: Likewise.
12495         * config/i386/sysv3.h: Likewise.
12496         * config/i960/i960.h: Likewise.
12497         * config/ia64/ia64.h: Likewise.
12498         * config/ia64/ia64.md: Likewise.
12499         * config/ip2k/ip2k.h: Likewise.
12500         * config/m32r/m32r.h: Likewise.
12501         * config/m68k/m68k.h: Likewise.
12502         * config/m88k/m88k.h: Likewise.
12503         * config/mcore/mcore.c: Likewise.
12504         * config/mcore/mcore.h: Likewise.
12505         * config/mcore/mcore.md: Likewise.
12506         * config/mips/mips.h: Likewise.
12507         * config/mmix/mmix.h: Likewise.
12508         * config/mmix/mmix.md: Likewise.
12509         * config/ns32k/netbsd.h: Likewise.
12510         * config/ns32k/ns32k.h: Likewise.
12511         * config/ns32k/ns32k.md: Likewise.
12512         * config/pa/pa.h: Likewise.
12513         * config/romp/romp.h: Likewise.
12514         * config/rs6000/rs6000.h: Likewise.
12515         * config/rs6000/rs6000.md: Likewise.
12516         * config/sparc/sparc.h: Likewise.
12517         * config/stormy16/stormy-abi: Likewise.
12518         * config/stormy16/stormy16.h: Likewise.
12519         * config/vax/vax.h: Likewise.
12520
12521 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
12522
12523         * config/alpha/alpha.h: Remove commented-out macro
12524         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
12525         * config/avr/avr.h: Likewise.
12526         * config/d30v/d30v.h: Likewise.
12527         * config/dsp16xx/dsp16xx.h: Likewise.
12528         * config/i370/i370.h: Likewise.
12529         * config/i386/i386.h: Likewise.
12530         * config/i960/i960.h: Likewise.
12531         * config/m68k/m68k.h: Likewise.
12532         * config/m88k/m88k.h: Likewise.
12533         * config/mips/mips.h: Likewise.
12534         * config/ns32k/ns32k.h: Likewise.
12535         * config/pdp11/pdp11.h: Likewise.
12536         * config/romp/romp.h: Likewise.
12537         * config/rs6000/rs6000.h: Likewise.
12538         * config/s390/s390.h: Likewise.
12539         * config/sh/sh.h: Likewise.
12540         * config/sparc/sparc.h: Likewise.
12541         * config/stormy16/stormy16.h: Likewise.
12542         * config/vax/vax.h: Likewise.
12543
12544 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
12545
12546         * function.c (push_temp_slots_for_block): Remove.
12547         (push_temp_slots_for_target): Likewise.
12548         (get_target_temp_slot_level): Likewise.
12549         (set_target_temp_slot_level): Likewise.
12550         (get_first_block_beg): Likewise.
12551         * function.h: Remove corresponding prototypes.
12552
12553 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
12554
12555         * version.c (version_string): Now const char[].
12556         * version.h: Update to match.
12557
12558 2002-09-23  Richard Henderson  <rth@redhat.com>
12559
12560         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
12561         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
12562         (TARGET_SWITCHES): Don't reference them.
12563         * config/i386/i386.c (override_options): Use target_flags_explicit
12564         to examine bits set by the user.
12565
12566 2002-09-23  Dale Johannesen  <dalej@apple.com>
12567
12568         * dbxout.c (dbxout_parms):  Set current_sym_code for params
12569         passed on stack by invisible reference.
12570
12571 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
12572
12573         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
12574         at least one byte of space.
12575
12576 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
12577
12578         * c-common.h (flag_abi_version): Fix typo in comment.
12579         * doc/invoke.texi (flag_abi_version): Document default value.
12580
12581 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
12582
12583         * doc/extend.texi (Extended Asm): Clarify that overlap between
12584         asm-declared register variables used in an asm and the asm clobber
12585         list is not allowed.
12586         * stmt.c (decl_conflicts_with_clobbers_p): New function.
12587         (expand_asm_operands): Keep track of clobbered registers.  Call
12588         decl_conflicts_with_clobbers_p for each input and output operand.
12589         If no conflicts found before, also do conflict sanity check when
12590         emitting clobbers.
12591
12592 2002-09-23  Richard Henderson  <rth@redhat.com>
12593
12594         * c-common.c (cpp_define_data_format): Remove.
12595         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
12596         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
12597         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
12598         * doc/cpp.texi: Don't document them either.
12599         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
12600         __LONG_LONG_MAX__): Document.
12601         (__TARGET_FLOAT_FORMAT__): Remove.
12602
12603 2002-09-23  Richard Henderson  <rth@redhat.com>
12604
12605         * real.c (do_multiply): Normalize U before addition.
12606
12607 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
12608
12609         * c-common.c (flag_abi_version): New variable.
12610         * c-common.h (flag_abi_version): Declare it.
12611         * c-opts.c (missing_arg): Add -fabi-version.
12612         (c_common_decode_option): Process -fabi-version.
12613         * doc/invoke.texi (-fabi-version): Document it.
12614         (-Wabi): Add information about bit-fields in unions.
12615
12616 2002-09-22  Roger Sayle  <roger@eyesopen.com>
12617
12618         * expr.c (STORE_BY_PIECES_P): New target macro.
12619         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
12620         instead of MOVE_BY_PIECES_P.
12621         * doc/tm.texi: Document this new macro.
12622
12623 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
12624
12625         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
12626         unless -fno-pic or -fno-PIC is specified.
12627
12628 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12629
12630         * c-common.c (preprocessing_trad_p): Define.
12631         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
12632         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
12633         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
12634         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
12635         * pa-linux.h (CPP_PREDEFINES): Delete.
12636         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
12637         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
12638         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
12639         (TARGET_OS_CPP_BUILTINS): Define.
12640         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
12641         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
12642         (SUBTARGET_SWITCHES): Provide default definition.
12643         (TARGET_OPTIONS): Reformat.  Use N_() macro.
12644         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
12645         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
12646         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
12647         (TARGET_CPU_CPP_BUILTINS): Define.
12648         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
12649         * doc/invoke.texi (msio, mwsio): Document new hppa options.
12650         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
12651         preprocessing_trad_p().
12652
12653 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
12654
12655         * doc/install.texi: Document behavior of --with-headers and
12656         --with-libs when arguments are omitted.
12657
12658 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
12659
12660         * dbxout.c: Follow spelling conventions.
12661         * defaults.h: Likewise.
12662         * df.c: Likewise.
12663         * diagnostic.h: Likewise.
12664         * doloop.c: Likewise.
12665         * dwarf2out.c: Likewise.
12666         * dwarfout.c: Likewise.
12667         * emit-rtl.c: Likewise.
12668         * except.c: Likewise.
12669         * explow.c: Likewise.
12670         * expmed.c: Likewise.
12671         * expr.c: Likewise.
12672         * expr.h: Likewise.
12673         * flags.h: Likewise.
12674         * flow.c: Likewise.
12675         * fold-const.c: Likewise.
12676         * function.c: Likewise.
12677         * function.h: Likewise.
12678         * gcc.c: Likewise.
12679         * gcov-io.h: Likewise.
12680         * gcov.c: Likewise.
12681         * gcse.c: Likewise.
12682         * genattrtab.c: Likewise.
12683         * genconfig.c: Likewise.
12684         * genrecog.c: Likewise.
12685         * ggc-page.c: Likewise.
12686         * ggc.h: Likewise.
12687         * global.c: Likewise.
12688         * gthr-win32.h: Likewise.
12689         * integrate.c: Likewise.
12690         * jump.c: Likewise.
12691         * langhooks.c: Likewise.
12692         * langhooks.h: Likewise.
12693         * line-map.h: Likewise.
12694         * local-alloc.c: Likewise.
12695         * longlong.h: Likewise.
12696         * loop.c: Likewise.
12697         * loop.h: Likewise.
12698
12699 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
12700
12701         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
12702
12703 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
12704
12705         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
12706         for -Os/TARGET_64BIT too.
12707
12708 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
12709
12710         * ChangeLog: Follow spelling conventions.
12711         * ChangeLog.0: Likewise.
12712         * ChangeLog.1: Likewise.
12713         * ChangeLog.2: Likewise.
12714         * ChangeLog.3: Likewise.
12715         * ChangeLog.4: Likewise.
12716         * ChangeLog.5: Likewise.
12717         * ChangeLog.6: Likewise.
12718         * FSFChangeLog.10: Likewise.
12719         * FSFChangeLog.11: Likewise.
12720         * alias.c: Likewise.
12721         * basic-block.h: Likewise.
12722         * c-aux-info.c: Likewise.
12723         * c-common.c: Likewise.
12724         * c-common.h: Likewise.
12725         * c-decl.c: Likewise.
12726         * c-format.c: Likewise.
12727         * c-semantics.c: Likewise.
12728         * c-typeck.c: Likewise.
12729         * calls.c: Likewise.
12730         * cfganal.c: Likewise.
12731         * cfgloop.c: Likewise.
12732         * collect2.c: Likewise.
12733         * combine.c: Likewise.
12734         * conflict.c: Likewise.
12735         * cppexp.c: Likewise.
12736         * cppfiles.c: Likewise.
12737         * cpphash.h: Likewise.
12738         * cppinit.c: Likewise.
12739         * cpplex.c: Likewise.
12740         * cpplib.c: Likewise.
12741         * cpplib.h: Likewise.
12742         * cppmacro.c: Likewise.
12743         * cse.c: Likewise.
12744
12745 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12746
12747         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
12748         LINK_SPEC.
12749         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
12750         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
12751         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
12752
12753 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12754
12755         PR opt/7930
12756         * cse.c (fold_rtx): Calculate old_cost before we fold each
12757         operand.
12758
12759 2002-09-21  Richard Henderson  <rth@redhat.com>
12760
12761         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
12762         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12763         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12764         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
12765         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
12766         * doc/cpp.texi: Don't document them.
12767
12768 2002-09-21  Richard Henderson  <rth@redhat.com>
12769
12770         * c-common.c (builtin_define_float_constants): Use real_format
12771         to get the floating-point parameters.
12772
12773 2002-09-21  Richard Henderson  <rth@redhat.com>
12774
12775         * real.c (struct real_format): Move to real.h.
12776         (real_format_for_mode): Rename from fmt_for_mode; update all users;
12777         initialize with ieee defaults.
12778         (real_to_target_fmt, real_from_target_fmt): New.
12779         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12780         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12781         ieee_quad_format, i370_single_format, i370_double_format,
12782         c4x_single_format, c4x_extended_format): Rename from s/_format//.
12783         (ieee_quad_format): Fix emin.
12784         (format_for_size, init_real_once): Remove.
12785         * real.h (struct real_format): Move from real.c.
12786         (real_format_for_mode): Declare.
12787         (real_to_target_fmt, real_from_target_fmt): Declare.
12788         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12789         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12790         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
12791         i370_single_format, i370_double_format, c4x_single_format,
12792         c4x_extended_format): Declare.
12793         * toplev.c (do_compile): Don't call init_real_once.
12794
12795         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12796         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12797
12798         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
12799         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
12800         * config/alpha/alpha.c (override_options): Set real_format_for_mode
12801         for VAX, if enabled.
12802
12803         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
12804         for C4X.
12805
12806         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
12807         * config/i370/i370.c (override_options): New.
12808         * config/i370/i370-protos.h: Update.
12809
12810         * config/i386/i386.c (override_options): Set real_format_for_mode
12811         for Intel 80-bit extended.
12812         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12813
12814         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
12815         (OVERRIDE_OPTIONS): Move code...
12816         * config/i960/i960.c (i960_initialize): ... here.  Set
12817         real_format_for_mode for Intel 80-bit extended.
12818
12819         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
12820         for Intel 80-bit extended, if enabled.
12821
12822         * config/m68k/m68k.c (override_options): Set real_format_for_mode
12823         for Motorola 96-bit extended.
12824
12825         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
12826         * config/vax/vax.c (override_options): New.
12827         * config/vax/vax-protos.h: Update.
12828
12829 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
12830
12831         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
12832         #if TARGET_MACHO.
12833
12834         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
12835         insns.  Supply missing clobber of scratch reg.
12836
12837 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
12838
12839         * config/m32r/m32r.c: Follow spelling conventions.
12840         * config/m32r/m32r.h: Likewise.
12841         * config/m32r/m32r.md: Likewise.
12842         * config/m68k/m68k.c: Likewise.
12843         * config/m88k/m88k.c: Likewise.
12844         * config/mcore/mcore.c: Likewise.
12845         * config/mips/mips.c: Likewise.
12846         * config/mips/mips.h: Likewise.
12847         * config/mmix/mmix.c: Likewise.
12848         * config/mn10200/mn10200.c: Likewise.
12849         * config/ns32k/ns32k.h: Likewise.
12850         * config/pa/pa.c: Likewise.
12851         * config/pa/pa64-linux.h: Likewise.
12852         * config/pdp11/pdp11.h: Likewise.
12853         * config/romp/romp.c: Likewise.
12854         * config/romp/romp.h: Likewise.
12855         * config/rs6000/eabi.asm: Likewise.
12856         * config/rs6000/linux64.h: Likewise.
12857         * config/rs6000/rs6000.c: Likewise.
12858         * config/rs6000/rs6000.h: Likewise.
12859         * config/rs6000/rs6000.md: Likewise.
12860         * config/rs6000/sysv4.h: Likewise.
12861         * config/rs6000/xcoff.h: Likewise.
12862
12863 2002-09-20  Jim Wilson  <wilson@redhat.com>
12864
12865         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
12866
12867 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
12868
12869         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
12870         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
12871         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
12872         (legitimate_address_p): Likewise.
12873         (legitimize_address): Use @gotntpoff and @indntpoff.
12874         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
12875         (output_addr_const_extra): Likewise.
12876
12877 2002-09-20  Jim Wilson  <wilson@redhat.com>
12878
12879         * combine.c (try_combine): When split an instruction pair, where the
12880         first has a sign_extend src, verify that the src and dest modes match.
12881
12882 2002-09-20  Richard Henderson  <rth@redhat.com>
12883
12884         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
12885         (override_options): Do not initialize them.
12886         (mips_const_double_ok): Allow no fp constants except zero,
12887         and not even that for mips16.
12888         (const_float_1_operand): Use dconst1.
12889         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
12890         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
12891         Don't allow arbitrary constants; fix predicates and C constraint.
12892
12893 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
12894
12895         * cppmacro.c: Don't warn about function-like macros without
12896         '(' during pre-expansion.
12897
12898 2002-09-20  Jim Wilson  <wilson@redhat.com>
12899
12900         * config/v850/v850.c (current_function_anonymous_args): Delete.
12901         (expand_prologue): Use current_function_args_info.anonymous_args.
12902         (expand_epilogue): Delete use of current_function_anonymous_args.
12903         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
12904         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
12905         (current_function_anonymous_args): Delete extern declaration.
12906         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
12907
12908 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
12909
12910         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
12911         to load_macho_picbase.
12912         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
12913         (load_macho_picbase): Take the symbol to use as a parameter.
12914         (macho_correct_pic): New insn.
12915         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
12916
12917         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
12918         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
12919         (CAN_ELIMINATE): Likewise.
12920         (INITIAL_ELIMINATION_OFFSET): Likewise.
12921         (TOC_REGISTER): Likewise.
12922
12923 2002-09-20  Richard Henderson  <rth@redhat.com>
12924
12925         * real.c (real_hash): New.
12926         * real.h: Declare it.
12927         * cse.c (canon_hash): Use it.
12928         * cselib.c (hash_rtx): Likewise.
12929         * emit-rtl.c (const_double_htab_hash): Likewise.
12930         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
12931         * varasm.c (struct rtx_const): Reduce vector size; separate
12932         integer and fp vectors.
12933         (HASHBITS): Remove.
12934         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
12935         take modulus MAX_HASH_TABLE.
12936         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
12937         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
12938         (SYMHASH): Don't use HASHBITS.
12939         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
12940         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
12941         (simplify_subtraction): Fix kind comparison.
12942         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
12943         Use a union to pun integer array.
12944         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
12945         only hash two words of integral CONST_DOUBLE.
12946
12947 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
12948
12949         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
12950         (STARTFILE_PREFIX_SPEC): New.
12951         (LINK_SPEC): Modify.
12952         (LIB_SPEC): Modify.
12953         (LIBGCC_SPEC): New.
12954
12955 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
12956
12957         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
12958         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
12959
12960 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12961
12962         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
12963         Add clobber of the condition code register.
12964
12965 2002-09-20  Richard Henderson  <rth@redhat.com>
12966
12967         * real.c (do_fix_trunc): Static.
12968         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
12969         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
12970         encode_i370_single, encode_i370_double, encode_c4x_single,
12971         encode_c4x_extended): Add default abort case.
12972
12973 2002-09-20  Richard Henderson  <rth@redhat.com>
12974
12975         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
12976         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
12977         (struct realvaluetype): Remove.
12978         (REAL_VALUE_TYPE): Use struct real_value.
12979         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
12980         (test_real_width): New.
12981         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
12982         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
12983         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
12984         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
12985         real_to_integer, real_to_integer2, real_to_decimal,
12986         real_to_hexadecimal, real_from_string, real_from_integer,
12987         real_inf, real_nan, real_2expN, real_convert, real_to_target,
12988         real_from_target): Likewise.
12989         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
12990         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
12991
12992 2002-09-20  Richard Henderson  <rth@redhat.com>
12993
12994         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
12995         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
12996         * defaults.h: ... here.
12997         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
12998         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
12999         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
13000         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
13001
13002 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
13003
13004         * config/mmix/mmix.md ("negdf2"): Rewrite.
13005         ("*expanded_negdf2"): New.
13006
13007 2002-09-19  Jim Wilson  <wilson@redhat.com>
13008
13009         * combine.c (simplify_set): When optimizing a subreg src with a
13010         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
13011
13012 2002-09-19  Dale Johannesen <dalej@apple.com>
13013         * combine.c (make_extraction): Don't create
13014         invalid subreg.
13015
13016 2002-09-19  Roger Sayle  <roger@eyesopen.com>
13017
13018         * tree.c (integer_nonzerop): New predicate for nonzero integers.
13019         * tree.h (integer_nonzerop): Add function prototype.
13020         * stmt.c (expand_end_loop):  Don't rotate the loop when there
13021         are no instructions in the test, i.e. the loop is unconditional.
13022         (expand_exit_loop_if_false):  Optimize RTL generation of loop
13023         tests when the condition is always true or always false.
13024         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
13025         do-loops when the condition is always true.
13026         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
13027         the for-expression is empty.
13028
13029 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
13030
13031         * gcc.c (use_pipes): New flag.
13032         (process_command): Set it.  Adjust check for -pipe conflicting
13033         with -time or -save-temps.
13034         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
13035         %<SWITCH.  Drop %| (without a SUFFIX).
13036         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
13037         (give_switch): Third argument eliminated.
13038         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
13039         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
13040         (specs documentation comment): Update.
13041
13042         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
13043         config/svr4.h, config/i386/freebsd-aout.h,
13044         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
13045         config/m68k/openbsd.h, config/mips/openbsd.h,
13046         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
13047         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
13048         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
13049         * config/cris/cris.h: Update comment.
13050
13051         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
13052         error messages.  Don't use %{^SWITCH}.
13053         * ada/misc.c (gnat_decode_option): Handle -I with a
13054         separate argument.
13055
13056         * f/lang-specs.h: Use %| and %m.
13057         * java/jvspec.c: Use %m and %(invoke_as).  Change all
13058         uses of %{<SWITCH} to %<SWITCH.
13059
13060         * doc/invoke.texi: Update documentation of specs.
13061         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
13062
13063 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
13064
13065         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
13066         and STRICT_LOW_PART within SET_DEST.
13067         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
13068         splitters, replacing pre-reload splitters.
13069         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
13070         "*zero_extendqihi2_31"): New insns.
13071         ("*zero_extendqihi2_64"): Do not clobber CC.
13072
13073 2002-09-18  Devang Patel  <dpatel@apple.com>
13074
13075         * cp/cp-tree.h: New prototype for walk_vtables().
13076         * cp/decl.c (walk_vtables_r): New function.
13077         (struct cp_binding_level): Add new members, namespaces,
13078         names_size and vtables.
13079         (add_decl_to_level): Add decl in namespaces or vtables
13080         chain, if conditions match.
13081         (walk_vtables): New function.
13082         (walk_namespaces_r): Travers separate namespace chain
13083         for namespace decls.
13084         (wrapup_globals_for_namespace): Use names_size instead
13085         of list_length().
13086         * cp/decl2.c (finish_file): Use walk_vtables() instead of
13087         walk_globals() to walk vtable decls.
13088
13089 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
13090
13091         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
13092         (DTORS_SECTION_ASM_OP): Ditto.
13093         (READONLY_DATA_SECTION_ASM_OP): Moved.
13094         (DATA_SECTION_ASM_OP): New.
13095         (SDATA_SECTION_ASM_OP): New.
13096         (BSS_SECTION_ASM_OP): New.
13097         (SBSS_SECTION_ASM_OP): New.
13098         (TEXT_SECTION_ASM_OP): New.
13099
13100 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
13101
13102         * config/fp-bit.c: Follow spelling conventions.
13103         * config/d30v/d30v.c: Likewise.
13104         * config/d30v/d30v.h: Likewise.
13105         * config/fr30/fr30.c: Likewise.
13106         * config/fr30/fr30.h: Likewise.
13107         * config/fr30/fr30.md: Likewise.
13108         * config/frv/frv.c: Likewise.
13109         * config/frv/frv.h: Likewise.
13110         * config/h8300/h8300.c: Likewise.
13111         * config/h8300/lib1funcs.asm: Likewise.
13112         * config/i370/i370.c: Likewise.
13113         * config/i386/i386.h: Likewise.
13114         * config/i386/i386.md: Likewise.
13115         * config/i386/pentium.md: Likewise.
13116         * config/i386/winnt.c: Likewise.
13117         * config/i960/i960.c: Likewise.
13118         * config/ia64/ia64.h: Likewise.
13119         * config/ip2k/ip2k.c: Likewise.
13120         * config/ip2k/ip2k.h: Likewise.
13121         * config/ip2k/ip2k.md: Likewise.
13122         * config/ip2k/libgcc.S: Likewise.
13123
13124 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
13125
13126         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
13127         (GOTOFF_P): Extend to allow gotoff plus constant.
13128
13129 2002-09-18  Richard Henderson  <rth@redhat.com>
13130
13131         * ifcvt.c (noce_process_if_block): Correctly detect X modified
13132         with INSN_B before COND_EARLIEST.  Don't check A and B for
13133         modification in condition range.  Reorder INSN_B for A==B properly.
13134         (if_convert): Iterate until no matches for a block.
13135
13136 2002-09-18  Richard Henderson  <rth@redhat.com>
13137
13138         * calls.c (store_one_arg): Rename default_align to parm_align;
13139         always adjust parm_align for downward padding.
13140
13141 2002-09-18  Richard Henderson  <rth@redhat.com>
13142
13143         * toplev.c (backend_init): Move init_real_once invocation ...
13144         (do_compile): ... here.
13145
13146 2002-09-18  Richard Henderson  <rth@redhat.com>
13147
13148         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
13149         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
13150
13151 2002-09-18  Richard Henderson  <rth@redhat.com>
13152
13153         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
13154
13155 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
13156
13157         * config/rs6000/rs6000.md: (floatdisf2): Rename to
13158         floatdisf2_internal1.
13159         (floatdisf2): New define_expand.
13160         (floatdisf2_internal2): Likewise.
13161
13162 2002-09-18  Richard Henderson  <rth@redhat.com>
13163
13164         * real.c (sticky_rshift_significand): Collect sticky as
13165         unsigned long, not bool.
13166
13167 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
13168
13169         * config/s390/s390.c (s390_address_cost): New function.
13170         config/s390/s390-protos.h (s390_address_cost): Add prototype.
13171         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
13172         (RTX_COST): Use COSTS_N_INSNS.
13173
13174 2002-09-18  Douglas Rupp  <rupp@gnat.com>
13175             Donn Terry  <donnte@microsoft.com>
13176
13177         * stor-layout.c (place_field): Handle alignment of whole
13178         structures when MSVC compatible bitfields are involved.
13179         Change method of computing location of MS bitfields to
13180         be compatible with #pragma pack(n).
13181
13182         * tree.h (record_layout_info): Add new field
13183         remaining_in_alignment.
13184
13185         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
13186         (pragma pack): Add paragraph on MSVC bitfield packing.
13187
13188 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
13189
13190         PR optimization/7967
13191         * arm.md (ne_zeroextractsi): Add clobber of the condition code
13192         register.
13193
13194 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
13195
13196         * config/s390/s390.c: Follow spelling conventions.
13197         * config/sh/lib1funcs.asm: Likewise.
13198         * config/sh/sh.c: Likewise.
13199         * config/sh/sh.h: Likewise.
13200         * config/sparc/sparc.c: Likewise.
13201         * config/sparc/sparc.h: Likewise.
13202         * config/sparc/sparc.md: Likewise.
13203         * config/stormy16/stormy16.c: Likewise.
13204         * config/stormy16/stormy16.h: Likewise.
13205         * config/v850/v850.c: Likewise.
13206         * config/v850/v850.h: Likewise.
13207         * config/vax/vax.c: Likewise.
13208         * config/vax/vax.h: Likewise.
13209
13210 2002-09-18  Nick Clifton  <nickc@redhat.com>
13211
13212         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
13213         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
13214         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
13215
13216 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13217
13218         * function.c (max_parm_reg_num): Remove.
13219         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
13220         drop_through_at_end_p, move_cleanups_up,
13221         expand_end_case_dummy, case_index_expr_type): Likewise.
13222         * stor-layout.c (pos_from_byte): Likewise.
13223         * tree.c (chain_member_value, chain_member_purpose, listify,
13224         tree_int_cst_msb, index_type_equal): Likewise.
13225         * tree.h: Remove prototypes for unused functions.
13226
13227 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
13228
13229         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
13230         statement that the only translation is to en_UK.
13231
13232 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13233
13234         * config/alpha/alpha.c: Follow spelling conventions.
13235         * config/alpha/alpha.h: Likewise.
13236         * config/alpha/alpha.md: Likewise.
13237         * config/arc/arc.h: Likewise.
13238         * config/arm/arm.c: Likewise.
13239         * config/arm/arm.h: Likewise.
13240         * config/arm/arm.md: Likewise.
13241         * config/arm/pe.c: Likewise.
13242         * config/arm/unknown-elf.h: Likewise.
13243         * config/avr/avr.c: Likewise.
13244         * config/avr/avr.h: Likewise.
13245         * config/c4x/c4x.c: Likewise.
13246         * config/cris/cris.c: Likewise.
13247         * config/cris/cris.h: Likewise.
13248
13249 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
13250
13251         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
13252         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
13253         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
13254
13255 2002-09-17  Dale Johannesen  <dalej@apple.com>
13256
13257         * cfgcleanup.c (try_forward_edges):  Do not forward a
13258         branch to just after a loop exit before loop optimization;
13259         this interfered with doloop detection.
13260
13261 2002-09-17  Nick Clifton  <nickc@redhat.com>
13262
13263         * config/arm/arm.c (output_return_instruction): Do not
13264         writeback the stack pointer when it is being loaded.
13265         (arm_output_epilogue): Likewise.
13266
13267 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13268
13269         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
13270         generate a pseudo reg that receives the result of a libcall.
13271         (prepare_float_lib_cmp): Likewise.
13272
13273 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
13274
13275         * config/ia64/elf.h: Remove CPP_PREDEFINES.
13276
13277 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13278
13279         Fix PR/7014 and related objc bugs:
13280         * c-typeck.c (comp_target_types): Added a reflexive argument.
13281         Pass it to ObjC when/if calling objc_comptypes().  Updated all
13282         callers to provide the appropriate reflexive argument.
13283         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
13284         typechecking for all cases of comparisons and assignments,
13285         particularly the obscure and less common ones involving protocols.
13286
13287 2002-09-17  Nick Clifton  <nickc@redhat.com>
13288
13289         * machmode.def (V1DImode): New mode.  A single element vector.
13290         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
13291         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
13292         * tree.c (build_common_tree_nodes_2): Build
13293         unsigned_V1DI_type_node and V1D1_type_node.
13294         * c-common.c (c_common_type_for_mode): Return
13295         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
13296         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
13297
13298 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13299
13300         * doc/objc.texi (Constant string objects): Extended documentation
13301         to make clear that the constant string class ivar layout is
13302         completely fixed.
13303
13304 2002-09-17  Roger Sayle  <roger@eyesopen.com>
13305
13306         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
13307         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
13308
13309 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
13310
13311         * config/mips/mips.c (save_restore_insns): Remove unused variable.
13312         * gcc.c (make_relative_prefix): Likewise.
13313         * loop.c (check_final_value): Likewise.
13314         * jump.c (init_label_info): Remove return value.
13315         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
13316
13317 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13318
13319         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
13320         (ASM_PN_FORMAT): Define.
13321
13322 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13323
13324         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
13325         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
13326         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
13327         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
13328         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
13329         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
13330         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
13331         Delete.
13332         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
13333         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
13334         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
13335
13336         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
13337         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
13338
13339 2002-09-16  Richard Henderson  <rth@redhat.com>
13340
13341         * expr.c (emit_block_move): Set memory block size as appropriate
13342         for the copy.
13343
13344 2002-09-16  Richard Henderson  <rth@redhat.com>
13345
13346         PR fortran/3924
13347         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
13348
13349 2002-09-16  Richard Henderson  <rth@redhat.com>
13350
13351         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
13352         as well as OFFSET for BITPOS.
13353
13354 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
13355
13356         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
13357         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
13358         winchip2 and c3.
13359         * doc/invoke.texi: Mention new aliases.
13360
13361 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13362
13363         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
13364         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
13365         downward.
13366         * function.c (pad_below):  Always compile.
13367         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
13368         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
13369         Pad below when the argument is not in a register and the padding
13370         direction is downward.
13371
13372         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
13373         (PAD_VARARGS_DOWN): Define.
13374         * pa.c (function_arg_padding): Revise padding directions to make them
13375         compatible with the 32 and 64-bit runtime architecture documentation.
13376         (hppa_va_arg):  Add code to handle variable and size zero arguments
13377         passed by reference on TARGET_64BIT.  Reformat.
13378         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
13379         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
13380         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
13381         Add comments.
13382         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
13383         (RETURN_IN_MEMORY): Return size zero types in memory.
13384         (FUNCTION_VALUE): Return TFmode in general registers.
13385         (MUST_PASS_IN_STACK): Define.
13386         (FUNCTION_ARG_BOUNDARY): Simplify.
13387         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
13388         by reference.
13389         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
13390
13391 2002-09-16  Richard Henderson  <rth@redhat.com>
13392
13393         * real.c (do_fix_trunc): New.
13394         (real_arithmetic): Call it.
13395         * simplify-rtx.c (simplify_unary_operation): Handle FIX
13396         with a floating-point result mode.
13397
13398 2002-09-16  Richard Henderson  <rth@redhat.com>
13399
13400         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
13401         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
13402         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
13403         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
13404         * builtins.c (fold_builtin_nan): New.
13405         (fold_builtin): Call it.
13406         * real.c (real_nan): Parse a non-empty string.
13407         (round_for_format): Fix NaN significand truncation.
13408         * real.h (real_nan): Return bool.
13409         * doc/extend.texi: Document new builtins.
13410
13411 2002-09-16  Jason Merrill  <jason@redhat.com>
13412             Danny Smith  <dannysmith@users.sourceforge.net>
13413
13414         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
13415         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
13416         (i386_pe_mark_dllimport): Not here.
13417
13418 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
13419
13420         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
13421
13422 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
13423
13424         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
13425         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
13426         < 64.
13427         (rs6000_emit_cmove): Use real_isinf not target_isinf.
13428
13429 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
13430
13431         * calls.c (emit_library_call_value_1): Don't refer to
13432         hard_libcall_value.
13433         * optabs.c (prepare_float_lib_cmp): Likewise.
13434
13435 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
13436
13437         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
13438         mangling.
13439
13440         The following changes are merged from pch-branch:
13441
13442         * doc/gty.texi (GTY Options): Document %a.
13443         * gengtype.c (do_scalar_typedef): New function.
13444         (process_gc_options): Handle `length' option.
13445         (set_gc_used_type): A pointer to an array of structures doesn't
13446         qualify as a pointer to a structure.
13447         (output_escaped_param): Add `%a' escape.
13448         (write_gc_structure_fields): Allow 'desc' on array of unions.
13449         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
13450         do_scalar_typedef.
13451
13452         * gengtype.c (enum rtx_code): Make global.
13453         (rtx_format): Make global.
13454         (rtx_next): New.
13455         (gen_rtx_next): New.
13456         (write_rtx_next): New.
13457         (adjust_field_rtx_def): Skip fields marked by chain_next.
13458         (open_base_files): Delete redundant prototype.
13459         (write_enum_defn): New.
13460         (output_mangled_typename): Correct abort call.
13461         (write_gc_marker_routine_for_structure): Handle chain_next and
13462         chain_prev options.
13463         (finish_root_table): Don't output redundant \n.
13464         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
13465         * c-tree.h (union lang_tree_node): Add chain_next option.
13466
13467         * gengtype.h (NUM_PARAM): New definition.
13468         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
13469         * gengtype.c (find_param_structure): New.
13470         (adjust_field_type): Handle param<n>_is option.
13471         (process_gc_options): Detect use_params option.  Update callers.
13472         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
13473         'use_params' option.
13474         (open_base_files): Add splay-tree.h to list of files included.
13475         (output_mangled_typename): New.
13476         (write_gc_structure_fields): Update 'param' parameter to support
13477         multiple parameters.  Change name mangling.  Allow parameterized
13478         fields to have an apparent scalar type.  Handle param<n>_is options,
13479         use_param option.
13480         (write_gc_marker_routine_for_structure): Update for change to name
13481         mangling.  Better guess the output file for parameterized types.
13482         (write_gc_types): Update for change to name mangling.
13483         (write_gc_root): Update for change to name mangling.  Handle (ignore)
13484         param<n>_is options.
13485         * doc/gty.texi (GTY Options): Add description of param<n>_is
13486         options, use_params option.
13487         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
13488         * gengtype-lex.l: Produce token for param<n>_is.
13489         * gengtype-yacc.y: Parse param<n>_is.
13490
13491         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
13492
13493         * rtl.c: Update comment describing rtx_format.
13494         * rtl.h (union rtunion): Separate definition and typedef.
13495         (struct rtx_def): Use gengtype to mark.
13496         * Makefile.in (gengtype.o): Also depend on rtl.def.
13497         * ggc.h (ggc_mark_rtx_children): Delete prototype.
13498         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
13499         * ggc-common.c (ggc_mark_rtx_children): Delete.
13500         (ggc_mark_rtx_children_1): Delete.
13501         (gt_ggc_m_rtx_def): Delete.
13502         * gengtype.c (adjust_field_rtx_def): New.
13503         (adjust_field_type): Call adjust_field_rtx_def.
13504         (write_gc_structure_fields): Add 'default' case to switch if none
13505         is specified; remove unused code.
13506
13507         * tree.h (struct tree_exp): Update for change to meaning
13508         of special.
13509         * gengtype.c (adjust_field_tree_exp): New function.
13510         (adjust_field_type): Handle `tree_exp' special here.
13511         (write_gc_structure_fields): Don't handle `tree_exp' special here.
13512         Handle new `dot' option.
13513
13514         * gengtype.h: Make `info' a pointer-to-const.
13515         * gengtype-yacc.y (yacc_ids): Use xasprintf.
13516
13517         * gengtype.c (write_gc_structure_fields): Remove implementation
13518         of `always' option, add `default' option.
13519         * doc/gty.texi (GTY Options): Remove documentation of `always',
13520         add `default'.
13521
13522 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
13523
13524         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
13525
13526 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13527
13528         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
13529
13530         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
13531         instead of the *-protos.h file directly.
13532         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
13533         * darwin.c (machopic_output_stub): Move prototype ...
13534         * darwin-protos.h (machopic_output_stub): ... here.
13535         * rs6000-protos.h (machopic_output_stub): Don't declare.
13536
13537 2002-09-16  Richard Henderson  <rth@redhat.com>
13538
13539         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
13540
13541 2002-09-16  Richard Henderson  <rth@redhat.com>
13542
13543         * real.c, real.h: Rewrite from scratch.
13544
13545         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
13546         (paranoia): New target.
13547         * builtins.c (fold_builtin_inf): Use new real.h interface.
13548         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
13549         * c-lex.c (interpret_float): Likewise.
13550         * emit-rtl.c (gen_lowpart_common): Likewise.
13551         * optabs.c (expand_float): Use real_2expN.
13552         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
13553         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
13554         (FLOAT_WORDS_BIG_ENDIAN): New.
13555         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
13556         directly to REAL_VALUE_NEGATIVE.
13557         * loop.c (canonicalize_condition): Likewise.
13558         * simplify-rtx.c: Include tree.h.
13559         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
13560         with floating-point result modes.
13561         * toplev.c (backend_init): Call init_real_once.
13562
13563         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
13564         * tree.c (build_real): Likewise.
13565         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
13566         float_values, inited_float_values, check_float_value): Remove.
13567         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
13568         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
13569         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
13570         (VAX_HALFWORD_ORDER): Remove.
13571
13572 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
13573
13574         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
13575         (s390_load_address): ... this new function.
13576         (s390_decompose_address): Allow the argument pointer and all
13577         virtual registers as 'pointer' registers.
13578         (s390_expand_plus_operand): Use s390_load_address.
13579         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
13580         ("force_la_31"): New insn pattern.
13581         config/s390/s390-protos.h (legitimize_la_operand): Remove.
13582         (s390_load_address): Add prototype.
13583
13584         * config/s390/s390.c: Include "optabs.h".
13585         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
13586         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
13587         s390_expand_cmpstr): Add prototypes.
13588         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
13589         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
13590         for operands 0 and 1 to "memory_operand".  Add type attribute.
13591         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
13592         for operands 0 and 1 to "memory_operand".  Add type attribute.
13593         ("movstrdi_long", "movstrsi_long"): Remove.
13594         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
13595         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
13596         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
13597         ("clrstrsico"): Remove, replace by ...
13598         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
13599         ("clrstrsi_64"): Rename to "clrstr_long_64".
13600         ("clrstrsi_31"): Rename to "clrstr_long_31".
13601         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
13602         ("cmpstr_const"): Remove, replace by ...
13603         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
13604         ("cmpstr_64"): Rename to "cmpstr_long_64".
13605         ("cmpstr_31"): Rename to "cmpstr_long_31".
13606
13607 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
13608
13609         * ABOUT-NLS: Follow spelling conventions.
13610         * ChangeLog: Likewise.
13611         * ChangeLog.1: Likewise.
13612         * ChangeLog.2: Likewise.
13613         * ChangeLog.3: Likewise.
13614         * ChangeLog.4: Likewise.
13615         * ChangeLog.5: Likewise.
13616         * ChangeLog.6: Likewise.
13617         * FSFChangeLog.10: Likewise.
13618         * FSFChangeLog.11: Likewise.
13619         * c-common.c: Likewise.
13620         * c-lex.c: Likewise.
13621         * c-objc-common.c: Likewise.
13622         * cppexp.c: Likewise.
13623         * cppinit.c: Likewise.
13624         * cpplex.c: Likewise.
13625         * doloop.c: Likewise.
13626         * flow.c: Likewise.
13627         * function.c: Likewise.
13628         * integrate.c: Likewise.
13629         * loop.c: Likewise.
13630         * reg-stack.c: Likewise.
13631         * reload.h: Likewise.
13632         * ssa.c: Likewise.
13633
13634 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13635
13636         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
13637         * vmsdbgout.c: Include "target.h".
13638
13639 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13640
13641         * ChangeLog: Follow spelling conventions.
13642         * ChangeLog.0: Likewise.
13643         * ChangeLog.1: Likewise.
13644         * ChangeLog.2: Likewise.
13645         * ChangeLog.4: Likewise.
13646         * ChangeLog.6: Likewise.
13647         * config.gcc: Likewise.
13648         * dwarfout.c: Likewise.
13649         * reload1.c: Likewise.
13650         * simplify-rtx.c: Likewise.
13651         * unwind-sjlj.c: Likewise.
13652         * config/avr/avr.h: Likewise.
13653         * config/d30v/d30v.h: Likewise.
13654         * config/frv/frv.c: Likewise.
13655         * config/frv/frv.h: Likewise.
13656         * config/ip2k/ip2k.h: Likewise.
13657         * config/m88k/m88k-move.sh: Likewise.
13658         * config/stormy16/stormy16.c: Likewise.
13659         * config/stormy16/stormy16.h: Likewise.
13660         * doc/extend.texi: Likewise.
13661         * doc/interface.texi: Likewise.
13662         * doc/invoke.texi: Likewise.
13663         * doc/md.texi: Likewise.
13664         * doc/rtl.texi: Likewise.
13665         * doc/tm.texi: Likewise.
13666         * doc/trouble.texi: Likewise.
13667         * ginclude/float.h: Likewise.
13668         * treelang/treelang.texi: Likewise.
13669
13670 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13671
13672         * i386-protos.h (i386_pe_dllexport_name_p,
13673         i386_pe_dllimport_name_p, i386_pe_unique_section,
13674         i386_pe_declare_function_type, i386_pe_record_external_function,
13675         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
13676         prototype.
13677         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
13678         * i386/t-interix (winnt.o): Likewise.
13679
13680         * v850-protos.h (v850_output_addr_const_extra): Prototype.
13681
13682 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13683
13684         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
13685         MIPS ABI CPP macros.
13686         (TARGET_CPU_CPP_BUILTINS): Redefine.
13687         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
13688         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
13689
13690 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13691
13692         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
13693
13694 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13695
13696         * ChangeLog: Follow spelling conventions.
13697         * ChangeLog.0: Likewise.
13698         * ChangeLog.1: Likewise.
13699         * ChangeLog.2: Likewise.
13700         * ChangeLog.3: Likewise.
13701         * ChangeLog.4: Likewise.
13702         * ChangeLog.5: Likewise.
13703         * ChangeLog.6: Likewise.
13704         * FSFChangeLog.10: Likewise.
13705         * FSFChangeLog.11: Likewise.
13706         * c-common.c: Likewise.
13707         * c-common.h: Likewise.
13708         * c-format.c: Likewise.
13709         * c-opts.c: Likewise.
13710         * cpplib.c: Likewise.
13711         * langhooks.h: Likewise.
13712         * real.c: Likewise.
13713         * reg-stack.c: Likewise.
13714         * toplev.c: Likewise.
13715         * config/arm/arm.c: Likewise.
13716         * config/arm/arm.md: Likewise.
13717         * config/arm/linux-gas.h: Likewise.
13718         * config/arm/netbsd.h: Likewise.
13719         * config/c4x/c4x.c: Likewise.
13720         * config/c4x/c4x.h: Likewise.
13721         * config/c4x/c4x.md: Likewise.
13722         * config/c4x/libgcc.S: Likewise.
13723         * config/fr30/fr30.md: Likewise.
13724         * config/frv/frv.md: Likewise.
13725         * config/ia64/ia64.md: Likewise.
13726         * config/mips/mips.h: Likewise.
13727         * config/mn10300/mn10300.c: Likewise.
13728         * config/stormy16/stormy16.c: Likewise.
13729         * config/v850/v850.md: Likewise.
13730         * doc/extend.texi: Likewise.
13731         * doc/invoke.texi: Likewise.
13732         * doc/md.texi: Likewise.
13733
13734 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13735
13736         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
13737         library if -pthread is specified.
13738
13739 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13740
13741         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
13742         for --enable-threads=yes and --enable-threads=posix.
13743
13744 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13745
13746         * config/sparc/cypress.md: Replace Sparc with SPARC.
13747         * config/sparc/freebsd.h: Likewise.
13748         * config/sparc/gmon-sol2.c: Likewise.
13749         * config/sparc/hypersparc.md: Likewise.
13750         * config/sparc/lb1spc.asm: Likewise.
13751         * config/sparc/lb1spl.asm: Likewise.
13752         * config/sparc/linux.h: Likewise.
13753         * config/sparc/linux64.h: Likewise.
13754         * config/sparc/lynx.h: Likewise.
13755         * config/sparc/sol2.h: Likewise.
13756         * config/sparc/sparc-modes.def: Likewise.
13757         * config/sparc/sparc.c: Likewise.
13758         * config/sparc/sparc.h: Likewise.
13759         * config/sparc/sparc.md: Likewise.
13760         * config/sparc/sparclet.md: Likewise.
13761         * config/sparc/supersparc.md: Likewise.
13762         * config/sparc/sysv4.h: Likewise.
13763         * config/sparc/vxsim.h: Likewise.
13764         * config/sparc/vxsparc64.h: Likewise.
13765
13766 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13767
13768         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
13769         * collect2.c (ignore_library, aix_std_libs): Move into the context
13770         where it is used.
13771         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
13772         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
13773         * m88k.c (output_call): Wrap variables with macro controlling use.
13774         * rs6000.md: Likewise.  Const-ify variable.
13775         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
13776         * final.c (only_leaf_regs_used): Likewise.
13777         * regrename.c (maybe_mode_change): Mark parameter with
13778         ATTRIBUTE_UNUSED.
13779         * reload.c (find_valid_class): Likewise.  Likewise for variable.
13780         (find_reloads_address_1): Likewise.
13781         * varasm.c (weak_finish): Wrap variable with macro controlling use.
13782
13783 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13784
13785         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
13786
13787 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13788
13789         * ChangeLog: Follow spelling conventions.
13790         * ChangeLog.0: Likewise.
13791         * ChangeLog.2: Likewise.
13792         * ChangeLog.3: Likewise.
13793         * ChangeLog.4: Likewise.
13794         * ChangeLog.5: Likewise.
13795         * ChangeLog.6: Likewise.
13796         * cppfiles.c: Likewise.
13797         * cppinit.c: Likewise.
13798         * cpplib.h: Likewise.
13799         * cse.c: Likewise.
13800         * debug.h: Likewise.
13801         * df.c: Likewise.
13802         * dominance.c: Likewise.
13803         * hashtable.c: Likewise.
13804         * hashtable.h: Likewise.
13805         * loop.c: Likewise.
13806         * config/arm/README-interworking: Likewise.
13807         * config/arm/arm.c: Likewise.
13808         * config/arm/arm.h: Likewise.
13809         * config/arm/arm.md: Likewise.
13810         * config/dsp16xx/dsp16xx.h: Likewise.
13811         * config/frv/frv.c: Likewise.
13812         * config/frv/frv.h: Likewise.
13813         * config/ip2k/ip2k.h: Likewise.
13814         * config/rs6000/rs6000.c: Likewise.
13815         * config/stormy16/stormy-abi: Likewise.
13816         * config/stormy16/stormy16.h: Likewise.
13817         * config/v850/v850.c: Likewise.
13818
13819 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13820
13821         * loop.c: Fix a comment typo.
13822
13823 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13824
13825         * config/fr30/fr30.h: Fix comment typos.
13826         * config/frv/frv.c: Likewise.
13827         * config/i386/xmmintrin.h: Likewise.
13828         * config/mips/mips.c: Likewise.
13829         * config/sh/sh.c: Likewise.
13830
13831 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13832
13833         * haifa-sched.c: Follow spelling conventions.
13834         * regclass.c: Likewise.
13835         * regrename.c: Likewise.
13836         * config/fp-bit.c: Likewise.
13837         * config/frv/frv.h: Likewise.
13838         * config/m88k/m88k.c: Likewise.
13839         * config/mcore/mcore.c: Likewise.
13840         * config/rs6000/darwin.h: Likewise.
13841         * config/rs6000/gnu.h: Likewise.
13842         * config/rs6000/linux.h: Likewise.
13843         * config/rs6000/linux64.h: Likewise.
13844         * config/rs6000/rs6000.c: Likewise.
13845         * config/rs6000/rs6000.h: Likewise.
13846         * config/sh/sh.c: Likewise.
13847         * config/sparc/sparc.c: Likewise.
13848         * config/sparc/ultra1_2.md: Likewise.
13849
13850 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
13851
13852         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
13853         memory operand when source is 0 (K constraint).
13854         ("movsi_internal"): Likewise.
13855         ("movdf_internal"): Likewise.
13856         ("movsf_internal"): Likewise.
13857
13858 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13859
13860         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
13861         targetm.binds_local_p to set SYMBOL_REF_FLAG.
13862         (rs6000_xcoff_encode_section_info): Likewise.
13863         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
13864
13865 2002-09-10  Theodore A. Roth  <troth@verinet.com>
13866
13867         * gcc/config/avr/avr.h: Set default options for C++ for avr.
13868
13869 2002-09-13  Roger Sayle  <roger@eyesopen.com>
13870
13871         * stmt.c (struct nexting): Remove unused alt_end_label field.
13872         (expand_start_loop): Delete initialization of alt_end_label.
13873         (expand_start_null_loop): Likewise.
13874         (expand_exit_loop_if_false): Delete updating of alt_end_label.
13875
13876 2002-09-13  Richard Henderson  <rth@redhat.com>
13877
13878         * Makefile.in (toplev.o): Depend on real.h.
13879         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
13880
13881 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13882
13883         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
13884         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
13885         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
13886
13887 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
13888
13889         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
13890
13891 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13892
13893         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
13894         ia64*-*-linux*): Set extra_parts.
13895         * config/ia64/t-aix (EXTRA_PARTS): Remove.
13896         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
13897
13898 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
13899
13900         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
13901         * config/h8300/h8300.c: Likewise.
13902         * config/h8300/h8300.h: Likewise.
13903         * config/h8300/h8300.md: Likewise.
13904         * doc/invoke.texi: Likewise.
13905
13906 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
13907
13908         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
13909
13910 2002-09-13  Richard Henderson  <rth@redhat.com>
13911
13912         * config/alpha/alpha.md (attr type): Add callpal.
13913         (imb, trap, load_tp, set_tp): Use it.
13914         * config/alpha/ev4.md (ev4_callpal): New.
13915         * config/alpha/ev5.md (ev5_callpal): New.
13916         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
13917         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
13918         (alphaev5_insn_pipe): Likewise.
13919
13920 2002-09-13  Andreas Jaeger  <aj@suse.de>
13921
13922         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
13923
13924 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13925
13926         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
13927         LIB2ADDEH): New, set to NULL.
13928         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
13929
13930 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13931
13932         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
13933         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
13934         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
13935         Add declarations.
13936         (_U_Qfneg): Remove.
13937
13938 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
13939
13940         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
13941         for H8/300, H8S aa:8 mode.
13942         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
13943         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
13944         for H8/300 aa:8 mode.
13945
13946 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
13947
13948         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
13949         insns.
13950
13951 2002-09-12  Richard Henderson  <rth@redhat.com>
13952
13953         * Makefile.in (HOST_PRINT): Use print-rtl1.o
13954         (print-rtl.o): Don't define GENERATOR_FILE.
13955         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
13956         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
13957         unless GENERATOR_FILE.
13958
13959 2002-09-12  Stan Shebs  <shebs@apple.com>
13960
13961         * config/darwin.h (USER_LABEL_PREFIX): Define here...
13962         * config/i386/darwin.h: ... instead of here.
13963
13964         * target.h (struct gcc_target): New field
13965         terminate_dw2_eh_frame_info.
13966         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13967         (TARGET_INITIALIZER): Add it.
13968         * dwarf2out.c (output_call_frame_info): Use target hook.
13969         * dwarf2asm.c (dw2_asm_output_delta): Use macro
13970         ASM_OUTPUT_DWARF_DELTA if defined.
13971         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
13972         (ASM_OUTPUT_DWARF_DELTA): Ditto.
13973         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
13974         (ASM_OUTPUT_DWARF_PCREL): Ditto.
13975         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
13976         (powerpc-*-darwin*): Ditto.
13977         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
13978         to work correctly for Darwin.
13979         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
13980         (STARTFILE_SPEC): Add crtbegin.o.
13981         (ENDFILE_SPEC): Define.
13982         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
13983         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
13984         (ASM_OUTPUT_DWARF_DELTA): Define.
13985         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13986         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
13987
13988 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
13989
13990         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
13991         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
13992         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
13993
13994 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
13995
13996         * toplev.c: Move default definition of USER_LABEL_PREFIX...
13997         * defaults.h: ... here.
13998
13999 2002-09-12  Richard Henderson  <rth@redhat.com>
14000
14001         * vax.c: Include tree.h earlier.
14002
14003 2002-09-12  Stan Shebs  <shebs@apple.com>
14004
14005         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
14006         (machopic_operand_p): Ditto.
14007
14008 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14009
14010         * config/arm/arm.c (arm_compute_initial_elimination_offset):
14011         Fix a comment typo.
14012
14013 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14014
14015         * toplev.c (do_abort): Fix a comment typo.
14016
14017 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14018
14019         * cselib.c: Fix comment formatting.
14020         * gengtype.c: Likewise.
14021
14022 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14023
14024         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
14025         (udivmodhi4): Likewise.
14026
14027 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
14028             Roger Sayle  <roger@eyesopen.com>
14029
14030         * i386.c (any_fp_register_operand, fp_register_operand,
14031         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
14032         New predicate functions.
14033         * i386-protos.h:  Add their prototypes.
14034         * i386.h: Add them to PREDICATE_CODES.
14035         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
14036         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
14037         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
14038         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
14039         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
14040         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
14041         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
14042         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
14043         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
14044         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
14045         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
14046         Use these new predicates to simplify and correct the use of
14047         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
14048
14049 2002-09-12  Jason Merrill  <jason@redhat.com>
14050
14051         * diagnostic.c (output_add_identifier): New fn.
14052         * diagnostic.h: Declare it.
14053
14054         * calls.c (store_one_arg): Use size_in_bytes to determine the
14055         amount of space to push.
14056
14057 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
14058
14059         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
14060
14061 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
14062
14063         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
14064         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
14065         (s390_select_ccmode): Likewise.
14066         (s390_branch_condition_mask): Likewise.
14067         (optimization_options): Do not set flag_branch_on_count.
14068         (s390_split_branches): Handle doloop branches.
14069         (s390_chunkify_pool): Likewise.
14070         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
14071         ("doloop_end"): New expander.
14072         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
14073         associated splitters): New.
14074
14075 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14076
14077         * genattrtab.c (simplify_cond): Remove unused variable(s).
14078         * global.c (record_conflicts): Likewise.
14079         * jump.c (rebuild_jump_labels): Likewise.
14080         * loop.c (scan_loop, check_final_value): Likewise.
14081         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
14082         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
14083         * rtlanal.c (reg_set_p): Likewise.
14084         * stmt.c (expand_asm_operands, expand_decl): Likewise.
14085         * genautomata.c (empty_reserv): Remove.
14086         * loop.c (max_luid): Likewise.
14087         * sched-rgn.c (bitlst_table_size): Likewise.
14088
14089 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
14090
14091         Reimplement gcov format.
14092         * gcov-io.h: Replace.
14093         * gcov.c: Reimplement.
14094         * gcov-iov.c: New file.
14095         * gcov-dump.c: New file.
14096         * libgcc2.c (L_bb): Replace with ...
14097         (L_gcov): ... this.
14098         (struct bb_function_info, struct bb): Remove.
14099         (inhibit_libc): Never inhibit.
14100         (gcov_list, gcov_crc): New static variables.
14101         (gcov_version_mismatch): New static function.
14102         (__bb_exit_func): Renamed to ...
14103         (__gcov_exit): ... here. Made static. Reimplement.
14104         (__gcov_init_func): Rename to ...
14105         (__gcov_init): ... here. Check version, update crc.
14106         (__bb_fork_func): Rename to ...
14107         (__gcov_flush): ... here.
14108         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
14109         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
14110         * calls.c (expand_call): Call __gcov_flush.
14111         * profile.c (bb_file, last_bb_file_name): Remove.
14112         (bbg_file_name): New global variable.
14113         (output_gcov_string): Remove.
14114         (get_exec_counts): Reimplement.
14115         (branch_prob): Reimplement gcov file writing.
14116         (init_branch_prob): Create bbg_file_name, don't create
14117         bb_file_name.
14118         (end_branch_prob): Adjust. Don't remove counter file when
14119         instrumenting ourselves.
14120         (create_profiler): Adjust.
14121         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
14122         point to gcov-io.h.
14123         * Makefile.in (LANGUAGES): Add gcov-dump.
14124         (coverageexts): Remove .bb.
14125         (STAGESTUFF): Add gcov-dump.
14126         (LIB2FUNCS_ST): Replace _bb with _gcov.
14127         (profile.o): Depend on gcov-iov.h.
14128         (final.o): Don't depend on profile.h, gcov.h.
14129         (gcov.o): Depend on gcov-iov.h.
14130         (gcov-iov.o): New target.
14131         (gcov-iov): New target.
14132         (gcov-iov.h): New target.
14133         (gcov-dump.o): New target.
14134         (GCOV_DUMP_OBJS): New variable.
14135         (gcov-dump): New target.
14136         (distclean): Remove coverageexts.
14137         (stage1): Remove coverageexts.
14138
14139 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
14140
14141         * fold-const.c (make_range): Only narrow to signed range if
14142         the signed range is smaller than the unsigned range.
14143
14144 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
14145
14146         * emit-rtl.c (set_mem_size): New function.
14147         * expr.h (set_mem_size): Declare.
14148         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
14149         (expand_block_move): Instead, use adjust_address and
14150         replace_equiv_address to generate proper aliasing info.
14151         Move common code out of conditionals.  Localize vars.
14152
14153 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
14154
14155         * optabs.c (expand_binop): Minor cleanup.
14156         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
14157
14158 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
14159
14160         * print-tree.c (print_node): Print the restrict qualifier.
14161
14162 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
14163
14164         * doc/install.texi: Fix typos.
14165
14166 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
14167
14168         * Makefile.in: Remove all references to s-under and underscore.c.
14169         * collect2.c, tlink.c: Change all uses of prepends_underscore
14170         to look directly at USER_LABEL_PREFIX.
14171
14172 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
14173
14174         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
14175         alignment to csect.
14176         (rs6000_xcoff_unique_section): Only set section name for public
14177         data.
14178         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
14179         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
14180         duplicate definition.
14181
14182 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14183
14184         * pa.md (extzv): Check predicates before emitting extzv_32.
14185         (insv): Likewise.
14186
14187 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
14188
14189         * config/s390/s390.h (MOVE_MAX): Define to correct value.
14190         (MAX_MOVE_MAX): Define.
14191         (MOVE_BY_PIECES_P): Define.
14192         (CLEAR_BY_PIECES_P): Define.
14193
14194 2002-09-10  Denis Chertykov  <denisc@overta.ru>
14195
14196         * config/avr/avr.md (movstrhi): Use right operands for conversion.
14197
14198 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
14199
14200         PR c/7873
14201         * arm.md (insv): Use reg_or_int_operand for operand[3].
14202
14203 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
14204
14205         * rs6000.c (rs6000_assemble_visibility): Protect declaration
14206         inside macro.  Correct function definition typo.
14207         (rs6000_xcoff_section_type_flags): New function.
14208         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
14209         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
14210         with appropriate PIC test.
14211         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
14212         determine readonly.
14213         (rs6000_binds_local_p): Combine PIC flags.
14214         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
14215         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
14216
14217 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14218
14219         * h8300.md: Fix signed/unsigned warnings.
14220         * mcore.md: Likewise.
14221         * mn10300.c (mask_ok_for_mem_btst): Likewise.
14222
14223 2002-09-09  Per Bothner  <per@bothner.com>
14224
14225         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
14226         characters, and only print TREE_STRING_LENGTH chars.
14227
14228 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
14229
14230         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
14231         (ASM_FILE_END) New.
14232         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
14233         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
14234         * config/ia64/ia64.c (ia64_asm_output_external): Create list
14235         of external functions if TARGET_HPUX_LD is true.
14236         (ia64_hpux_add_extern_decl): New, routine to put names on
14237         list of external functions.
14238         (ia64_hpux_asm_file_end): Put out declarations for external
14239         functions if and only if they are used.
14240
14241 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14242
14243         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
14244         on TARGET_64BIT before pic register restore.
14245
14246 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
14247
14248         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
14249         (TARGET_HAVE_TLS): New description.
14250
14251 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
14252
14253         * doc/extend.texi (Statement Exprs): Fix broken link.
14254
14255 2002-09-09  Denis Chertykov  <denisc@overta.ru>
14256
14257         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
14258         right conversion of operands[1].
14259
14260 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
14261
14262         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
14263         commutative.  Use "nonimmediate_operand" instead of "register_operand"
14264         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
14265
14266         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
14267         as commutative.
14268
14269         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
14270         mark as commutative.  Use "nonimmediate_operand" instead of
14271         "register_operand" as predicate for operand 1.
14272
14273         ("movstrictsi"): Fix typo in insn name.
14274
14275 2002-09-09  Jan Hubicka  <jh@suse.cz>
14276
14277         * i386.c (index_register_operand): New.
14278         * i386.h (predicate_codes): Add new predicate.
14279         * i386.md (lea_general_*): Use index_register_operand
14280         (ashift to lea splitter): Do not produce invalid leas
14281         (ashift to mov+ashift split): New.
14282
14283 2002-09-09  Nick Clifton  <nickc@redhat.com>
14284
14285         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
14286         Fix folding marks.
14287
14288 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
14289             J"orn Rennecke <joern.rennecke@superh.com>
14290
14291         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
14292
14293 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
14294
14295         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
14296         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
14297         attributes.
14298
14299 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
14300
14301         * basic_block.h (gcov_type): Explain why it is signed.
14302         * final.c: Don't include profile.h.
14303         (struct function_list, functions_head, functions_tail,
14304         end_final): Moved to profile.c
14305         (final): Move arc chaining code to profile.c.
14306         * function.c (prepare_function_start): Remove duplicate line.
14307         * output.h (end_final): Remove prototype.
14308         * predict.c (estimate_loops_at_level): Use gcov_type.
14309         * profile.c (struct function_list, functions_head,
14310         functions_tail): Moved from final.c
14311         (need_func_profiler): Remove.
14312         (instrument_edges): Don't set need_func_profiler.
14313         (get_exec_counts): Avoid signed/unsigned warning.
14314         (compute_checksum): Use crc32.
14315         (branch_prob): Adjust. Chain onto functions_head.
14316         (init_branch_prob): Absorb init_edge_profiler.
14317         (init_edge_profiler): Remove.
14318         (create_profiler): Moved and renamed from final.c:end_final.
14319         Emit data and constructor.
14320         (output_func_start_profiler): Remove.
14321         * profile.h (struct profile_info): checksum is unsigned.
14322         * rtl.h (output_func_start_profiler): Remove prototype.
14323         (create_profiler): Declare.
14324         * toplev.c (compile_file): Call create_profiler, if instrumenting
14325         arcs. Don't call end_final.
14326
14327 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14328
14329         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
14330
14331 2002-09-08  Richard Henderson  <rth@redhat.com>
14332
14333         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
14334         (DW_OP_GNU_push_tls_address): New.
14335         (DW_OP_lo_user): Fix.
14336         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
14337         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
14338         (size_of_loc_descr): Likewise.
14339         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
14340         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
14341         (loc_descriptor_from_tree): Handle TLS variables.
14342         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
14343         (add_location_or_const_value_attribute): ... not here.  Defer
14344         to loc_descriptor_from_tree for TLS variables.
14345
14346         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
14347         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
14348         * config/i386/i386-protos.h: Update.
14349
14350 2002-09-08  Roger Sayle  <roger@eyesopen.com>
14351
14352         PR optimization/6405
14353         * unroll.c (loop_iterations): last_loop_insn should be the previous
14354         non-note instruction before loop->end.
14355         * loop.c (strength_reduce): The conditional jump is the last
14356         non-note instruction before loop->end (as above).
14357
14358 2002-09-08  Roger Sayle  <roger@eyesopen.com>
14359
14360         * combine.c (try_combine): Handle the case that undobuf.other_insn
14361         has been turned into a return or unconditional jump, by inserting
14362         a BARRIER if necessary.
14363         (simplify_set):  Test if a condition code setter has a constant
14364         comparison at compile time, if so convert this insn to a no-op move
14365         and update/simplify the condition code user (undobuf.other_insn).
14366
14367 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
14368
14369         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
14370         (CLEAR_INSN_CACHE): Define.
14371
14372 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
14373
14374         * basic-block.h: Fix comment formatting.
14375         * c-common.c: Likewise.
14376         * c-common.h: Likewise.
14377         * c-lex.c: Likewise.
14378         * c-pretty-print.c: Likewise.
14379         * cfglayout.c: Likewise.
14380         * cfgloop.c: Likewise.
14381         * defaults.h: Likewise.
14382         * et-forest.c: Likewise.
14383         * explow.c: Likewise.
14384         * function.h: Likewise.
14385         * gcov.c: Likewise.
14386         * genattrtab.c: Likewise.
14387         * gengtype.c: Likewise.
14388         * ifcvt.c: Likewise.
14389         * libgcc2.c: Likewise.
14390         * loop.c: Likewise.
14391         * profile.c: Likewise.
14392         * ra-build.c: Likewise.
14393         * real.c: Likewise.
14394         * rtl.h: Likewise.
14395         * tracer.c: Likewise.
14396         * tree-inline.c: Likewise.
14397         * varasm.c: Likewise.
14398
14399 2002-09-08  Jan Hubicka  <jh@suse.cz>
14400
14401         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
14402         handling.
14403
14404         * loop.c (loop_givs_reduce):  Emit addition after.
14405
14406 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
14407
14408         * varasm.c (default_assemble_visibility): Rename from
14409         assemble_visibility.
14410         * output.h: Here too.
14411         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
14412         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
14413
14414 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
14415
14416         * reload.c (find_reloads <p constraint>): Pass operand_mode to
14417         find_reloads_address.
14418
14419 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
14420
14421         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
14422         (anonymous pattern): Likewise.
14423
14424 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14425
14426         * machmode.def: Add modes for half-float vectors.
14427
14428 2002-09-07  Scott Snyder  <snyder@fnal.gov>
14429
14430         PR target/7374
14431         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
14432
14433 2002-09-07  Roger Sayle  <roger@eyesopen.com>
14434
14435         * basic-block.h (struct loop): Remove unused cont_dominator field.
14436
14437 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14438
14439         * varasm.c (decode_rtx_const): Don't check undefined field for
14440         CONST_VECTOR.
14441
14442 2002-09-07  Glen Nakamura  <glen@imodulo.com>
14443
14444         PR opt/7814
14445         * sched-deps.c (sched_analyze_insn): Make sure to add insn
14446         to reg_last->sets after flushing the dependency lists to guarantee
14447         that subsequent clobbers will be dependent on it.
14448
14449 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14450
14451         * combine.c (simplify_shift_const): Calculate rotate count
14452         correctly for vector operands.
14453
14454 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
14455
14456         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
14457         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
14458         tree_expr_nonnegative_p.
14459         (build_conditional_expr): Likewise.
14460         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
14461
14462 2002-09-07  Richard Henderson  <rth@redhat.com>
14463
14464         * builtins.def (inf, inff, infl): Mark const.
14465         (huge_val, huge_valf, huge_vall): Likewise.
14466         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
14467
14468         * real.c (ereal_inf): Clear E before use.
14469
14470 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
14471
14472         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
14473         an expander and an anonymous pattern.  Zero out the upper half
14474         of the dividend in the expander.
14475         (udivmodqi4): Likewise.
14476
14477 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
14478
14479         * config/h8300/h8300.c: Fix formatting.
14480         * config/h8300/h8300.h: Likewise.
14481         * config/h8300/h8300.md: Likewise.
14482
14483 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14484
14485         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
14486         information.
14487
14488 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
14489
14490        * rtlanal.c (dead_or_set_regno_p): Fix typo.
14491
14492 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
14493
14494         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14495
14496         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
14497         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14498         (TARGET_ASM_OUT): Add the above here.
14499         * target.h (struct gcc_target): Add "visibility" field.
14500         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
14501         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
14502         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14503         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
14504
14505 2002-09-06  Ziemowit Laski <zlaski@apple.com>
14506
14507         * c-lang.c (objc_is_id): New stub.
14508         * c-tree.h (objc_is_id): New forward declaration.
14509         * c-typeck.c (build_c_cast): Do not strip protocol
14510         qualifiers from 'id' type.
14511         * objc/objc-act.c (objc_comptypes): Correct handling
14512         of protocol qualifiers.
14513         (objc_is_id): New.
14514
14515 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
14516
14517         * pentium.md (pentium-firstvboth): Fix typo.
14518
14519 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
14520
14521         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
14522         (enum shift_type, enum h8_cpu): Likewise.
14523         (INL, ROT, LOP, SPC macros): Likewise.
14524         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
14525         const designator.
14526         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
14527         space efficient algorithms when optimize for codesize.
14528
14529 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14530
14531         Fix PR/1727 and long-standing failing testcase
14532         objc/formal-protocol-6.m.
14533         * objc-act.c (build_protocol_expr): If compiling for the GNU
14534         runtime, create a list of Protocol statically allocated instances
14535         if it doesn't exist, then add the Protocol object to this same
14536         list.
14537         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
14538         instead of TREE_CHAIN.
14539
14540 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14541
14542         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
14543         10k.  Fixed category dumping - print out category names with the
14544         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
14545         interface.
14546         (finish_objc): Fixed the -gen-decls option.  It was printing out
14547         only the last class.  Dump an interface declaration of all classes
14548         being compiled instead.
14549
14550 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
14551
14552         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
14553         prototype.
14554         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
14555         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
14556         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
14557         rather than GEN_INT.
14558         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
14559         (return_addr_mask, *check_arch2): New.
14560
14561 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
14562
14563         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
14564         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
14565         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
14566         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
14567         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
14568         "adddf3", "*adddf3", "*adddf3_ibm",
14569         "addsf3", "*addsf3", "*addsf3_ibm",
14570         "muldi3", "mulsi3", "mulsidi3",
14571         "muldf3", "*muldf3", "*muldf3_ibm",
14572         "mulsf3", "*mulsf3", "*mulsf3_ibm",
14573         "*anddi3_cc", "*anddi3_cconly", "anddi3",
14574         "*andsi3_cc", "*andsi3_cconly", "andsi3",
14575         "*iordi3_cc", "*iordi3_cconly", "iordi3",
14576         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
14577         "*xordi3_cc", "*xordi3_cconly", "xordi3",
14578         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
14579         instead of "register_operand" as predicate for "%0" operand.
14580
14581 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
14582
14583         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
14584         unconditionally when gcc_cv_as_flags64 checks are gone.
14585         * configure: Rebuilt.
14586
14587 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
14588
14589         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
14590         2002-07-26 change.  Comment.
14591
14592 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14593
14594         * frv.c (frv_unique_section, frv_select_section,
14595         frv_select_rtx_section): Delete.
14596         (frv_in_small_data_p): New.
14597         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
14598         TARGET_ASM_SELECT_RTX_SECTION): Delete.
14599         (TARGET_IN_SMALL_DATA_P): Define.
14600
14601 2002-09-05  Dale Johannesen  <dalej@apple.com>
14602
14603         * reload1.c (reload):  Retain only those memory clobbers
14604         added for variable-array handling.
14605
14606 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
14607
14608         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
14609         return-in-memory rules.
14610         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
14611
14612 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
14613
14614         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
14615         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
14616
14617 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
14618
14619         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
14620         not a compile-time constant for the non-IBM case.
14621         * config/arm/arm-protos.h (arm_float_words_big_endian): New
14622         prototype.
14623         * config/arm/arm.c (arm_float_words_big_endian): New function.
14624         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
14625         if TARGET_VFP  and not TARGET_HARD_FLOAT.
14626         (ARM_FLAG_VFP, TARGET_VFP): Define.
14627         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
14628
14629 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
14630
14631         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
14632         URLs.  Fix AIX wording.
14633
14634 2002-09-05  Stan Shebs  <shebs@apple.com>
14635
14636         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
14637         -fPIC equivalent on Darwin.
14638
14639 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
14640
14641         * sh.c (sh_expand_builtin): Return early if encountering an
14642         error_mark for a type.
14643
14644 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
14645
14646         * config/s390/s390.c (s390_expand_plus_operand): Do not require
14647         double-word scratch register.
14648         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
14649
14650         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
14651         "*cli"): Replace s_operand by memory_operand.
14652         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
14653
14654 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
14655
14656         * config/h8300/h8300.c (asm_file_start): Add a missing
14657         semicolon.
14658
14659 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14660
14661         * c-typeck.c (build_function_call): Remove unused variable(s).
14662         (build_c_cast): Likewise.
14663         * calls.c (rtx_for_function_call): Likewise.
14664         * cfglayout.c (duplicate_insn_chain): Likewise.
14665         * cfgloop.c (flow_loop_nodes_find): Likewise.
14666         * cfgrtl.c (split_edge): Likewise.
14667         * df.c (df_ref_create): Likewise.
14668         * except.c (expand_end_catch): Likewise.
14669         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
14670         * function.c (emit_return_into_block): Likewise.
14671         (reposition_prologue_and_epilogue_notes): Likewise.
14672         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
14673         * combine.c (subst_prev_insn, need_refresh): Remove.
14674         * dwarf2out.c (primary_filename): Remove.
14675         * final.c (new_block): Remove.
14676         * gcse.c (orig_bb_count): Remove.
14677
14678 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14679
14680         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
14681         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
14682         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
14683         directly instead of using a function pointer.
14684
14685 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
14686
14687         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
14688         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
14689         (ix86_output_addr_diff_elt) Likewise.
14690         (x86_output_mi_thunk) Likewise.
14691         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
14692
14693 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14694
14695         * frv.c (frv_encode_section_info): Fix error in last change.
14696
14697 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14698
14699         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
14700         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
14701         (TARGET_BINDS_LOCAL_P): Define.
14702         (rs6000_override_options): Save original flag_pic value.
14703         (rs6000_elf_select_section): Call default_elf_select_section_1.
14704         (rs6000_elf_unique_section): Call default_unique_section_1.
14705         (rs6000_elf_in_small_data_p): New function.
14706         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
14707         (rs6000_xcoff_select_section): Update based on defaults.
14708         (rs6000_xcoff_unique_section): Set to basic name if not common.
14709         (rs6000_binds_local_p): New function.
14710         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
14711         targetm.have_srodata_section if SDATA_EABI.
14712         (TARGET_IN_SMALL_DATA_P): Define.
14713
14714 2002-09-04  Dale Johannesen  <dalej@apple.com>
14715
14716         * varasm.c (struct rtx_const, decode_rtx_const):
14717         Make veclo and vechi fields not share storage.
14718
14719 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
14720
14721         * loop.c (scan_loop): Don't mark separate insns out of a libcall
14722         for moving.
14723         (move_movables): Abort if we see the first insn of a libcall.
14724
14725 2002-09-04  Richard Henderson  <rth@redhat.com>
14726
14727         * builtin-types.def (BT_FN_FLOAT): New.
14728         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
14729         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
14730         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
14731         * builtins.c (fold_builtin_inf): New.
14732         (fold_builtin): Call it.
14733         * real.c (ereal_inf): New.
14734         * real.h: Declare it.
14735         * doc/extend.texi: Document new builtins.
14736
14737 2002-09-04  Richard Henderson  <rth@redhat.com>
14738
14739         * cse.c (cse_insn): Avoid subreg games if the equivalence
14740         is already in the proper mode.
14741
14742 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
14743
14744         PR c/7102
14745         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
14746
14747 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14748
14749         * pa.md (setccfp0, setccfp1): New patterns.
14750
14751 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14752
14753         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
14754         frv_select_section, frv_select_rtx_section,
14755         frv_encode_section_info, frv_unique_section): Delete.
14756         * frv.c: Update for target hooks.
14757         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
14758         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
14759         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
14760
14761 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14762
14763         * ip2k-protos.h (function_prologue, function_epilogue,
14764         encode_section_info): Update to match target hook specification.
14765         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
14766         (function_prologue, function_epilogue, encode_section_info):
14767         Update to match target hook specification.
14768         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
14769         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
14770         (NOTICE_UPDATE_CC): Cast to void.
14771         * ip2k.md: Add defaults in switch statements.
14772
14773 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14774
14775         * doc/trouble.texi (Interoperation): Update information about C++ ABI
14776         issues.
14777
14778 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
14779
14780         * config/sparc/t-netbsd64: Disable multilib for now.
14781
14782 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14783
14784         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
14785         * target.h (gcc_target): Add have_srodata_section member.
14786         * varasm.c (section_category): Add SECCAT_SRODATA.
14787         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
14788         READONLY_SDATA_SECTION defined.
14789         (decl_readonly_section_1): True for SECCAT_SRODATA also.
14790         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
14791         (default_unique_section_1): Likewise.
14792
14793 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14794
14795         * expr.c (emit_group_load): Revise to allow splitting TCmode source
14796         into DImode pieces.
14797
14798         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
14799         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
14800         for floating-point register class.
14801         * pa.c (function_arg): Fix handling of modes wider than one word for
14802         TARGET_64BIT.
14803
14804 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
14805
14806         * combine.c (make_compound_operation): Don't generate zero / sign
14807         extensions in floating point modes.
14808
14809 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14810
14811         * doc/c-tree.texi: Fix overfull hboxes.
14812         * doc/cppopts.texi: Ditto.
14813         * doc/extend.texi: Ditto.
14814         * doc/gty.texi: Ditto.
14815         * doc/invoke.texi: Ditto.
14816         * doc/makefile.texi: Ditto.
14817         * doc/rtl.texi: Ditto.
14818         * doc/standards.texi: Ditto.
14819         * doc/tm.texi: Ditto.
14820
14821 2002-09-04  Richard Henderson  <rth@redhat.com>
14822
14823         * c-common.c (builtin_define_with_hex_fp_value): New.
14824         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
14825
14826 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14827
14828         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
14829         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
14830         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
14831         Warn that these options can break ABI compatibility.
14832
14833 2002-09-04  Richard Henderson  <rth@redhat.com>
14834
14835         * real.c (ereal_to_decimal): Add digits parameter.
14836         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
14837         * c-pretty-print.c (pp_c_real_literal): Update call.
14838         * print-rtl.c (print_rtx): Likewise.
14839         * print-tree.c (print_node_brief, print_node): Likewise.
14840         * sched-vis.c (print_value): Likewise.
14841         * config/arc/arc.c (arc_print_operand): Likewise.
14842         * config/c4x/c4x.c (c4x_print_operand): Likewise.
14843         * config/i370/i370.h (PRINT_OPERAND): Likewise.
14844         * config/i386/i386.c (print_operand): Likewise.
14845         * config/i960/i960.c (i960_print_operand): Likewise.
14846         * config/ip2k/ip2k.c (asm_output_float): Likewise.
14847         * config/m32r/m32r.c (m32r_print_operand): Likewise.
14848         * config/m68hc11/m68hc11.c (print_operand): Likewise.
14849         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
14850         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14851         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
14852         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14853         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
14854         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14855         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
14856         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14857         * config/mips/mips.c (print_operand): Likewise.
14858         * config/ns32k/ns32k.c (print_operand): Likewise.
14859         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
14860         * config/vax/vax.h (PRINT_OPERAND): Likewise.
14861         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
14862
14863 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
14864
14865         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
14866         xtensa_multibss_section_type_flags.
14867         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
14868
14869 2002-09-04  Richard Henderson  <rth@redhat.com>
14870
14871         * doc/install-old.texi: Don't mention enquire.
14872         * doc/sourcebuild.texi: Update float.h description.
14873
14874 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
14875
14876         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
14877
14878 2002-09-03  Roger Sayle  <roger@eyesopen.com>
14879
14880         * builtins.c (build_function_call_expr): Remove prototype, export
14881         as non-static and add a comment above function definition.
14882         (builtin_mathfn_code): New function to check for math builtins.
14883         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
14884         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
14885         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
14886         log(sqrt(x)) as log(x)/2.0.
14887
14888         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
14889         in new "builtins.c" section.  Place the build_range_type prototype
14890         with the other prototypes from "tree.c".
14891
14892         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
14893         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
14894         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
14895         x/exp(y) as x*exp(-y).
14896
14897 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
14898
14899         * varasm.c (default_section_type_flags): Append _1 to name with
14900         shlib parameter.  Use original name to call new function with
14901         implicit flag_pic.
14902         (decl_readonly_section): Likewise.
14903         (default_elf_select_section): Likewise.
14904         (default_unique_section): Likewise.
14905         (default_bind_local_p): Likewise.
14906         (categorize_decl_for_section): Add shlib parameter to use in place
14907         of implicit flag_pic.
14908         * output.h: Declare new functions with _1 and shlib argument.
14909
14910 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
14911
14912         * doc/install.texi: Fix typos, formatting problems, and obvious
14913         overfull/underfull boxes.
14914
14915         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
14916         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
14917         include its file, compat.texi.
14918         * doc/compat.texi: New file with new chapter, Binary Compatibility.
14919
14920 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
14921
14922         Debian BTS Bug #157416
14923         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
14924         * cpplib.c (destringize_and_run): Kludge around getting
14925         tokens from in-progress macros.
14926         (_cpp_do__Pragma): Simplify.
14927
14928 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
14929
14930         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
14931         (CPP_CPU_SPEC): Remove.
14932         (TARGET_CPU_CPP_BUILTINS): New.
14933         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
14934         (CPP_SPEC): Remove.
14935         (TARGET_OS_CPP_BUILTINS): New.
14936         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
14937         (TARGET_OS_CPP_BUILTINS): New.
14938         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
14939         TARGET_OS_CPP_BUILTINS.
14940         (CPP_PREDEFINES): Remove.
14941         (CPLUSPLUS_CPP_SPEC): Remove.
14942         (TARGET_OS_CPP_BUILTINS): New.
14943
14944 2002-09-03  Richard Henderson  <rth@redhat.com>
14945
14946         * Makefile.in (USER_H): Add ginclude/float.h.
14947         (FLOAT_H): Remove.
14948         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
14949         (mostlyclean): Don't remove float.h intermediate files.
14950         (distclean): Don't remove float.h.
14951         * config.gcc: Remove all float_format references.
14952         * configure.in (float_format, float_h_file): Remove.
14953
14954         * c-common.c: Include tree-inline.h.
14955         (builtin_define_with_int_value): New.
14956         (builtin_define_type_precision): Use it.
14957         (builtin_define_float_constants): New.
14958         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
14959         __FLT_EVAL_METHOD__.
14960         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
14961         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
14962         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
14963         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
14964         (TARGET_FLT_EVAL_METHOD): New.
14965
14966         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
14967         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
14968         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
14969         * ginclude/float.h: New.
14970
14971 2002-09-03  Stan Shebs  <shebs@apple.com>
14972
14973         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
14974         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
14975         (PREFERRED_DEBUGGING_TYPE): Ditto.
14976         (ASM_OUTPUT_IDENT): Remove empty definition.
14977
14978 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
14979
14980         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
14981         cxx_target.
14982         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
14983         handling routine for builtin pragma.
14984         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
14985         Registered pragma handling routine.
14986         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
14987         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
14988         If builtin pragma seen for math routine and C89 conformance is
14989         requested use different math function in order to set errno.
14990         * t-ia64 (ia64-c.o): Add new rule for new file.
14991
14992 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
14993
14994         * config/s390/s390.md ("movti"): Add Q->Q alternative.
14995         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
14996         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
14997
14998         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
14999         "*movsf_ss"): Remove.
15000
15001 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15002
15003         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
15004         Delete macros.
15005
15006 2002-09-03   Arati Dikey  <aratid@kpit.com>
15007
15008         * h8300.c (asm_file_start): Corrected optimization comment.
15009
15010 2002-09-03  Stan Shebs  <shebs@apple.com>
15011
15012         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
15013         * c-tree.h (recognize_objc_keyword): Remove decl.
15014         * c-typeck.c (comp_target_types): Update a comment.
15015
15016 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
15017
15018         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
15019         and register validity checks.
15020         (general_s_operand): Adapt to s390_decompose_address interface change.
15021         (q_constraint): Likewise.
15022         (s390_expand_plus_operand): Likewise.
15023         (legitimiate_address_p): Likewise.
15024         (legitimate_la_operand_p): Likewise.
15025         (legitimize_la_operand): Likewise.
15026         (print_operand_address): Likewise.
15027         (print_operand): Likewise.
15028
15029 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15030
15031         PR objc/5956:
15032         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
15033         was causing the new selector never to match the existing ones
15034         (Patch by Alexander Malmberg <alexander@malmberg.org>).
15035
15036 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
15037
15038         * config/i386/i386.md ("femms"): Add "memory" attr "none".
15039
15040 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
15041
15042         * expr.c (expand_expr): Remove extraneous comment and code.
15043
15044 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
15045
15046         * stor-layout (finish_builtin_struct): Renamed and moved from c++
15047         frontend. Take chain of fields. Allow NULL alignment type.
15048         * tree.h (finish_builtin_struct): Declare.
15049
15050 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15051
15052         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
15053         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
15054         config/arc/arc.c config/arc/arc.h config/arm/aout.h
15055         config/arm/arm.c config/arm/arm.h config/arm/arm.md
15056         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
15057         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
15058         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
15059         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
15060         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
15061         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
15062         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
15063         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
15064         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
15065         config/pa/pa.h config/pa/pa.md config/romp/romp.h
15066         config/rs6000/linux64.h config/rs6000/lynx.h
15067         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
15068         config/s390/s390.c config/s390/s390.md config/sh/sh.c
15069         config/sparc/sparc.c config/sparc/sysv4.h
15070         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
15071         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
15072         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
15073
15074         * doc/tm.texi: Update docs.
15075         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
15076         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
15077
15078 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15079
15080         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
15081         * arc.c (arc_internal_label): New function.
15082         (TARGET_ASM_INTERNAL_LABEL): Set.
15083         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15084         * arm.c (arm_internal_label): New function.
15085         (TARGET_ASM_INTERNAL_LABEL): Set.
15086         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15087         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15088         * i370.c (i370_internal_label): New function.
15089         (TARGET_ASM_INTERNAL_LABEL): Set.
15090         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15091         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15092         * m68k.c (m68k_hp320_internal_label): New function.
15093         (TARGET_ASM_INTERNAL_LABEL): Set.
15094         * m88k.c (m88k_internal_label): New function.
15095         (TARGET_ASM_INTERNAL_LABEL): Set.
15096         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15097         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
15098         * genoutput.c (output_prologue): Include target.h in output file.
15099         * output.h (default_internal_label): Declare.
15100         * sdbout.c: Include target.h.
15101         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
15102         TARGET_ASM_OUT.
15103         * target.h (internal_label): Add to struct gcc_target.
15104         * varasm.c (default_internal_label): New function.
15105
15106 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15107
15108         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15109         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15110         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15111         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15112         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15113         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15114         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15115         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15116         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15117         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15118         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15119         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15120         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15121         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15122         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15123         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15124         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15125         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15126         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15127         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15128         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15129         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15130         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15131         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15132         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15133         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
15134         * mmix.c (mmix_asm_output_internal_label): Likewise.
15135         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15136         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15137         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15138         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15139         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15140         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15141         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15142         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15143         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15144         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15145         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15146         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15147         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15148         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15149         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15150         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15151         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15152         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15153         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15154
15155         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
15156
15157 2002-08-31  Richard Henderson  <rth@redhat.com>
15158
15159         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
15160
15161 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15162
15163         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
15164
15165 2002-08-30  Richard Henderson  <rth@redhat.com>
15166
15167         PR opt/7515
15168         * c-objc-common.c: Include target.h.
15169         (c_cannot_inline_tree_fn): Don't auto-inline functions that
15170         don't bind locally.  Factor setting DECL_UNINLINABLE.
15171         * Makefile.in (c-objc-common.o): Update.
15172
15173 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
15174
15175         * doc/install.texi (Configuration, Building): Fix a typo and
15176         some formatting directives.
15177
15178 2002-08-30  Paul Koning <pkoning@equallogic.com>
15179
15180         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
15181         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
15182         implemented" note.
15183         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
15184         for alphabetic order.
15185         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
15186         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
15187         (VAX_HALFWORD_ORDER): Document.
15188         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
15189         IEEE float format.
15190         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
15191         (ASM_OUTPUT_LABEL_REF): Fix font.
15192         (CASE_VECTOR_SHORTEN_MODE): Ditto.
15193
15194 2002-08-30  Denis Chertykov  <denisc@overta.ru>
15195
15196         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
15197         stuff.
15198         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
15199         CONST_DOUBLE constants.
15200
15201 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
15202
15203         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
15204         related defines to...
15205         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
15206         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
15207         as a no-op.
15208
15209 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
15210
15211         * config/arm/arm.c (arm_asm_output_labelref): New function.
15212         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
15213         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
15214
15215 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
15216
15217         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
15218         memory exhausted" workarounds.
15219
15220 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15221
15222         * diagnostic.c (fancy_abort): Don't repeat "internal error".
15223         * toplev.c (crash_signal): Likewise.
15224
15225 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15226
15227         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
15228         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
15229         Extended, updated documentation.
15230         (-Wundeclared-selector): Documented.
15231
15232 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
15233
15234         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
15235         the value 1.  Do not undef before defining.
15236         * config/darwin.h: Likewise.
15237         * config/dbx.h: Likewise.
15238         * config/dbxcoff.h: Likewise.
15239         * config/dbxelf.h: Likewise.
15240         * config/elfos.h: Likewise.
15241         * config/interix.h: Likewise.
15242         * config/lynx-ng.h: Likewise.
15243         * config/lynx.h: Likewise.
15244         * config/netware.h: Likewise.
15245         * config/psos.h: Likewise.
15246         * config/svr3.h: Likewise.
15247         * config/alpha/alpha.h: Likewise.
15248         * config/alpha/elf.h: Likewise.
15249         * config/alpha/vms.h: Likewise.
15250         * config/arc/arc.h: Likewise.
15251         * config/arm/aout.h: Likewise.
15252         * config/arm/coff.h: Likewise.
15253         * config/c4x/c4x.h: Likewise.
15254         * config/h8300/h8300.h: Likewise.
15255         * config/i386/cygwin.h: Likewise.
15256         * config/i386/djgpp.h: Likewise.
15257         * config/i386/gas.h: Likewise.
15258         * config/i386/gstabs.h: Likewise.
15259         * config/i386/i386-coff.h: Likewise.
15260         * config/i386/i386-interix.h: Likewise.
15261         * config/i386/sco5.h: Likewise.
15262         * config/i386/svr3dbx.h: Likewise.
15263         * config/i386/sysv3.h: Likewise.
15264         * config/i386/win32.h: Likewise.
15265         * config/i386/x86-64.h: Likewise.
15266         * config/i960/i960.h: Likewise.
15267         * config/ia64/ia64.h: Likewise.
15268         * config/ip2k/ip2k.h: Likewise.
15269         * config/m32r/m32r.h: Likewise.
15270         * config/m68k/3b1.h: Likewise.
15271         * config/m68k/3b1g.h: Likewise.
15272         * config/m68k/ccur-GAS.h: Likewise.
15273         * config/m68k/coff.h: Likewise.
15274         * config/m68k/hp2bsd.h: Likewise.
15275         * config/m68k/hp310g.h: Likewise.
15276         * config/m68k/hp320g.h: Likewise.
15277         * config/m68k/hp3bsd.h: Likewise.
15278         * config/m68k/hp3bsd44.h: Likewise.
15279         * config/m68k/linux-aout.h: Likewise.
15280         * config/m68k/m68k-aout.h: Likewise.
15281         * config/m68k/mot3300.h: Likewise.
15282         * config/m68k/netbsd.h: Likewise.
15283         * config/m68k/openbsd.h: Likewise.
15284         * config/m68k/pbb.h: Likewise.
15285         * config/m68k/plexus.h: Likewise.
15286         * config/m68k/sun2.h: Likewise.
15287         * config/m68k/sun3.h: Likewise.
15288         * config/m68k/tower-as.h: Likewise.
15289         * config/m68k/vxm68k.h: Likewise.
15290         * config/m88k/aout-dbx.h: Likewise.
15291         * config/m88k/m88k-aout.h: Likewise.
15292         * config/mcore/mcore-elf.h: Likewise.
15293         * config/mcore/mcore-pe.h: Likewise.
15294         * config/mips/elf.h: Likewise.
15295         * config/mips/elf64.h: Likewise.
15296         * config/mips/iris5gas.h: Likewise.
15297         * config/mips/iris6.h: Likewise.
15298         * config/mips/mips.h: Likewise.
15299         * config/mips/sni-gas.h: Likewise.
15300         * config/mmix/mmix.h: Likewise.
15301         * config/ns32k/netbsd.h: Likewise.
15302         * config/pa/pa64-hpux.h: Likewise.
15303         * config/romp/romp.h: Likewise.
15304         * config/rs6000/sysv4.h: Likewise.
15305         * config/rs6000/xcoff.h: Likewise.
15306         * config/sh/coff.h: Likewise.
15307         * config/sh/elf.h: Likewise.
15308         * config/sparc/linux64.h: Likewise.
15309         * config/sparc/liteelf.h: Likewise.
15310         * config/sparc/netbsd.h: Likewise.
15311         * config/sparc/openbsd.h: Likewise.
15312         * config/sparc/pbd.h: Likewise.
15313         * config/sparc/sp64-elf.h: Likewise.
15314         * config/sparc/sp86x-elf.h: Likewise.
15315         * config/sparc/sparc.h: Likewise.
15316         * config/vax/vax.h: Likewise.
15317         * config/vax/vaxv.h: Likewise.
15318
15319 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
15320
15321         * h8300.c (shift_alg_hi): Various tweaks to improve performance
15322         of HImode shifts.
15323         (get_shift_alg): Corresponding changes.
15324
15325 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15326
15327         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
15328
15329 2002-08-29  Richard Henderson  <rth@redhat.com>
15330
15331         * expr.h (enum block_op_methods): New.
15332         (emit_block_move): Update prototype.
15333         * expr.c (block_move_libcall_safe_for_call_parm): New.
15334         (emit_block_move_via_loop): New.
15335         (emit_block_move): Use them.  New argument METHOD.
15336         (emit_push_insn): Always respect the given alignment.
15337         (expand_assignment): Update call to emit_block_move.
15338         (store_expr, store_field, expand_expr): Likewise.
15339         * builtins.c (expand_builtin_apply): Likewise.
15340         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
15341         * function.c (expand_function_end): Likewise.
15342         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
15343         * config/sparc/sparc.c (sparc_va_arg): Likewise.
15344         * calls.c (expand_call, emit_library_call_value_1): Likewise.
15345         (save_fixed_argument_area): Use emit_block_move with
15346         BLOCK_OP_CALL_PARM instead of move_by_pieces.
15347         (restore_fixed_argument_area): Likewise.
15348         (store_one_arg): Fix alignment parameter to emit_push_insn.
15349
15350 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15351
15352         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
15353
15354 2002-08-29  Catherine Moore  <clm@redhat.com>
15355
15356         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
15357         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
15358         (PREDICATE_CODES): Include new predicates.
15359         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
15360         (TARGET_SWITCHES):  Add strict-align.
15361         (TARGET_STRICT_ALIGN): New.
15362         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
15363         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
15364         Define.
15365         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
15366         v850_muldi3.
15367         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
15368         L_callt_save_r2_r31, L_return_r2_r31,
15369         L_save_all_interrupt): Change addi to add.
15370         (L_save_interrupt, L_return_interrupt): Rework.
15371         (__return_r31):  Correct .size directive.
15372         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
15373         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
15374         New routines.
15375         * config/v850/v850.c (expand_prologue): Call
15376         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
15377         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
15378         (reg_or_int9_operand): New predicate.
15379         (reg_or_const_operand): New routine.
15380         * config/v850/v850.md (return_interrupt): Changed from
15381         restore_interrupt.
15382         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
15383         (callt_save_interrupt): Change save sequence.
15384         (callt_return_interrupt): New.
15385         (save_interrupt): Don't use runtime function for LONG_CALLS
15386         and TARGET_PROLOG_FUNCTION.
15387         (save_all_interrupt): Likewise.
15388         (mulsi3): Use new predicate.
15389         (moviscc): Disallow some combination of constants.
15390         Fix define_split for sasf insns, so that it will not generate bad
15391         code if operand0 and operand5 are the same.
15392         * config/v850/v850-protos.h: Prototype new predicates.
15393
15394 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
15395
15396         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
15397         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
15398
15399 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15400
15401         * c-common.c (builtin_define_type_precision): New function.
15402         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
15403         wchar_t is unsigned in C++.
15404         * doc/cpp.texi (Common Predefined Macros): Document
15405         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
15406         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
15407         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
15408
15409 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
15410
15411         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
15412         section.  Mention that it is enabled by -Wall.
15413         (-Wall): Mention that there can be language-specific warnings as well.
15414         (-Wctor-dtor-privacy): Mention that it is enabled by default.
15415         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
15416
15417 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
15418
15419         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
15420         if it is ever live.
15421
15422         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
15423         attribute for SHCOMPACT.
15424
15425         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
15426         appropriately.
15427         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
15428         by the ABI.
15429
15430         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
15431
15432 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
15433
15434         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
15435         "MASK_GAS|MASK_ABICALLS".
15436         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
15437         (TARGET_DEFAULT): Remove.
15438         (MACHINE_TYPE): Undefine before defining.
15439         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
15440
15441 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
15442
15443         * c-common.c (warn_abi): New variable.
15444         * c-common.h (warn_abi): Likewise.
15445         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
15446         (c_common_decode_option): Handle it.
15447         * doc/invoke.texi: Document -Wabi.
15448
15449 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15450
15451         * c-common.c (warn_undeclared_selector): New variable.
15452         * c-common.h (warn_undeclared_selector): Idem.
15453         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
15454         to on when -Wundeclared-selector is found.
15455         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
15456         * objc/objc-act.c (build_selector_expr): If
15457         warn_undeclared_selector is set, check that the selector has
15458         already been defined, and emit a warning if not.
15459
15460 2002-08-27  Nick Clifton  <nickc@redhat.com>
15461             Catherine Moore  <clm@redhat.com>
15462             Jim Wilson  <wilson@cygnus.com>
15463
15464         * config.gcc: Add v850e-*-* target.
15465         Add --with-cpu= support for v850.
15466         * config/v850/lib1funcs.asm: Add v850e callt functions.
15467         * config/v850/v850.h: Add support for v850e target.
15468         * config/v850/v850.c: Add functions to support v850e target.
15469         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
15470         * config/v850/v850.md: Add patterns for v850e instructions.
15471         * doc/invoke.texi: Document new v850e command line switches.
15472
15473 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
15474                           Aldy Hernandez <aldyh at redhat dot com>
15475
15476         * doc/tm.texi: Applied numerous fixes to the automaton based
15477         scheduler descrition.
15478
15479 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
15480
15481         * i386.c (classify_argument): Handle variable sized objects.
15482
15483 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
15484
15485         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
15486
15487 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
15488
15489         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
15490
15491 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
15492
15493         * i386.c (classify_argument): Properly compute word size of the analyzed object.
15494
15495 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
15496
15497         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
15498         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
15499         accordingly.
15500         (attribute insn_class): Provide default definitions based on type.
15501         Remove all insn-specific settings.
15502         (various function units): Remove old SH4 scheduling.
15503         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
15504         New attributes.  Set them where appropriate.
15505         (cpu unit FS): Don't define / use.
15506         (F3, load_store): New cpu units.
15507         (F01): New reservation.
15508         (all insn_reservations): Make dependent on sh4 pipeline model.
15509         Fix latencies.
15510         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
15511         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
15512         (mt insn_reservation): Use type mt_group.
15513         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
15514         sh4_fload and sh4_store.
15515         (insn_reservation branch_zero and branch): Replace with sh4_branch.
15516         (insn_reservation branch_far): Replace with sh4_return.
15517         (insn_reservation return_from_exp): Rename to:
15518         (sh4_return_from_exp).  Change to be just d_lock*5.
15519         (insn_reservation lds_to_pr): Rename to:
15520         (sh4_lds_to_pr).  Change to be just d_lock*2.
15521         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
15522         d_lock*2.
15523         (insn_reservation prload_mem): Rename to:
15524         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
15525         (insn_reservation fpscr_store): Rename to:
15526         (fpscr_load).  Change to d_lock,nothing,F1*3.
15527         (insn_reservation fpscr_store_mem): Rename to:
15528         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
15529         (insn_reservation multi): Change to
15530         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
15531         (insn_reservation fp_arith): Change to issue,F01,F2.
15532         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
15533         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
15534         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
15535         (insn_reservation fp_double_cmp): Change to
15536         d_lock,(d_lock+F01),F1+F2,F2.
15537         (insn_reservation dp_div): Change to
15538         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
15539         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
15540         (sh_adjust_cost, SHcompact): Differentiate between different
15541         kinds of dependencies.  Drop factor of ten for superscalar.
15542         Use new instruction types.  Add new exception rules.
15543
15544         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
15545
15546         * sh.md (mperm_w): Add DONE.
15547
15548 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
15549
15550         * longlong.h: Import current PowerPC defintion from GMP-4.1.
15551
15552         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
15553
15554         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
15555
15556 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15557
15558         * sh.h (MAX_FIXED_MODE_SIZE): Define.
15559
15560 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
15561
15562         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
15563         delimiter.
15564
15565 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15566
15567         * c-common.c (cpp_define_data_format): New function.
15568         (cb_register_builtins): Call it.
15569
15570         * doc/cpp.texi (Common Predefined Macros): Document
15571         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
15572         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
15573         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
15574         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
15575         __TARGET_USES_VAX_H_FLOAT__.
15576
15577 2002-08-26  Ziemowit Laski <zlaski@apple.com>
15578
15579         * objc/objc-act.c (get_super_receiver): If inside a class method
15580         of a category, cast the receiver to 'id' before accessing the 'isa'
15581         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
15582
15583 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
15584
15585         * config/s390/s390-protos.h (s390_function_prologue,
15586         s390_function_epilogue): Remove.
15587         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
15588         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
15589
15590         config/s390/s390.c (s390_machine_dependent_recorg): New function.
15591         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
15592         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
15593         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
15594         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
15595
15596         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
15597         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
15598         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
15599         function is not a leaf function.  Use save_gprs and restore_gprs.
15600         (s390_emit_epilogue): Likewise.
15601         (save_gprs, restore_gprs): New functions.
15602         (struct s390_frame): Remove return_reg_saved_p member.
15603         (save_fprs_p): Remove.
15604         (s390_optimize_prolog): New function.
15605         (s390_legitimate_reload_constant): Remove now unnecessary check.
15606
15607         (s390_function_count): Remove.
15608         (s390_output_symbolic_const): Replace s390_function_count by
15609         current_function_funcdef_no.
15610         (s390_output_constant_pool): Likewise.
15611
15612         (legitimize_pic_address): Use regs_ever_live to track PIC register
15613         instead of current_function_uses_pic_offset_table.
15614         (s390_emit_prologue): Likewise.
15615         config/s390/s390.md ("call", "call_value"): Likewise.
15616
15617 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
15618
15619         * c-opts.c (find_opt): Don't complain about wrong languages
15620         here.  Return exact matches even for wrong language.
15621         (c_common_decode_option): Complain about wrong languages
15622         here.
15623
15624 2002-08-24  Stuart Hastings  <stuart@apple.com>
15625
15626         * function.h (struct function): Add flag
15627         all_throwers_are_sibcalls.
15628         * except.c (set_nothrow_function_flags): Replaces
15629         nothrow_function_p. Set new flag.
15630         * except.h (set_nothrow_function_flags): Replaces
15631         nothrow_function_p.
15632         * dwarf2out.c (struct dw_fde_struct): Add flag
15633         all_throwers_are_sibcalls.
15634         (output_call_frame_info): Test it.
15635         (dwarf2out_begin_prologue) Propagate it from cfun to
15636         dw_fde_struct.
15637         * toplev.c (rest_of_compilation): Update calls to
15638         nothrow_function_p.
15639
15640 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
15641
15642         * ggc-page.c (compute_inverse): Short circuit calculation for
15643         object sizes larger than half a page.
15644
15645 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
15646
15647         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
15648         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
15649         default.
15650         (rs6000_elf_unique_section): Likewise.
15651
15652 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15653
15654         * ns32k.c (ns32k_globalize_label): Delete.
15655         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
15656
15657 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
15658
15659         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
15660         for loading delta with num_insns_constant_wide.  Calculate
15661         delta_low, delta_high without using a conditional.
15662
15663 2002-08-22  Jason Merrill  <jason@redhat.com>
15664
15665         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
15666         * c-common.def: Adjust.
15667         * c-dump.c (c_dump_tree): Adjust.
15668         * c-semantics.c (genrtl_return_stmt): Adjust.
15669         * c-pretty-print.c (pp_c_statement): Adjust.
15670         * tree-inline.c (copy_body_r): Adjust.
15671
15672 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
15673
15674         * ggc-page.c: Avoid division in ggc_set_mark.
15675         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
15676         compute_inverse): New.
15677         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
15678         (init_ggc): Initialize inverse_table.
15679
15680 2002-08-22  Tom Tromey  <tromey@redhat.com>
15681
15682         * doc/install.texi (Configuration): Document --datadir.
15683
15684 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
15685
15686         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
15687
15688 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
15689
15690         * gengtype-lex.l (ID): Allow underscore as first character.
15691
15692 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
15693
15694         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
15695         function.
15696         (rs6000_xcoff_asm_named_section): Rename.
15697         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15698
15699 2002-08-21  Tom Tromey  <tromey@redhat.com>
15700
15701         For PR java/6005 and PR java/7611:
15702         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
15703         (fold): Likewise.
15704         * langhooks.c (lhd_can_use_bit_fields_p): New function.
15705         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
15706         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
15707         (LANG_HOOKS_INITIALIZER): Use it.
15708         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
15709         field.
15710
15711 2002-08-21  Stan Shebs  <shebs@apple.com>
15712
15713         * tree.c (finish_vector_type): Fix a typo in a comment.
15714         * Makefile.in: Fix "the the" stutters in comments.
15715         * genautomata.c: Ditto.
15716         * ifcvt.c: Ditto.
15717         * regrename.c: Ditto.
15718         * config/alpha/alpha.c: Ditto.
15719         * config/alpha/vms-crt0-64.c: Ditto.
15720         * config/alpha/vms-crt0.c: Ditto.
15721         * config/alpha/vms-psxcrt0-64.c: Ditto.
15722         * config/alpha/vms-psxcrt0.c: Ditto.
15723         * config/d30v/d30v.h: Ditto.
15724         * config/fr30/fr30.h: Ditto.
15725         * config/rs6000/rs6000.c: Ditto.
15726         * config/stormy16/stormy16.h: Ditto.
15727         * doc/md.texi: Ditto.
15728
15729 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15730
15731         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
15732
15733 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
15734
15735         * c-decl.c (grokdeclarator): Make invalid combinations with long,
15736         short, signed or unsigned into hard errors.  Fixes PR c/4319.
15737         Also make duplicate modifiers such as "short short" into hard
15738         errors.
15739
15740 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
15741             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15742
15743         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
15744         to the actual end.  Add '@end table' and '@table @code'.
15745
15746 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
15747
15748         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
15749
15750         * unroll.c (biv_total_increment): Don't try to compute the total
15751         increment for FP BIVs.
15752
15753 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15754
15755         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
15756         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
15757         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15758         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
15759         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
15760         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
15761         (GLOBAL_ASM_OP): Define.
15762         * arm.c (aof_globalize_label): New function.
15763         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
15764         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15765         * c4x.c (c4x_globalize_label): New function.
15766         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
15767         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
15768         (GLOBAL_ASM_OP): Define.
15769         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15770         * darwin-protos.h (darwin_globalize_label): Declare.
15771         * darwin.c (darwin_globalize_label): New function.
15772         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
15773         (ASM_GLOBALIZE_LABEL): Delete.
15774         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
15775         * dsp16xx.c (asm_output_common): Use target hook.
15776         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
15777         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
15778         (GLOBAL_ASM_OP): Define.
15779         * i370.c (i370_globalize_label): New function.
15780         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
15781         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
15782         * i386.c (ix86_asm_file_end): Use target hook.
15783         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
15784         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15785         * ia64.c (ia64_asm_output_external): Likewise.
15786         * ia64/sysv4.h: Update comment.
15787         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15788         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15789         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
15790         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15791         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
15792         * mmix-protos.h (mmix_asm_globalize_label): Delete.
15793         * mmix.c (mmix_asm_globalize_label): Likewise.
15794         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
15795         (GLOBAL_ASM_OP): Define.
15796         * ns32k.c (ns32k_globalize_label): New function.
15797         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
15798         (ASM_GLOBALIZE_LABEL): Delete.
15799         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
15800         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
15801         * pa.c (pa_globalize_label): New function.
15802         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
15803         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
15804         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
15805         (GLOBAL_ASM_OP): Define.
15806         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
15807         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15808         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
15809         (GLOBAL_ASM_OP): Define.
15810         * v850.c (v850_output_aligned_bss): Use target hook.
15811         * vax.c (vms_globalize_label): New function.
15812         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
15813         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
15814         (GLOBAL_ASM_OP): Define.
15815         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
15816         * doc/tm.texi: Update docs.
15817         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
15818         target hook.
15819         * final.c (output_alternate_entry_point): Likewise.
15820         * hooks.c (hook_FILEptr_constcharptr_void): New function.
15821         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
15822         * output.h (assemble_global): Delete.
15823         (default_globalize_label): Declare.
15824         * system.h (ASM_GLOBALIZE_LABEL): Poison.
15825         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15826         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
15827         * target.h (gcc_target): Add globalize_label member.
15828         * varasm.c (asm_output_bss, asm_output_aligned_bss,
15829         globalize_decl): Use target hook.
15830         (assemble_global): Delete.
15831         (default_globalize_label): New function.
15832
15833 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15834
15835         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
15836
15837 2002-08-20  Devang Patel  <dpatel@apple.com>
15838         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
15839
15840 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15841
15842         * arc.c (output_shift): Use stdio instead of asm_fprintf.
15843         * arm.c (thumb_output_function_prologue): Likewise.
15844         * avr.c (print_operand): Likewise.
15845         * c4x.c (c4x_print_operand): Likewise.
15846         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
15847         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
15848         * cris.c (cris_target_asm_function_prologue,
15849         cris_asm_output_mi_thunk): Likewise.
15850         * h8300.c (print_operand): Likewise.
15851         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15852         * ip2k.c (print_operand): Likewise.  Fix format specifier.
15853         * m68hc11.c (asm_print_register, print_operand,
15854         print_operand_address): Use stdio instead of asm_fprintf.
15855         (print_operand_address): Fix format specifier.
15856         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
15857         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
15858         asm_fprintf.
15859         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15860         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15861         * m68k.c (m68k_output_function_prologue,
15862         m68k_output_function_epilogue, print_operand): Likewise.
15863         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
15864         Likewise.  Fix format specifier.
15865         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15866         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15867         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15868
15869 2002-08-15  Eric Christopher  <echristo@redhat.com>
15870             Jeff Knaggs  <jknaggs@redhat.com>
15871
15872         * config.gcc (mipsisa64sr71k-elf): New target.
15873         * config/mips/sr71k.md: New file.
15874         * config/mips/mips.md: Use it.
15875         (rot*): Add sr71k specifics.
15876         * config/mips/t-sr71k: New file.
15877         * config/mips/mips.h (sr71k): New cpu.
15878         (TARGET_SR71K): Use it.
15879         (TUNE_SR71K): Ditto.
15880         (GENERATE_BRANCHLIKELY): Ditto.
15881         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
15882         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
15883         * config/mips/mips.c (sr71k): New cpu.
15884         (mips_use_dfa_pipeline_interface): Use.
15885
15886 2002-08-15  Eric Christopher  <echristo@redhat.com>
15887             Richard Sandiford <rsandifo@redhat.com>
15888             Aldy Hernandez  <aldyh@redhat.com>
15889             Graham Stott    <grahams@redhat.com>
15890             Michael Meissner  <meissner@redhat.com>
15891             Gavin Romig-Koch  <gavin@redhat.com>
15892             Ken Raeburn  <raeburn@cygnus.com>
15893             Alexandre Oliva <aoliva@redhat.com>
15894
15895         * config.gcc (mips64vr-elf): New target.
15896         * config/mips/5400.md: New file.
15897         * config/mips/5500.md: Ditto.
15898         * config/mips/mips.md: Use them.
15899         (frsqrt): New.
15900         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
15901         cpus.
15902         (mips_issue_rate): Use them.
15903         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
15904         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
15905         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
15906         cpus.
15907         (TARGET_MIPSx): Use them.
15908         (TUNE_MIPSx): Ditto.
15909         (GETNATE_MULT3_SI): Ditto.
15910         (ISA_HAS_BRANCHLIKELY): Ditto.
15911         (ISA_HAS_CONDMOVE): Ditto.
15912         (ISA_HAS_NMADD_NMSUB): Ditto.
15913         (ISA_HAS_MULHI): New. Ditto.
15914         (ISA_HAS_MULS): Ditto.
15915         (ISA_HAS_MSAC): Ditto.
15916         (ISA_HAS_MACC): Ditto.
15917         (ISA_HAS_ROTR_SI): Ditto.
15918         (ISA_HAS_ROTR_DI): Ditto.
15919         (RTX_COSTS): Use.
15920
15921 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15922
15923         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
15924         at head.
15925         (remove_dup_nonsys_dirs): New function.
15926         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
15927         (merge_include_chains): Remove non-system include directories from
15928         quote and bracket include chains when they duplicate equivalent system
15929         directories.
15930         * doc/cpp.texi (-I): Update.
15931         * doc/cppopts.texi (-I): Update.
15932         * doc/install.texi (--with-local-prefix): Further document usage of
15933         this option.
15934         * doc/invoke.texi (-I): Update.
15935
15936 2002-08-20  Richard Henderson  <rth@redhat.com>
15937
15938         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
15939         (emit_block_move): Split out subroutines.
15940         (emit_block_move_via_movstr): New.
15941         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
15942         (emit_block_move_libcall_fn): New.  Construct function prototype for
15943         bcopy as well.
15944         (clear_storage): Split out subroutines.
15945         (clear_storage_via_clrstr): New.
15946         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
15947         (clear_storage_libcall_fn): New.  Construct function prototype for
15948         bzero as well.
15949         (emit_push_insn): Use emit_block_move.
15950         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
15951         (store_constructor): Likewise.
15952
15953 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
15954
15955         * objc/objc-act.c (building_objc_message_expr): Rename to
15956         current_objc_message_selector.
15957
15958 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
15959
15960         * objc/objc-act.c (build_ivar_chain): Remove.
15961         (objc_copy_list): Likewise.
15962         (get_class_ivars): Inline call to removed build_ivar_chain
15963         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
15964         slot; use that slot (rather than CLASS_IVARS) when accessing
15965         ivars for base classes.  Call copy_list and chainon instead of
15966         objc_copy_list.
15967         (build_private_template): Call get_class_ivars instead of
15968         build_ivar_chain.
15969         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
15970         (continue_class): Call get_class_ivars instead of
15971         build_ivar_chain.
15972         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
15973         of DECL_BIT_FIELD (which may have been cleared).
15974         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
15975
15976 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15977
15978         * genautomata.c (output_translate_vect, output_state_ainsn_table,
15979         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
15980         in output file.
15981         (output_internal_min_issue_delay_func): Initialize variable in
15982         output file.
15983
15984 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
15985
15986         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
15987         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
15988
15989 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
15990             Steve Ellcey  <sje@cup.hp.com>
15991
15992         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
15993         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
15994         * explow.c (trunc_int_for_mode): Abort when the mode is not
15995         a scaler integer mode.
15996         * combine.c (expand_compound_operation): Don't expand Vector
15997         or Complex modes into shifts.
15998         (expand_field_assignment): Don't do bitwise arithmatic and
15999         shifts on Vector or Complex modes.
16000         (simplify_comparison): Don't call trunc_int_for_mode
16001         for VOIDmode.
16002         * recog.c (general_operand): Likewise.
16003         (immediate_operand): Likewise.
16004         (nonmemory_operand): Likewise.
16005
16006 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
16007
16008         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
16009         multi-instruction SImode constant.  Add REG_EQUAL note.
16010         * config/rs6000/rs6000.md (movsi splitter): Use
16011         rs6000_emit_set_const.
16012
16013 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16014
16015         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
16016         the macro test controlling its use.
16017
16018 2002-08-18  H.J. Lu  (hjl@gnu.org)
16019
16020         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
16021         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
16022         gnu_ld=yes.
16023         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
16024         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
16025         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
16026         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
16027         here.
16028         (cris-*-linux*): Remove setting thread_file here.
16029
16030 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
16031
16032         PR preprocessor/7602
16033         * cppinit.c (path_include): Treat the system environment
16034         variables as being cxx_aware.
16035
16036 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
16037
16038         * c-decl.c (flexible_array_type_p): New function.
16039         (grokdeclarator, finish_struct): Use it.
16040         * doc/extend.texi: Document constraints on use of structures with
16041         flexible array members.
16042
16043 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
16044
16045         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
16046         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
16047         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
16048
16049 2002-08-16  Stan Shebs  <shebs@apple.com>
16050
16051         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
16052         for ObjC with -fnext-runtime.
16053         * doc/cpp.texi: Document it.
16054
16055 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
16056
16057         * doc/install.texi (Final installation): Replace links to individual
16058         build status pages with a link to a common page that lists them all.
16059
16060 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
16061
16062         * doc/invoke.texi: Fix typo.
16063
16064 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
16065
16066         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
16067
16068 2002-08-16  Andrew Haley  <aph@redhat.com>
16069
16070         * tree-inline.c: Add includes for Java inliner.
16071         (remap_decl): Don't handle anonymous types for Java.
16072         (remap_block): Add handling for Java trees.
16073         (copy_scope_stmt): Conditionalize for non-Java use only.
16074         (copy_body_r): Handle Java trees.  Add handling for
16075         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
16076         (initialize_inlined_parameters):  Handle Java trees.
16077         (declare_return_variable): Likewise.
16078         (expand_call_inline): Handle Java trees.
16079         (walk_tree): Likewise.
16080         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
16081         (add_stmt_to_compound): New function.
16082
16083 2002-08-15  Richard Henderson  <rth@redhat.com>
16084
16085         * Makefile.in (LOOSE_WARN): Remove -fno-common.
16086         (NOCOMMON_FLAG): New substitution point.
16087         (GCC_WARN_CFLAGS): Include it.
16088         * configure.in (ac_checking): Set nocommon_flag.
16089         (nocommon_flag): New substitution point.
16090
16091 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
16092
16093         * c-tree.h (skip_evaluation): Move declaration...
16094         * c-common.h: ... here.
16095         * c-typeck.c (build_external_ref): Don't assemble_external nor
16096         mark a tree as used if skip_evaluation is set.
16097         * c-parse.in (typeof): New non-terminal to set skip_evaluation
16098         around TYPEOF.
16099         (typespec_nonreserved_nonattr): Use it.
16100
16101 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
16102
16103         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
16104         (xcoff_debug_hooks): Update end_prologue.
16105         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
16106         * debug.h (end_prologue): Add file arg.
16107         (end_epilogue): Add line and file args.
16108         (dwarf2out_end_epilogue): Add line and file args.
16109         (vmsdbgout_after_prologue): Remove.
16110         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
16111         (dwarf2_debug_hooks): Update end_prologue.
16112         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
16113         (dwarfout_end_prologue): Add file arg.
16114         * final.c (vmsdbgout_after_prologue): Remove
16115         (final_end_function): Update end_epilogue call.
16116         (final_scan_insn): Update end_prologue call.
16117         * sdbout.c (sdbout_end_epilogue): Add line and file args.
16118         (sdbout_end_prologue): Add file arg.
16119         (sdb_debug_hooks): Update end_prologue.
16120         (sdb_begin_prologue): Update sdbout_end_prologue call.
16121         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
16122         vmsdbgout_end_function.
16123         (vmsdbgout_end_prologue): New function renamed from
16124         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
16125         (vmsdbgout_end_function): New function.
16126         (vmsdbgout_end_epilogue): Add line and file args. Call
16127         vmsdbgout_source_line.
16128         (write_pclines): Write only valid line numbers.
16129         (write_srccorr): Don't write source correlation records if 0 lines.
16130         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
16131
16132 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
16133
16134         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
16135         (_Unwind_Internal_Ptr): 32 bit version for use in
16136         read_encoded_value_with_base.
16137         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
16138         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
16139         right size.
16140
16141 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16142
16143         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
16144         signed/unsigned warnings.
16145
16146         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
16147         record_reg_classes): Likewise.
16148
16149         * reload.c (reload_inner_reg_of_subreg, push_reload,
16150         find_reloads_address_1): Likewise.
16151
16152 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
16153
16154         * rs6000.c (output_mi_thunk): Return to function section on
16155         TARGET_ELF.
16156
16157         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
16158
16159 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
16160
16161         * config/s390/s390.c (legitimize_address): Optimize loading
16162         of large displacements.
16163
16164 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
16165
16166         * config/alpha/alpha-protos.h: Update.
16167
16168         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
16169         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
16170         (alpha_linkage_symbol_p): New static function.
16171         (print_operand_address): Print linkage operand.
16172
16173         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
16174         variables.
16175         (reloc_kind): New enum.
16176         (struct alpha_funcs): New struct.
16177         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
16178
16179         (alpha_need_linkage): Rewrite.
16180         (alpha_use_linkage): New global function.
16181         (alpha_write_linkage): Rewrite and make static.
16182         (alpha_write_one_linkage): Rewrite
16183
16184         (alpha_start_function): Remove procedure descriptor output.
16185         (alpha_end_function): Write linkages at end of each function.
16186
16187         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
16188         (call_vms_1, call_value_vms_1): Rewrite.
16189
16190         * config/alpha/vms.h (ASM_FILE_END): Remove.
16191
16192 2002-08-14  Richard Henderson  <rth@redhat.com>
16193
16194         * ggc-page.c (RTL_SIZE): New.
16195         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
16196         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
16197
16198 2002-08-14  Richard Henderson  <rth@redhat.com>
16199
16200         * calls.c: Include target.h.
16201         * Makefile.in (calls.o): Update.
16202
16203         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
16204         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
16205
16206 2002-08-14  Richard Henderson  <rth@redhat.com>
16207
16208         * Makefile.in (LOOSE_WARN): Add -fno-common.
16209         * c-common.h (constant_string_class_name): Add missing extern.
16210
16211 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
16212
16213         PR preprocessor/7358
16214         * c-opts.c (check_deps_environment_vars): Ignore main file
16215         for SUNPRO_DEPENDENCIES.
16216         * cppfiles.c (stack_include_file): Ignore main file if
16217         appropriate.
16218         * cpplib.h (struct cpp_options): New member in deps.
16219         * doc/cppenv.texi: Update.
16220
16221 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16222
16223         PR preprocessor/7526
16224         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
16225
16226 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
16227
16228         * doc/invoke.texi (-a): Remove documentation.
16229         (-fprofile-arcs): Remove reference to -a, -ax options.
16230         * doc/gcov.texi (Gcov Data Files): Data might be merged.
16231
16232 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16233
16234         Fix PR/7566
16235         * c-semantics.c (genrtl_case_label): Don't (mis)use
16236         warning_with_decl.
16237
16238 2002-08-14  Dale Johannesen  <dalej@apple.com>
16239
16240         * explow.c (emit_stack_restore):  Emit memory clobbers
16241         preceding the stack pop, to prevent the scheduler from
16242         moving refs to variable arrays below this pop.
16243         * reload1.c (reload):  Preserve these clobbers for sched2.
16244         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
16245
16246 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16247
16248         * c-opts.c (c_common_post_options): Correct test.
16249
16250 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16251
16252         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
16253         order in call to fprintf.
16254
16255 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16256
16257         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
16258
16259 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
16260
16261         * reload.c (find_reloads): Handle constraint letters marked by
16262         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
16263         (alternative_allows_memconst): Likewise.
16264         * reload1.c (maybe_fix_stack_asms): Likewise.
16265         * recog.c (asm_operand_ok, preprocess_constraints,
16266         constrain_operands): Likewise.
16267         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
16268         * local-alloc.c (block_alloc, requires_inout): Likewise.
16269         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
16270
16271         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
16272         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
16273         * doc/tm.texi: Document these two new target macros.
16274
16275         * config/s390/s390.c (s390_expand_plus_operand): Accept already
16276         valid operands.
16277         (q_constraint): New function.
16278         config/s390/s390-protos.h (q_constraint): Declare it.
16279         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
16280         (EXTRA_MEMORY_CONSTRAINT): New macro.
16281
16282         * config/s390/s390.md: Throughout the machine description,
16283         replace all instances of the constraint combinations 'Qo'
16284         or 'oQ' with simply 'Q'.
16285
16286 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16287
16288         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
16289         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
16290         (LIBGCC2_CFLAGS): Compile with -mrelax.
16291
16292 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16293
16294         * doc/invoke.texi: Document -minmax for 68HC12.
16295
16296         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
16297         ("uminqi3"): Likewise.
16298         ("uminhi3", "umaxhi3"): Likewise.
16299
16300         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
16301         (TARGET_MIN_MAX): Define.
16302         (TARGET_SWITCHES): New option -minmax/-mnominmax.
16303
16304 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16305
16306         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
16307         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
16308
16309         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
16310         (ret, declare, farsym): New gas macros.
16311         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
16312         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
16313         and declare the symbol far when compiled with -mlong-calls.
16314         (__far_trampoline): New for 68HC12 trampoline code to invoke a
16315         far handler using jsr/bsr.
16316
16317         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
16318         (jsr): New macro to transform a 'jsr' into a 'call'.
16319
16320 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16321
16322         * doc/invoke.texi: Document -mlong-calls for 68HC12.
16323
16324         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
16325         -mlong-calls is specified.
16326         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
16327         assembler directives.
16328         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
16329         (TARGET_SWITCHES): Add -mlong-calls options.
16330         (current_function_far): Declare.
16331
16332         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
16333         into account the page register saved on the stack.
16334         (m68hc11_override_options): Take into account -mlong-calls option.
16335         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
16336
16337         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
16338         if the function is going to be in 68HC12 banked memory (-mlong-calls).
16339         ("*return_16bit"): Likewise.
16340         ("*return_void"): Likewise.
16341         ("call", "call_value"): Use call for a far function call.
16342
16343 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16344
16345         * toplev.c (parse_options_and_default_flags): Don't call
16346         post_options here.
16347         (general_init): Initialize GC, pools and tree hash here,
16348         instead of lang_independent_init.
16349         (lang_independent_init): Rename backend_init.
16350         (do_compile): Call post_options hook; exit early if there
16351         have been errors after switch processing.
16352         (toplev_main): Update.
16353
16354 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16355
16356         * c-pretty-print.h: Guard against multiple inclusion.
16357         Robustify macros.
16358         (pp_c_attributes): Declare.
16359         * c-pretty-print.c (pp_c_attributes): New function.
16360
16361 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16362
16363         * m68k.c (m68k_output_function_prologue,
16364         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
16365         and NEWS/MOTOROLA.
16366         * genattrtab.c: Remove dpx2 comment.
16367         * libgcc2.c (__enable_execute_stack): Delete versions for
16368         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
16369         sony_news/SYSTYPE_BSD.
16370         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
16371         __gmicro__, __i860__, __NeXT__ and __pyr__.
16372         * rtl.h: Remove convex comment.
16373         * varasm.c: Likewise.
16374
16375 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16376
16377         * c-opts.c (lang_flags): Const-ify.
16378         * ra-build.c (undef_table): Likewise.
16379         * ra.c (eliminables): Likewise.
16380
16381 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16382
16383         * tree.h: Guard against multiple inclusion.
16384
16385 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
16386
16387         * reload1.c (reload_cse_simplify): Before checking
16388         REG_FUNCTION_VALUE_P, check REG_P.
16389
16390 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
16391
16392         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
16393
16394 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16395
16396         * c-opts.c (c_common_init_options): Extra braces needed.
16397
16398 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
16399
16400         * sh.c (sh_init_builtins): Add PARAMS to declaration.
16401         (sh_media_init_builtins, sh_expand_builtin): Likewise.
16402         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
16403         (sh_expand_binop_v2sf): Likewise.
16404         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
16405         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
16406         (sh_initialize_trampoline): Likewise.
16407
16408 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
16409
16410         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
16411         new condition code modes.
16412         s390.c (s390_match_ccmode_set): Handle those new CC modes.
16413         (s390_select_ccmode): Likewise.
16414         (s390_branch_condition_mask): Likewise.
16415
16416         * s390-protos.h (s390_tm_ccmode): Declare.
16417         s390.c (s390_tm_ccmode): New function.
16418         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
16419
16420         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
16421         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
16422         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
16423
16424         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
16425         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
16426         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
16427         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
16428         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
16429
16430         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
16431         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
16432         "*cmpqi_ccs_0"): Remove, replace by ...
16433         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
16434         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
16435         "*tstqi", "*tstqi_cconly"): ... these new patterns.
16436
16437         ("*cmpsidi_ccs"): Remove, replace by ...
16438         ("*cmpsi_ccs_sign"): ... this new pattern.
16439         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
16440
16441         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
16442         ("*cli"): ... this new pattern.
16443
16444         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
16445         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
16446         New patterns.
16447         ("adddi3_64"): Rename to "*adddi3_64".
16448         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
16449         ("adddi3"): Adapt expander.
16450
16451         ("*addsi3_cc"): Allow "general_operand" for operand 2.
16452         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
16453         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
16454
16455         ("addhi3", "addqi3"): Remove, replace by ...
16456         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
16457
16458         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
16459         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
16460         ("subdi3"): Replace by insn and splitter "*subdi3_31".
16461         ("subdi3"): New expander.
16462
16463         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
16464
16465         ("subhi3", "subqi3"): Remove, replace by ...
16466         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
16467
16468         ("*muldi3_sign"): New pattern.
16469         ("muldi3"): Do not clobber CC.
16470         ("mulsi3"): Likewise.
16471         ("mulsi_6432"): Likewise.
16472
16473 2002-08-13  Denis Chertykov  <denisc@overta.ru>
16474
16475         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
16476         which can change CC0.
16477
16478 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
16479
16480         * gcse.c (adjust_libcall_notes): New function.
16481         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
16482
16483 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
16484
16485         * libgcc2.c (L_bb): Remove unneeded #includes.
16486         (__global_counters, __gthreads_active): Remove unused globals.
16487         (__bb_exit_func): Merge counts into files rather than appending.
16488         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
16489         (ALL_CFLAGS): ... to here.
16490
16491 2002-08-13  Denis Chertykov  <denisc@overta.ru>
16492
16493         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
16494         (function_epilogue): Don't calculate function size.
16495         (ip2k_set_compare): Don't use lookup_const_double.
16496         (asm_file_start): Initialization of commands_in_file removed.
16497         (asm_file_end): Output of commands_in_file removed.
16498
16499         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
16500         __INT_MAX__.
16501
16502 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16503
16504         * c-opts.c (c_common_init_options): Check option array is
16505         sorted if checking enabled.
16506
16507 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
16508
16509         * c-pretty-print.c: #include "c-tree.h".
16510         (pp_c_simple_type_specifier): Tweak.
16511         (pp_c_storage_class_specifier): New.
16512         (pp_c_function_specifier): Likewise.
16513         (pp_c_declaration_specifiers): Likewise.
16514         (pp_c_init_declarator): Likewise.
16515         (pp_c_declaration): Likewise.
16516         (pp_c_direct_declarator): Stub.
16517         (pp_c_declarator): Likewise.
16518         (pp_c_parameter_declaration): Likewise.
16519
16520 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16521
16522         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
16523         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
16524         struct deferred_opt): New.
16525         (COMMAND_LINE_OPTIONS): Add -M*.
16526         (missing_arg): Update.
16527         (c_common_decode_option): Handle -M*.
16528         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
16529         don't call cpp_post_options.
16530         (c_common_finish, check_deps_environment_vars): Update.
16531         * cppfiles.c (stack_include_file, handle_missing_header): Update.
16532         * cpphash.h (CPP_PRINT_DEPS): Remove.
16533         * cppinit.c: Don't include version.h.
16534         (cpp_create_reader): Don't call deps_init.  Initialize
16535         warn_long_long.
16536         (cpp_read_main_file): Init deps if necessary.
16537         (cpp_destroy): Conditionally free deps.
16538         (cpp_finish): Update.
16539         (no_tgt): Remove.
16540         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
16541         (cpp_post_options): Rename post_options.
16542         * cpplib.h (struct cpp_options): Remove some dependency options;
16543         move others to a new structure.
16544         (cpp_post_options): Remove.
16545         (cpp_finish): Comment.
16546         * fix-header.c (read_scan_file): Don't call cpp_post_options.
16547
16548 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
16549
16550         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
16551         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
16552         MMIX_rR_REGNUM as clobbered.
16553         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
16554
16555 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
16556
16557         * diagnostic.h (output_formatted_scalar): Rename from
16558         output_formatted_integer.
16559         * diagnostic.def: Add DK_DEBUG.
16560         * diagnostic.c (output_decimal): Adjust.
16561         (output_long_decimal): Likewise.
16562         (output_unsigned_decimal): Likewise.
16563         (output_octal): Likewise.
16564         (output_long_octal): Likewise.
16565         (output_hexadecimal): Likewise.
16566         (output_long_hexadecimal): Likewise.
16567         * c-pretty-print.c (pp_c_type_specifier): New function.
16568         (pp_c_specifier_qualifier_list): Likewise.
16569         (pp_c_abstract_declarator): Likewise.
16570         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
16571
16572 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
16573
16574         * doc/trouble.texi (Disappointments): Add static constructor and
16575         destructor dependency information for AIX.
16576
16577 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
16578
16579         * cpphash.h (struct printer): New from cppmain.c.
16580         (cpp_reader): New member.
16581         * cppmain.c (struct printer): Move to cpphash.h.
16582         (options, print): Remove.
16583         (account_for_newlines, print_line, maybe_print_line,
16584         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
16585         scan_translation_unit_trad, cb_line_change, cb_ident,
16586         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
16587         cb_def_pragma): Make reentrant.
16588
16589 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16590
16591         * real.c (ieee_64): Always define.
16592         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
16593         (dec_h): Not used yet, hide it.
16594         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
16595         macro controlling use.
16596         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
16597
16598 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
16599
16600         * i386.md (tablejump): Sign extend the operand.
16601         * i386.c (classify_argument): Fix missed case from previous patch.
16602
16603 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
16604
16605         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
16606         to c-copts.c.
16607         (warn_multichar): Die.
16608         (cb_register_builtins): Export.
16609         * c-common.h (warn_multichar, preprocess_file): Remove.
16610         (cb_register_builtins): New.
16611         * c-lang.c (c_init): Remove.
16612         (LANG_HOOKS_INIT): Use c_objc_common_init.
16613         * c-lex.c (init_c_lex): Don't canonicalize filename.
16614         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
16615         (preprocess_file): Make static.  Update for cpplib.
16616         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
16617         (c_common_post_options): Set some cpp options here.
16618         (c_common_init): Move from c-common.c.
16619         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
16620         * cpplib.h (struct cpp_options): Remove in_fname.
16621         (cpp_preprocess_file): Update.
16622         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
16623
16624 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16625
16626         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
16627
16628 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16629
16630         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
16631         backslash in comment preceeding macro definition.
16632         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
16633         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
16634         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
16635
16636 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
16637
16638         * expr.c (store_expr): In condition for checking if value is
16639         generated in TARGET, move call to expr_size last.
16640
16641 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16642
16643         * c-common.c (c_common_init): Call preprocess_file instead.
16644         (c_common_finish): Move to c-opts.c.
16645         * c-common.h (preprocess_file): new.
16646         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
16647         check_deps_environment_vars, c_common_finish): New.
16648         (c_common_decode_option): Update for out_fname and dependencies.
16649         * cppinit.c (init_dependency_output, output_deps): Remove.
16650         (cpp_destroy): Update prototype.
16651         (cpp_add_dependency_target): New.
16652         (cpp_read_main_file): Don't overlay a buffer.
16653         (cpp_finish): Take a deps output stream and write deps to it.
16654         Return the error count.
16655         (cpp_post_options): Don't canonicalize out_fname, or do anything
16656         with dependencies.
16657         * cpplib.h (struct cpp_options): Remove out_fname and
16658         preprocess_only.
16659         (cpp_add_dependency_target): New.
16660         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
16661         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
16662         set preprocess_only.  Don't handle the output stream directly.
16663
16664 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16665
16666         * dsp16xx.c (print_operand): Fix format specifier.
16667         * dsp16xx.md: Avoid automatic aggregate initialization.
16668         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
16669         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
16670         integer constant modifier.
16671         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
16672         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
16673         guards.
16674         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
16675         * v850.c (v850_select_section): Mark parameter with
16676         ATTRIBUTE_UNUSED.
16677         * global.c (global_alloc): Const-ify.
16678         * ra-colorize.c (hardregset_to_string): Fix format specifier.
16679
16680 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16681
16682         * darwin-c.c (darwin_pragma_options): Const-ify.
16683         * darwin.c (machopic_non_lazy_ptr_name,
16684         machopic_validate_stub_or_non_lazy_ptr): Likewise.
16685         (machopic_indirect_data_reference): Wrap variables in macros
16686         controlling their use.
16687         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
16688         (machopic_select_section): Use parentheses around && within ||.
16689         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
16690
16691 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16692
16693         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
16694         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
16695         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
16696         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
16697         mdr_try_remove_redundant_insns, track_w_reload,
16698         mdr_try_wreg_elim): Make function static to match prototype.
16699         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
16700         parameter with ATTRIBUTE_UNUSED.
16701
16702 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16703
16704         * arc.c (arc_init): Don't use ISO C style function definitions.
16705         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
16706         arm_get_strip_length, arm_strip_name_encoding): Likewise.
16707         * avr.h (progmem_section): Likewise.
16708         * h8300.c h8300_asm_insn_count): Likewise.
16709         * m32r.c (init_idents): Likewise.
16710         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
16711         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
16712         * xtensa.c (xtensa_build_va_list): Likewise.
16713
16714 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16715
16716         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
16717         * c-opts.c (parse_option): Rename find_opt.
16718         (set_std_c99): New function.
16719         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
16720         (missing_arg): Remove OPT_std_bad.  Handle -o.
16721         (c_common_decode_option): Handle input and output file names,
16722         -o and -remap.  Clean up -std= handling.
16723         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
16724         (cpp_handle_option): Similarly.  Don't handle filenames.
16725
16726 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
16727
16728         * i386.c (classify_argument): Fix computing of field's offsets.
16729
16730 2002-08-11  Andreas Jaeger  <aj@suse.de>
16731
16732         PR target/7531:
16733         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
16734
16735 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
16736
16737         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
16738         reference to clk_objective_c with flag_objc.
16739         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
16740         Likewise.
16741         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
16742
16743 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
16744
16745         * c-opts.c (set_std_cxx98, set_std_c89): New.
16746         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16747         (c_common_decode_option): Handle new switches from cppinit.c.
16748         Add -std=gnu++98.
16749         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
16750         (no_arg, no_num): Remove.
16751         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
16752         switches apart from -lang-objc and lang-asm.
16753         (cpp_handle_option): Similarly.
16754         * cpplib.h (cpp_set_lang): New.
16755         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
16756         -std=gnu++98.
16757         * objc/lang-specs.h: Remove -ansi.
16758
16759 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
16760                                Graham Stott
16761
16762         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
16763         errors.
16764
16765 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16766
16767         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
16768         emit_jump_insn): Fix uninitialized variable.
16769         * gcov.c (init_line_info): Likewise.
16770         * genautomata.c (transform_3): Add braces around ambiguous
16771         else.
16772         * ifcvt.c (cond_exec_process_insns): Mark parameter with
16773         ATTRIBUTE_UNUSED.
16774         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
16775         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
16776         variable.
16777
16778         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
16779         warnings in output files.
16780
16781 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
16782
16783         * c-common.c (flag_objc): New.
16784         * c-common.h (c_language_kind): Get rid of clk_objective_c
16785         enum value.
16786         (flag_objc): New extern declaration.
16787         * c-decl.c (implicitly_declare): Call objc_check_decl
16788         instead of maybe_objc_check_decl.
16789         (finish_decl): Likewise.
16790         (grokfield): Likewise.
16791         (finish_struct): Likewise.
16792         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
16793         (maybe_objc_comptypes): Rename to objc_comptypes.
16794         (maybe_building_objc_message_expr): Rename to
16795         objc_message_selector.
16796         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
16797         replace with flag_objc as needed.
16798         * c-opts.c (c_common_init_options): Likewise.
16799         (c_common_decode_option): Likewise.
16800         * c-parse.in (init_reswords): Likewise.
16801         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
16802         (maybe_objc_comptypes): Rename to objc_comptypes.
16803         (maybe_building_objc_message_expr): Rename to
16804         objc_message_selector.
16805         * c-typeck.c (comptypes): Call objc_comptypes instead of
16806         maybe_objc_comptypes, and/or objc_message_selector instead of
16807         maybe_building_objc_message_expr.
16808         (comp_target_types): Likewise.
16809         (convert_for_assignment): Likewise.
16810         (warn_for_assignment): Likewise.
16811         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
16812         independently of those for other languages.
16813         * objc/objc-act.c (maybe_objc_comptypes): Delete.
16814         (maybe_objc_check_decl): Delete.
16815         (maybe_building_objc_message_expr): Rename to
16816         objc_message_selector.
16817         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
16818         clk_objective_c; set flag_objc flag.
16819
16820 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
16821
16822         * ifcvt.c (find_if_case_2): Test correct basic block for size.
16823
16824 2002-08-09  Dale Johannesen  <dalej@apple.com>
16825
16826         * config/rs6000/rs6000.md: Add sibcall patterns.
16827         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
16828         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
16829         Rewritten to handle sibcalls.
16830         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
16831         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
16832
16833 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
16834
16835         * profile.c (da_file_name): New static var.
16836         (init_branch_prob): Initialize it.
16837         (end_branch_prob): Remove da file.
16838
16839         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
16840         * configure.in (coverage_flags): Default to nothing.
16841         * configure: Rebuilt.
16842
16843 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
16844
16845         * Makefile.in (c-opts.o): Update
16846         * c-opts.c: Include intl.h.
16847         (print_help): Move from cppinit.c.  Remove unused options.
16848         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16849         (missing_arg): Complain for switches without an argument.
16850         (c_common_decode_option): Reject missing joined arguments.
16851         Handle new switches from cppinit.c.
16852         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16853         (cpp_handle_option): Similarly.
16854         (print_help): Moved to c-opts.c.
16855         * cpplib.h (struct cpp_options): Remove help_only.
16856         * gcc.c (cpp_unique_options): Remove -$.
16857         * doc/cppopts.texi: Undocument -h.
16858
16859 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16860
16861         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
16862         legitimate constant.
16863         (legitimate_pic_operand_p): Neither pic operand.
16864         (legitimate_address_p): But legitimate address.
16865         (get_thread_pointer): Generate MEM/u instead of CONST around
16866         UNSPEC_TP.
16867         (print_operand): Remove printing of UNSPEC_TP.
16868         (print_operand_address): And print it here.
16869
16870 2002-08-08  Devang Patel  <dpatel@apple.com>
16871
16872         * objc/objc-act.c (build_selector_translation_table): Issue warning,
16873         when  -Wselector is used,if method for which selector is being
16874         created does not exist.
16875
16876 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
16877
16878         * config/sh/sh.c (prepare_move_operands): Only call
16879         target_reg_operand if TARGET_SHMEDIA.
16880
16881 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16882
16883         * config/rs6000/rs6000.h, config/rs6000/aix.h,
16884         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
16885         two patches.
16886         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
16887
16888 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
16889             Richard Henderson  <rth@redhat.com>
16890
16891         * emit-rtl.c (gen_rtx_REG): After reload, only return
16892         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
16893
16894 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16895
16896         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
16897         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
16898         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
16899         macro.
16900
16901 2002-08-08  Adam Nemet  <anemet@lnxw.com>
16902
16903         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
16904         register.
16905         (thumb_expand_prologue): Likewise.
16906         (thumb_output_function_prologue): Likewise.
16907         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
16908         the additional push of the PIC register.
16909
16910 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
16911
16912         * configure.in (enable_coverage): New enable switch.
16913         * configure: Rebuilt.
16914         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
16915         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
16916         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
16917         (mostlyclean): Remove coverage files.
16918         * doc/install.texi: Document enable_coverage.
16919
16920         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
16921         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
16922         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
16923         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
16924         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
16925         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
16926         files.
16927
16928 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
16929
16930         * c-opts.c (cpp_opts): New.
16931         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
16932         (c_common_decode_options): Handle cpplib switches.
16933         (c_common_init_options): Set cpp_opts.
16934         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16935         (cpp_handle_option): Similarly.
16936
16937 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
16938
16939         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
16940         (TARGET_ALTIVEC_ABI): Same.
16941         (TARGET_ALTIVEC_VRSAVE): Same.
16942
16943         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
16944         icode not CODE_FOR_nothing.  Change switch to if.
16945
16946 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
16947
16948         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
16949
16950 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16951
16952         * stor-layout.c (place_union_field): For bitfields if
16953         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
16954         TYPE_USER_ALIGN.
16955
16956 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16957
16958         * pa.c (struct deferred_plabel): Constify name field.
16959
16960 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
16961
16962         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
16963
16964 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16965
16966         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
16967         local_prefix are the same.
16968         * configure: Rebuilt.
16969
16970 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
16971             Richard Henderson  <rth@redhat.com>
16972
16973         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
16974         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
16975         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
16976         (place_field): Likewise.
16977         * config/i386/i386.c (x86_field_alignment): Don't check
16978         DECL_USER_ALIGN here.
16979         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
16980         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
16981         prototype.
16982         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
16983         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
16984         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
16985         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
16986         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
16987         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
16988
16989 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
16990
16991         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
16992         * c-common.c: Don't include tree-inline.h.
16993         (c_common_init_options, c_common_post_options): Move to c-opts.c.
16994         * c-common.h (c_common_decode_option): New.
16995         * c-decl.c (c_decode_option): Remove.
16996         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
16997         * c-opts.c: New file.
16998         * c-tree.h (c_decode_option): Remove.
16999         * doc/passes.texi: Update.
17000         * objc/objc-act.c (objc_decode_option): Remove.
17001         * objc/objc-act.h (objc_decode_option): Remove.
17002         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
17003         c_common_decode_option.
17004
17005 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
17006
17007         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
17008         dependency on TARGET_DOUBLE_FLOAT.
17009
17010 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
17011
17012         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
17013         overwrite callee-save registers.  Fix comment.
17014
17015 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
17016
17017         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
17018         in target_flags based on ISA, if it was not set on the command
17019         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
17020         support Branch Likely instructions.
17021         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
17022         (TARGET_BRANCHLIKELY): Likewise.
17023         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
17024         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
17025         ISA_HAS_BRANCHLIKELY.
17026         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
17027         * doc/invoke.texi: Document new MIPS -mbranch-likely and
17028         -mno-branch-likely options.
17029
17030 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17031
17032         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
17033
17034         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
17035         $(GCONFIG_H).
17036
17037 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
17038
17039         * c-decl.c (duplicate_decls): Error out for incompatible TLS
17040         declarations.
17041
17042         * testsuite/gcc.dg/tls/diag-3.c: New.
17043
17044 2002-08-06  Dale Johannesen  <dalej@apple.com>
17045
17046         * c-common.c (fname_decl): Use line number 0 for
17047         __func__, to avoid confusing debuggers.
17048
17049 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
17050
17051         * gcov.c: Tidy.
17052         (struct line_info, struct coverage): New structures.
17053         (gcov_file_name, gcov_file): Remove globals.
17054         (output_data): Take source file parameter. Fix memory leak. Break
17055         up into ...
17056         (init_line_info, output_line_info, make_gcov_file_name,
17057         accumulate_branch_counts): ... here.
17058         (calculate_branch_probs, function_summary): Adjust.
17059         (main): Adjust.
17060         (function_*): Remove global variables.
17061
17062 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17063
17064         * dwarf2out.c: Remove unused macros.
17065
17066 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17067
17068         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
17069
17070 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17071
17072         * cppinit.c (struct lang_flags): Rename trigraphs std.
17073         (set_lang): Update.
17074         * cpplib.h (struct cpp_options): New member std.
17075         * cppmacro.c (_cpp_builtin_macro_text): Use std.
17076         (collect_args): Flag whether to swallow a possible future
17077         comma pasted with varargs.
17078         (replace_args): Use this flag.
17079         * doc/cpp.texi: Update varargs extension documentation.
17080
17081 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17082
17083         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
17084
17085 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17086
17087         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
17088         and MODE_CLASS_INT modes.
17089
17090 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17091
17092         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
17093         --{enable,disable}-threads is given to configure.
17094         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
17095         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
17096         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
17097         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
17098         Remove thread_file setting here.
17099
17100 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
17101
17102         * doc/install.texi (Binaries): Update Bull Freeware URL.
17103
17104 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17105
17106         * doc/gcc.texi (Top): Rename Index to Keyword Index.
17107
17108 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
17109
17110         * gcov.c (output_data): Round to % to nearest, tweak formatting.
17111
17112 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
17113
17114         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
17115         of the operands into MINUS_EXPR if code is PLUS_EXPR.
17116
17117 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
17118
17119         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
17120         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
17121         drectve_section): Define.
17122         * config/i386/t-interix: Replace interix.o rule with winnt.o.
17123         * config/i386/interix.c: Remove.
17124
17125 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
17126
17127         * attribs.c: Don't include obstack.h.
17128         * builtins.c: Likewise.
17129         * cfganal.c: Likewise.
17130         * cfgbuild.c: Likewise.
17131         * cfgcleanup.c: Likewise.
17132         * emit-rtl.c: Likewise.
17133         * loop.c: Likewise.
17134         * stmt.c: Likewise.
17135
17136         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
17137
17138 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
17139
17140         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
17141
17142 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
17143
17144         * doc/invoke.texi: Remove duplicated paragraph describing
17145         TARGET_SWITCHES.
17146
17147 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
17148
17149         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
17150         * collect2.h (permanent_obstack): Delete declaration.
17151         * collect2.c (permanent_obstack): Delete definition.
17152         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
17153         * expr.c: Don't include obstack.h.
17154         (permanent_obstack): Delete declaration.
17155         * function.c: Don't include obstack.h.
17156         (permanent_obstack): Delete declaration.
17157         * integrate.c: Don't include obstack.h.
17158         (function_maybepermanent_obstack): Delete declaration.
17159         * print-tree.c (debug_tree): Use x*alloc not permalloc.
17160         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
17161         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
17162         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
17163         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
17164         of permalloc, expralloc, perm_calloc.
17165         * tree.c (permanent_obstack): Delete definition.
17166         (init_ttree): Rename from init_obstacks.
17167         (permalloc): Delete.
17168         (perm_calloc): Delete.
17169         (dump_tree_statistics): Don't print information about
17170         permanent_obstack.
17171         * varasm.c (assemble_start_function): Use xstrdup instead of
17172         permalloc/strcpy.
17173         (assemble_variable): Likewise.
17174         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
17175         permalloc.
17176         (unicosmk_add_extern): Likewise.
17177         * config/c4x/c4x.c (c4x_external_ref): Likewise.
17178         (c4x_global_label): Likewise.
17179         * config/frv/frv.c (frv_encode_section_info): Likewise.
17180         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
17181         (i386_pe_record_exported_symbol): Likewise.
17182         * config/mips/mips.c (mips_output_external): Likewise.
17183         (mips_output_external_libcall): Likewise.
17184         * config/pa/pa.c: (permanent_obstack): Delete declaration.
17185         (output_call): Use ggc_strdup instead of allocating on
17186         permanent_obstack.
17187         * config/romp/romp.c: Include ggc.h.
17188         (get_symref): Don't declare permanent_obstack, use ggc_strdup
17189         intead of permanent_obstack.
17190         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
17191         instead of permalloc.
17192         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
17193         instead of permalloc
17194         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
17195         instead of permalloc.
17196         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
17197         permalloc.
17198
17199 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
17200
17201         Contribute a port developed primarily by Michael Meissner,
17202         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
17203         * config.gcc: Add frv-elf target.
17204         * config/frv/cmovd.c: New file.
17205         * config/frv/cmovh.c: New file.
17206         * config/frv/cmovw.c: New file.
17207         * config/frv/frv-abi.h: New file.
17208         * config/frv/frv-asm.h: New file.
17209         * config/frv/frv-modes.def: New file.
17210         * config/frv/frv-protos.h: New file.
17211         * config/frv/frv.c: New file.
17212         * config/frv/frv.h: New file.
17213         * config/frv/frv.md: New file.
17214         * config/frv/frvbegin.c: New file.
17215         * config/frv/frvend.c: New file.
17216         * config/frv/lib1funcs.asm: New file.
17217         * config/frv/media.h: New file.
17218         * config/frv/modi.c: New file.
17219         * config/frv/t-frv: New file.
17220         * config/frv/uitod.c: New file.
17221         * config/frv/uitof.c: New file.
17222         * config/frv/ulltod.c: New file.
17223         * config/frv/ulltof.c: New file.
17224         * config/frv/umodi.c: New file.
17225         * config/frv/xm-frv.h: New file.
17226
17227         * config/frv/media.h: Removed again.
17228
17229 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17230
17231         * gcov.c (bb_file_time): New static variable.
17232         (object_directory): May also be object file.
17233         (preserve_paths): New static variable.
17234         (print_usage): Adjust.
17235         (options): Adjust.
17236         (process_args): Adjust.
17237         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
17238         file. Find modification date on bb file.
17239         (read_profile): Don't rewind a NULL file.
17240         (format_hwint): New static function.
17241         (function_summary): Use format_hwint.
17242         (output_data): SOURCE_FILE_NAME is never relative to
17243         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
17244         mangling. Adjust output format to make it more machine readable.
17245         * doc/gcov.texi: Document & clarify semantics.
17246
17247 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
17248
17249         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
17250
17251 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17252
17253         * gcc.c (cc1_options): Pass output file as auxbase when
17254         appropriate.
17255         * profile.c (init_branch_prob): FILENAME has already had ending
17256         stripped.
17257         * final.c (end_final): Likewise.
17258         * toplev.c (aux_base_name): New global.
17259         (compile_file): Pass aux_base_name to init init_branch_prob and
17260         end_final.
17261         (independent_decode_option, case 'a'): New auxinfo options.
17262         (case 'd'): Protect against mising basename.
17263         (do_compile): Initialize aux_base_name.
17264         * toplev.h (aux_base_name): New global.
17265         * doc/invoke.texi: Adjust documentation.
17266
17267 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17268
17269         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
17270         of TARGET_ALIGN_DOUBLE.
17271
17272 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
17273
17274         * diagnostic.c (inform): New function.
17275         * diagnostic.h (inform): Declare.
17276
17277 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
17278
17279         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
17280         (movhi_internal): Same.
17281         (movqi_internal): Same.
17282         (movdi_internal64): Same.
17283
17284         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
17285
17286         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
17287         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
17288         (COMMON_ASM_OP): Define.
17289         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
17290         Use ALIGN parameter.
17291         (LOCAL_COMMON_ASM_OP): Define.
17292         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
17293
17294 2002-08-03  Roger Sayle  <roger@eyesopen.com>
17295
17296         * builtins.def: Define new builtin functions exp, expf, expl,
17297         log, logf and logl (and their __builtin_* variants).
17298         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
17299         Define exp_optab and log_optab.
17300         * optabs.c (init_optans): Initialize exp_optab and log_optab.
17301         * genopinit.c (optabs): Implement exp_optab and log_optab
17302         using exp?f2 and log?f2 patterns.
17303         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
17304         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
17305         (expand_builtin): Ignore the new builtins (and all cos and
17306         sin variants) when not optimizing.  Expand new builtins via
17307         expand_builtin_mathfn when flag_unsafe_math_optimizations.
17308
17309         * doc/extend.texi: Document new exp and log builtins.
17310         * doc/md.texi: Document new exp?f2 and log?f2 patterns
17311         (and previously undocumented cos?f2 and sin?f2 patterns).
17312
17313 2002-08-03  Jason Merrill  <jason@redhat.com>
17314
17315         * explow.c (int_expr_size): New fn.
17316         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
17317         * expr.h: Declare it.
17318
17319 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
17320
17321         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
17322         gengtype-* dependencies.
17323
17324 2002-08-02  Eric Christopher  <echristo@redhat.com>
17325
17326         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
17327         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
17328         #ifndef to #undef.
17329         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
17330
17331 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
17332
17333         PR optimize/7067
17334         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
17335         small if optimizing for size.
17336
17337 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
17338
17339         * configure.in (FORBUILD): Use $build_alias.
17340         * configure: Regenerated.
17341
17342 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
17343
17344         * config.gcc: Don't include mips/abi64.h in $tm_file.
17345         * hard-reg-set.h (call_really_used_regs): Declare.
17346         * config/mips/abi64.h: Remove file.
17347         * config/mips/linux.h,
17348         * config/mips/iris6.h: Don't include it.
17349         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
17350         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
17351         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
17352         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
17353         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
17354         Bring across definitions from abi64.h.
17355         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
17356         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
17357         (struct mips_args): Use it.
17358         * config/mips/mips.c (mips_conditional_register_usage): Define.
17359
17360 2002-08-02  Jason Merrill  <jason@redhat.com>
17361
17362         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
17363         * langhooks.c (lhd_expr_size): Define default.
17364         * langhooks.h (struct lang_hooks): Add expr_size.
17365         * explow.c (expr_size): Call it.
17366         * expr.c (store_expr): Don't copy an expression of size zero.
17367         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
17368         to store.
17369         * Makefile.in (builtins.o): Depend on langhooks.h.
17370
17371 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17372
17373         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
17374         * ra-debug.c: Include "tm_p.h".
17375         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
17376
17377 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
17378
17379         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
17380         when not honoring signalling NaNs.
17381         (simplify_ternary_operation): a == b has a definite value
17382         when not honoring NaNs.
17383
17384 2002-08-02  Jason Merrill  <jason@redhat.com>
17385
17386         * gdbinit.in (pct): New macro.
17387
17388 2002-08-01  Stan Shebs  <shebs@apple.com>
17389             Andreas Tobler  <toa@pop.agri.ch>
17390
17391         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
17392         plays nice with Darwin headers.
17393         (_BSD_RUNE_T_DEFINED_): Likewise.
17394
17395 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
17396
17397         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
17398         * cppinit.c (cpp_post_options): Likewise.
17399
17400         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
17401         warning about 'LL' suffix (but not 'ULL' etc) when
17402         -Wno-long-long is in effect.
17403
17404         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
17405         Check for failing time()/localtime(), issue a warning, and
17406         make __TIME__ and __DATE__ expand to fallback strings.
17407
17408         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
17409         and __TIME__ when the date and time cannot be determined.
17410
17411 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
17412
17413         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
17414
17415 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
17416
17417         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
17418
17419 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
17420
17421         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
17422         (mipsisa64sb1el-*-elf*): Likewise.
17423         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
17424         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
17425         (TARGET_SB1, TUNE_SB1): New macros.
17426         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
17427         -mtune flags.
17428
17429 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
17430
17431         * varasm.c (asm_emit_uninitialized): Return false if global BSS
17432         and ASM_EMIT_BSS not supported by target.
17433         (assemble_variable): Do not duplicate uninitialized logic.
17434         Fall through if asm_emit_uninitialized failed.
17435
17436 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
17437
17438         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
17439
17440 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
17441
17442         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
17443         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
17444
17445         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
17446         HOST_BITS_PER_WIDE_INT == 64.
17447
17448 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17449
17450         * df.c (df_insn_table_realloc): Change parameter to unsigned.
17451         * optabs.c (expand_binop): Make variable unsigned.
17452         * simplify-rtx.c (simplify_subreg): Likewise.
17453         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
17454
17455 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17456
17457         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
17458
17459 2002-08-01  Richard Henderson  <rth@redhat.com>
17460
17461         * toplev.c (parse_options_and_default_flags): Don't set
17462         flag_reorder_blocks for -Os.
17463
17464         * config/avr/avr.c (avr_optimization_options): Remove.
17465         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
17466         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
17467         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
17468
17469 2002-08-01  H.J. Lu <hjl@gnu.org>
17470             Richard Henderson  <rth@redhat.com>
17471
17472         * output.h (DECL_READONLY_SECTION): Remove.
17473         (decl_readonly_section): Declare.
17474         * varasm.c (decl_readonly_section): New.
17475         (default_section_type_flags, default_select_section): Use it.
17476         * config/arm/pe.c (arm_pe_unique_section): Likewise.
17477         * config/i386/interix.c (i386_pe_unique_section): Likewise.
17478         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
17479         * config/mcore/mcore.c (mcore_unique_section): Likewise.
17480         * config/mips/mips.c (mips_unique_section): Likewise.
17481
17482 2002-08-01  Richard Henderson  <rth@redhat.com>
17483
17484         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
17485         refers to a subroutine parameter.
17486
17487 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
17488
17489         * varasm.c (assemble_visibility): Strip name encoding.
17490
17491 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
17492
17493         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
17494         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
17495         when there is no frame pointer.
17496         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
17497         registers properly.
17498         * config/ns32k/__unorddf2.c: New file.
17499         * config/ns32k/__unordsf2.c: New file.
17500         * config/ns32k/t-ns32k: New file.
17501         * config.gcc (ns32k-*-netbsd*): Use it.
17502
17503 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
17504
17505         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
17506
17507 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17508
17509         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
17510
17511 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
17512
17513         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
17514
17515 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
17516
17517         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
17518
17519 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
17520
17521         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
17522         n_sets): Removed.
17523         (expr_hash_table, set_hash_table): Type changed to ...
17524         (struct hash_table): New type.
17525         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
17526         insert_expr_in_table, insert_set_in_table, compute_hash_table,
17527         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
17528         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
17529         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
17530         (alloc_hash_table): New.
17531         (free_set_hash_table, free_expr_hash_table): Merged to ...
17532         (free_hash_table): New.
17533         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
17534         (compute_hash_table_work): New.
17535         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
17536         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
17537         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
17538         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
17539         hoist_code, one_code_hoisting_pass,
17540         trim_ld_motion_mems): Altered due to changed type of hash tables.
17541
17542 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
17543
17544         * final.c (output_alternate_entry_point):
17545         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
17546
17547 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17548
17549         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
17550         avoid ISO C style function definition.
17551
17552         * expr.c (expand_assignment): Delete unused variable.
17553
17554 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
17555
17556         * c-common.c (cb_register_builtins): Set
17557         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
17558         is given, and to 0 otherwise.
17559         * combine.c (simplify_if_then_else): HONOR_NANS
17560         implies FLOAT_MODE_P.
17561
17562 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17563
17564         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
17565         (cpp_handle_option): Don't handle it.
17566         (print_help): Update.
17567         * doc/cppopts.texi: Update.
17568
17569 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17570
17571         * c-common.c (cb_register_builtins): If C++, define
17572         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
17573         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
17574 cp:
17575         * lang-specs.h: Simplify in accordance with new code in
17576         c-common.c.
17577
17578 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17579
17580         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
17581         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
17582         * c-decl.c: Move all warning and flag variables to c-common.c.
17583         * c-format.c: Move all warning variables to c-common.c.
17584         * c-tree.h: Move all warning and flag declarations to c-common.h.
17585         * objc/objc-act.c: Move all warning variables to c-common.c.
17586         (flag_warn_protocol): Rename warn_protocol.
17587
17588 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17589
17590         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
17591
17592 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
17593
17594         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
17595         .section prefix.
17596
17597 2002-07-31  Stan Shebs  <shebs@apple.com>
17598
17599         * config.gcc (i[34567]86-*-darwin*): New configuration.
17600         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
17601         defining.
17602         (TARGET_ENCODE_SECTION_INFO): Ditto.
17603         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
17604         * config/darwin.c (machopic_indirect_data_reference): Remove
17605         setting of RTX_UNCHANGING_P.
17606         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
17607         not to be applied to sums.
17608         * config/i386/t-darwin: New file.
17609         * config/i386/darwin.h: New file.
17610         * config/i386/i386.h (TARGET_MACHO): Add default definition.
17611         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
17612         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
17613         label and not the GOT add.
17614         (constant_address_p): For Mach-O, seeing a CONST is enough.
17615         (legitimate_pic_address_disp_p): Add a Mach-O case.
17616         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
17617         (legitimize_pic_address): Use generic Mach-O code to legitimize.
17618         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
17619         if outputting a difference.
17620         (ix86_output_addr_diff_elt): Add Mach-O case.
17621         (ix86_expand_move): Similarly.
17622         (ix86_expand_call): Similarly.
17623         (current_machopic_label_num): New global.
17624         (machopic_output_stub): New function.
17625         (ix86_value_regno): New function.
17626         (ix86_function_value): Use it instead of VALUE_REGNO.
17627         (ix86_libcall_value): Ditto.
17628         * config/i386/unix.h (VALUE_REGNO): Remove.
17629
17630 2002-07-31  Graham Stott  <grahas@btinternet.com>
17631
17632         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
17633         hash for LABEL_REF's.
17634
17635 2002-07-31  Graham Stott  <grahams@btinternet.com>
17636
17637         * config/rs6000/rs6000.c (spe_init_builtins,
17638         altivec_init_builtins, rs6000_common_init_builtins):
17639         Replace ANSI with K&R function def.
17640
17641 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
17642
17643         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
17644         for CCFPmode.
17645
17646 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17647
17648         * config/mips/crtn.asm: Don't use __mips16 to determine the
17649         return-address offset.  Define RA to a suitable temporary
17650         register for the return address.
17651
17652 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17653
17654         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
17655         constraints to 'd'.
17656
17657 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
17658
17659         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
17660         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
17661         patch on 2002-07-29.)
17662         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17663
17664 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17665
17666         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
17667         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
17668         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
17669         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
17670         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
17671         (ASM_GLOBALIZE_LABEL): Delete.
17672         (GLOBAL_ASM_OP): Define.
17673
17674         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
17675
17676         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
17677         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
17678
17679 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
17680
17681         * doc/extend.texi (Hints implementation): Document that GCC
17682         mostly ignores `register'.
17683
17684 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
17685
17686         * flags.h: Declare flag_finite_math_only.
17687         Use it in definition of HONOR_NANS and
17688         HONOR_INFINITIES.
17689         * c-common.c (cb_register_builtins): Emit
17690         __FINITE_MATH_ONLY__ when flag_finite_math_only
17691         is set.
17692         * combine.c (simplify_if_then_else): If
17693         flag_finite_math_only is set, a == b has a
17694         definite value.
17695         * toplev.c: Initialize flag_finite_math_only.
17696         (set_flags_fast_math): Set it on -ffast-math.
17697         (flag_fast_math_set_p): Test it.
17698         * doc/invoke.texi: Document -ffinite-math-only.
17699
17700 2002-07-30  Richard Henderson  <rth@redhat.com>
17701
17702         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
17703         (noce_process_if_block): Likewise.
17704
17705 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
17706
17707         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
17708         Bail out early if false_expr is NULL and we'd crash due to this.
17709         * genemit.c (gen_expand): Recognize return insns even if the return
17710         appears in a parallel.
17711         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
17712         * config/fp-bit.c: Likewise.
17713         * doc/tm.texi: Document it.
17714
17715 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
17716             Zack Weinberg  <zack@codesourcery.com>
17717
17718         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
17719         CODE_FOR_nothing.  Change switch to if.
17720         (rs6000_expand_binop_builtin): Same.
17721         (rs6000_expand_builtin): Expand builtin if target support enabled.
17722         (rs6000_init_builtins): Init builtin if target support enabled.
17723         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
17724
17725 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17726
17727         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
17728
17729 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
17730
17731         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
17732
17733 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
17734
17735         * sh.md (cond_delay_slot): New attribute.
17736         (cbranch delay): Use it for anulled-true case.
17737         (stuff_delay_slot): New pattern.
17738         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
17739         delay slot insn.
17740         (gen_far_branch): Emit stuff_delay_slot pattern.
17741
17742 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
17743
17744         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
17745
17746 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
17747
17748         * fold-const.c: Fix comment typos.
17749         * gcse.c: Likewise.
17750         * reload1.c: Likewise.
17751
17752 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17753
17754         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
17755         for TARGET_SPE.
17756
17757 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17758
17759         * c-pretty-print.h (pp_c_statement): Declare.
17760         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
17761         (pp_c_statement): Define.
17762
17763 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17764
17765         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
17766         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
17767         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
17768         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
17769         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
17770         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
17771
17772         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
17773         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
17774
17775 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17776
17777         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
17778         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
17779         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
17780         (pp_c_expression): Update.
17781
17782 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17783
17784         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
17785         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
17786         * alpha/vms-ld.c (main): Likewise.
17787         * dsp16xx.c (double_reg_to_memory): Likewise.
17788         * mcore.c (mcore_expand_prolog): Likewise.
17789         * cppfiles.c (read_name_map): Likewise.
17790         * gensupport.c (process_rtx, identify_predicable_attribute,
17791         alter_test_for_insn): Likewise.
17792         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
17793
17794 2002-07-29  Roger Sayle  <roger@eyesopen.com>
17795
17796         * builtins.c (expand_builtin):  Change the default behavior to
17797         only issue an error if the builtin function doesn't have a
17798         fallback library call.  Remove several cases handled by the
17799         new default.
17800
17801 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
17802
17803         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
17804         floating point format of the target is IEEE.
17805         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
17806         format of the target is DEC.
17807
17808 2002-07-29  Richard Henderson  <rth@redhat.com>
17809
17810         * unroll.c (verify_addresses): Remove.
17811         (find_splittable_givs): Never split DEST_ADDR givs.
17812
17813 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
17814
17815         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
17816         is exhaustive.
17817         (Files): Improve documentation on generated source files.
17818
17819         * doc/extend.texi (Translation implementation): Document what
17820         diagnostics look like.
17821         (Identifiers implementation): Document that there's normally no
17822         limit on identifier names.
17823         (Integers implementation): Document two's complement.
17824         (Hints implementation): Document that GCC honors 'inline', mostly.
17825         (Preprocessing directives implementation): Document that GCC
17826         requires the current time.
17827
17828 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17829
17830         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
17831         (pp_initializer): New macro.
17832         (pp_c_initializer): Declare.
17833         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
17834         (pp_c_initializer): Define.
17835         (pp_c_initializer_list): New function.
17836         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
17837         VECTOR_CST, CONSTRUCTOR.
17838         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
17839         IMAGPART_EXPR.
17840         (pp_c_cast_expression): Handle FLOAT_EXPR.
17841         (pp_c_assignment_expression): Handle INIT_EXPR.
17842         (pp_c_expression): Update.
17843
17844 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
17845
17846         * objc/objc-act.c (objc_init): Return immediately if filename
17847         is NULL.
17848
17849 2002-07-29  Eric Christopher  <echristo@redhat.com>
17850
17851         * config/mips/elf.h: Remove ecoff.h and gofast includes.
17852         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
17853         (SDB_DEBUGGING_INFO): Undefine.
17854         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
17855         (PUT_SDB_SIZE): Remove.
17856         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
17857         (STARTFILE_SPEC): Add isa3264 define.
17858         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
17859         * config/mips/ecoff.h: Remove. and here...
17860         * config/mips/iris3.h: and here...
17861         * config/mips/sni-svr4.h: and here...
17862         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
17863         Add assembler -mmdebug options for non-dwarf debugging.
17864         * config/mips/r3900.h: Remove debug info defines.
17865         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
17866         * config/mips/isa3264.h: Ditto.
17867         * config/mips/t-isa3264: Fix up for file removal and gofast configure
17868         change.
17869         * config/mips/t-elf: Ditto.
17870         * config/mips/t-ecoff: Ditto.
17871         * config/mips/t-r3900: Ditto.
17872         * config/mips/t-iris5-6: Ditto.
17873         * config/mips/t-isa3264: Ditto.
17874         * config/mips/t-linux: Remove.
17875         * config/mips/t-netbsd: Remove.
17876         * config/mips/t-mips: New file.
17877         * config/mips/t-gofast: Ditto.
17878         * config/mips/netbsd.h: Remove unnecessary undefines.
17879         * config/mips/linux.h: Remove #include of mips.h.
17880         * config.gcc: Add mips.h include for elf targets. Remove tm_file
17881         for ecoff. Add gofast configure option for mips.
17882
17883 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
17884
17885         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
17886         linker scripts use STARTUP directives consistently.
17887         * configure: Regenerate.
17888         * config.in: Regenerate.
17889         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
17890         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
17891         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17892         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
17893         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
17894         will be the same.
17895
17896 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17897
17898         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
17899
17900 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17901
17902         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
17903
17904 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
17905
17906         * config/rs6000/rs6000.md: Move altivec patterns from here...
17907
17908         * config/rs6000/altivec.md: ...to here.
17909
17910 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17911
17912         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
17913
17914 2002-07-29  Richard Henderson  <rth@redhat.com>
17915
17916         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
17917         set_mem_attributes and add BITPOS argument.  Subtract it from
17918         OFFSET when same is adjusted.
17919         (set_mem_attributes): New wrapper function.
17920         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
17921         remove offset adjustment hack.
17922         * expr.h (set_mem_attributes_minus_bitpos): Declare.
17923
17924 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
17925
17926         * Makefile.in (C_OBJS): Include c-pretty-print.o
17927         (c-pretty-print.o): Add depency rule.
17928         * pretty-print.h: Add more macros.
17929         * c-pretty-print.c: New file.
17930         * c-pretty-print.h: Likewise.
17931
17932 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17933
17934         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
17935         constants to __ev64_s32__.
17936         (__internal_ev_mwhgsmian): Same.
17937         (__internal_ev_mwhgsmfan): Same.
17938         (__internal_ev_mwhgssfan): Same.
17939         (__internal_ev_mwhgumiaa): Same.
17940         (__internal_ev_mwhgsmiaa): Same.
17941         (__internal_ev_mwhgsmfaa): Same.
17942         (__internal_ev_mwhgssfaa): Same.
17943
17944 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
17945
17946         * varasm.c (assemble_variable): Narrow test for uninitialized
17947         without BSS target support.
17948
17949 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
17950
17951         * profile.c: Add file comment describing the overall algorithm and
17952         structures.
17953         (struct edge_info): Add comments.
17954         (struct bb_info): Add comments.
17955         * basic-block.h (EDGE_*): Add comments.
17956         * doc/gcov.texi (Gcov Data Files): Document bit flags.
17957
17958 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
17959
17960         * config/xtensa/elf.h, config/xtensa/linux.h
17961         (TARGET_OS_CPP_BUILTINS): Define.
17962         (CPP_PREDEFINES): Remove.
17963         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
17964         (CPP_SPEC): Remove.
17965
17966 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
17967
17968         * gensupport.c: Include hashtab.h.
17969         (insn_elision, condition_table, hash_c_test, cmp_c_test,
17970         maybe_eval_c_test): New routines and data structures to
17971         support insn elision.
17972         (init_md_reader): Read and initialize the condition_table.
17973         (read_md_rtx): Discard insn patterns whose C test is provably
17974         always false.
17975         * gensupport.h: Declare new functions and data structures.
17976
17977         * genconditions.c, dummy-conditions.c: New files.
17978         * Makefile.in: Build genconditions; run it to construct
17979         insn-conditions.c; build that and link it into most gen*
17980         programs.
17981         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
17982         (GEN): Delete, unused.
17983         (STAGESTUFF): Update.
17984
17985         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
17986         CODE_FOR_nothing for all elided patterns.
17987         (main): Tweaked to support this.
17988         * genflags.c (gen_proto): Emit a static inline generator
17989         function here for all elided patterns, which simply returns
17990         NULL_RTX.
17991         (gen_insn): Do not define HAVE_xxx for elided patterns.
17992         (main): Tweaked to support this.  No need to forward-declare
17993         struct rtx_def.
17994         * genrecog.c: Do not bother emitting the C test if it's known
17995         to be true at compile time.
17996
17997 2002-07-29  Mike Stump  <mrs@apple.com>
17998
17999         * config.gcc (target_gtfiles): Initialize, as otherwise cross
18000         compilers hosted on powerpc-apple-darwin6.0 won't even build.
18001
18002 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
18003
18004         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
18005         remove clobber of LR.
18006         (sibcall_insn, sibcall_value_insn): Update accordingly.
18007         (sibcall_epilogue): Remove debugging comment from assembler stream.
18008
18009 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
18010
18011         * pretty-print.h: Define more macros.
18012         * diagnostic.h (output_formatted_integer): Moved from...
18013         * diagnostic.c: ... here.
18014
18015 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18016
18017         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
18018
18019 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
18020
18021         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
18022         arguments.  Always use ".-symbol" as expression argument.
18023         * doc/tm.texi: Update to match.  Document requirement for
18024         ".size symbol, .-symbol" to be acceptable to assembler.
18025
18026         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
18027         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
18028         config/i386/freebsd-aout.h, config/i386/sco5.h,
18029         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
18030         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
18031
18032 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18033
18034         * Makefile.in (gengtype-lex.c): Fix error in last change.
18035
18036         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
18037         backslash.
18038
18039         * Makefile.in (vmsdbgout.o): Depend on function.h.
18040
18041         * vmsdbgout.c: Include function.h.
18042
18043 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
18044
18045         * prefix.c (update_path): Don't strip single `.' path components
18046         unless stripping a later `..' component.  Exit loop as soon as
18047         a valid path is found.
18048
18049 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18050
18051         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
18052         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
18053         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
18054         floating point unordered comparisons (e.g. __builtin_isgreater)
18055         as const, and leave the remaining GCC_BUILTINs unchanged.
18056
18057         * c-decl.c (builtin_function): No need to explicitly mark
18058         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
18059
18060 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18061
18062         * Makefile.in: rtlanal.o now depends upon real.h.
18063
18064         * flags.h [flag_signaling_nans]: New flag.
18065         [HONOR_SNANS]: New macro.
18066
18067         * toplev.c [flag_signaling_nans]: Initialize to false.
18068         (f_options): Add processing for "-fsignaling-nans".
18069         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
18070         (process_options): flag_signaling_nans implies flag_trapping_math.
18071
18072         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
18073         when -fsignaling-nans.  First step to implementing WG14's N965.
18074
18075         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
18076         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
18077         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
18078
18079         * simplify-rtx.c (simplify_relational_operation): Conditionalize
18080         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
18081
18082         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
18083         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
18084         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
18085         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
18086         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
18087
18088         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
18089
18090 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18091
18092         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
18093         * gengtype-lex.l (YY_USE_PROTOS): Undef.
18094         (YY_DECL): Define.
18095
18096 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18097
18098         * doc/invoke.texi: Document that both -fno-builtin-foo and
18099         -fno-builtin are supported by the g++ front-end.
18100
18101 2002-07-27  Stan Shebs  <shebs@apple.com>
18102
18103         * configure.in: Rename config_gtfiles to target_gtfiles.
18104         * configure: Regenerate.
18105         * doc/gty.texi: Update reference.
18106         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
18107         instead of appending to it.
18108
18109 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
18110
18111         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
18112         vectors are split into two registers.
18113         (function_arg): Same.
18114
18115 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
18116
18117         * pa.md (extv): Check predicates before emitting extv_32.
18118
18119 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
18120
18121         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
18122         (rs6000_traceback): New var.
18123         (rs6000_override_options): Set rs6000_traceback.
18124         (rs6000_output_function_epilogue): Implement traceback options.
18125         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
18126         (rs6000_traceback_name): Declare.
18127
18128         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
18129         label reference when NO_PROFILE_COUNTERS.
18130
18131 2002-07-26  Jason Merrill  <jason@redhat.com>
18132
18133         * function.c (assign_parms): Handle frontend-directed pass by
18134         invisible reference.
18135
18136 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18137
18138         * doc/cppopts.texi: Update.
18139
18140 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18141
18142         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
18143         warnings on assertions.
18144
18145 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18146
18147         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
18148         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
18149         RID_COMPL): Remove.
18150         * c-parse.in (rid_to_yy): Similarly.
18151
18152 2002-07-26  Jason Merrill  <jason@redhat.com>
18153
18154         * c-dump.c: Resurrect.
18155         * tree-dump.c: Move C-specific stuff to c-dump.c.
18156         * c-common.h: Declare c_dump_tree.
18157         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
18158         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
18159         (c-dump.o): New rule.
18160
18161 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
18162
18163         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
18164         PowerPC64.  Replace "T" and "S" constraints with "n" when the
18165         predicate will do.  Formatting fixes.
18166         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
18167         as for extzvsi_internal1.
18168
18169 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18170
18171         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
18172         DERIV_END_LABEL_FMT): Remove.
18173         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
18174
18175 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18176
18177         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
18178         Remove.
18179
18180 2002-07-25  Stan Shebs  <shebs@apple.com>
18181
18182         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
18183         local var dwarfp.
18184         (output_compiler_stub): Remove unused locals.
18185         (output_call): Always initialize line number.
18186
18187 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
18188
18189         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
18190         * sh.md (truncdiqi2, movqi_media): Likewise.
18191
18192 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18193
18194         * gcse.c (obstack_chunk_alloc): Remove.
18195         (gcse_alloc): Fix to count allocated bytes.
18196         * collect2.c (SYMBOL__MAIN): Remove.
18197
18198 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18199
18200         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
18201         HAVE_TARGET_EXECUTABLE_SUFFIX.
18202
18203 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
18204
18205         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
18206         SIZE, EXPR and OFFSET.
18207
18208 2002-07-25  Richard Henderson  <rth@redhat.com>
18209
18210         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
18211         in ARRAY_REF of DECL_P case.
18212
18213 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
18214
18215         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
18216         description.  Document -mips32, -mips64, and the associated -march
18217         values.  Describe the "mipsN" arguments to -march.  Say that the
18218         -mipsN options are equivalent to -march.  Reword the description
18219         of default type sizes.
18220         * toplev.h (target_flags_explicit): Declare.
18221         * toplev.c (target_flags_explicit): New var.
18222         (set_target_switch): Update target_flags_explicit.
18223         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
18224         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
18225         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
18226         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
18227         * config/mips/mips.h (mips_cpu_info): New struct.
18228         (mips_cpu_string, mips_explicit_type_size_string): Remove.
18229         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
18230         (MIPS_CPP_SET_PROCESSOR): New macro.
18231         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
18232         Define _MIPS_ARCH and _MIPS_TUNE.
18233         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
18234         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
18235         MIPS_ISA_DEFAULT were already defined.
18236         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
18237         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
18238         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
18239         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
18240         (ABI_GAS_ASM_SPEC): Remove.
18241         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
18242         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
18243         Invoke %(asm_abi_default_spec) if no ABI was specified.
18244         (CC1_SPEC): Remove ISA -> register-size rules.
18245         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
18246         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
18247         (mips_cpu_string, mips_explicit_type_size_string): Remove.
18248         (mips_cpu_info_table): New array.
18249         (mips_set_architecture, mips_set_tune): New fns.
18250         (override_options): Rework to make -mipsN equivalent to -march.
18251         Detect more erroneous cases, including those removed from CC1_SPEC.
18252         Don't change the ABI based on architecture, or vice versa.
18253         Unify logic with GAS.
18254         (mips_asm_file_start): Get architecture name from mips_arch_info.
18255         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
18256         (mips_parse_cpu): Take the name of the option as argument.  Handle
18257         'from-abi'.  Raise an error if the option is wrong.
18258         (mips_cpu_info_from_isa): New fn.
18259
18260 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
18261
18262         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
18263         (tablejump_mips162): Likewise.
18264
18265 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
18266
18267         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
18268         int_mode_for_mode.
18269
18270 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
18271
18272         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
18273         complaining.
18274         * c-common.h (c_sizeof): Adjust definition.
18275         (c_alignof): Likewise.
18276         * c-tree.h (c_sizeof_nowarn): Now macro.
18277         * c-typeck.c (c_sizeof_nowarn): Remove definition.
18278
18279 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18280
18281         * c-decl.c (c_decode_option): No need to handle switches
18282         cpplib handles.
18283
18284 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
18285
18286         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
18287         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
18288         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
18289         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18290
18291         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
18292         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
18293         config/cris/aout.h, config/i386/freebsd-aout.h,
18294         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
18295         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
18296         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
18297         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
18298         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
18299         config/xtensa/elf.h, config/xtensa/linux.h:
18300         Use the new macros.
18301         Where possible, remove redundant definitions of SIZE_ASM_OP,
18302         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18303
18304 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
18305
18306         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
18307         TARGET_ISEL, and TARGET_FPRS.
18308
18309         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
18310         -mabi=spe, -mabi=no-spe, and -misel=.
18311
18312         * config/rs6000/rs6000-protos.h: Add output_isel.
18313         Move vrsave_operation prototype here.
18314
18315         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
18316         (smaxsi3): Same.
18317         (uminsi3): Same.
18318         (umaxsi3): Same.
18319         (abssi2_nopower): Disallow when TARGET_ISEL.
18320         (*ne0): Same.
18321         (negsf2): Change to expand and rename old pattern to *negsf2.
18322         (abssf2): Change to expand and rename old pattern to *abssf2.
18323
18324         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
18325         fixunssfsi2.
18326
18327         Change patterns that check for TARGET_HARD_FLOAT or
18328         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
18329
18330         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
18331         rs6000_isel, rs6000_fprs, rs6000_isel_string.
18332         (rs6000_override_options): Add 8540 case to
18333         processor_target_table.
18334         Set rs6000_isel for the 8540.
18335         Call rs6000_parse_isel_option.
18336         (enable_mask_for_builtins): New.
18337         (rs6000_parse_isel_option): New.
18338         (rs6000_parse_abi_options): Add spe and no-spe.
18339         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
18340         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
18341         for TARGET_HARD_FLOAT.
18342         Add case for SPE_VECTOR_MODE.
18343         (rs6000_legitimize_reload_address): Handle SPE vector modes.
18344         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
18345         vector modes.
18346         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
18347         (rs6000_emit_move): Check for TARGET_FPRS.
18348         Add cases for SPE vector modes.
18349         (function_arg_boundary): Return 64 for SPE vector modes.
18350         (function_arg_advance): Check for TARGET_FPRS and
18351         Handle SPE vectors.
18352         (function_arg): Same.
18353         (setup_incoming_varargs): Check for TARGET_FPRS.
18354         (rs6000_va_arg): Same.
18355         (struct builtin_description): Un-constify mask field.  Move up in
18356         file.
18357         (bdesc_2arg): Un-constify and add SPE builtins.
18358         (bdesc_1arg): Same.
18359         (bdesc_spe_predicates): New.
18360         (bdesc_spe_evsel): New.
18361         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
18362         (rs6000_expand_binop_builtin): Same.
18363         (bdesc_2arg_spe): New.
18364         (spe_expand_builtin): New.
18365         (spe_expand_predicate_builtin): New.
18366         (spe_expand_evsel_builtin): New.
18367         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
18368         (rs6000_init_builtins): Initialize SPE builtins.  Call
18369         rs6000_common_init_builtins.
18370         (altivec_init_builtins): Move all non-altivec builtin code to...
18371         (rs6000_common_init_builtins): ...here.  New function.
18372         (branch_positive_comparison_operator): Allow NE code for SPE.
18373         (ccr_bit): Return correct ccr bit for SPE fp.
18374         (print_operand): Emit crnor in 'D' case for SPE.
18375         New case 't'.
18376         Add SPE code for 'y' case.
18377         (rs6000_generate_compare): Generate rtl for SPE fp.
18378         (output_cbranch): Handle SPE hard floats.
18379         (rs6000_emit_cmove): Handle isel.
18380         (rs6000_emit_int_cmove): New.
18381         (output_isel): New.
18382         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
18383         64-bits for SPE.
18384         (debug_stack_info): Add SPE info.
18385         (gen_frame_mem_offset): New.
18386         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
18387         Change mode of frame pointer, when saving it, to Pmode.
18388         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
18389         Misc cleanups and use gen_frame_mem_offset when appropriate.
18390
18391         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
18392         (TARGET_SPE_ABI): New.
18393         (TARGET_SPE): New.
18394         (TARGET_ISEL): New.
18395         (TARGET_FPRS): New.
18396         (FIXED_SCRATCH): New.
18397         (RTX_COSTS): Add PROCESSOR_PPC8540.
18398         (ASM_CPU_SPEC): Add case for 8540.
18399         (TARGET_OPTIONS): Add isel= case.
18400         (rs6000_spe_abi): New.
18401         (rs6000_isel): New.
18402         (rs6000_fprs): New.
18403         (rs6000_isel_string): New.
18404         (UNITS_PER_SPE_WORD): New.
18405         (LOCAL_ALIGNMENT): Adjust for SPE.
18406         (HARD_REGNO_MODE_OK): Same.
18407         (DATA_ALIGNMENT): Same.
18408         (MEMBER_TYPE_FORCES_BLK): New.
18409         (FIRST_PSEUDO_REGISTER): Set to 113.
18410         (FIXED_REGISTERS): Add SPE registers.
18411         (reg_class): Same.
18412         (REG_CLASS_NAMES): Same.
18413         (REG_CLASS_CONTENTS): Same.
18414         (REGNO_REG_CLASS): Same.
18415         (REGISTER_NAMES): Same.
18416         (DEBUG_REGISTER_NAMES): Same.
18417         (ADDITIONAL_REGISTER_NAMES): Same.
18418         (CALL_USED_REGISTERS): Same.
18419         (CALL_REALLY_USED_REGISTERS): Same.
18420         (SPE_ACC_REGNO): New.
18421         (SPEFSCR_REGNO): New.
18422         (SPE_SIMD_REGNO_P): New.
18423         (HARD_REGNO_NREGS): Adjust for SPE.
18424         (VECTOR_MODE_SUPPORTED_P): Same.
18425         (REGNO_REG_CLASS): Same.
18426         (FUNCTION_VALUE): Same.
18427         (LIBCALL_VALUE): Same.
18428         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
18429         (SPE_VECTOR_MODE): New.
18430         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
18431         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
18432         (rs6000_stack): Add spe_gp_size, spe_padding_size,
18433         spe_gp_save_offset.
18434         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
18435         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
18436         (SPE_CONST_OFFSET_OK): New.
18437         (rs6000_builtins): Add SPE builtins.
18438
18439         * testsuite/gcc.dg/ppc-spe.c: New.
18440
18441         * config/rs6000/eabispe.h: New.
18442
18443         * config/rs6000/spe.h: New.
18444
18445         * config/rs600/spe.md: New.
18446
18447         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
18448         __SIMD__ for TARGET_SPE.
18449
18450         * config.gcc: Add powerpc-*-eabispe* case.
18451         Add spe.h to user headers for powerpc.
18452
18453 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
18454
18455         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
18456         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18457         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
18458
18459 2002-07-24  Richard Henderson  <rth@redhat.com>
18460
18461         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
18462         form when not optimizing.
18463
18464 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
18465
18466         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
18467         thread_pointer_rtx as unchanging.
18468
18469 2002-07-24  Michael Matz  <matz@suse.de>
18470
18471         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
18472         (free_reg): Use it.
18473
18474 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
18475
18476         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
18477         pattern.
18478         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
18479         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
18480
18481 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
18482
18483         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
18484         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18485         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
18486
18487 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
18488
18489         * toplev.c (rest_of_compilation): Dump loops before clobbering
18490         the structure.
18491
18492 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
18493
18494         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
18495
18496 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
18497
18498         PR optimization/7291
18499         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
18500         problem on x86_64.
18501
18502 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
18503
18504         * pretty-print.h: Add macros from cp/error.c
18505
18506 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
18507
18508         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
18509         (mask64_2_operand): Declare.
18510         (build_mask64_2_operands): Declare.
18511         (and64_2_operand): Declare.
18512         (extract_MB): Declare.
18513         (extract_ME): Declare.
18514         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
18515         CONST_DOUBLE code.
18516         (mask_operand_wrap): New insn predicate.
18517         (mask64_2_operand): Likewise.
18518         (and64_2_operand): Likewise.
18519         (build_mask64_2_operands): New function.
18520         (extract_MB): New function.
18521         (extract_ME): New function.
18522         (print_operand <case m,M>): Use extract_MB and extract_ME.
18523         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
18524         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
18525         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
18526         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
18527         * config/rs6000/rs6000.md (andsi3_internal3): New
18528         (andsi3_internal3+1): Enable split for powerpc64.
18529         (andsi3_internal3+2): New split.
18530         (andsi3_internal4): Renamed old andsi3_internal3.
18531         (andsi3_internal5): New.
18532         (andsi3_internal5+1): Enable split for powerpc64.
18533         (andsi3_internal5+2): New split.
18534         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
18535         (anddi3): Handle 't' constraint.
18536         (anddi3+1): New split.
18537         (anddi3_internal2): Handle 't' constraint.
18538         (anddi3_internal2+1): New split.
18539         (anddi3_internal3): Handle 't' constraint.
18540         (anddi3_internal3+1): New split.
18541
18542 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
18543
18544         * config/rs6000/rs6000.md: Remove scratch reg on insns using
18545         addze and similar (plus (comparison r1 r2) r3) insns.  Add
18546         missing scratch reg in one case.  Formatting fixes.
18547
18548 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
18549
18550         * cppexp.c (parse_defined): Mark macro used.
18551         * cpphash.h (struct cpp_macro): New member "used".
18552         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
18553         (struct cpp_reader): New member.
18554         * cppinit.c (cpp_finish_options): Set first_unused_line.
18555         (cpp_finish): Warn of unused macros if requested.
18556         (OPT_TABLE): New switches.
18557         (cpp_handle_option): Handle them.
18558         * cpplib.c (do_undef): Warn if macro unused.
18559         (do_ifdef, do_ifndef): Mark macro used.
18560         * cpplib.h (struct cpp_options): New member.
18561         * cppmacro.c (_cpp_warn_if_unused_macro): New.
18562         (enter_macro_context): Mark macro used.
18563         (_cpp_create_definition): Mark macro unused; warn if unused
18564         when redefined.
18565         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
18566         Mark macros used.
18567         * doc/cppopts.texi: Update.
18568
18569 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18570
18571         * dwarf2out.c (SECTION_ASM_OP,
18572         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18573         * system.h (SECTION_ASM_OP): Poison.
18574         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
18575         * config/alpha/alpha-interix.h, config/mips/linux.h
18576         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18577         * config/mmix/mmix-protos.h, config/mmix/mmix.c
18578         (mmix_asm_output_define_label_difference_symbol): Remove.
18579         * config/mmix/mmix.h
18580         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18581         * doc/tm.texi: Remove documentation.
18582
18583 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
18584
18585         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
18586         (constrain_operands): Likewise.
18587         * regclass.c (record_reg_classes): Likewise.
18588         * reload.c (find_reloads): Likewise.
18589         * doc/md.texi: Likewise.
18590
18591         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
18592         * simplify-rtx.c (simplify_subreg): When converting to a non-int
18593         mode, try to convert to an integer mode of matching size first.
18594
18595         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
18596         from individual subregs, check that each subreg has been generated
18597         sucessfully.
18598
18599 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18600
18601         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
18602         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
18603         FOR_EACH_BB_IN_SBITMAP): Remove.
18604         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
18605         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
18606         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
18607         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
18608         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
18609         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
18610
18611 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18612
18613         * pretty-print.h: New file.
18614
18615 2002-07-23      Paul Koning     <pkoning@equallogic.com>
18616
18617         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
18618         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
18619         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
18620         (TARGET_G_FLOAT): Default to 0 if not defined.
18621         (ieeetoe): New, common routine to convert target format floats
18622         to internal form.
18623         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
18624         vs. others.
18625         (e113toe): Change to use ieeetoe.
18626
18627 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18628
18629         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
18630         IBM.
18631         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
18632         (e64toe): Remove special cases for DEC and IBM. Remove support for
18633         ARM_EXTENDED_IEEE_FORMAT.
18634         (e24toe): Remove special cases for DEC.
18635         (significand_size): Simplify. Indent.
18636         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
18637         (etoieee, toieee): New.
18638         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
18639         etoieee and toieee for IEEE arithmetic.
18640
18641 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18642
18643         * doc/extend.texi: Say ISO C90, not ISO C89.
18644         * doc/invoke.texi: Likewise.
18645         * doc/standards.texi: Likewise.
18646
18647 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
18648
18649         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
18650         Fix permutation of conversion and plus/mult.
18651         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
18652         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
18653         (expand_builtin_strncpy) Ditto.
18654         (expand_builtin_memset) Ditto.
18655
18656 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18657
18658         Fix PR/7363:
18659         * c-common.c (c_sizeof_or_alignof_type): New function.
18660         (c_alignof): Remove definition.
18661         * c-common.h (c_sizeof, c_alignof): Define as macros.
18662         (c_sizeof_or_alignof_type): Declare.
18663         (my_friendly_assert): Moved from cp/cp-tree.h
18664         * c-typeck.c (c_sizeof): Remove definition.
18665
18666 2002-07-23  Jan Hubicka  <jh@suse.cz>
18667
18668         * gcse.c (try_replace_reg): Use num_changes_pending.
18669         * recog.c (num_changes_pending): New function.
18670         (validate_replace_src): Use validate_repalce_src_group.
18671         (validate_replace_src_group): New.
18672         * recog.h (validate_repalce_src_group): New.
18673         (num_changes_pending): Likewise.
18674
18675 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
18676
18677         * calls.c (emit_library_call_value_1): If
18678         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
18679         libcall, const call nor pure call.
18680
18681 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18682
18683         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
18684
18685 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18686
18687         * vmsdbgout.c (SECTION_ASM_OP): Remove.
18688
18689 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18690
18691         * config/i386/i386.c (AT_BP): Remove.
18692
18693 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18694
18695         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
18696         Default definition.
18697         * gcse.c: Don't define obstack_chunk_free.
18698         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
18699         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
18700         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
18701         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
18702         Don't define obstack macros.
18703
18704 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18705
18706         PR target/6744
18707         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
18708         ASM_OPERANDS instructions.
18709
18710 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18711
18712         PR target/7361
18713         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
18714         constant addresses only on 68HC12.
18715
18716 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18717
18718         * cppfiles.c (stack_include_file): Correct test of whether
18719         a dependency should be output.
18720
18721 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
18722
18723         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
18724
18725 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
18726
18727         * arm.md (movqi): If optimizing and we can create pseudos, use
18728         a ZERO_EXTEND to load from memory, then copy the result into the
18729         target.
18730         (movhi): Likewise, but only for ARMv4.
18731
18732 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18733
18734         * ssa-ccp.c (PHI_PARMS): Remove.
18735
18736 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
18737
18738         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
18739         on big-endian targets.
18740
18741 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18742
18743         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
18744         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
18745         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
18746         New formatting macros.
18747
18748         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
18749
18750 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
18751
18752         * rtlanal.c (subreg_regno_offset): Return correct offset for
18753         big endian paradoxical subregs.
18754
18755         * optabs.c (expand_vector_unop): Don't expand using sub_optab
18756         if we got the wrong mode.
18757
18758         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
18759         * genrecog.c (write_switch, write_cond): Use it.
18760         * genemit.c (gen_exp): Likewise.
18761
18762 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18763
18764         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
18765
18766 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18767
18768         * c-decl.c (build_compound_literal): Defer compound literal decls
18769         until until file end to emit them only if they are actually used.
18770
18771 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18772
18773         * ra-build.c (check_conflict_numbers): Hide unused function.
18774         (livethrough_conflicts_bb): Avoid automatic aggregate
18775         initialization.
18776         (parts_to_webs_1): Avoid `U' integer constant modifier.
18777         (conflicts_between_webs): Wrap a variable in the macro controlling
18778         its usage.
18779         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
18780         (dump_igraph, dump_graph_cost): Avoid string concatenation
18781         (dump_static_insn_cost): Avoid automatic aggregate
18782         initialization.
18783         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
18784         initialization.
18785         (dump_cost): Avoid string concatenation
18786
18787 2002-07-21  Richard Henderson  <rth@redhat.com>
18788
18789         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
18790         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
18791
18792 2002-07-21  Richard Henderson  <rth@redhat.com>
18793
18794         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
18795         that are not unrolled completely.
18796
18797 2002-07-21  Richard Henderson  <rth@redhat.com>
18798
18799         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
18800         * loop.c (strength_reduce): Update.
18801         * toplev.c (rest_of_compilation): Do unrolling in the first
18802         loop pass, not the second.
18803
18804 2002-07-21  Richard Henderson  <rth@redhat.com>
18805
18806         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
18807         when flag_argument_noalias == 2.
18808         * alias.c (nonoverlapping_memrefs_p): Handle that.
18809         * print-rtl.c (print_mem_expr): Likewise.
18810
18811 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
18812
18813         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
18814         instead of __negdi2 directly.
18815
18816 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18817
18818         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
18819         * function.c (SYMBOL__MAIN): Remove definition.
18820         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
18821         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
18822         * profile.c (GCOV_INDEX_TO_BB): Remove.
18823         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
18824         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
18825
18826 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18827
18828         * c-lex.c (GET_ENVIRONMENT): Remove.
18829         * collect2.c (GET_ENV_PATH_LIST): Remove.
18830         (prefix_from_env): Use GET_ENVIRONMENT.
18831         * cppinit.c (GET_ENV_PATH_LIST): Remove.
18832         (init_standard_includes): Use GET_ENVIRONMENT.
18833         * defaults.h (GET_ENVIRONMENT): Define here if not already.
18834         * gcc.c (GET_ENV_PATH_LIST): Remove.
18835         (make_relative_prefix, process_command): Update.
18836         * protoize.c (GET_ENV_PATH_LIST): Remove.
18837         (do_processing): Update.
18838
18839 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
18840
18841         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
18842         (grokdeclarator): Likewise.
18843         * c-format.c (C_STD_NAME): Likewise.
18844         * c-lex.c (interpret_integer): Likewise.
18845         * c-typeck.c (build_array_ref): Likewise.
18846         * cpplex.c (_cpp_lex_direct): Likewise.
18847         * toplev.c (documented_lang_options): Likewise.
18848
18849 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18850
18851         * c-format.c (T99_I, T99_UI): Remove.
18852
18853 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18854
18855         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
18856
18857 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
18858
18859         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
18860         do_local_cprop.
18861
18862 2002-07-21  Andreas Jaeger  <aj@suse.de>
18863
18864         * reload1.c (fixup_abnormal_edges): Remove unused variable.
18865
18866 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
18867
18868         Improvements for the ifcvt pass from Michael Meissner, with patches
18869         by Richard Sandiford <rsandifo@redhat.com>
18870         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
18871         * ifcvt.c (cond_exec_changed_p): New static variable.
18872         (last_active_insn): New function, renamed from last_active_insn_p
18873         and changed to return the last active insn in a basic block. All
18874         callers updated.
18875         (block_fallthru): New function.
18876         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
18877         IFCVT_MODIFY_INSN.  All callers updated.
18878         Return false if START or END are NULL.
18879         Handle case where we're processing an insn that is already
18880         conditional.
18881
18882         (noce_process_if_block): CE_INFO argument rather than
18883         multiple args containing the involved basic blocks.  All callers
18884         changed.
18885         (process_if_block, merge_if_block, find_if_block,
18886         cond_exec_process_if_block): Likewise.
18887
18888         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
18889         changed.
18890         Use new function last_active_insn to simplify some code.
18891         New code to handle multiple tests.
18892         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
18893         cond_exec_changed_p to TRUE.
18894
18895         (process_if_block): New code to handle multiple tests.
18896         (merge_if_block): Likewise.
18897         (find_if_header): New arg PASS.  Changed to return the currently
18898         processed basic block or NULL instead of true/false. All callers
18899         changed.
18900         Call IFCVT_INIT_EXTRA_FIELDS.
18901         (block_jumps_and_fallthru_p): New function.
18902         (find_if_block): Discover opportunities to convert multiple tests.
18903         Add additional debugging output.
18904         Update the ce_info structure before returning.
18905
18906         (if_convert): Run multiple passes of if-conversion.
18907         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
18908         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
18909         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
18910         these macros.
18911
18912 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
18913
18914         * gcse.c: Include cselib.h
18915         (constptop_register): Break out from ...
18916         (cprop_insn): ... here; kill basic_block argument.
18917         (do_local_cprop, local_cprop_pass): New functions.
18918         (one_cprop_pass): Call local_cprop_pass.
18919
18920 2002-07-20  Roger Sayle  <roger@eyesopen.com>
18921
18922         * simplify-rtx.c (simplify_relational_operation): Optimize
18923         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
18924
18925 2002-07-20  Michae Matz  <matz@suse.de>
18926
18927         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
18928
18929 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
18930
18931         * cppexp.c (struct op): Add token pointer.
18932         (check_promotion, CHECK_PROMOTION): New.
18933         (optab): Update.
18934         (_cpp_parse_expr): Update, use token pointer of struct op.
18935         (reduce): Warn about change of sign owing to promotion.
18936         * cppinit.c (cpp_handle_option): New warning if -Wall.
18937         * cpplib.h (struct cpp_options): New member.
18938
18939 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
18940
18941         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
18942         fpu list.  Separate Power4 compare and delayed_compare.  Correct
18943         Power4 fpcompare.
18944         (fix_truncdfsi2_internal): Restore FPR preference.
18945         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
18946         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
18947
18948 2002-07-19  Momchil Velikov <velco@fadata.bg>
18949
18950         * reload1.c (reload_as_needed): Duplicate oldpat.
18951
18952 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
18953
18954         PR optimization/7130
18955         * loop.h (struct loop_info): Add "preconditioned".
18956         * unroll.c (unroll_loop): Set it.
18957         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
18958
18959 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
18960
18961         * rtl.def (CODE_LABEL): Remove slot 8.
18962         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
18963         (LABEL_ALTERNATE_NAME): Delete.
18964         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
18965         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18966
18967         * final.c (output_alternate_entry_point): New.
18968         (final_scan_insn): Use it instead of
18969         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
18970         of a case label being an alternate entry point.
18971
18972         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
18973         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
18974         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
18975         (field deleted).
18976         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
18977
18978         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
18979         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
18980         * doc/tm.texi: Delete documentation of
18981         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18982
18983 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18984
18985         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
18986         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
18987         (LINK_SPEC): Define.
18988         (STARTFILE_SPEC): Define.
18989         (ENDFILE_SPEC): Define.
18990
18991         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
18992         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
18993
18994         * config/mips/iris6-o32-gas.h: New file.
18995         * config.gcc (mips-sgi-irix6*o32): Use it.
18996
18997         * config/mips/t-iris5-gas: New file.
18998         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18999
19000 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
19001
19002         * cppexp.c (ALWAYS_EVAL): Remove.
19003         (optab, reduce): Always evaluate.
19004         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
19005         only if not skipping evaluation.
19006
19007 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19008
19009         * config/avr/avr.c (debug_hard_reg_set): Remove.
19010
19011 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
19012
19013         * gcc.c (cpp_options): Include "%1" (cc1_spec).
19014
19015 2002-07-19  Richard Henderson  <rth@redhat.com>
19016
19017         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
19018
19019 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
19020
19021         * prefix.c (update_path): Don't zap single `.' path components
19022         unless followed by another `.' and fix typo last patch.
19023
19024 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
19025
19026         * cppexp.c (cpp_num_mul): Remove unused parameter.
19027         (UNARY, BINARY, OTHER, binary_handler): Remove.
19028         (ALWAYS_EVAL): New.
19029         (optab): Update.
19030         (reduce): Refactor to a large switch, don't use a function
19031         pointer.
19032
19033 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
19034
19035         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
19036
19037 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
19038
19039         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
19040         (sh_expand_binop_v2sf): Likewise.
19041         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
19042         (int_gpr_dest, trunc_hi_operand): New functions.
19043         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
19044         trunc_hi_operand.
19045         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
19046         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
19047         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
19048         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
19049         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
19050         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
19051         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
19052         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
19053         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
19054         (movsf_ie+1): Likewise.
19055         (loaddi_trunc): Use int_gpr_dest predicate.
19056         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
19057         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
19058         (casesi_worker_0+[12], casesi_worker): Likewise.
19059         (shcompact_preserve_incoming_args): Likewise.
19060         (mov_nop): Use any_register_operand predicate.
19061         (mperm_w0): Use trunc_hi_operand predicate.
19062
19063 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19064
19065         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
19066         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
19067         numbering.
19068
19069 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19070
19071         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
19072
19073 2002-07-18  Richard Henderson  <rth@redhat.com>
19074
19075         PR optimization/7147
19076         * ifcvt.c (noce_get_condition): Make certain that the condition
19077         is valid at JUMP.
19078
19079 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
19080
19081         * sh.c (barrier_align, push): Shut up compiler warnings.
19082         (initial_elimination_offset,sh_media_init_builtins): Likewise.
19083         (reg_no_subreg_operand): Delete.
19084
19085 2002-07-17  Bo Thorsen  <bo@suse.de>
19086
19087         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
19088         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
19089         (STARTFILE_SPEC): Remove hardcoded library paths.
19090         (ENDFILE_SPEC): Likewise.
19091
19092 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
19093
19094         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
19095
19096         * gcse.c (try_replace_reg): Do not return false positives.
19097
19098 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
19099
19100         * prefix.c: (update_path): Strip ".." components when prior dir
19101         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
19102
19103         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
19104         (ASM_OUTPUT_REG_POP): Likewise.
19105
19106 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
19107
19108         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
19109         adjustments to first_reg for profiling case.
19110         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
19111         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
19112         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
19113         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
19114         (ASM_OUTPUT_REG_POP): Define.
19115         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
19116         (ASM_OUTPUT_REG_POP): Undef.
19117
19118 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
19119
19120         * cpplib.c (do_sccs): Handle #sccs on all systems.
19121         * system.h (SCCS_DIRECTIVE): Poison.
19122         * config/darwin.h, config/freebsd.h, config/netbsd.h,
19123         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
19124         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
19125         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
19126         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
19127         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
19128         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
19129         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
19130         Remove all references to SCCS_DIRECTIVE.
19131         * doc/cpp.texi, doc/tm.texi: Update.
19132
19133 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
19134
19135         * regrename.c (maybe_mode_change): New function.
19136         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
19137
19138 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
19139
19140         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
19141         suppress addition when either ct or cf are zero.
19142
19143 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
19144             Glen Nakamura <glen@imodulo.com>
19145
19146         PR optimization/6713
19147         * loop.c (loop_givs_rescan): Explicitly delete the insn that
19148         sets a non-replaceable giv after issuing the new one.
19149
19150 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
19151
19152         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
19153         eval_token): Clarify and correct use of "bool" variables.
19154         * cpplib.h (struct cpp_options): Similarly.
19155         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
19156         * cpptrad.c (recursive_macro): Similarly.
19157
19158 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
19159
19160         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
19161         SHmedia code.
19162
19163         * sh.md (cmpgtudi_media): Remove spurious @.
19164
19165         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
19166         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
19167
19168         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
19169         * sh-protos.h (sh_initialize_trampoline): Declare.
19170         * sh.c (sh_initialize_trampoline): New function.
19171         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
19172         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
19173         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
19174         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
19175         * sh.md (initialize_trampoline, double_shori): New patterns.
19176         (initialize_trampoline_compact): Likewise.
19177         (shmedia32_initialize_trampoline_big): Remove.
19178         (shmedia32_initialize_trampoline_little): Likewise.
19179
19180         * sh-protos.h (binary_float_operator): Remove declaration.
19181         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
19182         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
19183         (unary_float_operator, sh_expand_unop_v2sf): New functions.
19184         (sh_expand_binop_v2sf): Likewise.
19185         (zero_vec_operand): Delete.
19186         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
19187         all non-shared ones.
19188         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
19189         Enable nsb and byterev.
19190         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
19191         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
19192         in general regs.
19193         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
19194         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
19195         immediate operands.
19196         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
19197         Add DF_HI_REGS.
19198         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
19199         lowpart fp regs - only for big endian for now.
19200         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
19201         when FPU is in use.
19202         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
19203         (LOAD_EXTEND_OP): NIL for SImode.
19204         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
19205         general and fp registers is 4.
19206         PREDICATE_CODES: Amend binary_float_operator entry.
19207         Remove zero_vec_operand.  Add unary_float_operator.
19208         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
19209         subreg SET_DEST.
19210         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
19211         (truncdiqi2): Do sign extension.
19212         (movsi_media, movdi_media): Allow to use r63 to an fp register.
19213         (movdf_media, movsf_media): Likewise.
19214         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
19215         Collapse to one define_insn_and_split.  Allow immediate sources.
19216         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
19217         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
19218         (movv4sf): Allow immediate sources.
19219         (movsf_media_nofpu+1): Don't split moves to FP registers.
19220         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
19221         (movv8qi_i+3): Check against CONST0_RTX.
19222         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
19223         for input and output operands.  Fix argument 3 to gen_mextr_rl.
19224         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
19225         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
19226         (mshf0_w, fipr, ftrv): Likewise.
19227         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
19228
19229 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
19230
19231         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
19232         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
19233         * arm.c: Similarly.
19234
19235 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
19236
19237         * config/mips/mips-protos.h (mips_sign_extend): Declare.
19238         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
19239         (TARGET_SWITCHES): Remove debugh.
19240         (ISA_HAS_TRUNC_W): New macro.
19241         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
19242         (PREDICATE_CODES): Remove se_nonimmediate_operand.
19243         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
19244         any SImode move_operand.
19245         (se_nonimmediate_operand): Remove.
19246         (mips_sign_extend): New.
19247         (mips_move_2words): Use it for sign-extended source operands.
19248         (override_options): Allow integers to be put into single FPRs.
19249         (mips_secondary_reload_class): Handle integers in float registers.
19250         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
19251         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
19252         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
19253         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
19254         (fix_truncdfdi2): Provide only a single alternative, in which the
19255         integer is in a float register.  Depend on TARGET_FLOAT64 rather
19256         than TARGET_64BIT.
19257         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
19258         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
19259         (movdi_internal2): Don't allow the source operand to be sign-extended.
19260         Add alternatives for float registers.
19261         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
19262         allows sign-extension.
19263         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
19264         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
19265         float registers.  Remove TARGET_DEBUG_H_MODE test.
19266         (movhi_internal1): Rename to movhi_internal.  Don't check
19267         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
19268         (movqi_internal1): Rename to movqi_internal and remove
19269         TARGET_DEBUG_H_MODE dependency.
19270         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
19271
19272 2002-07-16  Jim Wilson  <wilson@redhat.com>
19273
19274         * toplev.c (lang_dependent_init): Create function context for
19275         init_expr_once.
19276
19277 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
19278
19279         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
19280         --gc-sections if -r.
19281         * config/cris/cris.h: Ditto.
19282
19283 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
19284
19285         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
19286         the comparison directly gives a mask suppress addition when cf is
19287         zero by complementing the mask.
19288
19289 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
19290
19291         * Makefile.in: Delete references to enquire.
19292         * enquire.c: Move to contrib.
19293
19294 2002-07-16  Stan Shebs  <shebs@apple.com>
19295
19296         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
19297         config/rs6000/darwin.h.
19298         (ASM_OUTPUT_SKIP): Ditto.
19299         (TEXT_SECTION_ASM_OP): Ditto.
19300         (DATA_SECTION_ASM_OP): Ditto.
19301         (ASM_APP_ON): Define.
19302         (ASM_APP_OFF): Define.
19303         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
19304         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
19305
19306         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
19307         (machopic_function_base_name): Declare result to be const.
19308         (machopic_non_lazy_ptr_name): Ditto.
19309         (machopic_stub_name): Ditto.
19310         * config/darwin-protos.h: Ditto for the prototypes.
19311
19312 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
19313
19314         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
19315
19316 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
19317
19318         * i386.md (prefetch): Fix for 64bit mode.
19319         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19320
19321 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
19322
19323         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
19324         * i386.c (x86_machine_dependent_reorg): New function.
19325         * i386-protos.h (x86_machine_dependent_reorg): Declare.
19326
19327 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
19328
19329         * builtins.c (std_expand_builtin_va_start): Remove unused
19330         first argument.
19331         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
19332         std_expand_builtin_va_start with just two arguments.
19333         * expr.h: Update prototypes.
19334
19335         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
19336         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
19337         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
19338         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
19339         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
19340         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
19341         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
19342         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
19343         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
19344         argument from all implementations of EXPAND_BUILTIN_VA_START
19345         and all uses of std_expand_builtin_va_start.
19346
19347 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
19348
19349         * regrename.c (copy_value): Don't record high part copies.
19350
19351 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
19352
19353         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
19354         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
19355         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
19356
19357 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
19358
19359         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
19360
19361         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
19362         into addsi3 using register class "x" and "y".
19363
19364         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
19365         "earlyclobber" constraint modifier for some alternative.
19366
19367         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
19368         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
19369         unordered.
19370         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
19371
19372         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
19373         (TARGET_SWITCHES): Add -mieee-compare option.
19374         (OVERRIDE_OPTIONS): 32332 is a subset of
19375         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
19376         (TARGET_SWITCHES): Fix description of bitfield option.
19377         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
19378         -mieee-compare option. Remove 32332 flag.
19379
19380 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
19381
19382         * explow.c (convert_memory_address): Remove special handling
19383         when POINTERS_EXTEND_UNSIGNED < 0.
19384         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
19385         (movedi_symbolic): Fix typo.
19386         (load_fptr): Remove mode restriction so it works for SI and DI.
19387         (load_fptr_internal1): Ditto.
19388         (load_gprel): Ditto.
19389         (load_symptr_internal1): Ditto.
19390         (call_pic): Ditto.
19391         * config/ia64.c (call_operand): Modify mode check.
19392         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
19393         (ia64_expand_move): Ditto.
19394         (ia64_assemble_integer): Handle SImode function pointers.
19395         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
19396         (ia64_expand_op_and_fetch): Ditto.
19397         (ia64_expand_compare_and_swap): Ditto.
19398         (ia64_expand_lock_test_and_set): Ditto.
19399         (ia64_expand_lock_release): Ditto.
19400
19401 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19402
19403         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
19404
19405 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19406             Richard Earnshaw  <rearnsha@arm.com>
19407
19408         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
19409         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
19410
19411 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
19412
19413         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
19414         understands to be a memory clobber.
19415         * arm.c (arm_expand_prologue): Use it.
19416
19417 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
19418
19419         * ra-rewrite.c: #include reload.h, insn-config.h
19420         * ra-build.c: #include reload.h
19421         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
19422         depend on reload.h, insn-config.h.
19423
19424 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
19425
19426         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
19427         the same size as a word.
19428
19429         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
19430         BYTES_BIG_ENDIAN into account.
19431
19432 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
19433
19434         * i386.md (prefetch): Fix for 64bit mode.
19435         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19436
19437         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
19438
19439 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19440
19441         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
19442
19443 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
19444
19445         * ginclude/varargs.h: Replace with stub which issues #error.
19446         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
19447         __builtin_va_start.
19448
19449         * builtins.def (BUILT_IN_VARARGS_START): Delete.
19450         (BUILT_IN_VA_START): New.
19451         * builtins.c (expand_builtin_va_start): Eliminate first
19452         argument and code to implement pre-ISO varargs.
19453         (std_expand_builtin_va_start): Ignore first argument; it is
19454         always 1.
19455         (expand_builtin): Handle BUILT_IN_VA_START and
19456         BUILT_IN_STDARG_START identically.  Delete
19457         BUILT_IN_VARARGS_START case.
19458
19459         * function.c (assign_parms): Delete hide_last_arg and all
19460         its uses.
19461         (mark_varargs): Delete function.
19462         * function.h (struct function): Delete 'varargs' bit.
19463         (current_function_varargs): Delete macro.
19464         * tree.h: Don't declare mark_varargs.
19465
19466         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
19467         (c_expand_body): Don't call mark_varargs.
19468         * c-objc-common.c: Handle BUILT_IN_VA_START and
19469         BUILT_IN_STDARG_START identically.  Delete
19470         BUILT_IN_VARARGS_START case.
19471         * c-tree.h: Don't declare c_mark_varargs.
19472         * c-parse.in: Remove grammar rules for '&...' (which has been
19473         commented out since before 2.7.2) and for '...' in K+R
19474         argument declarations.
19475
19476         * builtins.c, function.c, integrate.c, sibcall.c,
19477         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
19478         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
19479         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
19480         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
19481         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
19482         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
19483         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
19484         config/stormy16/stormy16.c: Delete all references to
19485         current_function_varargs, and code predicated on that flag.
19486
19487         * config/alpha/alpha.c (alpha_va_start),
19488         config/arc/arc.c (arc_va_start),
19489         config/i386/i386.c (ix86_va_start),
19490         config/mips/mips.c (mips_va_start),
19491         config/mn10300/mn10300.c (mn10300_va_start),
19492         config/rs6000/rs6000.c (rs6000_va_start),
19493         config/s390/s390.c (s390_va_start),
19494         config/sh/sh.c (sh_va_start),
19495         Ignore first argument; it is always 1.
19496
19497         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
19498         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
19499         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
19500         Delete m68hc11_va_start.
19501         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
19502         No need to define EXPAND_BUILTIN_VA_START.
19503
19504         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
19505         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
19506
19507 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
19508
19509         PR optimization/7153
19510         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
19511         dies in more than one insn.
19512
19513 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
19514
19515         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
19516
19517 2002-07-15  Michael Matz  <matz@suse.de>,
19518             Daniel Berlin  <dberlin@dberlin.org>,
19519             Denis Chertykov  <denisc@overta.ru>
19520
19521         Add a new register allocator.
19522
19523         * ra.c: New file.
19524         * ra.h: New file.
19525         * ra-build.c: New file.
19526         * ra-colorize.c: New file.
19527         * ra-debug.c: New file.
19528         * ra-rewrite.c: New file.
19529
19530         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
19531         (ra-rewrite.o): New .o files for libbackend.a.
19532         (GTFILES): Add basic-block.h.
19533
19534         * toplev.c (flag_new_regalloc): New.
19535         (f_options): New option "new-ra".
19536         (rest_of_compilation): Call initialize_uninitialized_subregs()
19537         only for the old allocator.  If flag_new_regalloc is set, call
19538         new allocator, instead of local_alloc(), global_alloc() and
19539         friends.
19540
19541         * doc/invoke.texi: Document -fnew-ra.
19542         * basic-block.h (FOR_ALL_BB): New.
19543         * config/rs6000/rs6000.c (print_operand): Write small constants
19544         as @l+80.
19545
19546         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
19547         (df_reg_table_realloc): Make size at least as large as max_reg_num().
19548         (df_insn_table_realloc): Size argument now is absolute, not relative.
19549         Changed all callers.
19550
19551         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
19552         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
19553
19554         2002-06-20  Michael Matz  <matz@suse.de>
19555
19556         * df.h (struct ref.id): Make unsigned.
19557         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
19558
19559         2002-06-13  Michael Matz  <matz@suse.de>
19560
19561         * df.h (DF_REF_MODE_CHANGE): New flag.
19562         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
19563         involving subregs with invalid mode changes, when
19564         CLASS_CANNOT_CHANGE_MODE is defined.
19565
19566         2002-05-07  Michael Matz  <matz@suse.de>
19567
19568         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
19569
19570         2002-05-03  Michael Matz  <matz@suse.de>
19571
19572         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
19573
19574         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
19575
19576         * regclass.c (regclass): Work with all regs which have sets or
19577         refs.
19578         (reg_scan_mark_refs): Count regs inside (clobber ...).
19579
19580         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
19581
19582         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
19583         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
19584         add new refs.
19585         (df_bb_refs_update): Don't clear insns_modified here, ...
19586         (df_analyse): ... but here.
19587
19588         * sbitmap.c (dump_sbitmap_file): New.
19589         (debug_sbitmap): Use it.
19590
19591         * sbitmap.h (dump_sbitmap_file): Add prototype.
19592
19593         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
19594
19595         * df.c (df_insn_modify): Grow the UID table if necessary, rather
19596         than assume all emits go through df_insns_modify.
19597
19598         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
19599
19600         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
19601         increase REG_N_REFS (like flow does), so that regclass doesn't
19602         think a reg is useless, and thus, not calculate a class, when it
19603         really should have.
19604
19605         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
19606
19607         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
19608         dataflow analysis.
19609
19610 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
19611
19612         PR middle-end/7245
19613         * config/i386/i386.c (const_int_1_31_operand): New.
19614         * config/i386/i386.h (PREDICATE_CODES): Add it.
19615         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
19616         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
19617         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
19618
19619 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
19620
19621         PR target/7282
19622         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
19623         (floatunssidf2): Likewise.
19624         (floatsidf_ppc64): New insn_and_split.
19625         (floatunssidf_ppc64): Likewise.
19626
19627 2002-07-14  Andreas Jaeger  <aj@suse.de>
19628
19629         * config.gcc (sh64): Remove unused
19630         target_requires_64bit_host_wide_int.
19631
19632 2002-07-12  Roger Sayle  <roger@eyesopen.com>
19633
19634         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
19635         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
19636         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
19637         whether clear_by_pieces should be used to clear storage.
19638         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
19639
19640         * doc/tm.texi: Document these two new target macros.
19641
19642 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
19643
19644         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
19645         the scratch register.
19646         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
19647         of it, forbid reload to use it.
19648
19649 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19650
19651         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
19652         usage on 64-bit hosts, return value was truncated to 32 bits.
19653
19654 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
19655
19656         * simplify-rtx.c (simplify_subreg): Handle floating point
19657         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
19658         the element mode is requested, compute a subreg with an
19659         integer mode of the same size as the element mode first.
19660
19661 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
19662
19663         * combine.c (try_combine): When converting a paradoxical subreg
19664         to an extension, take LOAD_EXTEND_OP into account.
19665
19666 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19667
19668         * config.gcc (mips-sgi-irix6*o32): New configuration.
19669
19670         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
19671         configurations.
19672         * configure: Regenerate.
19673
19674         * config/mips/iris6-o32-as.h: New file.
19675         * config/mips/iris6-o32.h: New file.
19676
19677         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
19678         (NM_FLAGS): Define.
19679         (HAVE_AS_SHF_MERGE): Undefine.
19680
19681         * config/mips/t-iris5-as: New file.
19682         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
19683
19684         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
19685         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
19686         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
19687         dp-bit.c, fp-bit.c): Move ...
19688         * config/mips/t-iris5-6: ... here.
19689         New file, shared by IRIX 5 and IRIX 6.
19690         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
19691         mips-sgi-irix5*): Use it.
19692
19693         * config/mips/iris6.h: Remove duplicate comment.
19694
19695         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
19696         !TARGET_IRIX6]: Define.
19697         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
19698
19699         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
19700
19701 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19702
19703         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
19704         and delete code to force constant to register.
19705         * pa-protos.h (adddi3_operand): Add prototype.
19706         * pa.c (adddi3_operand): New function.
19707
19708 2002-07-11  Roger Sayle  <roger@eyesopen.com>
19709
19710         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
19711         non-ANSI builtin functions.
19712
19713 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
19714
19715         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
19716         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
19717         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
19718         (gen_const_vector_0): Use it.
19719
19720 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19721
19722         * pa.md (adddi3): For 32-bit targets, force constants to a register
19723         if they don't fit in an 11-bit immediate.  Change insn predicate to
19724         arith11_operand.  Remove comment.
19725         * pa.c (cint_ok_for_move): Fix comment.
19726         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
19727         targets.
19728
19729 2002-07-11  Tim Josling  <tej@melbpc.org.au>
19730
19731         Remove front end hard coding from gengtype.c.
19732
19733         * Makefile.in
19734         (STAGESTUFF): add gtyp-gen.h
19735         (GTFILES): Remove front end specific files.
19736         (GTFILES_FILES_LANGS): New, from configure..
19737         (GTFILES_FILES_FILES): Likewise.
19738         (GTFILES_LANG_DIR_NAMES): Likewise.
19739         (GTFILES_SRCDIR): Likewise.
19740         (gtyp-gen.h): Build from configure information.
19741         (s-gtype): Remove command line parameters from gengtype.
19742         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
19743         (mostlyclean): Delete files generated by and for gengtype.
19744
19745         * c-config-lang.in: New file.
19746
19747         * configure.in (all_gtfiles_files_langs): New. Accumulate files
19748         for each language.
19749         (all_gtfiles_files_files): New. Accumulate language for each file
19750         accumulated.
19751         (gtfiles): Pick up value for C.
19752         (srcdir): AC-SUBST this variable.
19753         (all_gtfiles_files_langs): AC-SUBST this variable.
19754         (all_gtfiles_files_files): AC-SUBST this variable.
19755
19756         * configure: Regenerate.
19757
19758         * gengtype-lex.l (parse_file): Make parameter const.
19759
19760         * gengtype.c (toplevel): include gtyp-gen.h.
19761         (BASE_FILE_<language> unnamed enum): Delete.
19762         (lang_names): Delete (replaced by gtyp-gen.h)
19763         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
19764         all references.
19765         (NUM_GT_FILES): New.
19766         (NUM_LANG_FILES): New.
19767         (srcdir_len): New.
19768         (NUM_BASE_FILES): Change calculation.
19769         (open_base_files): Change prototype to avoid warning.
19770         (startswith): Delete.
19771         (get_file_basename): Iterate through generated language list not
19772         hard coded list.
19773         (get_base_file_bitmap): Use generated list of files and languages.
19774         (close_output_files): Add prototype to rmove warning.
19775         (main): Iterate through list of generated files from gtyp-gen.h
19776         rather than command line paramaters.  Ignore duplicated file
19777         names.
19778
19779         * gengtype.h (parse_file): Amend prototype for const parameter.
19780
19781         * doc/sourcebuild.texi: Document gtfiles variable.
19782
19783         * doc/gty.texi: Document changes to gtfiles variable for front
19784         ends.
19785
19786         * objc/config-lang.in (gtfiles): Add files needed for objc front
19787         end.
19788
19789 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19790
19791         PR c/2454
19792         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
19793         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
19794
19795 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19796             Zack Weinberg <zack@codesourcery.com>
19797
19798         * builtins.def: Make the argument types of abort and exit
19799         independent of the front-end.
19800
19801 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
19802
19803         * config/rs6000/linux64.h (ASM_SPEC): Define.
19804
19805 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
19806
19807         * config/rs6000/rs6000.c (emit_frame_save): New.
19808         (rs6000_frame_related): Replace reg2 before reg.
19809         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
19810         and eh_return registers.
19811
19812 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
19813
19814         Revert all patches for optimization of Complex .op. Real.
19815         * complex_part_zero_p: Remove
19816         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
19817         with x.
19818         * expand_cmplxdiv_wide: Ditto.
19819         * expand_binop: Ditto.
19820
19821 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19822
19823         * config/avr/avr.md: Fix two 0x80000000 constants to make them
19824         negative also on 64-bit hosts.
19825
19826         Default to -fno-reorder-blocks when optimizing for size.
19827         * config/avr/avr-protos.h (avr_optimization_options): Declare.
19828         * config/avr/avr.c (avr_optimization_options): New function.
19829         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
19830
19831         Optimize returning from simple functions.
19832         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
19833         * config/avr/avr.c (avr_simple_epilogue): New function.
19834         * config/avr/avr.md (return): New insn.
19835
19836 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
19837
19838         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
19839         HAS_INIT_SECTION to protection.
19840
19841 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
19842
19843         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
19844         deprecated.
19845
19846 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
19847
19848         * combine.c (gen_lowpart_for_combine): Handle vector modes.
19849         Supply non-VOID mode to simplify_gen_subreg.
19850
19851 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
19852
19853         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
19854
19855 2002-07-10  Jeffrey A Law  <law@redhat.com>
19856
19857         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
19858         as appropriate.
19859
19860         * mn10200.c (expand_epilogue): Fix test to determine which scratch
19861         register to use.
19862
19863 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
19864
19865         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
19866         Get mode from dest.
19867         If simplify_gen_subreg fails, try next equivalent.
19868
19869 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
19870
19871         * diagnostic.h: #include location.h
19872         (location_t): Move definition to..
19873         * location.h: ... here.  New file.
19874         * tree.h: #include location.h
19875         (DECL_SOURCE_LOCATION): New macro.
19876         (DECL_SOURCE_FILE): Use.
19877         (DECL_SOURCE_LINE): Likewise.
19878         (struct tree_decl): REplace filename and linenum with locus.
19879         * Makefile.in (TREE_H): add location.h
19880         (diagnostic.o): Depends on gt-location.h
19881         (gt-location.h): Depends on s-gtype
19882
19883 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
19884
19885         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
19886         TARGET_OS_CPP_BUILTINS.
19887         * config/rs6000/aix31.h: Likewise.
19888         * config/rs6000/aix41.h: Likewise.
19889         * config/rs6000/aix43.h: Likewise.
19890         * config/rs6000/aix51.h: Likewise.
19891         * config/rs6000/beos.h: Likewise.
19892         * config/rs6000/darwin.h: Likewise.
19893         * config/rs6000/eabi.h: Likewise.
19894         * config/rs6000/eabisim.h: Likewise.
19895         * config/rs6000/linux.h: Likewise.
19896         * config/rs6000/linux64.h: Likewise.
19897         * config/rs6000/lynx.h: Likewise.
19898         * config/rs6000/mach.h: Likewise.
19899         * config/rs6000/rtems.h: Likewise.
19900         * config/rs6000/sysv4.h: Likewise.
19901         * config/rs6000/vxppc.h: Likewise.
19902
19903 2002-07-09 Devang Patel <dpatel@apple.com>
19904         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
19905         Do not allow ObjC objects as a parameter type for Objective-C methods.
19906         My previous patch restricted  'struct' also.
19907
19908 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
19909
19910         * cpperror.c (cpp_error): Default to directive_line within
19911         directives here.
19912         * cppexp.c (cpp_interpret_integer): Only use traditional
19913         number semantics in directives.
19914         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
19915         (do_include_common): Similarly.
19916         * cpptrad.c (scan_out_logical_line): Implement accurate
19917         quoting of <> in #include.
19918         * doc/cpp.texi: Update.
19919
19920 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
19921                           J"orn Rennecke <joern.rennecke@superh.com>
19922
19923         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
19924         * sh.md (attribute issues): Replace with:
19925         (attribute pipe_model).  All users changed.
19926         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
19927         All users changed.
19928         (function units sh5issue, sh5fds): New.
19929         (attribute is_mac_media): New.
19930         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
19931         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
19932         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
19933         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
19934         (call_media, call_value_media, sibcall_media): Likewise.
19935         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
19936         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
19937         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
19938         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
19939         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
19940         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
19941         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
19942         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
19943         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
19944         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
19945         (truncdfsf2_media): Likewise.
19946         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
19947         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
19948
19949 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
19950
19951         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
19952         * sh.c (general_extend_operand, inqhi_operand): New functions.
19953         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
19954         alternatives using 'N' modifier.  Add type.
19955         (adddi3z_media): Likewise.  Enable generator function generation.
19956         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
19957         exact predicates / constraints.  Add type.
19958         (subsi3): Allow 0 for SHMEDIA.
19959         (udivsi3_i4_media): Use match_operand for input values
19960         rather than hard registers.
19961         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
19962         unnecessarily through hard registers.  Keep copies of pseudo
19963         registers outside of the libcall sequence.
19964         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
19965         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
19966         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
19967         (extendhidi2, extendqidi2): Likewise.
19968         (andsi3_compact): Name.
19969         (andcdi3): Enable generator function generation.
19970         (zero_extendhisi2, zero_extendqisi2): Rename to
19971         (zero_extendhisi2_compact, zero_extendqisi2_compact).
19972         (extendhisi2, extendqisi2): Rename to
19973         (extendhisi2_compact, extendqisi2_compact).
19974         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
19975         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
19976         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
19977         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
19978         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
19979         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
19980         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
19981         (shmedia32_initialize_trampoline_big): Likewise.
19982         (shmedia32_initialize_trampoline_little): Likewise.
19983         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
19984         (negdi2): Remove spurious T clobber.
19985         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
19986         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
19987         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
19988         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
19989         (ic_invalidate_line_media): Write back data cache before invalidating
19990         instruction cache.  Add type.
19991         (movsf_media): Sign-extend when the destination is a general
19992         purpose register.  Add type.
19993         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
19994         (casesi_worker_0+1): Only increment ref count for proper label.
19995         (casesi_worker_0+2): Likewise.
19996
19997 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
19998
19999         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
20000
20001 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
20002
20003         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
20004         from Pmode to ptr_mode.
20005         (get_exception_pointer): Ditto.
20006         (connect_post_landing_pads): Ditto.
20007         (dw2_build_landing_pads): Ditto.
20008
20009 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
20010         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
20011         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
20012         (handle_pragma_redefine_extname): Change to use new function.
20013
20014 2002-07-08  Roger Sayle  <roger@eyesopen.com>
20015
20016         * combine.c (combine_simplify_rtx): Add an explicit cast
20017         to avoid signed/unsigned comparison warning.
20018         (simplify_if_then_else): Likewise.
20019         (extended_count): Likewise.
20020         (simplify_shift_const): Likewise.
20021         (simplify_comparison): Likewise.
20022
20023 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
20024
20025         * config/mips/mips.md: Add imadd type.  Update scheduler description
20026         to use imadd as well as imul.
20027         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
20028         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
20029         (*mul_sub_si): Likewise for first alternative.  Change second
20030         alternative from imul to multi.
20031
20032 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
20033
20034         * c-common.c (c_common_post_options): Update prototype;
20035         don't init backends if preprocessing only.
20036         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
20037         * langhooks.h (struct lang_hooks): Update post_options to
20038         return a boolean.
20039         * toplev.c (parse_options_and_default_flags, do_compile,
20040         lang_independent_init): Update prototypes.  Allow the
20041         front end to specify that there is no need to initialize
20042         the back end.
20043         (general_init): Move call to hex_init here...
20044         (toplev_main): ...from here.  Pass flag for back end init
20045         suppression.
20046
20047 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
20048
20049         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
20050         (PREDICATE_CODES): Add entries for equality_comparison_operator,
20051         greater_comparison_operator and less_comparison_operator.
20052         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
20053         more operators.
20054         (equality_comparison_operator): New function.
20055         (greater_comparison_operator, less_comparison_operator): Likewise.
20056         * sh.md (beq_media_i): Disable generator function generation.
20057         Use match_operator to handle a whole class of comparisons.  Add
20058         modifier in output template to provide branch prediction.  Add type.
20059         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
20060         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
20061         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
20062         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
20063
20064 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
20065
20066         Emit MMIX function prologue and epilogue as rtl.
20067         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
20068         not unprototyped get_hard_reg_initial_val.
20069         ("call_value", "nonlocal_goto_receiver"): Ditto.
20070         ("return"): Make define_expand.  Move real insn to...
20071         ("*expanded_return"): New pattern.
20072         ("prologue", "epilogue"): New define_expands.
20073         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
20074         (struct machine_function): New member in_prologue.
20075         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
20076         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
20077         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
20078         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
20079         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
20080         (LOCAL_REGNO): Define.  Adjust comment.
20081         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
20082         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
20083         leaf_function_p.
20084         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
20085         the prologue.
20086         (mmix_target_asm_function_prologue): Make static.  Just mark that
20087         the prologue is being emitted.  Move guts to...
20088         (mmix_expand_prologue): New function.  Adjust for emitting
20089         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
20090         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
20091         \n.  Move guts to...
20092         (mmix_expand_epilogue): New function.  Adjust for emitting
20093         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
20094         (mmix_target_asm_function_end_prologue): Mark that the prologue
20095         has ended.
20096         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
20097         (mmix_conditional_register_usage): Improve comments.
20098         (mmix_local_regno): New function.
20099         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
20100         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
20101         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
20102         (mmix_get_hard_reg_initial_val): Ditto.
20103
20104 2002-07-06  Andreas Jaeger  <aj@suse.de>
20105
20106         * toplev.c (set_fast_math_flags): Don't use ISO C style function
20107         definitions.
20108         * gengtype.c (open_base_files): Likewise.
20109         (close_output_files): Likewise.
20110         * tracer.c (find_best_predecessor): Likewise.
20111         (find_best_successor): Likewise.
20112         (ignore_bb_p): Likewise.
20113
20114 2002-07-05  Roger Sayle  <roger@eyesopen.com>
20115
20116         PR c++/7099
20117         * builtin-attrs.def: Define new attribute lists for use in
20118         builtins.def.
20119         * builtins.def [DEF_BUILTIN]: Modify to take an additional
20120         ATTRS argument, an enumerated value defined in builtin-attrs.def
20121         that represents the attribute list for the builtins.  Modify
20122         all builtin functions to pass an appropriate attribute list.
20123         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
20124         their required noreturn attributes.
20125         * tree.h (enum_builtin_function): Ignore the additional parameter
20126         to DEF_BUILTIN.
20127         * builtins.c (built_in_names): Likewise.
20128         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
20129         argument with a tree representing the functions attribute list.
20130         Pass this "attrs" argument to builtin_function.  No longer handle
20131         the noreturn_p processing manually.
20132         (built_in_attributes): Move the definitions from builtin-attrs.def
20133         before c_common_nodes_and_builtins.
20134         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
20135         DEF_BUILTIN, passing it to both builtin_function and the changed
20136         builtin_function_2.
20137
20138         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
20139         __builtin__exit and __builtin__Exit.
20140
20141 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20142
20143         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
20144         QI mode registers in soft registers.
20145         ("zero_extendqihi2"): Do not take into account soft registers
20146         for register allocation (use '*' constraint).
20147
20148 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20149
20150         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
20151         it is dead.
20152         ("*ashrsi3"): Likewise.
20153         ("*lshrsi3"): Likewise.
20154
20155 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
20156
20157         * genautomata.c (output_max_insn_queue_index_def): Take latencies
20158         into account.
20159
20160 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20161
20162         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
20163         address computation and memory moves.
20164
20165 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
20166
20167         PR c++/6706
20168         * dwarfout.c (output_reg_number): Fix warning message.
20169         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
20170         before using it.
20171
20172 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
20173
20174         * gcc/gcc.c (asm_debug): Move initialization ...
20175         (init_spec): ... here.
20176
20177 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
20178
20179         * c-parse.in (extdef): Append ';'.
20180         (old_style_parm_decls): Append ';'.
20181
20182 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
20183
20184         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
20185         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
20186         to gcc_cv_as_gstabs_flag.
20187         * configure: Rebuilt.
20188
20189 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
20190
20191         * ggc.h (ggc_add_root): Document as obsolete.
20192
20193 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
20194
20195         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
20196         (mshflo_w): Likewise.
20197
20198 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
20199
20200         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
20201         vector mode subregs of constants to finding integer mode
20202         subregs of constants.
20203         * cse.c (cse_insn): Use simplify_gen_subreg.
20204         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
20205         From a vector mode expression of different size than the
20206         target mode.
20207
20208 2002-07-03  Eric Christopher  <echristo@redhat.com>
20209
20210         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
20211         * config/mips/mips.h: Remove deprecated -m<processor> options
20212         and cc1_cpu_spec associated.
20213         (CONSTANT_ADDRESS_P): Fix last patch.
20214         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
20215         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
20216         sunge_sf): Remove.
20217
20218 2002-07-03  Stan Shebs  <shebs@apple.com>
20219
20220         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
20221         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
20222         (CPP_SPEC): Remove insertion of APPLE_CC definition.
20223
20224 2002-07-03  Roger Sayle  <roger@eyesopen.com>
20225
20226         * combine.c (struct_undo): Change types of recorded substitutions
20227         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
20228         (do_SUBST_INT): Change types of the substitution from unsigned int
20229         to int, to avoid compilation warning from SUBST_INT's only caller.
20230
20231         (make_extraction): Add cast to avoid compilation warning.
20232         (force_to_mode): Remove cast to avoid compilation warning.
20233
20234 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
20235             Jeff Law  <law@redhat.com>
20236
20237         * i386.md (length_immediate attribute): Fix typo.
20238         (length_address attribute): Likewise.
20239         (modrm attribute): Set it to 0 for immediate call instructions.
20240         (jcc_1 pattern): Set modrm attribute to 0.
20241         (jcc_2 pattern ): Likewise.
20242         (jump pattern): Likewise.
20243         (doloop_end_internal pattern): Explicitly set length.
20244         (leave pattern): Fix typo.
20245         (leave_rex64 pattern): Likewise.
20246
20247 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
20248
20249         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
20250         in FPR as preference.
20251         (fctiwz): Same.
20252         (floatdidf2, fix_truncdfdi2): Same.
20253         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
20254         (floatditf2): Same.
20255         (floatsitf2, fix_trunctfsi2): SImode in GPR.
20256         (ctrdi): Remove FPR alternative and splitter.
20257
20258 2002-07-03  Will Cohen  <wcohen@redhat.com>
20259
20260         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
20261
20262 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
20263
20264         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
20265         than UNITS_PER_WORD, unless this is little endian and the first unit
20266         in this word.  Let extract_bit_field decide how to load an element.
20267         Force arguments to matching mode.
20268         (expand_vector_unop): Likewise.
20269
20270         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
20271         consist of word_mode elements.
20272         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
20273         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
20274         (build_unary_op): Allow vector types for BIT_NOT_EPR.
20275         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
20276         CONST_VECTOR.
20277         * optabs.c (expand_vector_binop): Try to perform operation in
20278         smaller vector modes with same inner size.  Add handling of AND, IOR
20279         and XOR.  Reject expansion to inner-mode sized scalars when using
20280         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
20281         (expand_vector_unop): Try to perform operation in smaller vector
20282         modes with same inner size.  Add handling of one's complement.
20283         When there is no vector negate operation, try a vector subtract
20284         operation.  Use simplify_gen_subreg on constants.
20285         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
20286         constants into smaller vectors with same inner mode, and to
20287         integer CONST_DOUBLEs.
20288
20289 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20290
20291         * c-parse.in (parsing_iso_function_signature): New variable.
20292         (extdef_1): New, copied from...
20293         (extdef): ... here.  Reset parsing_iso_function_signature.
20294         (old_style_parm_decls):  Reset parsing_iso_function_signature.
20295         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
20296         Warn about ISO C style function definitions.
20297         (nested_function, notype_nested_function): Reset
20298         parsing_iso_function_signature.
20299         (parmlist_2): Set parsing_iso_function_signature.
20300
20301         * doc/invoke.texi (-Wtraditional): Document new behavior.
20302
20303 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
20304
20305         * config.gcc (mips*el-*-*): Use tm_defines to set
20306         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
20307         * config/mips/little.h: Remove.
20308
20309 2002-07-02 Devang Patel <dpatel@apple.com>
20310
20311         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
20312         object as parameter. Prevent something like 'NSObject' to be
20313         used as the type for a method argument.
20314
20315 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
20316
20317         * cpptrad.c: Update comment.
20318
20319 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
20320
20321         * doc/cpp.texi: Update for traditional preprocessing changes.
20322         * goc/cppopts.texi: Similarly.
20323
20324 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
20325
20326         * c-parse.in (designator): Enable designated initializers if ObjC.
20327         (objcmessageexpr): Remove references to objc_receiver_context.
20328         * objc/objc-act.h (objc_receiver_context): Remove decl.
20329         * objc/objc-act.c (objc_receiver_context): Remove.
20330         (lookup_objc_ivar): Test objc_method_context instead of
20331         objc_receiver_context.
20332
20333 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
20334
20335         * sh.c (print_operand, case 'N'): Allow zero vector.
20336         (arith_reg_or_0_operand): Likewise.
20337         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
20338         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
20339         IOR, XOR, PLUS and SET and take their respective constant
20340         ranges into account.
20341         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
20342         * sh.md (subdi3, subdi3_media): Allow zero operand.
20343         (movv8qi_i+3): Only vector that is not split is the zero vector.
20344         Fix operand 3 to simplify_subreg.
20345         (movv2si_i): Split alternative 1.
20346         (mshfhi_l_di_rev+1): New splitter.
20347
20348 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
20349
20350         PR preprocessor/7029
20351         * cppinit.c (cpp_handle_option):  Suppress warnings with an
20352         implicit "-w" for "-M" and "-MM".
20353         * doc/cppopts.texi: Update.
20354
20355 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20356
20357         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
20358         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
20359         builtin_function.
20360
20361 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
20362
20363         * README.Portability: Fix typos.
20364
20365 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
20366
20367         PR target/7177
20368         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
20369         of indirections for register inside sign-extended mem part.
20370
20371 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20372
20373         * tree.h:  Modify builtin_function interface to take an extra
20374         argument ATTRS, which is a tree representing an attribute list.
20375
20376         * c-decl.c (builtin_function): Accept additional parameter.
20377         * objc/objc-act.c (builtin_function): Likewise.
20378         * f/com.c (builtin_function): Likewise.
20379         * java/decl.c (builtin_function): Likewise.
20380         * ada/utils.c (builtin_function): Likewise.
20381         * cp/decl.c (builtin_function): Likewise.
20382         (builtin_function_1): Likewise.
20383
20384         * c-common.c (c_common_nodes_and_builtins): Pass an additional
20385         NULL_TREE argument to builtin_function.  (builtin_function_2):
20386         Likewise.
20387         * cp/call.c (build_java_interface_fn_ref): Likewise.
20388         * objc/objc-act.c (synth_module_prologue): Likewise.
20389         * java/decl.c (java_init_decl_processing): Likewise.
20390         * f/com.c (ffe_com_init_0): Likewise.
20391
20392         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
20393         NULL_TREE argument to builtin_function.
20394         * config/arm/arm.c (def_builtin): Likewise.
20395         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
20396         * config/i386/i386.c (def_builtin): Likewise.
20397         * config/ia64/ia64.c (def_builtin): Likewise.
20398         * config/rs6000/rs6000.c (def_builtin): Likewise.
20399
20400 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
20401
20402         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
20403         * config/mips/t-isa3264: Likewise.
20404         * config/mmix/t-mmix: Likewise.
20405
20406 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
20407
20408         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
20409
20410 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20411
20412         PR opt/4046
20413         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
20414         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
20415         B are truth values.
20416
20417 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
20418
20419         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
20420
20421 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
20422
20423         * README.Portability (Function prototypes): Give an example of
20424         declaring and defining a function with no arguments.
20425
20426         * README.Portability (Function prototypes): Document new
20427         variable-argument function macros.
20428
20429 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
20430
20431         * sh.c (langhooks.h): Include.
20432         (sh_init_builtins, sh_media_init_builtins): New functions.
20433         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
20434         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
20435         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
20436         (builtin_description): New struct tag.
20437         (signature_args, bdesc): New arrays.
20438         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
20439         (print_operand): Add 'N' modifier.
20440         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
20441         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
20442         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
20443         (CONST_COSTS): Add special case for SHmedia AND.
20444         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
20445         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
20446         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
20447         target_operand can also be const or unspec.
20448         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
20449         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
20450         (attribute type): Add new types.
20451         (anddi3): Add splitter.
20452         (movdi_const_16bit+1): Add code to handle vector constants and
20453         bitmasks efficiently.
20454         (shori_media): Have generator function made.
20455         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
20456         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
20457         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
20458         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
20459         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
20460         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
20461         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
20462         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
20463         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
20464         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
20465         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
20466         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
20467         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
20468         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
20469         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
20470         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
20471         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
20472         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
20473         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
20474         (ftrv): Likewise.
20475
20476         (fpu_switch+1, fpu_switch+2): Remove constraint.
20477
20478 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
20479
20480         * tree.c (build_function_type_list): Update function comment.
20481         Rename first argument to return_type.
20482
20483 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
20484
20485         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
20486         tradcif.y and related files.
20487
20488 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
20489
20490         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
20491
20492 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20493
20494         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
20495
20496 See ChangeLog.7 for earlier changes.