OSDN Git Service

* dwarf2out.c (limbo_die_node): Add created_for member.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-01-02  Richard Henderson  <rth@redhat.com>
2
3         * dwarf2out.c (limbo_die_node): Add created_for member.
4         (new_die): New argument created_for.  Update all callers.
5         (mark_limbo_die_list): New.
6         (dwarf2out_init): Register limbo_die_list as a root.
7         (dwarf2out_finish): Force insert limbo dies into their function
8         context.
9
10 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
11
12         PR c++/5089
13         * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
14
15 2002-01-02  Kazu Hirata  <kazu@hxi.com>
16
17         * config/h8300/fixunssfsi.c: Update copyright.
18         Fix comment typos.
19         Fix formatting.
20         * config/h8300/h8300.c: Update copyright.
21         Eliminate warnings.
22
23 2002-01-02  Kazu Hirata  <kazu@hxi.com>
24
25         * config/romp/romp.c: Fix comment formatting.
26         * config/romp/romp.h: Likewise.
27         * config/romp/romp.md: Likewise.
28         * config/s390/s390.c: Likewise.
29         * config/stormy16/stormy16.c: Likewise.
30         * config/stormy16/stormy16.h: Likewise.
31
32 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
33
34         * c-common.h (genrtl_expr_stmt_value): Declare.
35         * c-semantics.c (genrtl_goto_stmt): Redirect to...
36         (genrtl_goto_stmt_value): ... this new function.  Pass new
37         argument down to expand_expr_stmt_value, taking
38         TREE_ADDRESSABLE into account.
39         * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
40         STMT_EXPR as addressable, i.e., one whose result we want.
41         * expr.c (expand_expr): Don't save expression statement value
42         of labeled_blocks or loop_exprs.
43         * stmt.c (expand_expr_stmt): Redirect to...
44         (expand_expr_stmt_value): ... this new function.  Use new
45         argument to tell whether to save expression value.
46         (expand_end_stmt_expr): Reset last_expr_type and
47         last_expr_value if we don't have either.
48         * tree-inline.c (declare_return_variable): Mark its use
49         statement as addressable.
50         * tree.h: Document new use of TREE_ADDRESSABLE.
51         (expand_expr_stmt_value): Declare.
52
53 2002-01-01  Tom Rix  <trix@redhat.com>
54
55         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
56         rs6000_emit_allocate_stack.
57
58 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
59
60         * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
61         ${srcdir}/ginclude/ to every entry in extra_headers.
62         * configure: Regenerate.
63         * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
64         * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
65         * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
66         * ginclude/proto.h: Rename to config/convex/proto.h.
67
68 Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
69
70         * attribs.c (handle_vector_size_attribute): Use host_integerp
71         and tree_int_cst; remove warnings.
72         * caller-save.c (insert_restore): Add cast to get rid of warning.
73         (insert_save): Likewise.
74         * emit-rtl.c (adjust_address_1, offset_address): Likewise.
75         * regmove.c (find_matches): Add temporary var to kill a warning.
76
77 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
78
79         * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
80         LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
81         * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
82         (vms-dwarf2eh.o): Add Makefile rule.
83         * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
84         * config/alpha/vms-dwarf2eh.asm: New file.
85
86         * gcc.c (delete_if_ordinary): Delete all versions.
87
88 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
89
90         * config/mmix/mmix.md: Update FIXME to not mention
91         define_constants.
92         (MMIX_rJ_REGNUM): New define_constants constant.
93         ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
94         "*movdicc_real"): Adjust contraints formatting.
95         ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
96         for branch prediction.
97         ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
98         output template.
99         ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
100         "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
101         number.  Delete related FIXMEs.
102         * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
103         from number to MMIX_rJ_REGNUM.
104         (TARGET_MASK_BRANCH_PREDICT): New.
105         (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
106         (TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
107         value.  Add -mbranch-predict and -mno-branch-predict.
108         (TARGET_VERSION): Drop date.
109         (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
110         * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
111         for finding out global symbols.
112         (mmix_asm_output_labelref): Revert condition for global symbol.
113         (mmix_print_operand): <case '+'>: Emit P for a likely branch.
114         (mmix_print_operand_punct_valid_p): A '+' is valid.
115
116 2001-12-31  Richard Henderson  <rth@redhat.com>
117
118         * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS.
119
120 2001-12-31  Richard Henderson  <rth@redhat.com>
121
122         * regrename.c (build_def_use): Don't rename asm operands that
123         were originally hard registers. 
124         (copyprop_hardreg_forward_1): Likewise.
125         (find_oldest_value_reg): Copy ORIGINAL_REGNO from source.
126         * varasm.c (make_decl_rtl): Use gen_rtx_raw_REG.  Set ORIGINAL_REGNO.
127
128 2001-12-31  Douglas B Rupp  <rupp@gnat.com>
129
130         * config/alpha/vms.h (HAS_INIT_SECTION, NEED_ATEXIT): Remove.
131         (NAME__MAIN, SYMBOL__MAIN): Define.
132
133 2001-12-31  Richard Henderson  <rth@redhat.com>
134
135         * cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL
136         before decrementing LABEL_NUSES from a jump table.
137
138         * final.c (alter_subreg): Assign REGNO after changing the rtx code.
139
140         * config/alpha/alpha.c (reg_no_subreg_operand): Reject all
141         non-registers.
142
143 2001-12-31  Graham Stott  <grahams@redhat.com>
144
145         * halfpic.h: Remove foward defs of tree_node and rtx_def.
146
147         * toplev.h: Remove forward def of tree_node, rtx_def.
148
149         * except.h: Remove forward def of tree_node, rtx_def and
150         define of tree, rtx. Also remove undefs.
151
152         * basic-block.h: Remove forward def of tree_node and
153         define of tree.
154
155 2001-12-30  Richard Henderson  <rth@redhat.com>
156
157         * cfglayout.c (scope_def, scope_forest_info, forest,
158         relate_bbs_with_scopes, make_new_scope, build_scope_forest,
159         remove_scope_notes, insert_intra_before_1, insert_intra_1,
160         insert_intra_bb_scope_notes, insert_inter_bb_scope_notes,
161         rebuild_scope_notes, free_scope_forest_1, dump_scope_forest,
162         dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove.
163         (fixup_reorder_chain): Don't set scope for bb.
164         (insn_scopes, scope_to_insns_initialize, set_block_levels,
165         change_scope, scope_to_insns_finalize): New.
166         (cfg_layout_initialize, cfg_layout_finalize): Update to match.
167         * cfglayout.h (scope_def, scope): Remove.
168         (reorder_block_def): Remove scope member.
169         (scope_to_insns_initialize, scope_to_insns_finalize): Declare.
170         * haifa-sched.c: Revert reemit_other_notes change.
171         * sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes.
172         Use scope_to_insns_initialize and scope_to_insns_finalize.
173         * sched-rgn.c (schedule_insns): Likewise.
174
175 2001-12-31  Graham Stott  <grahams@redhat.com>
176
177         * c-lex.c: Include tree.h before expr.h
178
179         * c-typeck.c: Include rtl.h earlier.
180
181         * tree.h (STRIP_NOPS): Remove extraneous semicolon.
182         (STRIP_SIGN_NOPS): Likewise.
183         (STRIP_TYPE_NOPS): Likewise.
184         (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): Add Parenthesis around
185         macro paramater.
186
187         * final.c (struct bb_list): Delete.
188         (struct bb_str): Likewise.
189
190        * cfgloop.c (flow_loop_entry_edges_find): Fix typo.
191         (flow_loop_exit_edges_find): Likewise.
192
193         * gcse.c (gcse_main): Fix typos.
194         (alloc_gcse_mem): Likewise.
195
196         * function.h: Remove undefs for rtx and tree.
197
198 2001-12-30  Richard Henderson  <rth@redhat.com>
199
200         * loop.c (check_dbra_loop): Fix last change: examine both
201         has_multiple_exit_targets and exit_count.
202
203 2001-12-30  Richard Henderson  <rth@redhat.com>
204
205         * integrate.c (copy_rtx_and_substitute): Fix error last change:
206         we need to unconditionally create a new mem.
207
208 2001-12-30  Hans-Peter Nilsson  <hp@bitrange.com>
209
210         * config/mmix/mmix.md ("*call_real"): Fix typo in comment.
211         * config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT
212         to mmix_extra_constraint.
213         * config/mmix/mmix.c (mmix_secondary_reload_class): Only handle
214         non-global register classes.  Mark now unused parameters as such.
215         (mmix_extra_constraint, 'U'): Use new parameter strict and call
216         calling memory_operand_p or strict_memory_address_p, not
217         address_operand.
218         * config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter.
219
220 2001-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
221
222         * unroll.c: Move include files above first use of `const'.
223
224 2001-12-30  Jakub Jelinek  <jakub@redhat.com>
225
226         * cfgrtl.c (try_redirect_by_replacing_jump): Allow redirect_jump
227         to fail if target is EXIT_BLOCK_PTR, die otherwise.
228         (redirect_edge_and_branch): Likewise.
229         * cfgcleanup.c (try_forward_edge): Don't force jump redirecting
230         if target is EXIT_BLOCK_PTR.
231
232 2001-12-29  David Edelsohn  <edelsohn@gnu.org>
233
234         * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
235         gcc invoked with -shared.
236
237 2001-12-29  Graham Stott  <grahams@redhat.com>
238
239         * config/i386/i386.c (ix86_asm_dialect): Fix enum type.
240
241         (override_options): Delete abs macro unused. 
242
243         (output_pic_addr_const): Use ASM_ATT/ASM_INTEL enumerations
244         when testing ASSEMBLER_DIALECT.
245
246         (print_reg): Likewise.
247         (print_operand): Likewise.
248         (print_operand_address): Likewise.
249         (print_operand): abort if ASSEMBLER_DIALECT is unknown dialect.
250
251         * config/i386/i386.h (ix86_asm_dialect): Fix enum type.
252
253         (FIND_BASE_TERM): Fix typo.
254
255 Sat Dec 29 15:48:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
256
257         * expr.c (store_field): Use adjust_address, not PUT_MODE.
258         (expand_expr, case VIEW_CONVERT_EXPR): Likewise.
259         * reload1.c (eliminate_regs, case SUBREG): Likewise, but use
260         adjust_address_nv.
261         * varasm.c (make_decl_rtl): Likewise.
262         * integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use
263         replace_equiv_address_nv.
264
265         * varasm.c (decode_addr_const, case INTEGER_CST): Call
266         output_constant_def instead of looking at TREE_CST_RTL.
267
268         * expr.c (convert_move): If -fforce-mem, force FROM to not be memory.
269
270         * stor-layout.c (layout_decl): Don't misalign field of variable size
271         for packed record.
272
273         * dwarf2out.c (compute_section_prefix): Avoid cast warning.
274         (gen_decl_die): Only check DECL_IGNORED_P on decls.
275         (dwarf2out_decl): Check for DECL_IGNORED_P only when needed.
276
277 2001-12-29  Jakub Jelinek  <jakub@redhat.com>
278
279         * cfglayout.c (insert_intra_before_1): New.
280         (insert_inter_bb_scope_notes): Emit sibling block notes which don't
281         span multiple basic blocks.
282
283 2001-12-29  Richard Henderson  <rth@redhat.com>
284
285         * loop.c (prescan_loop): Set has_multiple_exit_targets for exception
286         edges.  Rearrange jump interpretation code to use pc_set.
287         (check_dbra_loop): Examine has_multiple_exit_targets not exit_count.
288
289         * sched-deps.c (sched_analyze_insn): Set scheduling barrier for
290         all insns that can throw, not just if flag_non_call_exceptions.
291
292 2001-12-29  Stan Shebs  <shebs@apple.com>
293
294         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove.
295         (default_constant_string_class_name): New global.
296         (objc_init): Set it.
297         (synth_module_prologue): Use it.
298
299         * objc/objc-act.c: Apply various cosmetic and formatting changes.
300
301 2001-12-29  Kazu Hirata  <kazu@hxi.com>
302
303         * config/rs6000/darwin-tramp.asm: Fix comment formatting.
304         * config/rs6000/freebsd.h: Likewise.
305         * config/rs6000/rs6000.c: Likewise.
306         * config/sh/sh.c: Likewise.
307         * config/sh/sh.h: Likewise.
308
309 2001-12-28  Stan Shebs  <shebs@apple.com>
310
311         * objc/objc-act.c (build_module_descriptor): Make sure the init
312         function is not deferred.
313         (build_dispatch_table_initializer): Compute the method encoding if
314         not already done.
315
316 2001-12-28  Kazu Hirata  <kazu@hxi.com>
317
318         * doc/md.texi: Add @findex define_insn_and_split.
319
320 2001-12-28  Hans Bohem  <hans_boehm@hp.com>
321
322         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
323         * config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp,
324         bsp setup.  Set pri_unat_loc to something reasonable.
325         (uw_install_context): Add missing cast.
326         (unw_access_gr): Fix off-by-1 indexing error.
327
328 2001-12-28  Kazu Hirata  <kazu@hxi.com>
329
330         * except.c: Fix comment formatting.
331         * flags.h: Likewise.
332         * flow.c: Likewise.
333         * predict.c: Likewise.
334         * simplify-rtx.c: Likewise.
335         * system.h: Likewise.
336         * vmsdbg.h: Likewise.
337         * vmsdbgout.c: Likewise.
338
339 2001-12-28  Kazu Hirata  <kazu@hxi.com>
340
341         * config/h8300/h8300.md: Fix formatting.
342
343 2001-12-28  Geoff Keating  <geoffk@redhat.com>
344
345         * varasm.c (record_constant_1): Correct parameter to recursive
346         call in default case.
347
348 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
349
350         * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT,
351         ASM_OUTPUT_DWARF_PCREL): Define.
352         * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
353         * configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports
354         .uaword %r_disp32() and linker handles it correctly.
355         * configure, config.in: Rebuilt.
356
357 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
358
359         * c-typeck.c (store_init_value): If initializing object with array
360         type of unknown size by a compound literal, set object's size from
361         compound literal size.
362         * doc/extend.texi (Compound Literals): Adjust documentation.
363
364 2001-12-28  Richard Henderson  <rth@redhat.com>
365
366         * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
367         (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
368         (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
369         * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
370         INTEL_EXTENDED_IEEE_FORMAT.
371
372 2001-12-27  Geoff Keating  <geoffk@redhat.com>
373
374         * combine.c (try_combine): Mask off sign bits when combining
375         stores to the low and high parts of a two-word value.
376
377         * expr.c (expand_expr): Don't mark memory for non-constants as
378         constant.
379
380 Thu Dec 27 20:39:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
381
382         * integrate.c (copy_rtx_and_substitute, case MEM): If inlining
383         and not for LHS, clear RTX_UNCHANGING_P.
384
385 2001-12-28  Philipp Thomas  <pthomas@suse.de>
386
387         * cppfiles.c (stack_include_file): Don't translate <stdin>.
388
389 2001-12-27  Roger Sayle <roger@eyesopen.com>
390
391         * builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
392         when all arguments are known constant.  Fixes PR opt/3508.
393
394 2001-12-27  Kazu Hirata  <kazu@hxi.com>
395
396         * config/h8300/h8300.md (two anonymous patterns): Remove.
397
398 2001-12-27  Richard Henderson  <rth@redhat.com>
399
400         * haifa-sched.c (reemit_other_notes): New.
401         (schedule_block): Use it.
402         * sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
403         * sched-rgn.c (schedule_insns): Likewise.
404         * cfglayout.c (remove_scope_notes): Handle removing note at
405         the end of the insn chain.
406         * function.c (debug_find_var_in_block_tree): New.
407
408 2001-12-27  Alan Modra  <amodra@bigpond.net.au>
409             David Edelsohn  <edelsohn@gnu.org>
410
411         * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
412
413 2001-12-27  Jakub Jelinek  <jakub@redhat.com>
414
415         * toplev.c (independent_decode_option): Re-add -aux-info option
416         handling.
417
418 Thu Dec 27 09:50:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
419
420         * integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
421         if special value.
422
423 2001-12-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
424
425         * collect2.c (is_ctor_dtor): Const-ify.
426         * m88k-protos.h (output_file_start): Likewise.
427         * m88k.c (m88k_lang_independent_options, output_options,
428         output_file_start): Likewise.
429         * fix-header.c (files_to_ignore, std_include_entry, include_entry,
430         std_include_table, main): Likewise.
431         * protoize.c (longopts): Likewise.
432         * regclass.c (int_reg_class_contents): Likewise.
433         * toplev.c (dump_file, f_options, W_options): Make static.
434         (lang_independent_options, f_options, W_options): Const-ify.
435         * tree-dump.c (dump_file_info): Likewise.
436         * unroll.c (_factor): Make static.
437
438 Wed Dec 26 17:55:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
439
440         * config/alpha/alpha.c (alpha_align_insns): Remove warning.
441
442         * config/sparc/sparc.md (call struct patterns): Show starting
443         at two words long.
444
445 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
446
447         * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
448         * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
449
450 2001-12-26  DJ Delorie  <dj@redhat.com>
451
452         * function.c (expand_main_function): Make sure stack adjustments
453         happen before sjlj exception setup.
454
455 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
456
457         * rs6000.md (indirect_jump): Prefer CTR over LR.
458         * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
459
460 Tue Dec 25 12:04:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
461
462         * dwarf2out.c: Reformatting and minor code rearrangement.
463
464 2001-12-24  Douglas B. Rupp (rupp@gnat.com)
465
466         * configure.in (quoted_stage_prefix_set_by_configure): Generate.
467         * configure: Regenerated.
468         * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
469         quoted_stage_prefix_set_by_configure.
470
471 Mon Dec 24 10:24:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
472
473         * rtl.h (in_expr_list_p): New declaration.
474         * rtlanal.c (in_expr_list_p): New function.
475         * cfgcleanup.c: Reformatting and minor code rearrangement.
476         * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
477
478 2001-12-23  Richard Henderson  <rth@redhat.com>
479
480         PR c/5163:
481         * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
482         we have a function body associated.  Minor cleanups.
483         (grokdeclarator): Do not set DECL_INLINE without a function body.
484
485 2001-12-23  Richard Henderson  <rth@redhat.com>
486
487         * stmt.c (resolve_operand_names): Handle operand modifiers.
488
489 2001-12-23  Richard Henderson  <rth@redhat.com>
490
491         * stmt.c (parse_input_constraint): Break out from ...
492         (expand_asm_operands): ... here.  Loop over the operands twice,
493         the first time only calling mark_addressable.  Correct and simplify
494         the conditions for spilling an output operand to memory.
495
496 2001-12-23  Richard Henderson  <rth@redhat.com>
497
498         * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
499
500         * config/alpha/alpha.md (UNSPEC_SIBCALL): New.
501         (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
502         (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
503
504 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
505
506         * c-typeck.c (c_start_case): Don't strip conversions from the
507         controlling expression.  Partially fixes PR c/2454.
508
509 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
510
511         * Makefile.in (USER_H): Remove proto.h.
512         * config.gcc (c*-convex-*): Set extra_headers=proto.h.
513
514 2001-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
515
516         * arc.c (arc_hard_regno_mode_ok): Const-ify.
517         * arc.h (arc_hard_regno_mode_ok): Likewise.
518         * i386.c (x86_64_reg_class_name): Make static.
519         * m68k.c (regno_reg_class): Const-ify.
520         * m68k.h (regno_reg_class): Likewise.
521         * mcore.c (reg_class_from_letter): Likewise.
522         * mcore.h (reg_class_from_letter): Likewise.
523         * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
524         ext_shift_insns, ext_shift_amounts): Likewise.
525         * sh.h (reg_class_from_letter): Likewise.
526         * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
527         hard_64bit_mode_classes): Likewise.
528         * sparc.h (hard_regno_mode_classes): Likewise.
529
530         * gcc.c (modify_target): Make static.
531         * gengenrtl.c (defs, formats): Likewise.
532         * reload1.c (elim_table_1, init_elim_table): Const-ify.
533         * tradcpp.c (directive, directive_table, handle_directive,
534         skip_if_group, run_directive): Likewise.
535
536 2001-12-23  Richard Henderson  <rth@redhat.com>
537
538         * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
539         an invalid result register; do end the sequence properly.
540         (emit_library_call_value_1): Likewise.
541
542 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
543
544         * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
545
546         * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
547
548         * config/rs6000/rs6000.c: Clean up some spacing and indentation.
549         (altivec_init_builtins): Add tree types for builtins with 4 bit
550         literals.
551         (bdesc_3arg): Add vsldoi variants.
552
553 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
554
555         * 1750a.h (datalbl, jmplbl): Declare array size explicitly.
556         * a29k.h (a29k_debug_reg_map): Likewise.
557         * arc.h (arc_regno_reg_class): Likewise.
558         * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
559         * convex.h (regno_reg_class, reg_class_from_letter): Likewise.
560         * d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
561         * i386.h (regclass_map): Likewise.
562         * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
563         * mcore.h (regno_reg_class): Likewise.
564         * mips.h (mips_print_operand_punct, mips_char_to_class):
565         Likewise.
566         * ns32k.h (regclass_map): Likewise.
567         * pj.h (pj_debugreg_renumber_vec): Likewise.
568         * s390.h (regclass_map): Likewise.
569         * sh.h (regno_reg_class): Likewise.
570         * sparc.h (sparc_regno_reg_class): Likewise.
571
572         * hard-reg-set.h (reg_class_contents): Likewise.
573         * machmode.h (class_narrowest_mode): Likewise.
574
575 2001-12-22  David Edelsohn  <edelsohn@gnu.org>
576
577         * loop.c (scan_loop, move_movables, count_one_set): Do not
578         overlook hard registers when computing statistics.
579
580 Sun Dec 23 00:49:37 CET 2001  Jan Hubicka  <jh@suse.cz>
581
582         * calls.c (ECF_LIBCALL_BLOCK): New constant.
583         (emit_call_1, initialize_argument_information,
584         precompute_arguments, expand_call,
585         emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
586         instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
587
588 2001-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
589
590         * config.gcc (extra_headers): Move settings to math-68881.h and
591         ppc-asm.h to common code for CPU types.  Use math-68881.h on all
592         m68k targets.
593         (header_files): Remove unused setting.
594
595 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
596
597         * elxsi.c: Include "hard-reg-set.h" and/or don't declare
598         `call_used_regs' explicitly.
599         * i860.c: Likewise.
600         * m68k.c: Likewise.
601         * ns32k.c: Likewise.
602         * pa.c: Likewise.
603         * vax.c: Likewise.
604         * we32k.c: Likewise.
605
606 Fri Dec 21 23:30:14 CET 2001  Jan Hubicka  <jh@suse.cz>
607
608         * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
609         (TARGET_CPU_DEFAULT_*): Renumber.
610
611 Sat Dec 22 12:20:20 EST 2001  John Wehle  (john@feith.com)
612
613         * rtl.h (subreg_lsb): Declare.
614         * rtlanal.c (subreg_lsb): Implement.
615
616 Sat Dec 22 08:59:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
617
618         * predict.c: Reformatting and minor cleanups.
619         * cfg.c, cfganal.c, cfgbuild.c: Likewise.
620
621         * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
622         SAVE_EXPR.
623         * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
624         (put_addressof_into_stack): Clarify code in setting of used_p.
625
626         * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
627         (expand_call): Delete from here.
628         Do pending stack adjustments if ECF_SP_DEPRESSED.
629
630         * dwarf2out.c (save_rtx): Deleted.
631         (mem_loc_descriptor): Do equivalent operation.
632         (add_const_value_attribute, case CONST): Likewise.
633         (add_name_and_src_coords_attributes): Likewise.
634
635 2001-12-21  Kazu Hirata  <kazu@hxi.com>
636
637         * config/h8300/h8300.h: Fix comment formatting.
638
639 Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
640
641         * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
642         (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
643
644 2001-12-21  Robert Lipe  <robertlipe@usa.net>
645
646          * system.h (PREFETCH): Explictly undefine.
647
648 2001-12-21  Richard Henderson  <rth@redhat.com>
649
650         * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
651         (RESTORE_WARN_FLAGS): Restore it.
652         (extension): Zero warn_traditional.
653
654 2001-12-21  Kazu Hirata  <kazu@hxi.com>
655
656         * doc/passes.texi: Fix a typo.
657
658 2001-12-21  Kazu Hirata  <kazu@hxi.com>
659
660         * config/h8300/h8300.h: Fix a comment typo.
661
662 2001-12-21  Jakub Jelinek  <jakub@redhat.com>
663
664         * combine.c (nonzero_bits): If using reg_nonzero_bits,
665         we don't know anything about bits outside of X mode.
666         (num_sign_bit_copies): Likewise.
667
668 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
669
670         * config/arm/arm.md (prefetch): Use 'a' operand code.
671
672 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
673
674         * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
675         subshells.
676         * configure.in: Likewise for perl Pod::Man.
677
678         * configure: Regenerated.
679
680 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
681
682         * builtin-attrs.def (__builtin_printf_unlocked,
683         __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
684         Mark with the __printf__ attribute.
685         
686         * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
687         and set the replacement function depending on it.
688         (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
689         Handle BUILT_IN_*_UNLOCKED when optimizing.
690         
691         * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
692         DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
693         Declare the "unlocked" stdio functions.
694         
695         * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
696         Add an `unlocked' parameter and set the replacement function
697         depending on it.
698         (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
699         BUILT_IN_FPRINTF_UNLOCKED.
700
701         * doc/extend.texi (printf_unlocked, fprintf_unlocked,
702         fputs_unlocked): Document.
703
704 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
705
706         * cfgloop.c (flow_loops_find): Use the information of the depth
707         first search order of the CFG correctly when finding natural loops.
708
709 2001-12-20  Richard Henderson  <rth@redhat.com>
710
711         * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
712
713 2001-12-20  Richard Henderson  <rth@redhat.com>
714
715         * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
716         * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
717         operand into $27.
718
719 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
720
721         * configure.in (all_headers, all_lib2funcs): Remove.
722         * configure: Regenerate.
723         * Makefile.in (LANG_EXTRA_HEADERS): Remove.
724         (USER_H): Don't include $(LANG_EXTRA_HEADERS).
725         * config/alpha/t-interix (USER_H): Don't include
726         $(LANG_EXTRA_HEADERS).
727         * config/i386/t-interix: Likewise.
728         * config/t-openbsd: Likewise.
729
730 2001-12-20  Andreas Jaeger  <aj@suse.de>
731
732         * libgcc2.c (__bb_exit_func): Remove unused variable.
733         (num_digits): Remove unused function.
734
735 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
736
737         * config/arm/arm.c (arm_output_epilogue): Changed IP restore
738         to use ldmfd instead of ldmea.
739         * config/arm/arm.c (arm_compute_initial_elimination_offset):
740         Modified to reflect behavior of arm_expand_prologue when generating
741         interrupt handlers
742
743 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
744
745         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
746         function. Compute which of registers r0 through r12 should be
747         saved onto the stack during a function's prologue.
748         (arm_compute_save_reg_mask): Use
749         arm_compute_save_reg0_reg12_mask.
750         (arm_compute_initial_elimination_offset): Use
751         arm_compute_save_reg0_reg12_mask.
752
753         (arm_expand_prologue): Do not mark as save of the IP register
754         for an interrupt handler as being part of the frame creation
755         code.
756
757 2001-12-20  Richard Henderson  <rth@redhat.com>
758
759         * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
760         to emit floating point values.
761         (assemble_real_1): Remove.
762
763         * 1750a/1750a.c (real_value_to_target_single): New.
764         (real_value_to_target_double): New.
765         * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
766         (REAL_VALUE_TO_TARGET_SINGLE): New.
767         (REAL_VALUE_TO_TARGET_DOUBLE): New.
768         * 1750a/1750a-protos.h: Update.
769
770         * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
771         alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
772         avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
773         d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
774         fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
775         i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
776         i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
777         i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
778         m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
779         m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
780         m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
781         m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
782         mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
783         mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
784         ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
785         romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
786         sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
787         vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
788         ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
789         ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
790         associated support routines.
791
792 Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
793
794         * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
795         if one of block does not contain jump.
796         (outgoing_edge_math): Revert last path; require edges to be noncomplex
797         nonfake to match single exit edge; require conditional jumps to not
798         have side effect.
799
800 2001-12-20  Turly O'Connor  <turly@apple.com>
801
802         * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
803         "recog_operand" to "recog_data.operand".
804         * rtl.def: Likewise.
805
806 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
807
808         * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
809         narrower mode than op0, only return the bits in DIV's mode.
810
811 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
812
813         * combine.c (distribute_notes): Avoid adding REG_LABEL notes
814         to JUMP_INSNs with JUMP_LABEL.
815
816 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
817
818         * doc/install.texi: Add documentation for --enable-altivec.
819
820         * config.gcc: Add support for --enable-altivec.
821
822         * config/rs6000/altivec.h: New.
823
824         * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
825         Define.  Fix typo.
826
827         * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
828         unspec_volatile.
829         (generate_set_vrsave): Generate the unspec here instead of calling
830         an .md pattern.
831         (generate_set_vrsave): Use gen_rtvec.
832         (rs6000_emit_prologue): Replace call to gen_get_vrsave with
833         gen_rtx_SET.
834
835         * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
836         for setting special registers.
837         ("*set_vrsave_internal"): Use unspec_volatile.
838         ("set_vrsave"): Remove.
839         ("get_vrsave"): Remove.
840
841         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
842         SPECIAL_REGS.
843
844 2001-12-19  Bruce Korb  <bkorb@gnu.org>
845
846         * gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
847         (strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
848         * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
849         * gcc/fixinc/base/...: adjust for changes in fixes
850
851 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
852
853         * po/gcc.pot: Regenerate.
854
855         * configure.in (all_diff_excludes, diff_excludes): Remove.
856         * configure: Regenerate.
857         * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
858         * objc/config-lang.in (diff_excludes): Remove.
859
860 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
861
862         * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
863         the destination register as a parameter to mems_ok_for_ldd_peep.
864         For store peepholes pass NULL_RTX.  Move all volatile checks ...
865         * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
866         register parameter, check it's not the same as base for an address.
867         * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
868
869 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
870
871         * config/ia64/ia64.c (ia64_single_set): Return first set for
872         prologue_allocate_stack and epilogue_deallocate_stack instructions.
873
874 2001-12-19  Dale Johannesen  <dalej@apple.com>
875
876          * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
877          redefine in terms of rs6000_legitimize_reload_address().
878          * config/rs6000/rs6000-protos.h: Add this function.
879          * config/rs6000/rs6000.c: Add this function.  Includes
880          handling for Darwin FP constants.
881
882 Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
883
884         * config/pa/t-hpux-shlib: New file.
885         * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
886         for 32bit hpux10 & hpux11 configurations.
887
888 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
889
890         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
891         -mno-fpu onto gas unless -mhard-float is specified.
892         (MULTILIB_DEFAULTS): Include msoft-float.
893
894         * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
895
896         * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
897         * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
898
899 Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
900
901         * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
902         descriptor output.
903
904 2001-12-18  Stan Shebs  <shebs@apple.com>
905
906         * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
907
908 Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
909
910         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
911         on an INTEGER_CST.
912
913 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
914
915         * rs6000.c (rs6000_override_options): Only use DI ops when
916         TARGET_64BIT.  Fix typo.
917
918 Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
919
920         * att.h (ASM_FILE_START): Use asm_dialect.
921         * linux.h (ASM_FILE_START): Likewise.
922         * gas.h (ASM_FILE_START): Likewise.
923         * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
924         ix86_asm_string, ix86_asm_dialect): New.
925         (override_options): Set asm_dialect.
926         * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
927         MASK_DEBUG_ADDR): Kill.
928         (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
929         (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
930         (ASSEMBLER_DIALECT): Use asm_dialect.
931         (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
932         remove debug-addr and debug-arg.
933         (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
934         (asm_dialect): New enum.
935         (ix86_debug_arg_string, ix86_debug_addr_string,
936         ix86_asm_string, ix86_asm_dialect): Declare.
937         * invoke.texi (-mintel-syntax): Remove.
938         (-masm): Document.
939
940 Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
941
942         * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
943
944 2001-12-18  Jason Merrill  <jason@redhat.com>
945
946         C++ ABI change: destroy value arguments in caller.
947         * calls.c (initialize_argument_information): Pass the address of
948         the TARGET_EXPR temporary rather than storing it into another.
949
950 Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
951
952         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
953         * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
954
955 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
956
957         * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
958         * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
959         * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
960         (CC1_SPEC): Don't default to -gstabs+ if -m32.
961
962 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
963
964         * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
965
966 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
967
968         * po/gcc.pot: Regenerate.
969
970 2001-12-18  Kazu Hirata  <kazu@hxi.com>
971
972         * config/h8300/h8300.c: Fix comment typos.
973         * config/h8300/h8300.h: Fix comment formatting.
974
975 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
976
977         * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
978         mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
979         declaration to NUM_MACHINE_MODES.
980         (mode_size, mode_unit_size): Set array type to unsigned char.
981         (mode_bitsize): Set array type to unsigned short.
982
983         * rtl.c (rtx_length): Set array type to unsigned char.
984         (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
985         NUM_RTX_CODE.
986         (mode_bitsize): Set array type to unsigned short.
987         (mode_size, mode_unit_size): Set array type to unsigned char.
988         (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
989         mode_wider_mode, mode_mask_array): Set array size to
990         NUM_MACHINE_MODES.
991
992         * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
993         size in declaration to NUM_RTX_CODE.
994
995 2001-12-17  Richard Henderson  <rth@redhat.com>
996
997         * config/alpha/alpha.md (unop): Encode RB as $sp.
998
999 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1000
1001         * Makefile.in: Update dependencies.
1002         * c-lang.c: Remove unnecessary includes.
1003         (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
1004         c-objc-common.c.
1005         (finish_file): Move body to c_common_finish_file.
1006         * c-objc-common.c: Include varray.h and ggc.h.
1007         (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
1008         expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
1009         (c_objc_common_init): Initialize deferred function array.
1010         * c-tree.h (c_objc_common_finish_file,
1011         static_ctors, static_dtors): New.
1012 objc:
1013         * Make-lang.in: Update dependencies.
1014         * objc/objc-act.c: Don't include varray.h.
1015         (defer_fn, deferred_fns): Move to c-objc-common.c.
1016         (objc_init): Similarly for initialization of it.
1017         (finish_file): Move some to c-objc-common.c, use
1018         c_objc_common_finish_file.
1019
1020 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
1021
1022         * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
1023
1024 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1025
1026         * doc/cppinternals.texi: Update.
1027
1028 Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
1029
1030         * expmed.c (emit_store_flag): Extract updated comparison code
1031         from the return value of compare_from_rtx.
1032         * expr.c (do_store_flag): Similarly.
1033
1034 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
1035
1036         * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
1037         preference to BASE_REG_CLASS.
1038         * recog.c (preprocess_constraints): Ditto.
1039         * regclass.c (record_operand_costs, scan_one_insn, regclass,
1040         record_reg_classes, record_address_regs): Ditto.
1041         * regrename.c (scan_rtx_address, scan_rtx,
1042         replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
1043         * reload.c (find_reloads, find_reloads_address,
1044         find_reloads_address_1): Ditto.
1045         * reload1.c (maybe_fix_stack_asms): Ditto.
1046         * defaults.h (MODE_BASE_REG_CLASS): Provide default
1047         definition.
1048         * doc/tm.texi: Document MODE_BASE_REG_CLASS.
1049
1050         * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
1051
1052 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
1053
1054         * doc/install.texi2html: Use -I $SOURCEDIR.
1055
1056         Separate user and internals manuals.
1057         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
1058         dependencies.
1059         ($(docdir)/gccint.info, gccint.dvi): New targets.
1060         (maintainer-clean, install-info, uninstall): Update.
1061         * doc/.cvsignore: Add gccint.info*.
1062         * doc/include/gcc-common.texi: New file.
1063         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
1064         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
1065         is defined.
1066         * doc/gccint.texi: New file.
1067         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
1068         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
1069         Update for separate user and internals manuals.
1070
1071 2001-12-17  Dale Johannesen  <dalej@apple.com>
1072
1073          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
1074          ASM_CPU_SPEC: Ditto.
1075          RTX_COSTS: Fix timing info for 7450 multiply.
1076          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
1077          Allow floats to be kept in int regs in movsf_low,
1078          movsf_low_st (Darwin only)
1079
1080 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
1081
1082         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
1083         parallel.
1084         (is_gpr_return_reg): New.
1085         (rs6000_emit_prologue): Call generate_set_vrsave with additional
1086         argument.  Save only registers in the mask.  Attach
1087         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
1088         rs6000_frame_related when saving VRSAVE.
1089         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
1090         argument.  Restore only registers in the mask.  Restore altivec
1091         registers after we restore CR.
1092         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
1093         sets instead of clobbers for call saved registers.
1094         (altivec_frame_fixup): New.
1095
1096 2001-12-17  Richard Henderson  <rth@redhat.com>
1097
1098         * config/sparc/sparc.md (movdi_zero): Remove.
1099         (movdi_insn_sp32_v9): New.
1100
1101 2001-12-17  Richard Henderson  <rth@redhat.com>
1102
1103         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
1104         a single outgoing edge too.
1105
1106 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
1107
1108         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
1109         edges resulting from computed jump
1110
1111 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
1112
1113         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
1114         * basic-block.h (CLEANUP_THREADING): New constant.
1115         * cfgcleanup.c: Include cselib.h
1116         (thread_jump, mark_effect): New functions.
1117         (try_forward_edges): Do jump threading when asked for.
1118         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
1119         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
1120         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
1121         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
1122         CLEANUP_THREAD instead.
1123
1124 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1125
1126         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
1127
1128 2001-12-17  Tom Rix  <trix@redhat.com>
1129
1130         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
1131         of bytes.
1132
1133 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
1134
1135         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
1136         asm_out.integer): New fields.
1137         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
1138         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
1139         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
1140         the individual initialisers together.
1141         (TARGET_ASM_OUT): Add the new initialisers.
1142         * output.h (assemble_integer): Return bool.
1143         (integer_asm_op): Declare.
1144         (default_assemble_integer): Declare.
1145         (assemble_aligned_integer): New interface to assemble_integer.
1146         * varasm.c (integer_asm_op): New function to select pseudo-op.
1147         (default_assemble_integer): Default implementation of asm_out.integer.
1148         (assemble_integer): Use the new target hook.  Split objects into
1149         words or bytes if the target hook fails.  Return bool.
1150         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
1151         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
1152         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1153         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
1154         Document new target hooks.
1155
1156         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
1157         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
1158         (dw2_assemble_integer): New.
1159         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
1160         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
1161         dw2_asm_output_encoded_addr_rtx): Use it.
1162         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
1163         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
1164         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
1165         if it returns NULL.
1166         * dwarf2asm.h (dw2_assemble_integer): Declare.
1167         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
1168         default implementation of most macros.
1169         (output_unsigned_leb128): Use dw2_asm_output_data.
1170         (output_signed_leb128, dwarfout_source_line): Likewise.
1171         (output_reg_number): Use dw2_assemble_integer.
1172         (generate_macinfo_entry): Separate the type and offset arguments.
1173         Use assemble_integer to write the value.
1174         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
1175         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
1176         * final.c (output_addr_const): Don't put brackets round a subtracted
1177         symbol value or ".".
1178         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
1179
1180         * config/1750a/1750a.c (assemble_integer_1750a): New,
1181         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
1182         * config/arc/arc.c (arc_assemble_integer): New.
1183         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1184         * config/arm/arm.c (arm_poke_function_name): Likewise.
1185         (arm_assemble_integer): New, extracted from...
1186         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
1187         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
1188         (ARM_FUNCTION_PROFILER): Likewise.
1189         * config/avr/avr-protos.h (asm_output_byte): Remove.
1190         (asm_output_char, asm_output_short): Remove.
1191         * config/avr/avr.c (avr_assemble_integer): New.
1192         (asm_output_byte, asm_output_char, asm_output_short): Remove.
1193         * config/clipper/clipper.h (ASM_LONG): Remove.
1194         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
1195         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
1196         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
1197         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
1198         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
1199         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
1200         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1201         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
1202         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
1203         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
1204         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1205         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
1206         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
1207         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
1208         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
1209         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1210         (ASM_SHORT, ASM_LONG): Undefine.
1211         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1212         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
1213         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1214         * config/ia64/ia64.c (ia64_assemble_integer): New.
1215         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
1216         (ASM_OUTPUT_DWARF_PCREL): Likewise.
1217         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1218         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
1219         (ASM_SHORT, ASM_LONG): Remove.
1220         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
1221         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
1222         macros, the allowed values for INT_OP_GROUP.
1223         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
1224         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
1225         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
1226         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
1227         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1228         * config/m68k/dpx2.h (ASM_LONG): Undefine.
1229         (INT_OP_GROUP): Define to INT_OP_DC.
1230         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
1231         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1232         * config/m68k/lynx.h (ASM_LONG): Undefine.
1233         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
1234         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1235         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1236         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
1237         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
1238         for GAS and INT_OP_NO_DOT otherwise.
1239         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
1240         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1241         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
1242         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1243         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
1244         (INT_OP_GROUP): Define to INT_OP_STANDARD.
1245         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1246         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
1247         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
1248         * config/m68k/tower-as.h (ASM_LONG): Remove.
1249         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1250         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
1251         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1252         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
1253         * config/mips/iris5.h (TARGET_IRIX5): Define.
1254         * config/mips/mips.c (mips_assemble_integer): New.
1255         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
1256         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
1257         * config/mmix/mmix.c (mmix_assemble_integer): New.
1258         (mmix_asm_output_double_int): Remove.
1259         (mmix_print_operand): Call mmix_output_octa directly.
1260         * config/mmix/mmix.h (ASM_LONG): Remove.
1261         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1262         * config/pa/pa.c (pa_assemble_integer): New.
1263         (pa_override_options): Only use aligned DI ops on 64-bit targets.
1264         Only use the unaligned ops if TARGET_GAS.
1265         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
1266         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
1267         * config/pj/pj.h (ASM_LONG): Undefine.
1268         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
1269         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
1270         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
1271         and in_toc_section() rather than the in_section variable.
1272         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
1273         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
1274         (RELOCATABLE_NEEDS_FIXUP): Define.
1275         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
1276         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
1277         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
1278         to get the word directive.
1279         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1280         * config/s390/s390.c (s390_assemble_integer): New.
1281         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
1282         integer_asm_op to get the word directive.
1283         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
1284         * config/sparc/sparc-protos.h (output_double_int): Remove.
1285         * config/sparc/sparc.c (output_double_int): Move to...
1286         (sparc_assemble_integer): ...this new function.
1287         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
1288         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
1289         * config/sparc/sysv4.h (ASM_LONG): Remove.
1290         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
1291         ASM_LONG.
1292         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
1293         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
1294
1295         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
1296         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
1297         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
1298         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
1299         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
1300         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
1301         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1302         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
1303         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
1304         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
1305         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
1306         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
1307         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
1308         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
1309         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
1310         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
1311         appropriate.
1312
1313         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
1314         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
1315         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
1316         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
1317         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
1318         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
1319         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
1320         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
1321         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
1322         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
1323         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
1324         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
1325         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
1326         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
1327         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
1328         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
1329         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
1330         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
1331         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
1332         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
1333         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
1334         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
1335         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
1336         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
1337         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1338         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
1339
1340 2001-12-17  Stan Shebs  <shebs@apple.com>
1341
1342         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
1343         (STACK_BOUNDARY): Remove definition.
1344         (CPP_PREDEFINES): Define __POWERPC__.
1345
1346 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1347
1348         * doc/c-tree.texi (Trees): Only refer to GCC.
1349
1350 2001-12-17  Andreas Jaeger  <aj@suse.de>
1351
1352         * c-common.def: Fix typo in comment.
1353
1354 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
1355
1356         * config.gcc (sparc64-*-freebsd*): Add target.
1357         * config/sparc/freebsd.h: New file.
1358         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
1359         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
1360         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
1361
1362 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1363
1364         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
1365         PLUS operands into registers for altivec mode.
1366
1367 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1368
1369         * builtins.c (apply_args_size): Change regno to unsigned.
1370
1371 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1372
1373         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
1374         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
1375
1376 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
1377
1378         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
1379         gettext on argument before printing.
1380
1381         * fold-const.c (negate_expr): Always call fold on new
1382         NEGATE_EXPR.
1383
1384 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
1385
1386         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
1387         a DECL directly.
1388         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
1389         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
1390         * c-decl.c (build_compound_literal): Put the decl inside a
1391         DECL_STMT.
1392         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
1393         Fixes PR c/5105.
1394
1395 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1396
1397         * config.gcc: Add powerpc-*-eabisimaltivec*.
1398
1399 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1400
1401         * c-common.c, c-common.h (back_end_hook): Remove.
1402         * c-lang.c (finish_file): Remove back_end_hook.
1403
1404 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1405
1406         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
1407         last change.
1408
1409 2001-12-16  Richard Henderson  <rth@redhat.com>
1410
1411         * toplev.c (parse_options_and_default_flags): Don't enable
1412         flag_cprop_registers at -O1.
1413
1414 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1415
1416         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
1417         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
1418         * avr.h (reg_class): Likewise.
1419         * avr.md: Likewise.
1420         * mcore.c (try_constant_tricks, mcore_byte_offset,
1421         mcore_halfword_offset): Likewise.
1422         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
1423         * v850.c (not_power_of_two_operand): Likewise.
1424
1425         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
1426         warnings.
1427         * convex.h (ASM_OUTPUT_ASCII): Likewise.
1428         * i370.h (ASM_OUTPUT_ASCII): Likewise.
1429         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
1430         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
1431         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
1432         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
1433         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
1434         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
1435         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
1436         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
1437         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
1438         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
1439         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
1440         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
1441         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
1442         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1443         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
1444         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
1445         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
1446         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
1447         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
1448         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
1449         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
1450         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
1451         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
1452         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
1453
1454         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
1455         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
1456         * psos.h (CPP_PREDEFINES): Likewise.
1457         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
1458         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
1459         ASM_OUTPUT_EXTERNAL): Likewise.
1460         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1461         Likewise.
1462         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
1463         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1464         Likewise.
1465         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
1466
1467         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
1468         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
1469         * fold-const.c (real_hex_to_f): Use hex_value.
1470         * real.c (asctoeg): Use hex_value & ISXDIGIT.
1471         * toplev.c (toplev_main): Call hex_init.
1472         * tradcpp.c (main): Call hex_init.
1473
1474         * nextstep-protos.h: New file.
1475         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
1476         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
1477         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
1478         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
1479         handle_pragma): Move prototypes to nextstep-protos.h.
1480         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
1481         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
1482
1483 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1484
1485         PR other/3725
1486         * configure.in: Add AC_SUBST(target_alias).
1487         * configure: Regenerated.
1488
1489 2001-12-15  Richard Henderson  <rth@redhat.com>
1490
1491         * config/alpha/alpha.md (sibcall_osf_1_er): New.
1492         (sibcall_value_osf_1_er): New.
1493
1494 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
1495
1496         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
1497         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
1498         addrs; eliminate restriction of only using fp and sp as base
1499         registers.
1500         * config/sparc/sparc-protos.h: Update.
1501         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
1502         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
1503         from old define_peepholes.
1504         Convert all the ldd/std peepholes to peephole2.
1505
1506 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1507
1508         * s390.md (prologue, epilogue, *return_si, *return_di): New.
1509         s390.c (find_unused_clobbered_reg, s390_frame_info,
1510         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
1511         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
1512         s390.c (s390_arg_frame_offset): Use s390_frame_info.
1513         (leaf_function_flag, cur_is_leaf_function,
1514         save_fprs, restore_fprs, force_const_mem_late): Remove.
1515         (s390_function_prologue, s390_function_epilogue): Mostly remove.
1516         s390.md (lit): New.  Uses ...
1517         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
1518         s390-protos.h (s390_output_constant_pool): Declare.
1519         s390.md (load_multiple, store_multiple): Allow use after reload.
1520         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
1521         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
1522         s390.h (CALL_REALLY_USED_REGISTERS): Define.
1523         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
1524         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
1525         s390.c (s390_sr_alias_set): New global variable, initialized ...
1526         (override_options): ... here.  New.
1527         s390-protos.h (override_options): Declare.
1528         s390.h (OVERRIDE_OPTIONS): Call it.
1529         s390.c (s390_function_profiler): New.
1530         s390-protos.h (s390_function_profiler): Declare.
1531         s390.h (FUNCTION_PROFILER): Call it.
1532         s390.c (s390_profile): Remove.
1533
1534         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
1535         (addr_generation_dependency_p): Consider literal pool register loads.
1536         (s390_adjust_priority): Do not schedule load_multiple.
1537         s390.md (attribute "type"): Define some additional types.
1538         (function_unit "integer"): Adapt.
1539         (many insns): Adapt "type" attribute setting.
1540
1541         * s390.c (general_s_operand, s_imm_operand): New.
1542         (s_operand): Remove old definition, call general_s_operand instead.
1543         s390-protos.h (s_imm_operand): Declare.
1544         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
1545         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
1546         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
1547         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
1548         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
1549         s390.md (many insns): Rework insn predicates.
1550
1551         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
1552         non-symbolic constants.  Reload will force them because of ...
1553         (s390_preferred_reload_class): ... this.  New.
1554         s390-protos.h (s390_preferred_reload_class): Declare.
1555         s390.h (PREFERRED_RELOAD_CLASS): Call it.
1556         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
1557         *reload_la_31 splitters): Handle constants after reload.
1558         (many insns): no longer force all constants immediately.
1559         s390.c (legitimate_reload_constant_p): New helper routine.
1560         s390-protos.h (legitimate_reload_constant_p): Declare.
1561         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
1562
1563         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
1564         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
1565         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
1566         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
1567         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
1568         (DWARF_FRAME_REGISTERS): Define.
1569         s390.c (regclass_map): Add virtual frame pointer.
1570         (legitimate_la_operand_p): Allow use of virtual frame pointer.
1571         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
1572         (addaddr, addsi_64): Delete.
1573
1574         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
1575         floating point registers.
1576         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
1577         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
1578         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
1579
1580         * s390.md (movti): Replace multi-insn output with splitters.
1581         (movdi_31, movdf_31): Likewise.
1582         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
1583         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
1584         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
1585         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
1586         (movsf_64, movsf_31): Remove, replace by ...
1587         (movsf): ... this.
1588         (movqi_64): Use lhi instead of llill.
1589         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
1590
1591         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
1592         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
1593         extendqihi2 and associated splitters): Reworked.
1594         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
1595         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
1596         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
1597         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
1598         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
1599         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
1600         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
1601         and associated splitters): Likewise.
1602         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
1603         and associated splitters): New.
1604         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
1605         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
1606         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
1607         s390.h (PROMOTE_PROTOTYPES): Remove.
1608         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
1609
1610         * s390.md (muldi3): Delete, use instead ...
1611         (mulsidi3): ... this.
1612         (*muldi3_64): Rename to muldi3.
1613         (mulsi_6432): Fix template.
1614         (divdi3, moddi3): Delete, replace by ...
1615         (divmoddi4): ... this.
1616         (divmodtidi3): Fix template.
1617         (divmodtisi3): New.
1618         (udivdi3, umoddi3): Delete, replace by ...
1619         (udivmoddi4): ... this.
1620         (udivmodtidi3): Fix template.
1621         (divsi3, modsi3): Delete, replace by ...
1622         (divmodsi4): ... this.
1623         (divmoddisi3): Fix template.
1624         (udivsi3, umodsi3): Adapt.
1625
1626         * s390.md (anddi3): Remove SS alternative, use instead ...
1627         (anddi3_ss, anddi3_ss_inv): ... these.
1628         (anddi3_ni): New.
1629         (andsi3*, andhi3*, andqi3*): Likewise.
1630         (iordi3): Remove SS alternative, use instead ...
1631         (iordi3_ss, iordi3_ss_inv): ... these.
1632         (iordi3_oi): New.
1633         (iorsi3*, iorhi3*, iorqi3*): Likewise.
1634         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
1635         (xordi3): Remove SS alternative, use instead ...
1636         (xordi3_ss, xordi3_ss_inv): ... these.
1637         (xordi3_oi): New.
1638         (xorsi3*, xorhi3*, xorqi3*): Likewise.
1639         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
1640         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
1641         Expand to XOR with -1.
1642         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
1643         (cmpdi_tm): Delete, replace by ...
1644         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
1645         (cmpsi_cct): Delete, replace by ...
1646         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
1647         (cmpdi_tm2, cmpsi_tm2): Improve.
1648         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
1649         s390.c (s390_single_hi, s390_extract_hi,
1650         s390_single_qi, s390_extract_qi): New helper routines.
1651         s390-protos.h (s390_single_hi, s390_extract_hi,
1652         s390_single_qi, s390_extract_qi): Declare.
1653         s390.c (tmxx_operand, const1_operand): Remove.
1654         s390-protos.h (tmxx_operand, const1_operand): Likewise.
1655         s390.h (PREDICATE_CODES): Likewise.
1656
1657         * s390.md (sqrtdf2, sqrtsf2): New.
1658
1659         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
1660         (check_and_change_labels): Remove section-change special case.
1661
1662         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
1663         in leaf functions.  Needs ...
1664         (DYNAMIC_CHAIN_RTX):  ... this.  New.
1665
1666         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
1667
1668         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
1669         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
1670         input operands using a match_dup clause.
1671         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
1672
1673         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
1674         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
1675
1676         * s390.md (floatsidf2_ibm): Use correct operand.
1677
1678         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
1679         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
1680         non-portable constants.
1681         s390.c (s390_gen_rtx_const_DI): New helper routine.
1682         s390-protos.h (s390_gen_rtx_const_DI): Declare.
1683
1684         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
1685
1686         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
1687         ASM_OUTPUT_BYTE): Clean up assembly output.
1688         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
1689         (ASM_OUTPUT_ASCII): Remove.
1690
1691         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
1692
1693 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
1694
1695         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
1696         before including unwind-dw2-fde.c, if we are not using the
1697         special code in this file.
1698
1699 2001-12-15  Richard Henderson  <rth@redhat.com>
1700
1701         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
1702         MASK_EXPLICIT_RELOCS if the assembler supports it.
1703         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
1704         * configure, config.in: Rebuild.
1705
1706 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1707
1708         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
1709         for rounded_stack_size.
1710
1711 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1712
1713         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
1714         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
1715         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
1716         "bit-field" spellings in messages.
1717         * po/gcc.pot: Regenerate.
1718
1719 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1720
1721         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
1722         American spelling in messages.
1723         * po/gcc.pot: Regenerate.
1724
1725 2001-12-15  Kazu Hirata  <kazu@hxi.com>
1726
1727         * config/h8300/h8300.md: Adjust whitespacing.  Remove
1728         constraints from expanders.  Replace \@ with @.
1729
1730 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
1731
1732         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
1733
1734 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1735
1736         * regrename.c (copyprop_hardreg_forward): Do not keep register
1737         value data live across abnormal call or eh egdes.
1738
1739 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1740
1741         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
1742         BIGGEST_ALIGNMENT for 0.
1743
1744 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
1745
1746         * predict.def (PRED_NORETURN): Make probabilities match reality.
1747         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
1748         Likewise.
1749
1750 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
1751
1752         * configure.in: Check for ld.
1753         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
1754         * configure, config.in: Rebuilt.
1755         * config.gcc: Add crtbeginT.o to extra_parts where needed.
1756         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
1757         frame unwinding on Linux.
1758         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
1759         frame unwinding.
1760         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1761         (LINK_EH_SPEC): Define.
1762         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1763         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
1764         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
1765         iterate further if pc falls into current library, but fde was not
1766         found.
1767         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
1768         if using glibc.
1769         (LINK_EH_SPEC): Define.
1770         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
1771         Use crtbeginT.o for -static.
1772         (LINK_EH_SPEC): Define.
1773         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1774         * Makefile.in (crtbeginT.o): Add rule.
1775         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
1776         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
1777         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
1778         If none of the above switches are passed, use -lgcc -lgcc_eh.
1779         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
1780         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
1781         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
1782         * unwind-dw2-fde.c: Don't include any headers if this file
1783         is included from other .c file.
1784         * unwind-dw2-fde-glibc.c: New file.
1785         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
1786         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
1787
1788 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1789
1790         * builtins.c (expand_builtin_memcmp): Mark parameter with
1791         ATTRIBUTE_UNUSED.
1792         * cfgcleanup.c (insns_match_p): Likewise.
1793         * regrename.c (mode_change_ok): Likewise.
1794         * gcc.c (execute): Const-ify.
1795
1796 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
1797
1798         * c-parse.in (typename): Do not split attributes.
1799         Remove unsupported attributes warning.
1800
1801         * c-decl.c (groktypename): Apply attributes.
1802
1803 2001-12-14  Richard Henderson  <rth@redhat.com>
1804
1805         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
1806         initialization as possibly dead.
1807
1808 2001-12-14  Richard Henderson  <rth@redhat.com>
1809
1810         * regrename.c (mode_change_ok): New.
1811         (find_oldest_value_reg): Use it.
1812
1813 2001-12-14  Richard Henderson  <rth@redhat.com>
1814
1815         * regrename.c (struct value_data): Add max_value_regs.
1816         (init_value_data): Initialize it.
1817         (kill_value): Kill values that overlap the dying register.
1818         (set_value_regno): New.
1819         (kill_set_value, kill_autoinc_value, copy_value): Use it.
1820         (copyprop_hardreg_forward_1): Kill earlyclobber operands
1821         before looking at inputs.
1822
1823 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
1824
1825         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
1826         DECL_WEAK for function descriptors.
1827         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
1828         weak support present.
1829         (ASM_WEAKEN_LABEL): Same.
1830
1831 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1832
1833         * config/h8300/h8300.md (anonymous pattern): Add a missing
1834         mode.
1835
1836 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1837
1838         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
1839         comment typo.
1840
1841 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1842
1843         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
1844         Remove the initialization requierment.
1845         (h8300_handle_tiny_data_attribute): Likewise.
1846
1847 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1848
1849         * config/h8300/h8300.md (udivqi3): Remove.
1850         (divqi3): Likewise.
1851         (udivhi3): Likewise.
1852         (divhi3): Likewise.
1853         (umodqi3): Likewise.
1854         (modqi3): Likewise.
1855         (umodhi3): Likewise.
1856         (modhi3): Likewise.
1857         (udivmodqi3): New.
1858         (divmodqi3): Likewise.
1859         (udivmodhi3): Likewise.
1860         (divmodhi3): Likewise.
1861
1862 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
1863
1864         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
1865         by active_insn_p; count conditional jump as instruction.
1866
1867 2001-12-14  DJ Delorie  <dj@redhat.com>
1868             Danny Smith  <dannysmith@users.sourceforge.net>
1869
1870         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
1871         at SYM_NAME[0] or SYM_NAME[3].
1872         (STRIP_NAME_ENCODING): Don't check for leading '*'.
1873
1874 2001-12-14  Ira Ruben   <ira@apple.com>
1875
1876         Add -### option (displays driver-generated commands without
1877         executing and quotes all arguments).
1878         * doc/invoke.texi: Add -###.
1879         * gcc.c (verbose_only_flag) - New flag.
1880         * (execute): If -### write quoted arguments and return.
1881         * (display_help): Print meaning of -###.
1882         * (process_command): Handle -###.
1883
1884 2001-12-14  Ira Ruben   <ira@apple.com>
1885
1886         Fix to no allow -save-temps to clobber user's source file.
1887         * gcc.c: Add static globals input_stat and input_stat_set.
1888         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
1889         set, check that user's input file is not overwritten.
1890         (set_input): Reset input_stat_set for each new file.
1891
1892 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
1893
1894         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
1895
1896 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
1897
1898         * combine.c (record_dead_and_set_regs): Use
1899         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
1900
1901 2001-12-14  Roger Sayle <roger@eyesopen.com>
1902
1903         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
1904         __builtin_fsqrt to __builtin_sqrt.
1905
1906         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
1907         * doc/extend.texi: Simplify documentation to match patch.
1908
1909 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
1910
1911         * config.gcc: Revamp target_cpu_default2 to strings;
1912         support new x86 variants.
1913         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
1914         properly; set prefetch_sse.
1915         * i386.h (x86_prefetch_sse): Declare.
1916         (TARGET_PREFETCH_SSE): New.
1917         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
1918         (TARGET_CPU_DEFAULT_*): New.
1919
1920 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
1921                               Jan Hubicka  <jh@suse.cz>
1922
1923         * config/i386/i386.h (struct processor_costs): Add new members
1924           prefetch_block and simultaneous_prefetches.
1925           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
1926         * config/i386/i386.c (processor_costs structs): Add values for
1927           prefetch_block and simultaneous_prefetches.
1928         * config/i386/i386.md (unspec values): Remove values for prefetch
1929           operations, which now use the PREFETCH rtx code.
1930           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
1931           unified prefetch support.
1932
1933 2001-12-14  Jason Merrill  <jason@redhat.com>
1934
1935         * diagnostic.c (sorry): Increment sorrycount before saving the
1936         buffer state.
1937
1938 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
1939
1940         * i386.md (sqrt?f): Fix conditionals.
1941
1942 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
1943
1944         * config.gcc (alpha64-dec-*vms*): New case.
1945         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
1946         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
1947         * config/alpha/xm-vms64.h: Likewise.
1948
1949         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
1950         (alpha_write_linkage): Test for null alpha_links.
1951         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
1952         (vms_section_type_flags, vms_asm_named_section): Handle them.
1953
1954 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
1955
1956         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
1957         (override_option): Set ix86_fpmath.
1958         * i386.h (MASK_MIX_SSE_I387): Remove.
1959         (TARGET_SSE_MATH): New.
1960         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
1961         (TARGET_SWITCHES): Remove "mix-sse-i387".
1962         (fpmath_unit): New enum.
1963         (ix86_fpmath, ix86_fpmath_string): Declare.
1964         * i386.md (swapsf): Fix condition.
1965         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
1966         (fp_?f_*_nosse): New.
1967         (fp_*): Use TARGET_SSE_MATH.
1968         * invoke.texi (-mfpmath): Document.
1969         (-msse2): Add.
1970
1971 2001-12-14  Jason Merrill  <jason@redhat.com>
1972
1973         * dwarf2out.c (output_die): Print the string in the comment for
1974         a DW_FORM_strp.
1975
1976 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
1977
1978         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
1979         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
1980         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1981         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
1982
1983 2001-12-13  Richard Henderson  <rth@redhat.com>
1984
1985         * regrename.c (kill_value_regno): Simplify chain removal.
1986         (kill_value): Kill all of HARD_REGNO_NREGS.
1987         (kill_set_value): Use kill_value not kill_value_regno.
1988         (kill_autoinc_value): Likewise.
1989         (copyprop_hardreg_forward): Don't collect refresh_blocks.
1990         Call delete_noop_moves.
1991
1992 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1993
1994         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
1995         for the mode attribute.
1996         (handle_mode_attribute): Handle types, not decls.
1997
1998 2001-12-13  Jason Merrill  <jason@redhat.com>
1999
2000         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
2001
2002 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
2003
2004         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
2005         constraint to base register.
2006         (eh_set_lr_si): Same.
2007
2008 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
2009
2010         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
2011         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
2012         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
2013
2014 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2015
2016         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
2017         warning and reformat comments.
2018         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
2019         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
2020         if overflow.
2021
2022 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
2023
2024         * config/rs6000/rs6000.c (rs6000_override_options): Add
2025         SUBSUBTARGET_OVERRIDE_OPTIONS.
2026
2027         * config/rs6000/eabialtivec.h: New file.
2028
2029         * config/rs6000/linuxaltivec.h: New file.
2030
2031         * config.gcc: Add powerpc-*-eabialtivec and
2032         powerpc-*-linux-gnualtivec.
2033
2034 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2035
2036         * toplev.c (process_options, parse_options_and_default_flags):
2037         Set flag_no_inline before the post_options hook.
2038
2039 2001-12-13  Richard Henderson  <rth@redhat.com>
2040
2041         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
2042         is false.
2043
2044 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
2045
2046         * collect2.c (COLLECT_SHARED_INIT_FUNC)
2047         (COLLECT_SHARD_FINI_FUNC): Define default values.
2048         (write_c_file_stat): Use them to call construtor and destructor
2049         functions in shared libraries.
2050         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
2051         (COLLECT_SHARD_FINI_FUNC): Document them.
2052         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
2053         (COLLECT_SHARD_FINI_FUNC): Define.
2054
2055         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
2056         shared library.  Pass -shared through to the linker.
2057         * config/arm/netbsd.h (LINK_SPEC): Likewise.
2058
2059         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
2060         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
2061         (SHLIB_INSTALL): Define.
2062
2063 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
2064
2065         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
2066         the same way as we handle SYMBOL_REFS.
2067
2068 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2069
2070         * loop.c (remove_constant_addition): Fix prototype and whitespace.
2071         (emit_prefetch_instructions): Remove warnings and whitespace
2072         changes.
2073
2074 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
2075
2076         * config/alpha/vms-cc.c (preprocess_args): Fix forward
2077         declaration.
2078
2079 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
2080
2081         * predict.c (estimate_probability): Reorganize opcode heuristics.
2082         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
2083         PRED_FPOPCODE): New.
2084
2085         * i386.c (override_options): Recognize various CPU variants and set
2086         SSE/MMX/3dNOW flags accordingly.
2087         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
2088         MASK_3DNOW_A_SET): New.
2089         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
2090         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
2091         (MASK_*): Renumber.
2092         (TARGET_FLAGS): Use new masks.
2093         (CPP_CPU_SPECS): Recognize new CPU variants.
2094         * invoke.texi (-mcpu): Update documentation.
2095
2096         * flags.h (flag_prefetch_loop_arrays): Declare.
2097         * loop.h (LOOP_PREFETCH): Define new constant.
2098         * loop.c (strength_reduce): Call emit_prefetch_instructions.
2099         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
2100         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
2101         constants.
2102         (check_store_data): New structure.
2103         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
2104         New functions.
2105         * toplev.c: Include insn-flags.h.
2106         (flag_prefetch_loop_arrays): New global variable.
2107         (lang_independent_option): Add -fprefetch-loop-arrays.
2108         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
2109         is set.
2110         * Makefile.in (toplev.c): Depend on insn-flags.h.
2111         * invoke.texi (-fprefetch-loop-arrays): Document.
2112
2113         * predict.c (estimate_probability): Distribute the loop exit
2114         probability according to number of exit edges.
2115
2116         * cfgcleanup.c (insns_match_p): Break out from ...;
2117         (flow_find_cross_jump): ... here;
2118         (outgoing_edges_match): Add parameter MODE; attempt to match everything
2119         except for tablejumps.
2120         (try_crossjump_to_edge): Accept complex edges.
2121         (try_crossjump_bb): Likewise.
2122
2123 2001-11-29  Corey Minyard <minyard@acm.org>
2124
2125         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
2126         instead of plus_constant.
2127         * simplify-rtx.c (neg_const_int): New.
2128         (simplify_gen_binary, simplify_plus_minus): Use it.
2129
2130 2001-12-12  Roger Sayle  <roger@eyesopen.com>
2131
2132         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
2133         expand_builtin_strcpy): Additional arguments TARGET and MODE.
2134         (expand_builtin_bzero, expand_builtin_strcpy,
2135         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
2136         TARGET and MODE parameters to the above functions.
2137         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
2138         case where the LEN parameter is constant zero.
2139         (expand_builtin_memcmp): No longer conditional on
2140         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
2141         the cases where len is either constant zero or one.
2142         Optimize to call to memcpy, even if the memcpy isn't inlined.
2143         (expand_builtin_strncpy): Optimize to call memcpy, even if the
2144         memcpy isn't inlined.
2145         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
2146         to optimize to a call to memcmp.
2147         (expand_builtin): expand_builtin_memcmp can always be called,
2148         and pass the required parameters to expand_builtin_memcmp,
2149         expand_builtin_memset, expand_builtin_memcpy and
2150         expand_builtin_strcpy.
2151
2152 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
2153
2154         * config.gcc (arm-*-freebsd*): Add target.
2155         * config/arm/freebsd.h: New file.
2156         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
2157         (CPP_SPEC): #undef before defining.
2158         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
2159         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
2160         -Amachine=arm.
2161         * config/arm/linux-elf.h: Likewise.
2162         * config/arm/netbsd.h: Likewise.
2163         * config/arm/riscix.h: Likewise.
2164         * config/arm/riscix1-1.h: Likewise.
2165         * config/arm/semiaof.h: Likewise.
2166
2167 2001-12-12  Richard Henderson  <rth@redhat.com>
2168
2169         * regrename.c (copyprop_hardreg_forward): New optimization.
2170         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
2171         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
2172         replace_oldest_value_reg, replace_oldest_value_addr,
2173         replace_oldest_value_mem, copyprop_hardreg_forward_1,
2174         debug_value_data, validate_value_data): New.
2175         * rtl.h (copyprop_hardreg_forward): Declare.
2176         * toplev.c (flag_cprop_registers): New.
2177         (f_options): Add -fcprop-registers
2178         (rest_of_compilation): Invoke it.
2179         (parse_options_and_default_flags): Set it at -O1.
2180         * doc/invoke.texi: Document it.
2181
2182 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
2183
2184         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
2185         (DEBUG_RANGES_SECTION_LABEL): Define.
2186         (ranges_section_label): Add.
2187         (add_AT_range_list): New.
2188         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
2189         (output_loc_list): Location expression length is always 2-byte.
2190         (output_die): Handle dw_val_class_range_list.
2191         (gen_lexical_block_die): Call add_AT_range_list.
2192         (dwarf2out_init): Initialize ranges_section_label.
2193         (dwarf2out_finish): Emit ranges_section_label.
2194
2195 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
2196
2197         * c-typeck.c (digest_init): Allow initializing
2198         static storage duration objects with compound literals.
2199         * doc/extend.texi (Compound literals): Document the extension.
2200
2201 2001-12-12  Richard Henderson  <rth@redhat.com>
2202
2203         * emit-rtl.c (adjust_address_1): Always copy address to avoid
2204         shared rtl.
2205
2206 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
2207
2208         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
2209         to avoid overflow.
2210
2211 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
2212
2213         * cppfiles.c (read_include_file): Set buffer size properly when
2214         file is shorter than expected.
2215
2216 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2217
2218         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
2219         enumeral types - encode them using 'i'.
2220
2221 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
2222
2223         * doc/extend.texi (Deprecated Features): Deprecate implicit
2224         typename. Document that named return and initializer lists are now
2225         removed.
2226
2227 2001-12-11  Roger Sayle <roger@eyesopen.com>
2228
2229         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
2230         compiler warning about enumeration values not being handled.
2231
2232 2001-12-11  Momchil Velikov  <velco@fadata.bg>
2233
2234         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
2235         shifts.
2236
2237 2001-12-11  Richard Henderson  <rth@redhat.com>
2238
2239         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
2240         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
2241         * config/alpha/alpha.md (prefetch): New.
2242
2243 2001-12-11  Richard Henderson  <rth@redhat.com>
2244
2245         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
2246         if C has only low bits set and doesn't intersect with X or Y.
2247
2248 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
2249
2250         * basic-block.h (flow_preorder_transversal_compute): Declare.
2251         * cfganal.c (flow_preorder_transversal_compute): Implement.
2252
2253 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
2254
2255         * cfganal.c (flow_depth_first_order_compute): Always
2256         increment dfsnum.
2257
2258 2001-11-30 Alan Matsuoka <alanm@redhat.com>
2259
2260         * combine.c (combine_simplify_rtx) : Can't simplify
2261         cases that use mode class MODE_CC.
2262
2263 2001-12-11  Richard Henderson  <rth@redhat.com>
2264
2265         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
2266         which there is no divide expander.
2267
2268 2001-12-11  Richard Henderson  <rth@redhat.com>
2269
2270         * except.c (sjlj_find_directly_reachable_regions): Don't
2271         consider RNL_BLOCKED a directly reachable region.
2272         (sjlj_assign_call_site_values): Trust directly_reachable.
2273         (sjlj_emit_dispatch_table): Likewise.
2274
2275 2001-12-11  Richard Henderson  <rth@redhat.com>
2276
2277         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
2278         we represent the address load's dependency on the gp.
2279         (divmoddi_internal_er): Likewise.
2280         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
2281
2282 2001-12-11  Richard Henderson  <rth@redhat.com>
2283
2284         * emit-rtl.c (widen_memory_access): New.
2285         * expr.h (widen_memory_access): Declare it.
2286         * config/alpha/alpha.c (get_aligned_mem): Use it.
2287
2288 2001-12-11  Richard Henderson  <rth@redhat.com>
2289
2290         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
2291         simplification above out of range check.
2292
2293 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
2294
2295         * config/sparc/sparc.md (prefetch): New.
2296
2297 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2298
2299         * output.h (regno_uninitialized): Make argument unsigned.
2300
2301         * flow.c (regno_uninitialized): Make regno unsigned.
2302
2303 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2304
2305         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
2306         * config/cris/cris.h (ENDFILE_SPEC): Define.
2307         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
2308         * config/pa/elf.h: Likewise.
2309
2310 2001-12-11  Richard Henderson  <rth@redhat.com>
2311
2312         * objc/objc-act.c (build_string_class_template): New.
2313         (build_objc_string_object): Call it.
2314
2315 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
2316
2317         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2318         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2319         * calls.c (store_unaligned_arguments_into_pseudos): Check
2320         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
2321         are passed/returned.
2322         * expr.c (move_block_from_reg): Ditto.
2323         (move_block_from_reg): Ditto.
2324         (copy_blkmode_from_reg): Ditto.
2325         * stmt.c (expand_return): Ditto.
2326         * stor-layout.c (compute_record_mode): If
2327         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
2328         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
2329         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
2330         so that Structures of one field are still treated as structures.
2331         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
2332         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
2333         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
2334         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
2335         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
2336         to special case handling of structure padding.
2337
2338 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
2339
2340         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
2341         (may_trap_exp): Stores only are risk if they trap, too, not just
2342         if code == MEM.
2343
2344 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2345
2346         * flow.c (find_regno_partial): Indent properly.  Add a default to
2347         switch.
2348
2349 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2350
2351         * c-common.c (combine_strings): Complain if concatenating
2352         __FUNCTION__.
2353         * c-parse.in (yylexname): Flag artificial strings.
2354         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
2355 doc:
2356         * extend.texi: Update.
2357
2358 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2359
2360         * c-common.c (type_for_mode): Handle unsigned vectors.
2361         (type_for_mode): Remove redundant calls to TYPE_MODE.
2362
2363         * tree.c (make_vector): New.
2364         (build_common_tree_nodes_2): Use make_vector for vector types.
2365         Add unsigned vector types.
2366
2367         * tree.h (tree_index): Add unsigned types for vectors.
2368         (unsigned_V16QI_type_node): New.
2369         (unsigned_V4SI_type_node): New.
2370         (unsigned_V8QI_type_node): New.
2371         (unsigned_V8HI_type_node): New.
2372         (unsigned_V4HI_type_node): New.
2373         (unsigned_V2SI_type_node): New.
2374
2375 2001-12-11  Stan Shebs  <shebs@apple.com>
2376
2377         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
2378         test of class names.
2379
2380 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2381
2382         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
2383         cpu configuration headers.
2384         * config/h8300/elf.h: Include dbxelf.h.
2385         * config/m68k/linux.h: Likewise.
2386         * config/m68k/m68020-elf.h: Likewise.
2387         * config/m68k/m68kv4.h: Likewise.
2388         * config/sh/elf.h: Likewise.
2389         * config/m68k/m68kemb.h: Add comment about the its purpose.
2390
2391 2001-12-11  Richard Henderson  <rth@redhat.com>
2392
2393         * objc/objc-act.c (build_constructor): Cast initializer values
2394         to the proper field types.
2395
2396 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
2397
2398         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
2399
2400 2001-12-10  Roger Sayle <roger@eyesopen.com>
2401
2402         * builtins.c (expand_builtin): Use a switch statement to list
2403         those functions not expanded without optimizations, instead of a
2404         series of equality tests.
2405
2406 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2407
2408         * config/alpha/vms.h (LIB_SPEC): Define.
2409         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
2410
2411         * libgcc2.c (_bb): Remove ctime declaration.
2412
2413         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
2414         that works if LN_S = cp.
2415
2416         * config/alpha/x-vms (version): Change "." to "_".
2417
2418         * configure.in: Hardcode that vfork works on VMS host.
2419         * configure: Regenerated.
2420
2421 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
2422
2423         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
2424         unless do_obj true.
2425         (process_command): Modify calls to convert_filename.
2426
2427 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2428
2429         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
2430
2431 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
2432
2433         * combine.c (known_cond): Check mode of each operand to determine
2434         if COND is comparing floating point values.
2435
2436 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
2437
2438         * rs6000.h (processor_type): Add PPC405.
2439         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
2440         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
2441         rios1, rs64, and ppc630 processors.
2442         * rs6000.c (processor_target_table): Add PPC405.
2443
2444 2001-12-10  Richard Henderson  <rth@redhat.com>
2445
2446         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
2447         instead of hardcoding subregs into the _be and _le patterns.
2448
2449 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
2450
2451         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
2452
2453 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2454
2455         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
2456         what insn does.
2457
2458 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2459
2460         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
2461         copyright notice formerly conditioned on @ifinfo on @ifnottex
2462         instead.
2463
2464 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2465
2466         * vmsdbgout.c (lookup_filename): Remove warning.
2467
2468 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2469
2470         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
2471
2472         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
2473         (exeext, target_alias, prefix, local_prefix): Define.
2474         * config/alpha/x-vms (USE_COLLECT2): Make empty.
2475         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
2476         file specifications. Remove ".".
2477         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
2478         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
2479
2480 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
2481
2482         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
2483
2484 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
2485
2486         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
2487         Add rules for building [vp]crt0.o
2488         * config/alpha/vms.h (START_FILE_SPEC): Define.
2489         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
2490         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
2491         * doc/invoke.texi: Document special Alpha/VMS options.
2492
2493 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2494
2495         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
2496         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
2497         not GNUC.
2498
2499 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2500                           Douglas B. Rupp  <rupp@gnat.com>
2501
2502         * tree.c (append_random_char): Conditionalize INO for VMS.
2503
2504 2001-12-09  Richard Henderson  <rth@redhat.com>
2505
2506         * cfgcleanup.c (label_is_jump_target_p): New function.
2507         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
2508         target of a JUMP_INSN from the preceding block.
2509
2510 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
2511
2512         * vmsdbgout.c (lookup_filename): Assign null string instead
2513         of null pointer to fnam.
2514
2515 2001-12-09  Richard Henderson  <rth@redhat.com>
2516
2517         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
2518         immediately after a call; insert nops before a call.
2519
2520 2001-12-09  Richard Henderson  <rth@redhat.com>
2521
2522         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
2523         not FUNCTION_BOUNDARY.
2524         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
2525         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
2526         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
2527
2528 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
2529
2530         * config/mmix/mmix.c (mmix_function_block_profiler,
2531         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2532         unused functions.
2533         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
2534         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2535         prototypes.
2536
2537         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
2538         Delete obsoleted macros.
2539
2540 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2541
2542         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
2543         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
2544
2545         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
2546         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
2547         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
2548         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
2549         config/i370/i370.c, config/i386/i386.c,
2550         config/i386/i386-interix.h, config/i386/i386.md,
2551         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
2552         config/m32r/m32r-protos.h, config/mcore/mcore.h,
2553         config/rs6000/rs6000.h, config/sparc/linux64.h,
2554         config/sparc/sparc.c, config/v850/v850-protos.h,
2555         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
2556         spelling errors.
2557
2558 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
2559
2560         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
2561         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
2562
2563         * config/rs6000/rs6000.c: Ditto.
2564
2565         * config/rs6000/rs6000.md: Ditto.
2566
2567 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2568
2569         * 1750a.md: Add default case in switch.
2570         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2571         if-else statement.
2572         * dsp16xx.c (print_operand_address): Likewise.
2573         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
2574         * ia64.md: Add missing braces.
2575         * rs6000-protos.h (s8bit_cint_operand): Prototype.
2576         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2577         if-else statement.
2578         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
2579         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
2580         * dbxout.c (dbxout_source_file): Move a variable into the scope
2581         where it is used.
2582         * final.c (profile_function): Mark parameter with
2583         ATTRIBUTE_UNUSED.
2584         * genemit.c (gen_expand): Likewise for generated file.
2585         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
2586
2587         * vmsdbg.h: Delete spurious close-comment.
2588         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
2589         * vmsdbgout.c (write_modbeg): Define return type.
2590
2591         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
2592         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2593         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2594         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
2595         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
2596         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
2597         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
2598
2599 2001-12-08  Tom Rix  <trix@redhat.com>
2600
2601         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
2602         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
2603         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
2604         for powerpc64.
2605         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
2606         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
2607         * config/rs6000/rs6000.c (expand_block_move): Do not use
2608         gen_movstrsi_2reg and powerpc64.
2609
2610 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
2611
2612         * c-common.h (rid): Add RID_CHOOSE_EXPR and
2613         RID_TYPES_COMPATIBLE_P.
2614
2615         * c-parse.in (reswords): Add __builtin_choose_expr.
2616         Add __builtin_types_compatible_p.
2617         Add CHOOSE_EXPR token.
2618         Add TYPES_COMPATIBLE_P token.
2619         Add production for CHOOSE_EXPR.
2620         Add production for TYPES_COMPATIBLE_P.
2621
2622         * doc/extend.texi (__builtin_choose_expr): Add documentation.
2623         (__builtin_types_compatible_p): Likewise.
2624
2625 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
2626
2627         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2628         to unions.
2629
2630 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2631
2632         * c-parse.in: Take string literals in assembler constructs,
2633         not expressions.
2634         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
2635         check the strings are STRING_CSTs.
2636
2637 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2638
2639         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
2640         using combine_strings to do the concatenation.
2641         * c-parse.in: Replace uses of the string non-terminal with STRING.
2642         Don't attempt string concatenation.
2643         (OBJC_STRING): New terminal.
2644         (string): Remove non-terminal.
2645         (_yylex): Call combine_strings on function names.  Generate
2646         OBJC_STRING terminals; don't pass '@' on to yacc.
2647         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
2648         (build_asm_stmt): Similarly.
2649
2650 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2651
2652         * rtlanal.c (get_jump_table_offset): Delete unused variable.
2653
2654 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2655
2656         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
2657         (prefetch): Rewrite using PREFETCH RTL primitive.
2658         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
2659         * arm.c (arm_init_builtins): Don't initialize a builtin for
2660         __builtin_prefetch here.
2661         (arm_expand_builtin): Don't expand __builtin_prefetch here.
2662
2663 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2664
2665         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
2666         in test for a subreg.
2667
2668 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2669
2670         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
2671         strings.
2672
2673 2001-12-07  Richard Henderson  <rth@redhat.com>
2674
2675         * doc/extend.texi: Fix typo last change.
2676
2677         * c-decl.c (c_language): Remove duplicate.
2678
2679 2001-12-07  Dale Johannesen  <dalej@apple.com>
2680
2681         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
2682         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
2683         specific codegen, eliminate a register copy.
2684         (print_operand_address): Add support for Darwin's lo16(constant)
2685         syntax.
2686         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
2687         generation of addresses within very large data objects.
2688         (s8bit_cint_operand):  New.
2689         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
2690         Move "mtjmpr" to correct functional unit for 750/7400/7450.
2691         Add imul2 and imul3 insn types for multiplication by 16- and
2692         8-bit constants.
2693         Change tablejump patterns to strongly discourage using LR
2694         rather than CTR.
2695         Add %lo16 patterns for Darwin loads and stores.
2696
2697 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2698
2699         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
2700
2701 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
2702
2703         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
2704         with %sp because it can cause the delayed instruction to load
2705         below the stack.
2706
2707 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2708
2709         * alpha.c (alpha_expand_unaligned_store,
2710         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
2711         call to immed_double_const.
2712
2713 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
2714
2715         * doc/extend.texi (Variable Attributes): Document vector_size.
2716
2717         * attribs.c (c_common_attribute_table): Add vector_size.
2718         (handle_vector_size_attribute): New.
2719         (vector_size_helper): New.
2720         (decl_attributes): Relayout the decl after calculating attribs.
2721
2722 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2723
2724         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
2725         description for Trouble section.
2726         * doc/install-old.texi: Adjust for inclusion as chapter of new
2727         installation manual.
2728         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
2729         Adjust to include old installation chapter as chapter of new
2730         installation manual.
2731
2732 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
2733
2734         * rtl.h (get_jump_table_offset): Declare.
2735         * rtlanal.c (get_jump_table_offset): Implement.
2736
2737 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2738
2739         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
2740         Deleted; were used only by BB profiler code.
2741         (sbb_head, sbb_tail, sbb_label_num): Likewise.
2742         (end_final): Delete now-unused vars I, PTR, and SPTR.
2743
2744         * expr.c (store_field): Remove warning.
2745         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
2746         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
2747         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
2748         divisor constant power of 2.
2749         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
2750
2751 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2752
2753         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
2754         shifting.
2755
2756 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2757
2758         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
2759         (DWARF_FRAME_REGISTERS): Delete.
2760
2761 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
2762
2763         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
2764         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
2765         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
2766         with defaults for read prefetch with high degree of locality.
2767         * doc/extend.texi (__builtin_prefetch): Update documentation.
2768         * doc/md.texi (prefetch): Add documentation.
2769
2770 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2771
2772         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
2773         UNIX V5.1A stdio.h.
2774         * fixinc/fixincl.x: Regenerate.
2775         Fixes PR libf2c/4826.
2776
2777 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2778             Richard Henderson  <rth@redhat.com>
2779
2780         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
2781         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
2782
2783         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
2784         to PRE_GCC3_DWARF_FRAME_REGISTERS.
2785         (frame_state): Same.
2786         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
2787
2788 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2789
2790         * langhooks.c (lhd_staticp): Mark parameter with
2791         ATTRIBUTE_UNUSED.
2792
2793 2001-12-06  H.J. Lu <hjl@gnu.org>
2794
2795         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
2796         reduce noise.
2797         (.po.pox): Likewise.
2798         (o/$(PACKAGE).pot): Likewise.
2799
2800 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
2801
2802         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
2803         * tree-inline.c (expand_call_inline): ... here.
2804
2805 2001-12-06  H.J. Lu <hjl@gnu.org>
2806
2807         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
2808         (.po.pox): Likewise.
2809         (o/$(PACKAGE).pot): Likewise.
2810
2811 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
2812
2813         * config.gcc: Include dbxelf.h before elfos.h.
2814         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
2815
2816 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
2817
2818         * cppfiles.c (open_file): If we've opened a directory by
2819         mistake, close it.
2820         (find_include_file): Avoid turning / into // or // into ///.
2821
2822 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2823
2824         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
2825         (STRUCT_VALUE_REGNUM): Restore definition.
2826
2827 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
2828
2829         * flow.c (find_regno_partial): Return register, not the expression
2830         the register is in.
2831
2832 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2833
2834         * function.c (handle_epilogue_set): Check for FP setting case when
2835         SP is set from FP in same insn.
2836
2837 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2838
2839         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
2840         RTX when calling alter_subreg().
2841         (store_multiple_sequence): Pass pointer to RTX when calling
2842         alter_subreg().
2843
2844 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2845
2846         * function.c (assing_parms): Fix typo in last change.
2847         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
2848         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
2849         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
2850         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
2851
2852 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
2853
2854         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
2855         correct code selecting section.
2856
2857 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
2858
2859         * final.c (count_basic_block, add_bb, add_bb_string):
2860         Kill.
2861         (end_final, final_start_function, final, final_scan_insn,
2862         leaf_function_p): Kill BB profiler related code.
2863         * flags.h (profile_block_flag): Kill.
2864         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
2865         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
2866         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
2867         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
2868         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
2869         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
2870         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
2871         __bb_init_trace_func): Kill.
2872         * toplev.c (profile_block_flag): Kill.
2873         (indepdendent_decode_option, process_options): Kill -a related code.
2874         * alpha.c (direct_call_operand): Likewise.
2875         * arm.c (arm_expand_prologue, thumb_expand_prologue,
2876         thumb_expand_epilogue): Likewise.
2877         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
2878         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2879         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2880         MACHINE_STATE_RESTORE): Kill.
2881         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2882         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2883         MACHINE_STATE_RESTORE): Kill.
2884         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2885         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
2886         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
2887         code.
2888         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
2889         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2890         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2891         MACHINE_STATE_RESTORE): Kill.
2892         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2893         * i960.c (i960_output_function_prologue): Kill BB profiler related
2894         code.
2895         * ia64.c (ia64_compute_frame_size): Likewise.
2896         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2897         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2898         MACHINE_STATE_RESTORE): Kill.
2899         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
2900         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2901         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2902         MACHINE_STATE_RESTORE): Kill.
2903         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
2904         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2905         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2906         MACHINE_STATE_RESTORE): Kill.
2907         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
2908         Kill BB profiler related code.
2909         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2910         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2911         MACHINE_STATE_RESTORE): Kill.
2912         * mips.c (mips_expand_prologue): Kill BB profiler related code.
2913         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2914         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2915         MACHINE_STATE_RESTORE): Kill.
2916         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
2917         * s960.c (s390_function_prologue): Kill BB profiler related code.
2918         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2919         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2920         MACHINE_STATE_RESTORE): Kill.
2921         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2922         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2923         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2924         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2925         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
2926         sparc_nonflat_function_epilogue): Kill BB profiler related code.
2927         (sparc_function_block_profiler, sparc_block_profiler,
2928         sparc_function_block_profiler_exit): Kill.
2929         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
2930         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2931         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2932         MACHINE_STATE_RESTORE): Kill.
2933         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2934         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2935         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2936         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2937         MACHINE_STATE_RESTORE): Kill.
2938         * doc/invoke.texi: Kill documentation of -a and -ax.
2939         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2940         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2941         MACHINE_STATE_RESTORE): Kill.
2942
2943 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
2944
2945         * doc/rtl.texi: Use a table to display RTL format characters.
2946
2947 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
2948
2949         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
2950
2951 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2952
2953         * function.c (keep_stack_depressed): Check global_live_at_start
2954         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
2955
2956 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
2957
2958         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
2959         as set by the generic FreeBSD configure framework.
2960
2961 2001-12-04  Jason Merrill  <jason@redhat.com>
2962
2963         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2964         start_inlining, end_inlining.
2965         * tree-inline.c (expand_call_inline): Call them.
2966         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
2967         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
2968         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
2969         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
2970         (lhd_tree_inlining_end_inlining): New fn.
2971
2972 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2973
2974         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
2975         * c-common.h (shadow_warning): New.
2976         * c-decl.c: Include c-common.h.
2977         (warn_if_shadowing): New, broken out of pushdecl.
2978         (pushdecl): Use warn_if_shadowing.
2979         (store_parm_decls): Prevent duplicate -Wshadow warnings.
2980
2981 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
2982
2983         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
2984         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
2985         (LIB_SPEC): Remove.
2986
2987 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2988
2989         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
2990         (QUAL_UNION_TYPE): New type.
2991
2992         * varasm.c (output_constant, case ERROR_MARK): New case.
2993
2994         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
2995         (c_com): Delete its reference.
2996         * builtins.c: Delete memory checking code.
2997         * calls.c, expr.c, function.c, stmt.c: Likewise.
2998         * builtins.c (expand_builtin_arg_info): Remove reference to
2999         EXPAND_MEMORY_USE_* modifiers.
3000         * explow.c (expr_size): Likewise.
3001         * expr.c (expand_expr, expand_increment): Likewise.
3002         * expr.h (ARGS_SIZE_RTX): Likewise.
3003         * function.c (assign_parms, expand_pending_sizeso): Likewise.
3004         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
3005         * expr.c (in_check_memory_usage): Delete.
3006         (get_push_address, get_memory_usage_from_modifier): Delete.
3007         (expand_assigment): Use EXPAND_WRITE on destination.
3008         (expand_expr): Delete ro_modifier.
3009         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
3010         add EXPAND_WRITE.
3011         (memory_use_mode): Delete.
3012         * flags.h (flag_check_memory_usage): Deleted.
3013         (flag_prefix_function_name): Likewise.
3014         * function.c (expand_function_start): Don't set
3015         current_function_check_memory_usage.
3016         * function.h (check_memory_usage): Delete.
3017         * libfuncs.h, optabs.c: Delete chkr_* stuff.
3018         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
3019         EXPAND_WRITE.
3020         * toplev.c (flag_check_memory_usage): Deleted.
3021         (flag_prefix_function_name): Likewise.
3022         (f_options, process_options): Delete references to above.
3023         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
3024         * varasm.c (CHKR_PREFIX): Deleted.
3025         (make_decl_rtl): Remove flag_prefix_function_name handling.
3026         (assemble_name): Likewise.
3027         * doc/extend.texi: Remove no_check_memory_usage attribute.
3028         * doc/invoke.texi: Remove -fcheck-memory-usage
3029         and -fprefix-function-name.
3030
3031 2001-12-05  Andreas Schwab  <schwab@suse.de>
3032
3033         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
3034         from autoconf.
3035
3036 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
3037
3038         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
3039
3040 2001-12-05  William Cohen  <wcohen@redhat.com>
3041
3042         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
3043         instruction.
3044
3045 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
3046
3047         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
3048         builtins.
3049
3050         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
3051         better reflect reality (change from Apple's tree).
3052         Add more of altivec instructions.
3053         Add ftruncv4sf2 pattern.
3054         Remove more unspecs (vector merge instructions, etc).
3055
3056         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
3057         builtins.
3058         (bdesc_1arg): New, for 1 argument altivec builtins.
3059         (altivec_expand_builtin): Handle unary and ternary ops.
3060         (altivec_init_builtins): Ditto.
3061
3062 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3063
3064         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
3065         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
3066
3067 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3068
3069         * gcse.c (store_killed_in_insn): Consider pure calls
3070         as potential store killers in addition to normal calls.
3071
3072 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3073
3074         * expr.c (expand_expr): When checking promoted value, use
3075         DECL_MODE (exp) and not mode.
3076
3077 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3078
3079         * c-typeck.c (output_init_element): Call digest_init
3080         just once, not in each if branch and check its return value for
3081         error_mark_node.
3082
3083 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3084
3085         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
3086         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
3087         (finish_struct): Break the loop if n_incomplete went to 0.
3088         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
3089
3090 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
3091
3092         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
3093
3094 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3095                           Douglas B. Rupp  <rupp@gnat.com>
3096
3097         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
3098         * doc/invoke.texi: Add -gvms.
3099         * doc/passes.texi: Add mention of vmsdbgout.c.
3100         * doc/tm.texi: Document VMS debugging output.
3101
3102 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3103
3104         * function.h (tree, rtx): Remove no-longer-needed definitions.
3105
3106         * function.c (keep_stack_depressed): Refine check for register
3107         clobbered over call.
3108
3109         * expr.c (store_expr): When copying string constant into array,
3110         use functions that update memrefs instead of computations on
3111         addresses to better track MEMs.  Also properly handle 32/64 pointers.
3112         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
3113         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
3114
3115         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
3116         underneath COMPONENT_REFs.
3117         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
3118
3119 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3120
3121         * toplev.c (display_target_options): Don't print twice.
3122
3123 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
3124
3125         * emit-rtl.c (set_unique_reg_note): Don't set
3126         a REG_EQUAL or REG_EQUIV note if multiple sets
3127         are present.
3128
3129 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3130
3131         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
3132         CASE_DROPS_THROUGH.
3133
3134 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
3135
3136         * rtl.h (initialize_uninitialized_subregs): New prototype.
3137         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
3138         when optimization is on.
3139         * flow.c (find_regno_partial): Find subregs within an expression.
3140         (initialize_uninitialized_subregs): Initialize live on entry registers
3141         which are used in subreg expressions.
3142
3143 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
3144
3145         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
3146
3147 2001-12-04  DJ Delorie  <dj@redhat.com>
3148
3149         * fixinc/fixincl.c (initialize): Avoid problemsome macro
3150         parameter names (PR 3388).
3151
3152 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
3153
3154         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
3155         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
3156
3157 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3158
3159         * c-common.def (COMPOUND_LITERAL_EXPR): New.
3160         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
3161         (c_staticp): New function.
3162         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
3163         (c_staticp): Declare.
3164         * c-typeck.c (default_function_array_conversion, build_unary_op):
3165         Don't handle CONSTRUCTOR specially.
3166         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
3167         * c-decl.c (build_compound_literal): New function.
3168         * c-tree.h (build_compound_literal): Declare.
3169         * c-parse.in (primary): Use build_compound_literal.
3170         * c-lang.c (LANG_HOOKS_STATICP): Define.
3171         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
3172         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
3173         * doc/extend.texi: Update documentation of compound literals.
3174         Fixes PR c/4787.
3175
3176 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3177
3178         * langhooks.h (struct lang_hooks): Add staticp.
3179         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
3180         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
3181         * langhooks.c (lhd_staticp): New function.
3182         * tree.c (staticp): Call lang_hooks.staticp for language-specific
3183         tree codes.
3184
3185 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3186
3187         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
3188         * gcc.c (process_command): Ensure the cpp driver sees
3189         --help and --target-help, and that the help is printed
3190         exactly once.
3191
3192 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
3193
3194         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
3195
3196 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
3197
3198         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
3199         flag_strict_aliasing.  Use separate assignment statements.
3200
3201 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
3202
3203         * build-make, cross-make: Delete file.
3204         * configure.in: Set and substitute CROSS, ALL,
3205         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
3206         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
3207         whether build == host and host == target.  Do not
3208         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
3209         AC_SUBST cross_defines or extra_c_flags.
3210         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
3211         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
3212         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
3213         partially or completely with autoconf-substituted @variable@
3214         notation.
3215         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
3216         @build_overrides@, @extra_c_flags@, all.build, install-build,
3217         install-cross-rest, install-float-h-cross): Deleted.
3218         (install-normal): Rename to install.  Delete old "install"
3219         indirection rule.
3220
3221 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
3222
3223         * stmt.c (expand_return): Clear destination instead of clobbering it
3224         when setting a return value via bitsets.
3225
3226 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
3227
3228         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
3229         it has DECL_SAVED_TREE.
3230
3231         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
3232         is in a different binding level, get its abstract origin to be
3233         olddecl.
3234         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
3235         check earlier.
3236         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
3237         DECL_INITIAL is NULL.
3238
3239 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
3240
3241         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
3242         Return correct value if one of the subexpressions was optimized to
3243         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
3244         (and_reg_cond): Similarly.
3245
3246 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
3247
3248         * function.c (assign_parms): Set last_named only for last named
3249         argument.
3250
3251 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3252
3253         * doc/install.texi: Use the GFDL.  Include years from old install
3254         manual in copyright notice.  Include copyright and GFDL notice on
3255         HTML index page.  Include usual footer on testing.html.
3256         * doc/install.texi2html: Build gfdl.html.  Use -I
3257         $SOURCEDIR/include.
3258         * doc/include/fdl.texi: Adapt for use in the install manual.
3259
3260 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3261
3262         * doc/install.texi: Document that installed native compiler for
3263         building cross compilers should be GCC 2.95 or later.
3264
3265 2001-12-03  Eric Christopher  <echristo@redhat.com>
3266
3267         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
3268         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
3269         patterns.
3270
3271 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
3272
3273         * rtl.def (PREFETCH): New rtx code.
3274         * doc/rtl.texi (PREFETCH): Add documentation.
3275         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
3276         * rtlanal.c (reg_referenced_p): Ditto.
3277         * sched-vis.c (print_exp):  Ditto.
3278         * ssa-dce.c (find_inherently_necessary):  Ditto.
3279
3280         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
3281           (PREFETCH_BLOCK): Define.
3282         * config/ia64/ia64.md (itanium_class): Add lfetch.
3283           (prefetch, prefetch_internal): New.
3284
3285         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
3286         * builtins.def (BUILT_IN_PREFETCH): New.
3287         * builtins.c (expand_builtin_expect): New.
3288           (expand_builtin): Call it.
3289         * doc/extend.texi: Document __builtin_prefetch.
3290
3291         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
3292           conflicts with new generic prefetch functionality.
3293         * config/i386/i386.c (ix86_expand_builtin): Use new name for
3294           prefetch_sse.
3295
3296 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
3297
3298         * objc/Make-lang.in: Update copyright.
3299         (OBJC_OBJS): Add objc-lang.o.
3300         (objc-lang.o): New rule.
3301         * objc/config-lang.in: Fix file description and update
3302         copyright.
3303         * objc/objc-act.c: Do not include langhooks.h and
3304         langhooks-def.h
3305         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
3306         (objc_post_options): Move to objc-lang.c.
3307         (objc_init_options): Move to objc-lang.c.
3308         (objc_init): Make non-static.
3309         (objc_decode_option): Make non-static.
3310         (HASHFUNCTION): Remove macro.
3311         (hash_func): New function.
3312         (hash_enter): Replace HASHFUNCTION with hash_func.
3313         (hash_lookup): Replace HASHFUNCTION with hash_func.
3314         (maybe_objc_tree_codes): New function.
3315         (init_objc): Move ObjC tree code initialization to
3316         maybe_objc_tree_codes().
3317         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
3318         (objc_init): New public prototype.
3319         (objc_decode_option): New public prototype.
3320         (maybe_add_objc_tree_codes): New public prototype.
3321         * objc/objc-lang.c: New file.
3322         (lang_hooks): Moved from objc-act.c.
3323         (objc_post_options): Moved from objc-act.c.
3324         (objc_init_options): Moved from objc-act.c.
3325
3326 2001-12-03  Geoff Keating  <geoffk@redhat.com>
3327
3328         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
3329         of array elements.
3330
3331 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3332
3333         PR c/4988
3334         * gcc.c (process_command): Don't add a preprocessor option for
3335         --help and --target-help; cc1 is enough.
3336
3337 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3338
3339         * c-decl.c (grokdeclarator): Use ISO word.
3340         * cppinit.c: Remove leading capital from diagnostic messages, as
3341         per GNU coding standards.
3342         * emit-rtl.c: Similarly.
3343         * final.c: Similarly.
3344         * gcc.c: Similarly.
3345         * tradcpp.c: Similarly.
3346         * config/arm/arm.c: Similarly.
3347         * config/arm/arm.h: Similarly.
3348         * config/avr/avr.c: Similarly.
3349         * config/avr/avr.h: Similarly.
3350         * config/c4x/c4x.c: Similarly.
3351         * config/cris/cris.c: Similarly.
3352         * config/cris/cris.h: Similarly.
3353         * config/d30v/d30v.c: Similarly.
3354         * config/dsp16xx/dsp16xx.c: Similarly.
3355         * config/dsp16xx/dsp16xx.h: Similarly.
3356         * config/h8300/h8300.c: Similarly.
3357         * config/i386/i386.c: Similarly.
3358         * config/i386/xm-djgpp.h: Similarly.
3359         * config/i960/i960.h: Similarly.
3360         * config/m32r/m32r.c: Similarly.
3361         * config/m68hc11/m68hc11.c: Similarly.
3362         * config/m88k/m88k.c: Similarly.
3363         * config/m88k/m88k.h: Similarly.
3364         * config/mcore/mcore.c: Similarly.
3365         * config/mcore/mcore.h: Similarly.
3366         * config/mips/mips.c: Similarly.
3367         * config/mmix/mmix.c: Similarly.
3368         * config/pa/pa.c: Similarly.
3369         * config/rs6000/rs6000.c: Similarly.
3370         * config/rs6000/sysv4.h: Similarly.
3371         * config/s390/s390.c: Similarly.
3372         * config/sparc/sparc.c: Similarly.
3373         * config/v850/v850-c.c: Similarly.
3374         * config/v850/v850.c: Similarly.
3375
3376 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
3377
3378         * rs6000.h (RETURN_IN_MEMORY): Cast result of
3379         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
3380
3381 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
3382
3383         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
3384         bit twiddling constant.
3385
3386 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
3387
3388         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
3389         call purge_dead_edges after removing.
3390         (delete_null_pointer_checks): Do not handle delete_list.
3391
3392         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
3393         (count_basic_blocks): ... here.
3394         (find_basic_blocks, find_bb_boundaries): Cleanup.
3395
3396         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
3397         overflow for types greater then 2 * HOST_WIDE_INT.
3398
3399         * reload.c (find_reloads): Update the duplicates after swapingg.
3400
3401 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3402
3403         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
3404
3405 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
3406
3407         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
3408         MASK_LONG_DOUBLE_128): Delete.
3409         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
3410         TARGET_AIX_STRUCT_RET): New flags.
3411         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
3412         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
3413         and -m(no-)svr4-struct-return.
3414         (TARGET_OPTIONS): Add entry for -mlong-double-.
3415         (rs6000_long_double_size_string, rs6000_long_double_type_size,
3416         rs6000_altivec_abi): Declare.
3417         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
3418         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
3419         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
3420         structures of size <= 8 bytes in registers.
3421         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
3422
3423         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
3424         rs6000_long_double_type_size, rs6000_altivec_abi): New
3425         globals.
3426         (rs6000_override_options): Set rs6000_long_double_type_size
3427         from rs6000_long_double_size_string, if nonzero.  Set the
3428         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
3429         not already set.
3430         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
3431         target_flags bit.
3432         (rs6000_init_builtins): This hook now takes no arguments.
3433
3434         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
3435         DRAFT_V4_STRUCT_RET to 1.
3436
3437 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3438
3439         * c-typeck.c (really_start_incremental_init, push_init_level):
3440         Avoid constructor_max_index being other than an INTEGER_CST.
3441
3442 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3443
3444         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
3445         unsigned.
3446         (ASM_GENERATE_INTERNAL_LABEL): Same.
3447         (UNIQUE_SECTION): Fix typo.
3448
3449 2001-12-02  Richard Henderson  <rth@redhat.com>
3450
3451         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
3452
3453 2001-12-02  Richard Henderson  <rth@redhat.com>
3454
3455         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
3456         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
3457         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
3458         * expr.h, final.c, reload1.c: Adjust users.
3459
3460         * alias.c (nonoverlapping_component_refs_p): New.
3461         (decl_for_component_ref, adjust_offset_for_component_ref): New.
3462         (nonoverlapping_memrefs_p): Use them.
3463         * emit-rtl.c (component_ref_for_mem_expr): New.
3464         (set_mem_attributes): Use it.
3465         (set_mem_offset): New.
3466         * expr.c (expand_assignment): Call set_mem_attributes for
3467         inner references; adjust the memory offset as needed.
3468         * print-rtl.c (print_mem_expr): New.
3469         (print_rtx): Use it.
3470
3471 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
3472
3473         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
3474
3475         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
3476         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
3477         (ASM_SPEC): Don't redefine.
3478         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
3479         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
3480         * config/alpha/vms-dwarf2.asm: New file.
3481
3482         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
3483         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
3484         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
3485         (vmsdbgout_after_prologue): New declaration.
3486         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
3487         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
3488         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
3489         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
3490         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
3491         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
3492         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
3493         Test VMS_DEBUGGING_INFO.
3494         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
3495         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
3496         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
3497         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
3498         VMS_AND_DWARF2_DEBUG.
3499         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
3500         (decode_g_option): Add "vms" to debug_type_names.
3501         (process_options): Set vmsdbg_debug_hooks if -gvms.
3502         (lang_independent_init): Emit line number for VMS unless -g0.
3503         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
3504         * vmsdbg.h, vmsdbgout.c: New files.
3505
3506 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3507
3508         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
3509
3510 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3511
3512         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
3513         * dwarf2out.c (is_cxx): Prototype.
3514         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
3515         warning.
3516         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
3517
3518 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3519
3520         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
3521
3522 2001-12-02  Geoff Keating  <geoffk@redhat.com>
3523
3524         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
3525         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
3526         rather than simplify_subreg.  Check for volatile-ness.  Check that
3527         we're not splitting one slow operation into two slow operations.
3528
3529 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3530
3531         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
3532         before shifting.
3533
3534 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3535
3536         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
3537         capital from diagnostics.
3538         * c-lex.c (cb_file_change): Similarly.
3539         * c-parse.in : Similarly.
3540         * cfgrtl.c (verify_flow_info): Similarly.
3541         * collect2.c: Similarly.
3542         * cppfiles.c (find_include_file): Similarly.
3543         * cppinit.c (cpp_handle_option): Similarly.
3544         * cpplex.c (cpp_spell_token): Similarly.
3545         * cppmain.c (do_preprocessing): Similarly.
3546         * gcc.c (translate_options, process_command, do_spec1,
3547         main, pfatal_execute): Similarly.
3548         * genattr.c (main): Similarly.
3549         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
3550         write_test_expr, main): Similarly.
3551         * gencodes.c (main): Similarly.
3552         * genconfig.c (main): Similarly.
3553         * genconstants.c (main): Similarly.
3554         * genemit.c (main): Similarly.
3555         * genextract.c (main): Similarly.
3556         * genflags.c (main): Similarly.
3557         * genopinit.c (main): Similarly.
3558         * genoutput.c (process_template, main): Similarly.
3559         * genpeep.c (main): Similarly.
3560         * genrecog.c (main): Similarly.
3561         * gensupport.c (is_predicable, identify_predicable_attribute,
3562         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
3563         * ggc-page.c (alloc_anon): Similarly.
3564         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
3565         parse_begin, parse_bend, parse_def, parse_end, parse_file,
3566         parse_stabs_common, parse_stabs, write_varray, write_object,
3567         read_seek, copy_object, main, error): Similarly.
3568         * profile.c (compute_branch_probabilities): Similarly.
3569         * reg-stack.c (check_asm_stack_operands): Similarly.
3570         * reload.c (find_reloads): Similarly.
3571         * reload1.c (spill_failure, failed_reload): Similarly.
3572         * rtl-error.c (_fatal_insn_not_found): Similarly.
3573         * toplev.c (read_integral_parameter, crash_signal,
3574         decode_f_option, set_target_switch, parse_options_and_default_flags)
3575         : Similarly.
3576         * tradcif.y (parse_number, yylex): Similarly.
3577         * tradcpp.c (main, fancy_abort): Similarly.
3578         * tree.c (tree_check_failed): Similarly.
3579         * varray.c (varray_check_failed): Similarly.
3580         * xcoffout.c (xcoff_output_standard_types): Similarly.
3581 objc:
3582         * objc-act.c (get_object_ref, lookup_and_install_protocols,
3583         build_objc_string_object, objc_declare_alias, build_ivar_chain,
3584         finish_message_expr, build_protocol_expr, is_public,
3585         start_class): Similarly.
3586
3587 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3588
3589         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
3590         trailing period from diagnostics.
3591         * c-lex.c (cb_file_change): Similarly.
3592         * cppmacro.c (check_trad_stringification): Similarly.
3593         * gcc.c (do_spec_1): Similarly.
3594         * genattr.c (main): Similarly.
3595         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
3596         * gencodes.c (main): Similarly.
3597         * genconfig.c (main): Similarly.
3598         * genconstants.c (main): Similarly.
3599         * genemit.c (main): Similarly.
3600         * genextract.c (main): Similarly.
3601         * genopinit.c (main): Similarly.
3602         * genoutput.c (main): Similarly.
3603         * genpeep.c (main): Similarly.
3604         * genrecog.c (main): Similarly.
3605         * mips-tfile.c (add_file, error): Similarly.
3606         * profile.c (init_branch_prob): Similarly.
3607         * reload1.c (spill_failure): Similarly.
3608         * stmt.c (parse_output_constraint): Similarly.
3609         * varasm.c (assemble_variable): Similarly.
3610
3611 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3612
3613         * m68k.c (init_FPA_table): Provide static prototype.
3614         * mips/abi64.h (mips_function_value): Move prototype to ...
3615         * mips-protos.h (mips_function_value): ... here.
3616         * mips.c: Include halfpic.h.
3617         * output.h (rdata_section): Prototype.
3618
3619         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3620         * m88k.c (m88k_svr3_asm_out_constructor,
3621         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
3622         !OBJECT_FORMAT_ELF.
3623         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3624         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3625         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3626
3627 2001-12-01  Geoff Keating  <geoffk@redhat.com>
3628
3629         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
3630         LO_SUM addresses less than word size are not legitimate,
3631         because they lead to invalid SUBREGs.
3632         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
3633
3634 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
3635
3636         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
3637         while scanning for multiple back edges.
3638
3639 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3640
3641         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
3642         * config/rs6000/tramp.asm: Use it.
3643
3644 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
3645
3646         * gencheck.c, gengenrtl.c: Don't define xmalloc.
3647         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
3648         xmalloc.
3649
3650 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3651
3652         * pa.c (output_ascii): Cast `p' to unsigned char.
3653
3654 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3655
3656         * config/rs6000/rs6000.c (altivec_expand_builtin): add
3657         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
3658         *_16qi,_8hi, rename existing V4SI ones to *_4si.
3659         (altivec_init_builtins): Ditto.
3660         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
3661
3662         * config/rs6000/rs6000.md: Add attribute types vecsimple,
3663         veccomplex, vecfloat, and vecperm, for altivec instructions.
3664         Modify altivec patterns to use appropriate attribute type.
3665         Modify altivec patterns to match RTL operations where appropriate
3666         (IE no unspec where we can avoid it).
3667         Add vector unit scheduling for ppc7450.
3668         Rename patterns to what they are where appropriate
3669         (altivec_vaddfp->addv4sf3, etc)
3670
3671         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
3672         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
3673
3674         * config/rs6000/sysv4.h: Add -mcpu=7450.
3675
3676         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
3677         _builtin_altivec_ld_interal function.
3678
3679 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3680
3681         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
3682         strchr, strrchr, isascii, gettimeofday.
3683         * config.in, configure: Regenerate.
3684
3685 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3686
3687         * unroll.c (unroll_loop): Correct special exit cases.
3688
3689 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
3690
3691         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
3692         accept DFmode and DImode only.
3693
3694 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3695
3696         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
3697         (STACK_DYNAMIC_OFFSET): Same.
3698
3699 2001-11-30  Richard Henderson  <rth@redhat.com>
3700
3701         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
3702
3703 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3704
3705         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
3706         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
3707         the values in call_used_registers.
3708
3709 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
3710
3711         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
3712         gthr-single.
3713
3714 2001-11-30  Jason Merrill  <jason@redhat.com>
3715
3716         * dwarf2out.c (is_cxx): New fn.
3717         (add_data_member_location_attribute): Check it.
3718         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
3719
3720 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3721
3722         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
3723
3724 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3725
3726         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
3727         MODE_VECTOR_FLOAT as allowed.
3728
3729 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
3730
3731         Purge cruft now we have build libiberty.
3732
3733         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
3734         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
3735         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
3736         USE_HOST_STRSTR): Delete variables.
3737         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
3738         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
3739         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3740         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
3741         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
3742         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
3743         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
3744         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
3745         (HOST_LIBS): Ditto.
3746         (HOST_RTL): Remove hashtab.o safe-ctype.o.
3747         (OBJS): Remove splay-tree.o.
3748         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
3749         (distclean): No need to delete splay-tree.c obstack.c
3750         hashtab.c safe-ctype.c.
3751         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
3752         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
3753         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
3754         Delete.
3755         * configure.in: Don't use them.
3756         Set and substitute @FORBUILD@.
3757         * config.in, configure: Regenerate.
3758         * doprint.c: Move to libiberty/_doprnt.c.
3759         * doc/configterms.texi: Document that libiberty is now built
3760         up to three times.  Fix typo.
3761
3762 2001-11-30  Jason Merrill  <jason@redhat.com>
3763
3764         * dwarf2out.c (add_data_member_location_attribute): Do the
3765         right thing for virtual bases.
3766         * dbxout.c (dbxout_type): For a virtual base, print the offset
3767         within the vtable.
3768
3769 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3770
3771         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
3772
3773 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
3774
3775         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
3776         go in memory.
3777         Remove unused attribute for named.
3778
3779 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3780
3781         * genattrtab.c (attr_rtx_1): New function containing the
3782         majority of `attr_rtx'.  Move variable declarations into the
3783         scope where they are used.  Eliminate unnecessary gotos.
3784         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
3785         VA_FIXEDARG, and VA_CLOSE.
3786
3787 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
3788
3789         * config/cris/cris.c (cris_notice_update_cc): Check first
3790         destination also against overlap with cc_status.value2 and second
3791         destination against overlap with cc_status.value1.  For overlaps,
3792         clear overlapped value, don't just CC_STATUS_INIT.
3793
3794         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
3795         Fix typo in comment.
3796         (LINK_SPEC): Remove whitespace at end of line.
3797
3798 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3799
3800         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
3801
3802 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3803
3804         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
3805         macros for the supported debugging types.
3806
3807 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3808
3809         PR other/4932
3810         * config/i386/i386.c (print_operand):  Verify that the
3811           argument to %c is a constant and not a conditional which
3812           needs to be reversed.
3813
3814 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
3815
3816         * emit-rtl.c (gen_lowpart_common): Fix conversion of
3817         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
3818         of low part of those arrays for 32bit and 64bit hosts.
3819
3820 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3821
3822         * Makefile.in (insn-output.o): Depend on insn-codes.h.
3823
3824 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3825
3826         * configure.in (target_list): Add generated-manpages.
3827         * configure: Regenerate.
3828         * Makefile.in (generated-manpages): Depend on
3829         lang.generated-manpages.
3830         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
3831
3832 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
3833
3834         * config/arm/crti.asm (_init): Add .thumb_func if compiled
3835         with -mthumb.
3836         (_fini): Add .thumb_func if compiled with -mthumb.
3837
3838 2001-11-28  Eric Christopher  <echristo@redhat.com>
3839
3840         * config/mips/mips.c (override_options): Fix thinko in mips_tune
3841         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
3842
3843 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
3844
3845         * alpha.md (tablejump): Use pic_offset_table_rtx
3846         instead of gen_rtx_REG.
3847
3848 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
3849
3850         * expr.c (store_expr): When copying a string constant into an
3851         array, reset the known alignment of the MEM for the section to
3852         be cleared to BITS_PER_UNIT.
3853
3854 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3855
3856         * config/cris/cris.c: Remove whitespace at end of line.
3857
3858 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
3859
3860         * config.gcc (i[34567]86-*-interix3*): New case.
3861         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
3862         New files.
3863
3864 2001-11-28  Richard Henderson  <rth@redhat.com>
3865
3866         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
3867         symbolic_operand as the predicate.
3868
3869 2001-11-28  Richard Henderson  <rth@redhat.com>
3870
3871         * doloop.c (doloop_modify_runtime): Properly select induction
3872         variable; skip late entry test if biv initializer created by loop.
3873
3874 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3875
3876         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
3877         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
3878
3879         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
3880
3881         * tree.h: Add missing checks on some macros; make formatting more
3882         consistent.
3883
3884         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
3885         level; only add to pending_sizes if find it.
3886
3887         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
3888
3889         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
3890         Add casts to remove warnings.
3891
3892         * Makefile.in (OBJS): Sort alphabetically.
3893
3894         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
3895         Also minor cleanups.
3896
3897 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
3898
3899         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
3900         (FLAGS_TO_PASS): Add STAGE_PREFIX.
3901         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
3902         to STAGE_PREFIX.
3903
3904 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3905
3906         * cse.c (true_dependence_in_rtx): New function.
3907         (invalidate): Use it.
3908
3909         * c-common.h (GOTO_FAKE_P): New macro.
3910         * tree-inline.c (GOTO_FAKE_P): Set.
3911         * c-tree.texi (GOTO_FAKE_P): Document.
3912
3913         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
3914         containing pointers.
3915         (output_addressed_constants): Check for local/external relocations.
3916         * elfos.h (SELECT_SECTION): Classify data section.
3917         * tm.texi (SELECT_SECTION): Update documentation.
3918
3919         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
3920         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
3921
3922 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3923
3924         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3925         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
3926         OBJECT_FORMAT_ROSE.
3927
3928 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3929
3930         * config/cris/cris.c: Tweak spacing for prototypes.
3931         (LOSE_AND_RETURN): New macro.
3932         (cris_operand_lossage): New function.
3933         (cris_print_index, cris_print_base): Use cris_operand_lossage
3934         rather than fatal_insn.
3935         (cris_print_operand, cris_print_operand_address): Use
3936         LOSE_AND_RETURN rather than fatal_insn and internal_error.
3937         (cris_output_addr_const): Use LOSE_AND_RETURN and
3938         output_operand_lossage rather than fatal_insn and internal_error
3939         for valid but unexpected rtx expressions.
3940
3941         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
3942         for a SUBREG in src or dest, abort instead.
3943
3944 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3945
3946         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
3947         doc.
3948
3949 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
3950
3951         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
3952         preprocessor define.  If only DBX_DEBUGGING_INFO or only
3953         DWARF2_DEBUGGING_INFO is supported for the target, provide
3954         appropriate definitions.
3955
3956 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3957
3958         * Makefile.in: Update, and add c-objc-common.o dependencies.
3959         * c-lang.c: Remove unnecessary includes.
3960         (c_init): Move bulk of code to c_objc_common_init, and call it.
3961         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
3962         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
3963         c-objc-common.c.
3964         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
3965         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
3966         c_objc_common_init, c_missing_noreturn_ok_p): New.
3967         * toplev.c: Update comment.
3968         * doc/passes.texi: Update.
3969 objc:
3970         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
3971         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
3972         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
3973         (objc_init): Update to use c_objc_common_init.
3974
3975 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3976
3977         * cpphash.c (_cpp_init_hashtable): Update.
3978         * cpphash.h (struct spec_nodes): Remove n_L.
3979         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
3980
3981 2001-11-17  Richard Henderson  <rth@redhat.com>
3982
3983         * unroll.c (loop_iterations): Move last change ...
3984         * doloop.c (doloop_modify_runtime): ... here.
3985
3986 2001-11-17  Corey Minyard  <minyard@acm.org>
3987             Richard Henderson  <rth@redhat.com>
3988
3989         * unroll.c (loop_iterations): Detect one situation in which we
3990         overestimate the number of iterations.
3991
3992 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3993
3994         * gcc.c (set_input): Export.
3995         Move declaration ...
3996         gcc.h (set_input): ... here.
3997
3998 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3999
4000         * gcc.c (set_collect_gcc_options): New function, split out from
4001         main.
4002         Ignore elided switches.
4003         (do_spec): Invoke before executing command.
4004         (do_spec_1): Likewise.
4005         Fixes PR other/3968.
4006
4007 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
4008
4009         * config/cris/cris.h (INT_ASM_OP): Remove.
4010
4011 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4012
4013         * config/i386/sol2.h (WINT_TYPE): Redefine.
4014         (WINT_TYPE_SIZE): Likewise.
4015
4016 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4017
4018         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
4019         (dup2): Make static and add prototype.
4020         * m68k/plexus.h: Don't define NO_DUP2.
4021         * configure.in (AC_CHECK_FUNCS): Add dup2.
4022         * config.in, configure: Regenerate.
4023
4024         * ia64/aix.h (REG_SIZE): Don't #undef.
4025         * sparc.h (REG_SIZE): Delete.
4026         * flow.c (mark_used_regs): Don't use REG_SIZE.
4027         * regs.h (REG_SIZE): Delete.
4028
4029 2001-11-27  Andreas Schwab  <schwab@suse.de>
4030
4031         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
4032         PREFERRED_DEBUGGING_TYPE.
4033
4034 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4035
4036         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
4037         (expr.o, varasm.o): Depends on langhooks.h.
4038         * c-common.c (c_safe_from_p): Always declare.
4039         (c_expand_expr): Refine when declared.
4040         * c-lang.c (c-common.h): Now include.
4041         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
4042         (c_init): Don't set lang_safe_from_expr.
4043         * expr.c (langhooks.h): Now include.
4044         (lang_safe_from_p): No longer define.
4045         (safe_from_p): Use lang hook.
4046         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
4047         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
4048         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
4049         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
4050         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
4051         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
4052         * langhooks.h (struct lang_hooks): New fields expand_constant
4053         and safe_from_p.
4054         * output.h (output_constant): Size arg is HOST_WIDE_INT.
4055         * stmt.c (expand_decl_init): No longer need to expand constant
4056         for CONST_DECL.
4057         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
4058         * toplev.c (lang_expand_constant): Delete var.
4059         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
4060         operations on SAVE_EXPR.
4061         * varasm.c (langhooks.h): Now include.
4062         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
4063         (record_constant_1, output_addressed_constants): Likewise.
4064         (initializer_constant_valid_p, output_constant): Likewise.
4065         (output_constant_def): Process no-defer of string constant.
4066         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
4067         (output_constant): Strip more conversions.
4068         Track our size and pad for the rest.
4069         (array_size_for_constructor): Remove code for non-byte STRING_CST.
4070         (output_constructor): SIZE now HOST_WIDE_INT.
4071
4072 2001-11-27  Richard Henderson  <rth@redhat.com>
4073
4074         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
4075         in computing DIFF.
4076
4077 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
4078
4079         * cppfiles.c (read_include_file): Add comment.
4080
4081 2001-11-26  Richard Henderson  <rth@redhat.com>
4082
4083         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
4084
4085 2001-11-26  Richard Henderson  <rth@redhat.com>
4086
4087         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
4088         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
4089         commented out override.
4090
4091 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4092
4093         * cppfiles.c (stack_include_file): Don't optimize zero-length
4094         files.
4095         (read_include_file): NUL-terminate read files.
4096         * cpplex.c (handle_newline, skip_escaped_newlines,
4097         get_effective_char, skip_whitespace, parse_identifier,
4098         parse_identifier_slow, parse_number, parse_string,
4099         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
4100         NUL-terminated.
4101         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
4102         Be sure buffers are NUL terminated.
4103         * cppmacro.c (warn_of_redefinition): Kill compile warning.
4104
4105 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4106
4107         * c-common.c: Include tree-inline.h.
4108         (c_language): Move separate definitions here.
4109         (c_common_init_options, c_common_post_options): New.
4110         (c_common_lang_init): Rename c_common_init.
4111         * c-common.h (c_common_lang_init): Similarly.
4112         (c_common_init_options, c_common_post_options): New.
4113         * c-lang.c (c_post_options): Move body to c_common_post_options.
4114         (c_init_options): Use c_common_init_options.
4115         (c_init): Update.
4116         * langhooks.def: Rearrange.
4117         * langhooks.h: Rearrange, and improve comments.
4118         * toplev.c (do_compile): New function.
4119         (toplev_main): Use it.
4120         (lang_independent_f_options, parse_options_and_default_flags,
4121         process_options): Remove trailing periods.
4122         * Makefile.in: Update.
4123 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
4124         functions.
4125         (ojbc_init): Update.
4126
4127 2001-11-26  Richard Henderson  <rth@redhat.com>
4128
4129         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
4130
4131 2001-11-26  DJ Delorie  <dj@redhat.com>
4132
4133         * expr.c (store_constructor): Actually use the value computed
4134         if WORD_REGISTER_OPERATIONS.
4135
4136 2001-11-26  Richard Henderson  <rth@redhat.com>
4137
4138         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
4139         for CONSTRUCTOR.
4140
4141 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
4142
4143         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
4144         correct function on AIX.
4145
4146 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
4147
4148         * toplev.c (process_options): Don't force
4149         flag_optimize_sibling_calls to zero just because exceptions are
4150         enabled.
4151
4152 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
4153
4154         * df.h (transfer_function_sbitmap): Use PARAMS around argument
4155         list in function prototypes.
4156         (transfer_function_bitmap): Likewise.
4157
4158 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
4159
4160         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
4161         * config/i386/netbsd-elf.h: Likewise.
4162
4163 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
4164
4165         * doc/trouble.texi: Remove outdated RS/6000 comments.
4166
4167 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
4168
4169         * final.c (walk_alter_subreg): Fix return value.
4170
4171 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
4172
4173         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
4174         alter_subreg.
4175         * sparc.md (post-reload splitters): Do not call alter_subreg.
4176         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
4177
4178 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
4179
4180         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
4181
4182 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
4183
4184         * final.c: (insn_lengths): Make it an int *, so that large jump
4185         tables don't overflow.
4186
4187 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
4188
4189         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
4190         (format_types): Use it for scanf.
4191         (dollar_arguments_pointer_p): New.
4192         (init_dollar_format_checking): Store details of which arguments
4193         are pointers.
4194         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
4195         (finish_dollar_format_checking): Take extra parameter
4196         pointer_gap_ok.  Treat unused arguments differently if
4197         pointer_gap_ok and the unused arguments are pointers.
4198         (check_format_info_main): Pass extra argument to
4199         finish_dollar_format_checking.
4200         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
4201         unused arguments are present between used arguments with operand
4202         numbers.
4203
4204 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
4205
4206         * df.c: Add prototypes for hybrid_search_bitmap and
4207         hybrid_search_sbitmap.
4208         (hybrid_search_bitmap): New function.
4209         (hybrid_search_sbitmap): New function.
4210         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
4211         (iterative_dataflow_bitmap): Ditto.
4212
4213 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4214
4215         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
4216         address computations.
4217
4218 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4219
4220         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
4221         register b (low part of d).
4222
4223 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4224
4225         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
4226         passed to mcount.
4227
4228 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
4229
4230         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
4231         * config/alpha/x-vms: New file, to compile the above.
4232         * config.gcc (alpha*-dec-vms*): Add x-vms.
4233
4234 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
4235
4236         * genextract.c (main): Set ro_loc for peepholes.
4237
4238 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
4239
4240         * fix-header.c (main): Move inf_buffer termination and inf_limit
4241         calculation to after read.
4242
4243         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
4244         (__UNIX_FOPEN): Define.
4245
4246 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4247
4248         * function.c (assign_stack_temp_for_type): Clear alias set before
4249         setting new one.
4250
4251 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
4252
4253         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
4254         format.
4255         * rs6000.md (cmptf): Fix typo.
4256
4257 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
4258
4259         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
4260         * varasm.c (output_constructor): Use assemble_integer rather
4261         than ASM_OUTPUT_BYTE.
4262
4263 2001-11-23  Andreas Jaeger  <aj@suse.de>
4264
4265         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
4266         extension.
4267
4268 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
4269
4270         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
4271         default definition.
4272         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
4273         (MULTILIB_DEFAULTS): Remove previous definition.
4274
4275 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4276
4277         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
4278         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
4279
4280 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4281
4282         * cris.h: Revert thinko in last patch.
4283
4284 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4285
4286         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
4287         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
4288         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
4289         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
4290         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
4291         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
4292
4293         * predict.c, reg-stack.c: Fix spelling errors.
4294
4295 2001-10-09  Andrew Haley  <aph@redhat.com>
4296
4297         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
4298         start of stack slot.
4299
4300 2001-11-22  Graham Stott  <grahams@redhat.com>
4301
4302         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
4303         replacement jump after original jump.
4304
4305         (verify_flow_info): Remove redundent initialisation.
4306         Handle reaching end of insn list before finding a BARRIER.
4307         Only issue one missing barrier diagnostic.
4308
4309 2001-11-22  Graham Stott  <grahams@redhat.com>
4310
4311         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
4312
4313 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4314
4315         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
4316         insn actually does.
4317
4318 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
4319
4320         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
4321         Fix typo -mm32rx=> -m32rx.
4322
4323         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
4324         targets.
4325
4326         * config.gcc (xscale-coff): Add necessary header files to
4327         tm_file variable.
4328
4329 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4330
4331         * rs6000.c (output_cbranch): Use $, not %$, in output template.
4332
4333 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4334
4335         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
4336         (lang_type_quals): Declare.
4337         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
4338         retrieve language-specific qualifiers for a type node, instead of
4339         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
4340         lang_dump_tree.
4341         * tree-dump.h: Rename from c-dump.h.
4342         * c-common.h (C_TYPE_QUALS): Removed.
4343         Move declarations for tree-dump.c interface to...
4344         * tree.h: ... here. Remove lang_dump_tree.
4345         * langhooks.h (struct lang_hooks_for_tree_dump): New.
4346         (struct lang_hooks): Add tree_dump hooks.
4347         * langhooks.c (lhd_tree_dump_dump_tree): New function.
4348         (lhd_tree_dump_type_quals): New function.
4349         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
4350         Declare.
4351         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
4352         * Makefile.in: Move tree-dump.o to language-independent back-end.
4353
4354 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4355
4356         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
4357         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
4358         * arc.h (DBX_REGISTER_NUMBER): Likewise.
4359         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
4360         * avr.h (DBX_REGISTER_NUMBER): Likewise.
4361         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
4362         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
4363         * convex.h (DBX_REGISTER_NUMBER): Likewise.
4364         * cris.h (DBX_REGISTER_NUMBER): Likewise.
4365         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
4366         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
4367         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
4368         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
4369         * i370.h (DBX_REGISTER_NUMBER): Likewise.
4370         * i860.h (DBX_REGISTER_NUMBER): Likewise.
4371         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
4372         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
4373         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4374         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
4375         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
4376         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
4377         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
4378         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
4379         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
4380         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
4381         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
4382         * romp.h (DBX_REGISTER_NUMBER): Likewise.
4383         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
4384         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4385         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
4386         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
4387         * v850.h (DBX_REGISTER_NUMBER): Likewise.
4388         * vax.h (DBX_REGISTER_NUMBER): Likewise.
4389         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
4390
4391         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
4392         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
4393
4394 2001-11-21  H.J. Lu <hjl@gnu.org>
4395
4396         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
4397
4398 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4399
4400         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
4401         emit_cmp_and_jump_insns.
4402
4403         * stormy16.c (xstormy16_expand_builtin_va_arg,
4404         xstormy16_expand_casesi): Likewise.
4405
4406 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4407
4408         * function.c (keep_stack_depressed): Major rework.
4409         (handle_epilogue_set, emit_equiv_load): New functions.
4410         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
4411         has return value.
4412         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
4413         * rtl.h (SET_IS_RETURN_P): New macro.
4414
4415         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
4416         and also support TREE_ADDRESSABLE.
4417         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
4418
4419 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
4420
4421         * rs6000.md (cmptf_internal1): Replace %$ with $.
4422
4423 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
4424
4425         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
4426         (read_include_file): Use STAT_SIZE_TOO_BIG.
4427
4428         * cppinit.c (INO_T_COPY): Define.
4429         (INO_T_EQ): Uppercase parameters.
4430         (append_include_chain): Use INO_T_COPY.
4431
4432 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
4433
4434         * cfg.c: Fix typos and formatting in the introductory comment.
4435
4436 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
4437
4438         * profile.c (compute_branch_probabilites):  Compute probabilities
4439         for entry/exit edges; estimate probabilities for zero counts.
4440
4441 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4442
4443         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
4444         to emit_library_call.
4445         * function.c (expand_main_function, expand_function_start,
4446         expand_function_end): Likewise.
4447         * profile.c (output_func_start_profiler): Likewise.
4448         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
4449         second argument to emit_library_call.
4450         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
4451         as second argument to emit_library_call.
4452         * calls.c (emit_library_call): Update fn_type description.
4453
4454 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4455
4456         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
4457         if fndecl is still DECL_INLINE and has DECL_RESULT.
4458
4459 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4460
4461         * clipper.c (clipper_movstr): Avoid uninitialized warning.
4462         * i960.c (is_mask, legitimize_address): Likewise.
4463         * m88k.c (m88k_expand_prologue): Likewise.
4464         * m88k.md: Likewise.
4465         * mcore.c (emit_new_cond_insn): Likewise.
4466         * stormy16.c (xstormy16_emit_cbranch): Likewise.
4467
4468 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4469
4470         * config.gcc: Delete powerpcle-*-solaris2* stanza.
4471         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
4472         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
4473         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
4474         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
4475         config/rs6000/t-ppcos: Expunge all references to Solaris.
4476
4477         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
4478
4479         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
4480         output templates.
4481         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
4482         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
4483
4484 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4485
4486         * sh.md: Avoid uninitialized warnings.
4487         * vax.c (vax_rtx_cost): Likewise.
4488
4489 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4490
4491         * rs6000.c (direct_return): Check if we are saving altivec
4492         registers.
4493         (first_altivec_reg_to_save): New.
4494         Updated stack frame layout comments.
4495         (rs6000_stack_info): Calculate altivec register save size.
4496         Save link register if we saved some altivec registers.
4497         (rs6000_stack_info): Align save size to 16 if altivec abi or
4498         abi_darwin.
4499         (rs6000_stack_info): Calculate altivec register offsets.
4500         (rs6000_stack_info): Add altivec info to save_size.
4501         (debug_stack_info): Add altivec debug info.
4502         (rs6000_emit_prologue): Save altivec registers and vrsave.
4503         (compute_vrsave_mask): New.
4504         (altivec_expand_builtin): Remove unused variables.
4505         (rs6000_parse_abi_options): Add static qualifier.
4506         (rs6000_expand_builtin): Remove unused parameters.
4507         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
4508         (altivec_init_builtins): Same.
4509         (is_altivec_return_reg): New.
4510         (vrsave_operation): New.
4511         (ALTIVEC_REG_BIT): New.
4512         (generate_set_vrsave): New.
4513
4514         * rs6000.md (get_vrsave): New.
4515         (set_vrsave): New.
4516         (*set_vrsave_internal): New.
4517
4518         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
4519         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
4520         altivec_padding_size, vrsave_mask.
4521         (TOTAL_ALTIVEC_REGS): New.
4522         (EPILOGUE_USES): Add VRSAVE_REGNO.
4523
4524 2001-11-20  Jeff Law <law@redhat.com>
4525
4526         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
4527         exit label as necessary.
4528
4529 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
4530
4531         * reload1.c (elimination_effects): Use function_invariant_p
4532         instead of CONSTANT_P when considering register equivalences.
4533
4534 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
4535
4536         * config.gcc: Add FreeBSD/PowerPC target.
4537         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4538         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4539         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4540         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4541         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4542         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
4543         freebsd-spec.h to tm_file.
4544         (rs6000-*-lynxos*): Add lynx.h to tm_file.
4545         * config/freebsd.h: Tidy up.
4546         (USING_CONFIG_FREEBSD): Define.
4547         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
4548         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
4549         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
4550         (TARGET_HAS_F_SETLKW): Define.
4551         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
4552         * config/freebsd-spec.h: New file.
4553         * config/rs6000/freebsd.h: New file.
4554         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
4555         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
4556         USING_SVR4_H to know when to turn on ELF support.
4557         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
4558         define only if not already defined.
4559         Add FreeBSD support.
4560         * config/rs6000/aix.h (TARGET_VERSION): Define.
4561         * config/rs6000/beos.h: Likewise.
4562         * config/rs6000/darwin.h: Likewise.
4563         * config/rs6000/mach.h: Likewise.
4564         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
4565         Don't include lynx.h directly.
4566
4567 2001-11-20  Graham Stott  <grahams@redhat.com>
4568
4569         * unwind-dw2-fde.c (__deregister_frame_info_bases):
4570         Fix lossage in last change return OB.
4571
4572 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
4573
4574         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
4575         Remove unneeded exit related macros.
4576
4577 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
4578
4579         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
4580
4581         * rs6000.c (rs6000_emit_move): Add TFmode case.
4582         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
4583         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
4584         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
4585         * rs6000.h: ... to here.
4586         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
4587         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
4588         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
4589
4590 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4591
4592         * emit-rtl.c (get_mem_attrs): Fix typo.
4593
4594 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4595
4596         * c-lang.c (finish_file): Backout 2001-11-16
4597         changes, instead set DECL_DEFER_OUTPUT for static inline functions
4598         before calling c_expand_deferred_function.
4599
4600 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4601
4602         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
4603         Don't register empty .eh_frame sections.
4604         (__deregister_frame_info_bases, __deregister_frame): Don't
4605         unregister them either.
4606
4607 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4608
4609         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
4610         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
4611         * configure: Regenerate.
4612         * config.in: Add dummy definitions of new flags.
4613         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
4614         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
4615         * gcc.c (ASM_DEBUG_SPEC): New macro.
4616         (asm_debug): New static variable.
4617         (default_compilers): Add asm_debug when assembling from
4618         user input.
4619         (static_specs): Add asm_debug.
4620
4621 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
4622
4623         * config.gcc (*-*-freebsd*): Remove configuration block.
4624
4625 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4626
4627         bootstrap/4422
4628         * configure.in: Setup ability to run ./stage[1234]/xgcc in
4629         fixinc *as if* it were a proper lang subdirectory.
4630         * configure: Rebuilt.
4631
4632 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4633
4634         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
4635
4636 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4637
4638         * 1750a.md: Don't use hex format for a const_int.
4639
4640 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4641
4642         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
4643
4644 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
4645
4646         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
4647         defined (prevents link errors when gettext isn't in the system
4648         library).
4649
4650 2001-11-19  DJ Delorie  <dj@redhat.com>
4651
4652         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
4653         (validate_const_int): New.
4654         (read_rtx): Validate constant integers.
4655         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
4656
4657 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
4658
4659         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
4660
4661 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4662
4663         * toplev.c (DUMPFILE_FORMAT): Define default.
4664         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
4665         (close_dump_file, compile_file): Likewise.
4666         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
4667         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
4668
4669 2001-11-19  Jeff Law <law@redhat.com>
4670
4671         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
4672         a nop-jump.
4673
4674 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4675
4676         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
4677         Don't fall off the base token run.
4678
4679 2001-11-19  Jason Wilkins <fenix@io.com>
4680
4681         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
4682
4683 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4684
4685         * tree.def (VIEW_CONVERT_EXPR): New tree code.
4686         * tree.h (handled_component_p): New declaration.
4687         * alias.c (handled_component_p): Move function from here ...
4688         * expr.c (handled_component_p): ... to here and non longer static.
4689         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
4690         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
4691         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
4692         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
4693         (expand_expr, case VIEW_CONVERT_EXPR): New case.
4694         (expand_expr, cse ADDR_EXPR): No need to copy if already
4695         BIGGEST_ALIGNMENT.
4696         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
4697         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
4698         (output_constant): Handle VIEW_CONVERT_EXPR.
4699         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
4700         Add new case for VIEW_CONVERT_EXPR.
4701
4702 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4703
4704         * a29k/unix.h (ASM_FILE_START): Const-ify.
4705         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
4706         * i386/isc.h (ASM_FILE_START): Const-ify.
4707         * i386/sun386.h (ASM_FILE_START): Likewise.
4708         * m32r.md: Likewise.
4709         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
4710         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
4711         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
4712         * mn10200.md: Initialize variable.
4713
4714 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
4715
4716         * gcse.c (try_replace_reg): Copy RTX before creating note.
4717
4718         * df.h (df_ref_flags): New uenum.
4719         (DF_REF_FLAGS): New macro.
4720         (struct ref): Add field "flags".
4721         * df.c (HANDLE_SUBREG): Remove.
4722         (df_ref_create): Likewise; set flags field of ref.
4723         (df_def_record_1): Strip down read_write subreg; remove
4724         commented out code; set READ_WRITE flag.
4725         (read_modify_subreg_p): New static function.
4726         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
4727         new argument "flags".
4728         (df_insn_refs_record): Update call of df_uses_record.
4729         (df_insn_modify): Avoid #if 0 around comment.
4730         (df_dump): Dump the read/write flag.
4731
4732         * predict.c (propagate_freq): Make cyclic_probability and frequency
4733         volatile
4734
4735         * i386.c (ix86_cc_mode): Accept USE.
4736
4737         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
4738         jump is turned into simplejump.
4739
4740 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
4741
4742         * doc/fragments.texi, doc/trouble.texi: Remove links to old
4743         installation chapter.
4744         * doc/gcc.texi: Don't claim that this manual documents
4745         installation.  Mark Installation menu entry as being out of date.
4746
4747 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
4748
4749         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
4750         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
4751         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
4752
4753 2001-11-19  Jason Merrill  <jason@redhat.com>
4754
4755         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
4756         cur_token, not after.
4757
4758         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
4759         Lose ASM_OUTPUT_CONSTRUCTOR.
4760         * system.h: Poison it and INT_ASM_OP.
4761         * c-lang.c (finish_file): Don't check for it.
4762         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
4763
4764 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4765
4766         * mmix.c (mmix_cc1_ignored_option): Const-ify.
4767         (mmix_init_machine_status): Make static to match declaration.
4768         (mmix_unique_section): Const-ify.
4769         (mmix_output_quoted_string): Avoid automatic aggregate
4770         initialization.
4771         (mmix_output_register_setting): Likewise.
4772         (mmix_output_shiftvalue_op_from_str): Likewise.
4773
4774         * mmix.h (mmix_cc1_ignored_option): Const-ify.
4775         (ASM_OUTPUT_BYTE): Fix format specifier warning.
4776         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4777
4778 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4779
4780         PR c/4448
4781         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
4782         name __objc_thread_exit_status so that it matches the
4783         variable defined in objc/thr.h.
4784
4785 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4786
4787         PR bootstrap/4020
4788         * mklibgcc.in: Add missing semi-colons.
4789         * Makefile.in: Same.
4790
4791 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4792
4793         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
4794         after re-laying out decl in incomplete case.
4795         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
4796
4797 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4798
4799         * doc/install-old.texi: Move some sections out to ...
4800         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
4801         ... here.  New files.  Make into chapters rather than sections.
4802         * doc/gcc.texi: Include the new files and add menu entries for
4803         them.
4804         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4805
4806 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4807
4808         * tree.h (TYPE_ALIGN_OK): New flag.
4809         * emit-rtl.c (set_mem_attributes): Handle it.
4810         * expr.c (emit_single_push_insn): Only set to alias set 0 if
4811         doing sibcall optimization.
4812         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
4813         when make temporary.
4814         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
4815         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
4816
4817         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
4818
4819 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4820
4821         * c-decl.c (c_decode_option): Give deprecation warning for
4822         -traditional.
4823         * doc/invoke.texi (-traditional): Note that this option is
4824         deprecated.
4825
4826 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
4827
4828         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
4829         arg to HOST_WIDE_INT, not long.
4830
4831         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
4832         (HAS_INIT_SECTION): Define.
4833         (REAL_ARITHMETIC): Don't undefine.
4834
4835 2001-11-18  Egor Duda  <deo@logos-m.ru>
4836
4837         * config/i386/cygwin.h: Strip leading '*' from name, if any.
4838
4839 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
4840
4841         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
4842         * c-common.c: Include diagnostic.h.
4843         (c_common_finish): New.
4844         * c-common.h (c_common_finish): New.
4845         * c-lang.c (LANG_HOOKS_FINISH): Override.
4846         * c-parse.in: Don't include diagnostic.h.
4847         (finish_parse): Remove.
4848         * langhooks.h: Update comments.
4849         * toplev.c (lang_dependent_init): New prototype.
4850         (finalize): New.
4851         (compile_file): Split cleanup code out to finalize.
4852         (lang_dependent_init): Stop if lang_hooks.init fails.
4853         (toplev_main): Update.
4854         * tree.h (finish_parse): Remove.
4855 objc:
4856         * objc-act.c (LANG_HOOKS_FINISH): Override.
4857
4858 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4859
4860         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
4861         * config/alpha/vms_tramp.asm: New file.
4862         * config/alpha/vms-tramp.asm: Removed.
4863
4864 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4865
4866         * c-common.c (struct disabled_builtin, disabled_builtins,
4867         disable_builtin_function, builtin_function_disabled_p): New.
4868         (builtin_function_2): Check for disabled built-in functions.
4869         * c-common.h (disable_builtin_function): Declare.
4870         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
4871         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
4872         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
4873
4874 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4875
4876         PR target/4606
4877         * config.gcc: Remove reference to va-clipper.h.
4878
4879 2001-11-17  Stan Shebs  <shebs@apple.com>
4880
4881         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
4882         AltiVec-related bitfields.
4883
4884 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4885
4886         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
4887         (mark_eh_region, case ERT_UKNONW): New case.
4888
4889 2001-11-17  Christopher Faylor  <cgf@redhat.com>
4890             Corinna Vinschen  <vinschen@redhat.com>
4891
4892         * config/i386/cygwin.h: Search target specific include directory for
4893         w32api stuff, if appropriate.
4894
4895 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
4896
4897         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
4898
4899 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
4900
4901         * config/rs6000/rs6000.md: Change all ldvx to lvx.
4902
4903 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
4904
4905         * gensupport.c (process_rtx): Don't assume filename is the first
4906         argument of any rtl.
4907
4908 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4909
4910         * vax-protos.h (reg_was_0_p): New prototype.
4911         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
4912         * vax.c (follows_p, reg_was_0_p): New functions.
4913
4914 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4915
4916         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
4917         (casesi1): Likewise.  Define new pattern which arises by simplification
4918         when operand 1 is a constant int.  Correct pattern which arises by
4919         simplification when operand 1 is zero.
4920
4921 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
4922
4923         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
4924         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
4925         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
4926         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
4927         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
4928         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
4929         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
4930         * config/arm/aof.h: Don't include arm.h.
4931         * config/arm/aout.h: Likewise.
4932         * config/arm/coff.h: Don't include semi.h and aout.h.
4933         * config/arm/elf.h: Don't include aout.h.
4934         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
4935         (TARGET_VERSION): Undef before defining.
4936         (ARM_OS_NAME): Likewise
4937         (TARGET_DEFAULT): Likewise
4938         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
4939         * config/arm/pe.h: Don't include arm/coff.h.
4940         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
4941         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
4942         * config/arm/riscix1-1.h: Likewise.
4943         * config/arm/rix-gas.h: Don't include riscix.h.
4944         (DBX_CONTIN_LENGTH): Undef before defining.
4945         * config/arm/semi.h: Don't include aout.h.
4946         * config/arm/semiaof.h: Don't include aof.h.
4947         * config/arm/strongarm-coff.h: Don't include coff.h.
4948         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
4949         * config/arm/vxarm.h: Don't include arm/coff.h.
4950         * config/arm/xscale-coff.h: Don't include coff.h.
4951
4952 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4953
4954         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
4955         emit_cmp_insn.
4956
4957 2001-11-16  Andreas Jaeger  <aj@suse.de>
4958
4959         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
4960         to ....
4961         (fixup_fallthru_exit_predecessor): ... this.
4962         Change callers and prototype.
4963
4964 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
4965
4966         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
4967         hand; don't use gen_setcc_2.
4968         (ix86_expand_builtin): Fix pshufw.
4969         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
4970         case UNORDERED to emit the right assembler instruction.
4971         (mmx_pshufw): Lose operand 2.
4972         (cvtsi2ss): Fix representation.
4973         From Graham Stott:
4974         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
4975
4976 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
4977
4978         * doc/include/linux-and-gnu.texi: Remove.
4979         * doc/gnu.texi: New.
4980         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
4981         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4982
4983 2001-11-16  Kazu Hirata  <kazu@hxi.com>
4984
4985         * config/a29k/a29k.c: Fix comment formatting.
4986         * config/a29k/a29k.h: Likewise.
4987         * config/arc/arc.c: Likewise.
4988         * config/arc/arc.h: Likewise.
4989         * config/vax/vax.c: Likewise.
4990         * config/vax/vax.h: Likewise.
4991         * config/we32k/we32k.c: Likewise.
4992         * config/we32k/we32k.h: Likewise.
4993
4994 2001-11-16  Jeff Law  <law@redhat.com>
4995
4996         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
4997         creating a new jump insn.
4998
4999 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5000
5001         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
5002         copy misaligned data.
5003         * varasm.c (assemble_variable): Set alignment into MEM when changed.
5004
5005 2001-11-16  Graham Stott  <grahams@redhat.com>
5006
5007         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
5008         OPALIGN type.
5009
5010 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
5011
5012         * except.c: Support for catching a list of types with a single handler
5013         (struct eh_region): Change type and filter to lists for catch regions.
5014         (mark_eh_region): Mark the filter list for GC also.
5015         (expand_start_catch): Always build a list if argument not NULL and
5016         register each type of the list through add_type_for_runtime.
5017         (duplicate_eh_region_1): Change type into type_list for catch regions.
5018         (assign_filter_values): Assign a filter to each type associated with a
5019         catch region. Assign filter for NULL types in a unique entry in the
5020         filter list.
5021         (build_post_landing_pads): Emit compare and jump for each filter of
5022         the list associated with a catch region.
5023         (reachable_next_level): When the type thrown is known, stop the search
5024         as soon as one type within a catch list matches. Also, a handler is
5025         potentially reachable only if at least one of the types it catches
5026         has not been previously caught.
5027         (collect_one_action_chain): Retrieve the filter for a NULL type list
5028         from the first filter list entry. For non NULL type lists, add an
5029         action record for every filter assigned.
5030         * except.h: Reflect changes in comment before expand_start_catch.
5031
5032 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5033
5034         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
5035         BLKmode.
5036
5037 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
5038
5039         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
5040
5041 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
5042
5043         * c-lang.c (finish_file): Don't emit static inline functions if
5044         they weren't referenced.
5045
5046 2001-11-15  Stan Shebs  <shebs@apple.com>
5047
5048         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
5049
5050 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
5051
5052         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
5053         call.
5054         * config/i386/i386.md: Likewise.
5055
5056 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5057
5058         * timevar.c (rtl.h): Include so get fancy abort.
5059
5060 2001-11-15  Dale Johannesen  <dalej@apple.com>
5061
5062         * config/darwin.h (SELECT_RTX_SECTION):  Force address
5063         initializers into 'const' section
5064         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
5065         if_then_else to match result, not operands
5066
5067 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5068
5069         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
5070         * emit-rtl.c (change_address): Fix typo in default alignment.
5071         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
5072         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
5073         * rtl.h (REGNO_PTR_FRAME_P): New macro.
5074
5075         * expr.c (store_field): Pass tree instead of max size; callers changed.
5076         Change handling of alignment.
5077         Only copy to_rtx if is TARGET.
5078         (expand_expr_unaligned): Delete; callers now use expand_expr.
5079         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
5080         (expand_assignment): Change handling of alignment.
5081         Only copy to_rtx if was original.
5082         (get_inner_reference): No longer return alginment; callers changed.
5083         (expand_expr, case COMPONENT_REF): Change handling of alignment.
5084         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
5085         (compare_from_rtx): Delete ALIGN parm; all callers changed.
5086         (do_compare_rtx_and_jump): Likewise.
5087         * expr.h: Reflect above changes.
5088         * tree.h: Likewise.
5089         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
5090         to get_inner_reference.
5091         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
5092         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
5093         * optabs.c: Likewise.
5094         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
5095         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
5096         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
5097         compare_rtx_and_jump, and emit_cmp_jump_insns.
5098         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
5099         * function.c (assign_stack_temp_for_type): No longer static.
5100         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
5101         (prepare_cmp_insn): Delete declaration.
5102         * rtl.h (assign_stack_temp_for_type): Add declaration.
5103         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
5104         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
5105         * config/i386/i386.c,config/mips/mips.c: Likewise.
5106         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
5107         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
5108
5109 2001-11-15  Stan Shebs  <shebs@apple.com>
5110
5111         * config/rs6000/rs6000.h: Fix a comment typo.
5112         (RTX_COSTS): Sort processor versions better.
5113
5114 2001-11-15  Kazu Hirata  <kazu@hxi.com>
5115
5116         * config/h8300/h8300.md: Fix insn length of bit insns.
5117
5118 2001-11-15  Jason Merrill  <jason@redhat.com>
5119
5120         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
5121         DIEs if there were errors in the source.
5122
5123         * config/alpha/alpha-interix.h, config/alpha/elf.h,
5124         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
5125         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
5126         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
5127         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
5128         config/elfos.h, config/lynx.h, config/netware.h,
5129         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
5130         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
5131         uses to use ASM_LONG.
5132
5133 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
5134
5135         * gensupport.c  process_include : Change call to alloca to
5136         xmalloc.
5137
5138 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
5139
5140         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
5141         templates.
5142
5143 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5144
5145         * final.c (alter_subreg): If simplify_subreg can't do anything,
5146         handle REG ourselves and abort for others.
5147
5148 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
5149
5150         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
5151         routines.
5152
5153 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5154
5155         * fix-header.c (read_scan_file): Update.
5156
5157 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5158
5159         * toplev.c (toplev_main): Don't start timing until after
5160         command-line options are parsed.
5161
5162 2001-11-15  Andreas Schwab  <schwab@suse.de>
5163
5164         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
5165         makefile frag, not host makefile frag.
5166         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
5167         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
5168         used.
5169         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
5170         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
5171         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
5172         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
5173         * config/i386/t-dgux (STMP_FIXPROTO): Define.
5174         * config/x-interix: Don't define STMP_FIXPROTO and
5175         FIXPROTO_DEFINES.
5176         * config/t-interix: New file, define STMP_FIXPROTO.
5177         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
5178         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
5179         * config/t-svr4 (FIXPROTO_DEFINES): Define.
5180         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
5181         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
5182         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
5183         * config/m68k/t-hp3200: Renamed from x-hp3200.
5184         * config/i370/t-oe: Renamed from x-oe.
5185         * config/mips/t-iris: Renamed from x-iris.
5186         * config/pa/t-bsd: Renamed from x-pa.
5187         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
5188         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
5189         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
5190         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
5191         config/rs6000/x-cygwin: Remove files.
5192
5193         * configure.in: Check for target objdump and use that in eh_frame
5194         optimization test.
5195         * configure: Regenerated.
5196
5197 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
5198
5199         * jump.c (squeeze_notes): Return true if no real insns were found.
5200         * rtl.h (squeeze_notes): Adjust prototype.
5201         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
5202         squeeze_notes finds no real instructions, abort.
5203         (merge_blocks_move_successor_nojumps): Likewise.
5204         * loop.c (find_and_verify_loops): Likewise.
5205         * stmt.c (expand_end_case): Likewise.
5206         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
5207         find any real instructions.
5208
5209         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
5210
5211         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
5212         conditional jump, request updating life into for the block
5213         containing it.  Fix a typo which prevented life info update.
5214         Clear blocks bitmap before using it.
5215
5216 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5217
5218         * c-common.c: Include c-lex.h.
5219         (c_common_lang_init): Change prototype.  Call init_c_lex and
5220         init_pragma from here.
5221         * c-common.h (c_common_lang_init): Change prototype.
5222         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
5223         * c-lang.c (c_init): Change prototype.  Update.
5224         (c_init_options): Update.
5225         * c-lex.c (cpp_filename): Remove.
5226         (init_c_lex): Update.  Read the main file, and get the original
5227         file name.
5228         (yyparse): Finish the command line options.
5229         * c-parse.in (c_parse_init): Call init_reswords here.
5230         (init_parse): Remove.
5231         * c-tree.h (c_init_decl_processing): New.
5232         * cpphash.c (_cpp_init_hashtable): After initializing the hash
5233         table, populate it.
5234         * cppinit.c (read_original_filename, cpp_finish_options): New.
5235         (cpp_create_reader): New prototype. Defer hash table initialization.
5236         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
5237         hash table.  Get the original filename.
5238         * cpplib.h (cpp_create_reader): Update.
5239         (cpp_start_read): Remove.
5240         (cpp_read_main_file, cpp_finish_options): New.
5241         * cppmain.c (main, do_preprocessing): Update.
5242         * langhooks.h (struct langhooks): Update init prototype.
5243         * toplev.c (general_init, parse_options_and_default_flags,
5244         process_options, lang_indpendent_init, lang_dependent_init,
5245         init_asm_output): New; perform the bulk of initialization.
5246         (compile_file): Move most of initialization to above functions.
5247         (debug_hooks): Initialize statically.
5248         (set_Wunused): Relocate.
5249         (toplev_main): Move most of initialization to other init functions.
5250         Have a clear logic flow.
5251         * tree.h (init_parse, init_decl_processing): Remove.
5252 objc:
5253         * objc-act.c (objc_init): Update prototype, combine with old
5254         init_parse.
5255         (objc_init_options): Update.
5256
5257
5258 2001-11-15  Andreas Jaeger  <aj@suse.de>
5259
5260         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
5261         portability.
5262         * basic-block.h: Adjust prototype.
5263
5264 2001-11-15  Kazu Hirata  <kazu@hxi.com>
5265
5266         * config/rs6000/aix31.h: Fix comment formatting.
5267         * config/rs6000/beos.h: Likewise.
5268         * config/rs6000/darwin.h: Likewise.
5269         * config/rs6000/eabi.asm: Likewise.
5270         * config/rs6000/linux.h: Likewise.
5271         * config/rs6000/linux64.h: Likewise.
5272         * config/rs6000/lynx.h: Likewise.
5273         * config/rs6000/netbsd.h: Likewise.
5274         * config/rs6000/rs6000.c: Likewise.
5275         * config/rs6000/rs6000.h: Likewise.
5276         * config/rs6000/rs6000.md: Likewise.
5277         * config/rs6000/sol2.h: Likewise.
5278         * config/rs6000/tramp.asm: Likewise.
5279         * config/rs6000/xcoff.h: Likewise.
5280         * config/rs6000/xm-beos.h: Likewise.
5281
5282 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
5283
5284         * rtl.def (INCLUDE) : Define.
5285         * gensupport.c  (init_include_reader, process_include,
5286         save_string) :  New functions to implement an include facility
5287         in .md files.
5288         * gensupport.h : Add prototype for init_md_reader_args.
5289         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
5290         genextract.c genflags.c genopinit.c genoutput.c
5291         genpeep.c genrecog.c: Change call to init_md_reader to
5292         init_md_reader_args.
5293         * md.texi: Document (include "path") and -I directives for RTL
5294         generation tools.
5295
5296 2001-11-14  DJ Delorie  <dj@redhat.com>
5297
5298         * integrate.c (get_hard_reg_initial_reg): New.
5299         * integrate.h (get_hard_reg_initial_reg): Prototype.
5300         * local-alloc.c (block_alloc): Don't tie pseudos that
5301         represent call-saved hard regs' initial values.
5302
5303 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5304
5305         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
5306         recursion.
5307
5308 2001-11-14  Roger Sayle <roger@eyesopen.com>
5309
5310         * fold-const.c (fold): Optimize strlen comparisons against zero.
5311
5312 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
5313
5314         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
5315         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
5316         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
5317         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
5318         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
5319         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
5320         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
5321         Include various CPU headers via tm_file.  a.out based platforms now
5322         properly include sparc/aout.h.  sol2.h usage now implies including
5323         elfos.h, svr4.h, and sparc/sysv4.h.
5324         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
5325         Also define to '1'.
5326         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
5327         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5328         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
5329         Remove.  They are a.out specific and belong in sparc/aout.h.
5330         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
5331         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5332         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
5333         sparc/sparc.h.
5334         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
5335         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
5336         Moved here from sparc/sparc.h.
5337         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
5338         defining.
5339         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
5340         * config/sparc/lynx.h:  Don't include lynx.h.
5341         (SELECT_SECTION): Do not undef.
5342         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
5343         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
5344         and sparc/sysv4.h.
5345         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
5346         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
5347         sparc/aout.h now.
5348         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
5349         Don't undef, there is no need.
5350         * config/sparc/splet.h (CPP_PREDEFINES): Define.
5351         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
5352         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
5353         Don't include sparc/sparc.h.
5354         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
5355         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5356         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
5357         elfos.h and svr4.h.
5358         (TARGET_VERSION): Define.
5359         * config/sparc/vxsim.h (TARGET_VERSION): Define.
5360
5361 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
5362
5363         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
5364         (cfg_layout_finalize): Use it.
5365         * bb-reorder.c (HAVE_epilogue): Remove.
5366         (make_reorder_chain): Do not care special placement of
5367         last basic block.
5368
5369         * predict.c (expected_value_to_br_prob): Delete the note
5370         once transformed.
5371
5372         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
5373         measure integration time separately.
5374
5375 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5376
5377         * function.c (struct temp_slot): ALIGN now unsigned.
5378
5379 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5380
5381         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
5382         * config/dsp16xx/dsp16xx.h: Likewise.
5383         * config/dsp16xx/dsp16xx.md: Likewise.
5384
5385 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5386
5387         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
5388         that deals with 7-bit shifts in HImode.
5389
5390 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
5391
5392         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
5393         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
5394         (final_scan_insn): Update call of alter_subreg.
5395         (cleanup_subreg_operands): Likewise.
5396         (alter_subreg): Rewrite using simplify_subreg.
5397         (output_address, output_operand): Update call of alter_subreg.
5398         * output.h (alter_subreg): Update prototype.
5399         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
5400         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
5401         * Makefile.in (final.o): Add dependency on expr.h
5402
5403 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5404
5405         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
5406
5407 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
5408
5409         * doc/install.texi (sparc-*-linux*): Mention requirements for
5410         binutils and glibc.
5411
5412 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
5413
5414         * Makefile.in (POD2MAN): Don't include --section=1.
5415         (manext): Rename to man1ext.  All users changed.
5416         (man7ext): New.
5417         (man7dir): New.
5418         (generated-manpages): Also depend on $(docdir)/gfdl.7,
5419         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
5420         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
5421         --section=1 in calls to $(POD2MAN).
5422         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
5423         (maintainer-clean, install, uninstall): Handle the new man pages.
5424         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
5425         (installdirs): Create man7dir.
5426         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
5427         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
5428         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
5429         the SEE ALSO man page section.
5430         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
5431         and fsf-funding(7) in the SEE ALSO man page section.
5432         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
5433         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
5434         * doc/include/fdl.texi, doc/include/funding.texi,
5435         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
5436         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
5437
5438 2001-11-13  Richard Henderson  <rth@redhat.com>
5439
5440         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
5441         as appropriate for the artificial decl.
5442
5443 2001-11-13  Richard Henderson  <rth@redhat.com>
5444
5445         * loop.c (combine_movables): Turn off combination until
5446         move_movables validation bugs are fixed.
5447
5448 2001-11-13  DJ Delorie  <dj@redhat.com>
5449
5450         * config.gcc (powerpc|rs6000): Set default cpp options based
5451         on --with-cpu settings.
5452         * config/rs6000/softfloat.h: New.
5453
5454 2001-11-13  Kazu Hirata  <kazu@hxi.com>
5455
5456         * config/h8300/h8300.c (shift_alg_si): Use special code for
5457         25-bit shifts on H8/S.
5458         (get_shift_alg): Generate special code for 25-bit shifts on
5459         H8/S.
5460
5461 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
5462
5463         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
5464         (adjust_automodify_address_1): New.
5465         * expr.h (adjust_address, adjust_address_nv): Adjust.
5466         (adjust_automodify_address, adjust_automodify_address_nv): Define.
5467         (adjust_address_1): Update prototype.
5468         (adjust_automodify_address_1): Add prototype.
5469         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
5470         (store_by_pieces_2): Likewise.
5471
5472 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5473
5474         * Makefile.in (explow.o): Now depends on ggc.h.
5475         * explow.c (ggc.h): Include.
5476         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
5477
5478         * Makefile.in (expr.o): Depends on insn-attr.h.
5479         * expr.c (insn-attr.h): New include.
5480         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
5481         of MEM.
5482         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
5483         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
5484         clean up related usage in ADDR_EXPR.
5485         (expand_expr_unaligned): Likewise.
5486
5487         * emit-rtl.c (change_address): Fix typo in alias setting.
5488
5489 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5490
5491         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
5492
5493 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5494
5495         PR bootstrap/3451
5496         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
5497         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
5498
5499 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5500
5501         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
5502         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
5503         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
5504         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
5505         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
5506         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
5507         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
5508         sparc64-*-linux*):  Include various CPU headers via tm_file.
5509         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
5510         (SELECT_SECTION): Likewise.
5511         (SELECT_RTX_SECTION): Likewise.
5512         * config/sparc/sparc_bi.h: New file.
5513         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
5514         * config/sparc/linux-aout.h: Likewise.
5515         * config/sparc/linux.h: Don't include sparc/sysv4.h.
5516         * config/sparc/linux64.h: Likewise.
5517         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5518         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
5519         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
5520         and dbxcoff.h
5521         (ASM_OUTPUT_IDENT): Do not #undef.
5522         (SELECT_SECTION): Likewise.
5523         (SELECT_RTX_SECTION): Likewise.
5524         * config/sparc/liteelf.h: Don't include gofast.h.
5525         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
5526         * config/sparc/lynx.h: Don't include sparc/sparc.h.
5527         * config/sparc/pbd.h: Likewise.
5528         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
5529         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
5530         * config/sparc/rtemself.h: Don't include rtems.h.
5531         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
5532         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
5533         sparc_bi.h instead.
5534         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
5535         * config/sparc/sol2.h: Include sparc/sparc.h directly.
5536         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
5537         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
5538         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
5539         * config/sparc/sp86x-elf.h: Don't include gofast.h.
5540         * config/sparc/splet.h: Don't include sparc/aout.h.
5541         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
5542         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
5543         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
5544         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
5545         * config/sparc/vxsparc64.h: Don't include gofast.h.
5546         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5547
5548 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5549
5550         * doc/standards.texi: Mention C99 TC1.
5551
5552 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5553
5554         * mips-protos.h (mips_output_conditional_branch): Const-ify.
5555         * mips.c (mips_output_conditional_branch): Likewise.
5556
5557 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5558
5559         * config/h8300/h8300.c (shift_alg_si): Use special code for
5560         15-bit logical shifts and 31-bit logical shifts.
5561         (get_shift_alg): Generate special code for 15-bit and 31-bit
5562         logical shifts.
5563
5564 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5565
5566         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
5567         doing 6-bit logical shifts on H8/S.
5568         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
5569         (get_shift_alg): Generate special code for 21-bit shifts on
5570         H8/S.
5571
5572 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5573
5574         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
5575         label.
5576
5577 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5578
5579         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
5580         if both size and offset known.
5581
5582 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5583
5584         * config/ia64/freebsd.h: Fix misspelling.
5585
5586 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5587
5588         * doc/gcc.texi: Move several chapters out to ...
5589         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
5590         doc/include/linux-and-gnu.texi, doc/interface.texi,
5591         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
5592         ... here.  New files.
5593         * doc/gcc.texi, doc/contrib.texi: Move section headings into
5594         contrib.texi.
5595         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5596
5597 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5598
5599         * config/alpha/alpha-interix.h: Fix comment formatting.
5600         * config/alpha/alpha.c: Likewise.
5601         * config/alpha/alpha.h: Likewise.
5602         * config/alpha/alpha32.h: Likewise.
5603         * config/alpha/freebsd.h: Likewise.
5604         * config/alpha/unicosmk.h: Likewise.
5605         * config/alpha/vms.h: Likewise.
5606
5607 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5608
5609         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5610
5611 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
5612
5613         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
5614         numbers.
5615
5616 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5617
5618         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
5619         from type.
5620         (replace_equiv_address): Call update_temp_slot_address.
5621
5622         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
5623
5624         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
5625
5626 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5627
5628         * config/h8300/h8300.c (shift_alg_qi): New.
5629         (shift_alg_hi): Likewise.
5630         (shift_alg_si): Likewise.
5631         (get_shift_alg): Change the type of count to unsigned int.
5632         Use the tables.
5633
5634 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
5635
5636         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
5637         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
5638         to decide whether to defer a function.
5639         (finish_function): Adjust.
5640         (c_expand_deferred_function): New function.
5641         * c-lang.c (deferred_fns): New variable.
5642         (c_init): Initialize it, and mark it as a root.
5643         (defer_fn): New function.
5644         (finish_file): Expand all deferred functions.
5645         * c-tree.h (defer_fn): Declare.
5646         (c_expand_deferred_function): Likewise.
5647         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
5648         * objc-act.c (deferred_fns): New variable.
5649         (objc_init): Initialize it, and mark it as a root.
5650         (defer_fn): New function.
5651         (finish_file): Expand all deferred functions.
5652
5653 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5654
5655         * alpha.c (unicosmk_special_name): Prototype.
5656         (unicosmk_ssib_name): Delete unused variable.
5657         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
5658         * alpha/vms.h (PREFIX): Undef before defining.
5659         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
5660         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
5661         controlling usage.  Const-ify.
5662         (alias_number): Delete unused variable.
5663         * m32r/m32r.c (m32r_sched_init): Add missing argument.
5664         (m32r_expand_block_move): Fix uninitialized warnings.
5665         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
5666         always true' warnings.
5667         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
5668         * sh/sh.c: Include "integrate.h".
5669         (output_far_jump): Fix uninitialized warning.
5670         * final.c (shorten_branches): Avoid automatic aggregate
5671         initialization.
5672         * integrate.c (subst_constants): Likewise.
5673
5674 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5675
5676         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
5677         (get_shift_alg): Remove redundant code.
5678
5679 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5680
5681         * config/pa/milli64.S: Fix comment formatting.
5682         * config/pa/pa-64.h: Likewise.
5683         * config/pa/pa-linux.h: Likewise.
5684         * config/pa/pa-protos.h: Likewise.
5685         * config/pa/pa.c: Likewise.
5686         * config/pa/pa.h: Likewise.
5687         * config/pa/pa32-linux.h: Likewise.
5688         * config/pa/pa32-regs.h: Likewise.
5689         * config/pa/pa64-hpux.h: Likewise.
5690         * config/pa/pa64-regs.h: Likewise.
5691         * config/pa/som.h: Likewise.
5692
5693 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5694
5695         * doc/gcc.texi: Move several chapters out to ...
5696         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
5697         doc/service.texi, doc/standards.texi, doc/trouble.texi,
5698         doc/vms.texi: ... here.  New files.
5699         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5700
5701 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5702
5703         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
5704         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
5705         collect2.c, combine.c, config.in, configure, configure.in,
5706         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
5707         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
5708         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
5709         spelling errors.
5710
5711 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5712
5713         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
5714         Adjust operand number in CONST_DOUBLE.
5715
5716         * expmed.c (extract_bit_field): No longer pass in alignment.
5717         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
5718         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
5719         Likewise.
5720         * expr.c (store_constructor, store_constructor_field): Likewise.
5721         (store_field, emit_group_load, emit_group_store): Likewise.
5722         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
5723         (store_bit_field, extract_bit_field): Likewise.
5724         * calls.c, expr.c, function.c: Change calls to above functions.
5725         * ifcvt.c, stmt.c: Likewise.
5726
5727         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
5728         constant and one is on frame.
5729         If know memref offset, adjust size from decl.
5730
5731 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5732
5733         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
5734         format specifier warning.
5735         * convex.h (ASM_OUTPUT_BYTE): Likewise.
5736         * elfos.h (ALIGN_ASM_OP): Undef before defining.
5737         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
5738         warning.
5739         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5740         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5741         * i386-interix.h (gen_stdcall_suffix): Prototype.
5742         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5743         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5744         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5745         * i386/interix.c (gen_stdcall_suffix): Const-ify.
5746         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5747         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
5748         specifier warnings.
5749         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5750         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5751         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5752         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5753         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5754         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5755         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5756         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
5757         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
5758         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5759         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5760         Likewise.
5761         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5762         Likewise.
5763         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
5764         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5765         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
5766         Likewise.
5767         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
5768         Likewise.
5769         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5770         Likewise.
5771         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
5772         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5773         * m68k/news.h (PRINT_OPERAND): Likewise.
5774         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5775         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
5776         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5777         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
5778         definition.
5779         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5780         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
5781         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
5782         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5783         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
5784         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
5785         PRINT_OPERAND): Likewise.
5786         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5787         Likewise.
5788         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5789         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5790         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
5791         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5792         * mips.c (mips_output_external_libcall): Mark parameter with
5793         ATTRIBUTE_UNUSED.
5794         (mips_asm_file_start): Move variable into the scope where it's
5795         used.
5796         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5797         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5798         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
5799         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5800         * ns32k.c (print_operand): Likewise.
5801         * pa.c (print_operand, output_div_insn): Likewise.
5802         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
5803         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
5804         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
5805         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5806         specifier warnings.
5807         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5808         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5809         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
5810         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5811         specifier warnings.
5812         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5813
5814         * sdbout.c (sdbout_end_epilogue): Mark parameter with
5815         ATTRIBUTE_UNUSED.
5816         * varasm.c (assemble_global): Likewise.
5817
5818 2001-11-11  H.J. Lu <hjl@gnu.org>
5819
5820         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
5821
5822 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
5823
5824         * final.c (*_MAX_SKIP): Use *_max_skip variables.
5825         * flags.h (align_loops_max_skip, align_jumps_max_skip,
5826         align_labels_max_skip): New global variables.
5827         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
5828         align_labels_max_skip): New global variables.
5829         (toplev_main): Set new variables.
5830         * i386.c (override_options): Set max_skip values.
5831
5832 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
5833
5834         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
5835         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
5836         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
5837         don't print an @fptr for labels either.
5838         (xstormy16_output_addr_vec): Don't print @fptr here.
5839         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
5840
5841 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
5842
5843         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
5844         an ANSI/ISO definitino.
5845         (ssa_const_prop): Likewise.
5846
5847 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
5848
5849         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
5850         altivec registers.
5851
5852 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5853
5854         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
5855         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
5856         * cppmain.c (general_init): Call hex_init.
5857         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
5858
5859         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
5860
5861         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
5862         of dgux.c:output_file_start().
5863
5864         * i386/dgux.c: Delete file.
5865
5866 2001-11-09  Richard Henderson  <rth@redhat.com>
5867
5868         * config/alpha/alpha.c (decl_in_text_section): New.
5869         (current_file_function_operand): Use it.
5870         (alpha_encode_section_info, alpha_end_function): Likewise.
5871
5872 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
5873
5874         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
5875         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
5876         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
5877         so OS specific files and use CPP_PREDEFINES for their needs.
5878         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
5879         target headers to tm_file.
5880         * config/ia64/aix.h (TARGET_VERSION): Likewise.
5881         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
5882         * config/ia64/linux.h (TARGET_VERSION): Likewise.
5883         (FUNCTION_PROFILER): Remove.
5884         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
5885         version in config/ia64/linux.h.
5886         * config/ia64/freebsd.h: New file.
5887         * config/freebsd.h: Tidy up.
5888         (_USING_CONFIG_FREEBSD): Define.
5889         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
5890         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
5891         (FBSD_STARTFILE_SPEC): Likewise.
5892         (FBSD_ENDFILE_SPEC): Likewise.
5893         (FBSD_LIB_SPEC): Likewise.
5894         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
5895         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
5896         set an ELF-improper one.
5897
5898 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5899
5900         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
5901         constant can be loaded in a single instruction to a register.  When
5902         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
5903         depdi for insertion of most significant 32-bits on 64-bit hosts.
5904         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
5905         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
5906         * pa.md: New addmove pattern for adding constant_int to HImode
5907         register and moving result to HImode register.  Remove HImode HIGH
5908         and LO_SUM patterns.
5909
5910 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5911
5912         * Makefile.in: Update.
5913         * c-decl.c (print_lang_decl, print_lang_type): Remove.
5914         (print_lang_identifier): Rename c_print_identifier.
5915         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5916         (print_lang_statistics, lang_print_xnode): Remove.
5917         * c-parse.in (set_yydebug): Rename c_set_yydebug.
5918         * c-tree.h (c_set_yydebug, c_print_identifier): New.
5919         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
5920         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
5921         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
5922         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5923         (LANG_HOOKS_INITIALIZER): Update.
5924         * langhooks.h (struct lang_hooks): New members.
5925         (lang_print_tree_hook): New.
5926         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
5927         * print-tree.c: Include langhooks.h.
5928         (print_node): Update.
5929         * toplev.c (decode_d_option): Update.
5930         * tree.c: Include langhooks.h.
5931         (dump_tree_statistics): Update.
5932         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
5933         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
5934 objc:
5935         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
5936         LANG_HOOKS_SET_YYDEBUG): Override.
5937         (lang_print_xnode, print_lang_statistics): Remove.
5938
5939 2001-11-09  Richard Henderson  <rth@redhat.com>
5940
5941         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
5942         on the symbol string.
5943
5944 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5945
5946         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
5947         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
5948         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
5949
5950         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
5951
5952         * tlink.c (recompile_files): Copy strings passed to `putenv'.
5953
5954 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
5955
5956         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
5957         (TYPE_READONLY): Likewise.
5958
5959         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
5960
5961         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
5962         don't pass --gdwarf2 to the assembler if the compiler will also
5963         provide debug info.
5964
5965         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
5966         Don't change INDEX.
5967
5968 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5969
5970         * alias.c (nonoverlapping_memrefs_p): New function.
5971         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
5972
5973         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
5974
5975 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
5976
5977         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
5978         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
5979         generating altivec code.
5980         (FIXED_REGISTERS): VRSAVE is fixed.
5981         (CALL_USED_REGISTERS): VRSAVE is call used.
5982
5983 2001-11-09  Jason Eckhardt  <jle@rice.edu>
5984
5985         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
5986         code the branch target as ".+16/.+12", but rather use labels.
5987
5988 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
5989
5990         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
5991         to work around limitations of certain versions of GAS.
5992
5993         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
5994         (muldi3): Update due to SUBREG_BYTE changes.
5995         (casesi): Similarly.
5996
5997 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
5998
5999         * doc/invoke.texi: Remove comment referring to -xf77-version.
6000
6001 2001-11-09  Kazu Hirata  <kazu@hxi.com>
6002
6003         * config/convex/convex.c: Fix comment formatting.
6004         * config/convex/convex.h: Likewise.
6005
6006 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
6007
6008         * Makefile.in (.po.pox): Look both in srcdir and builddir
6009         for $(PACKAGE).pot.
6010         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
6011         to the source directory.
6012
6013 2001-11-09 Ben Elliston  <bje@redhat.com>
6014            Michael Meissner  <meissner@redhat.com>
6015            Andrew MacLeod  <amacleod@redhat.com>
6016            Richard Henderson  <rth@redhat.com>
6017            Nick Clifton  <nickc@redhat.com>
6018            Catherine Moore  <clm@redhat.com>
6019
6020         * m32r.c: Add support for m32rx processor.
6021         * m32r.h: Ditto.
6022         * m32r.md: Ditto.
6023         * t-m32r: Ditto.
6024         * m32r-protos.h: Add prototypes for m32rx functions.
6025         * doc/invoke.texi: Document -m32rx option.
6026
6027 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
6028
6029         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
6030         or after reload.
6031
6032 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6033
6034         * doc/install.texi2html: Use $MAKEINFO --no-split.
6035
6036 2001-11-09  Andreas Schwab  <schwab@suse.de>
6037
6038         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
6039         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
6040         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
6041         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
6042         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
6043
6044 2001-11-09  H.J. Lu <hjl@gnu.org>
6045
6046         * config/mips/mips.c (mips_output_function_prologues): Cast
6047         `tsize' to long for output.
6048
6049 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6050
6051         * c-lang.c (LANG_HOOKS_NAME): New.
6052         (lang_hooks): Constify.
6053         (c_init_options): Update.
6054         (lang_identify): Remove.
6055         * c-parse.in (language_string): Remove.
6056         * dbxout.c: Include langhooks.h.
6057         (dbxout_symbol_location): Update.
6058         * dwarf2out.c: Include langhooks.h.
6059         (gen_compile_unit_die): Update.
6060         * dwarfout.c: Include langhooks.h.
6061         (prototyped_attribute, output_compile_unit_die): Update.
6062         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
6063         (LANG_HOOKS_INITIALIZER): Update.
6064         * langhooks.h (struct lang_hooks): New members.  Constify.
6065         * stringpool.c: Don't include toplev.h.
6066         (set_identifier_size): Remove.
6067         * toplev.c (toplev_main): Initialize identifier size.
6068         (print_version): Update.
6069         * tree.h (language_string, init_lex, lang_identify,
6070         set_identifier_size): Remove.
6071         * Makefile.in: Update dependencies.
6072         * config/darwin.c: Include langhooks.h.
6073         (func_name_maybe_scoped): Update.
6074         * config/darwin.h (ASM_END_FILE): Update.
6075         * config/nextstep.h (ASM_END_FILE): Update.
6076         * config/nextstep21.h (ASM_END_FILE): Update.
6077         * config/i386/sun386.h (ASM_END_FILE): Update.
6078         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
6079         (rs6000_output_function_epilogue): Update.
6080 objc:
6081         * objc-act.c (LANG_HOOKS_NAME): Override.
6082         (struct lang_hooks): Constify.
6083         (objc_init_options): Update.
6084         (lang_identify): Remove.
6085
6086 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
6087
6088         * fold-const.c (lshift_double): Honor PREC.
6089         (rshift_double): Likewise.
6090
6091 2001-11-08  Kazu Hirata  <kazu@hxi.com>
6092
6093         * config/1750a/1750a.c: Fix comment formatting.
6094         * config/1750a/1750a.h: Likewise.
6095
6096 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
6097
6098         * configure.in (--enable-languages): Be more permissive about
6099         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
6100         * configure: Regenerated.
6101
6102 2001-11-08  Richard Henderson  <rth@redhat.com>
6103
6104         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
6105
6106 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
6107
6108         * config.gcc: Rename stormy16 to xstormy16.
6109         * config/stormy16/stormy-abi: Likewise.
6110         * config/stormy16/stormy16-protos.h: Likewise.
6111         * config/stormy16/stormy16.c: Likewise.
6112         * config/stormy16/stormy16.h: Likewise.
6113         * config/stormy16/stormy16.md: Likewise.
6114
6115 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
6116
6117         * tree.h (TYPE_VOLATILE): Add enable-checking code.
6118         (TYPE_READONLY): Likewise.
6119
6120 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6121
6122         * reload1.c (reload): Don't delete equiv insn if can throw.
6123
6124         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
6125         (clear_storage): Likewise, for OBJECT.
6126
6127 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
6128
6129         * pa.c (emit_move_sequence): Fix SUBREG expression to
6130         use proper byte offset when extending a constant from
6131         SImode to DImode.
6132
6133 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
6134
6135         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
6136         which cannot throw.
6137
6138 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6139
6140         * explow.c (convert_memory_address, case SUBREG): Only return
6141         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
6142
6143 2001-11-08  Richard Henderson  <rth@redhat.com>
6144
6145         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
6146         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
6147         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
6148
6149 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
6150
6151         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
6152
6153 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
6154
6155         * dwarf2out.c (debug_str_hash): New.
6156         (struct indirect_string_node): New.
6157         (struct dw_val_struct): Change type of val_str to it.
6158         (DEBUG_STR_SECTION_FLAGS): Define.
6159         (add_AT_string): Push string into hashtable, increment reference
6160         counter.
6161         (AT_string): Return string from ht_identifier.
6162         (AT_string_form): New.
6163         (free_AT): For dw_val_class_str, just decrement reference counter.
6164         (size_of_string): Remove.
6165         (size_of_die): Use AT_string_form to decide what size the string
6166         occupies in DIE.
6167         (size_of_pubnames): Use strlen instead of size_of_string.
6168         (value_format): Use AT_string_form for dw_val_class_str.
6169         (output_die): Output DW_FORM_strp strings using
6170         dw2_asm_output_offset.
6171         (indirect_string_alloc, output_indirect_string): New.
6172         (dwarf2out_finish): Emit .debug_str strings if there are any.
6173
6174 2001-11-08  Andreas Franck  <afranck@gmx.de>
6175
6176         * configure.in: Add AC_ARG_PROGRAM to support program name
6177         transformation with --program-prefix, --program-suffix and
6178         --program-transform-name.
6179         * configure: Regenerated.
6180         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
6181         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
6182         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
6183         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
6184         program_transform_name the way suggested by autoconf.
6185         (GCC_TARGET_INSTALL_NAME): Define.
6186         (install-driver): Use the transformed target alias name.
6187
6188 2001-11-08  Richard Henderson  <rth@redhat.com>
6189
6190         * config/mips/mips.c (save_restore_insns): Remove GP from the
6191         restore registers mask early instead of special casing it inside
6192         the loop.
6193
6194 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6195
6196         * cp/decl.c (shadow_warning): New function.
6197         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
6198         and an error when a block scope decl shadows a parameter.
6199
6200 2001-11-08  Richard Henderson  <rth@redhat.com>
6201
6202         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
6203         case as well.
6204
6205 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6206
6207         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
6208         to implement floating negation on processors prior to PA 2.0.
6209
6210 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
6211
6212         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
6213         (USE_LINKONCE_INDIRECT): Define.
6214         (dw2_output_indirect_constant_1): Try to output indirect constants
6215         into linkonce sections if possible.
6216         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
6217         (dw2_output_indirect_constants): Likewise.
6218
6219 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
6220
6221         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
6222
6223 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6224
6225         * c-decl.c (pushdecl): Remove file and line.
6226         * c-typeck.c (pop_init_level): Remove size.
6227
6228 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
6229
6230         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
6231         for rs6000.
6232
6233         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
6234         (TARGET_ALTIVEC): New.
6235         (TARGET_SWITCHES): Add altivec.
6236         (FIRST_PSEUDO_REGISTER): Change to 109.
6237         (CALL_USED_REGISTERS): Same.
6238         (FIRST_ALTIVEC_REGNO): New.
6239         (LAST_ALTIVEC_REGNO): New.
6240         (ALTIVEC_REGNO_P): New.
6241         (UNITS_PER_ALTIVEC_WORD): New.
6242         (ALTIVEC_VECTOR_MODE): New.
6243         (FIXED_REGISTERS): Add altivec registers.
6244         (REG_ALLOC_ORDER): Same.
6245         (HARD_REGNO_NREGS): Adjust for altivec registers.
6246         (HARD_REGNO_MODE_OK): Same.
6247         (MODES_TIEABLE_P): Same.
6248         (REGISTER_MOVE_COST): Same.
6249         (REGNO_REG_CLASS): Same.
6250         (reg_class): Add ALTIVEC_REGS.
6251         (REG_CLASS_NAMES): Same.
6252         (REG_CLASS_CONTENTS): Same.
6253         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
6254         (ALTIVEC_ARG_RETURN): New.
6255         (FUNCTION_VALUE): Handle VECTOR_TYPE.
6256         (LIBCALL_VALUE): Handle altivec vector modes.
6257         (VECTOR_MODE_SUPPORTED_P): New.
6258         (ALTIVEC_ARG_MIN_REG): New.
6259         (ALTIVEC_ARG_MAX_REG): New.
6260         (ALTIVEC_ARG_NUM_REG): New.
6261         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
6262         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
6263         (REGISTER_NAMES): Add altivec regs.
6264         (DEBUG_REGISTER_NAMES): Same.
6265         (ADDITIONAL_REGISTER_NAMES): Same.
6266         (rs6000_builtins): New.
6267         (MD_EXPAND_BUILTIN): New.
6268         (MD_INIT_BUILTINS): New.
6269         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
6270         for AltiVec instructions.
6271         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
6272         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
6273         registers.
6274         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
6275         (TARGET_SWITCHES): Add no-altivec.
6276         (DATA_ALIGNMENT): Align vectors to 128 bits.
6277         (TARGET_OPTIONS): Add abi= option.
6278         Add rs6000_abi_string extern.
6279         (LOCAL_ALIGNMENT): New.
6280         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
6281         (MASK_ALTIVEC_ABI): New.
6282         (TARGET_ALTIVEC_ABI): New.
6283         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
6284         call-saved.
6285         (STACK_BOUNDARY): Adjust for altivec.
6286         (BIGGEST_ALIGNMENT): Same.
6287         (rs6000_args): Add vregno.
6288         (USE_ALTIVEC_FOR_ARG_P): New.
6289         (FIXED_REGISTERS): Add vrsave register.
6290         (CALL_USED_REGISTERS): Same.
6291         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
6292         (VRSAVE_REGNO): New.
6293         (reg_class): Add VRSAVE_REGS.
6294         (REG_CLASS_NAMES): Same.
6295         (REG_CLASS_CONTENTS): Same.
6296         (REGNO_REG_CLASS): Same.
6297
6298         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
6299         (ABI_STACK_BOUNDARY): Same.
6300         (BIGGEST_ALIGNMENT): Same.
6301         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
6302         (ROUND_TYPE_ALIGN): Same.
6303
6304         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6305         to 64.
6306
6307         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6308         to 64.
6309
6310         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6311         to 64.
6312
6313         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
6314         (altivec_expand_builtin): New.
6315         (altivec_init_builtins): New.
6316         (TARGET_EXPAND_BUILTIN): New.
6317         (TARGET_INIT_BUILTINS): New.
6318         (rs6000_init_builtins): New.
6319         (struct builtin_description): New.
6320         (bdesc_2arg): New.
6321         (rs6000_reg_names): Add altivec registers.
6322         (alt_reg_names): Same.
6323         (secondary_reload_class): Altivec regs can hold altivec regs and
6324         memory.
6325         (rs6000_emit_move): Force constants into memory for AltiVec moves.
6326         (print_operand): Add 'y' case for printing altivec memory
6327         operands.
6328         (rs6000_legitimize_address): Legitimize vector addresses into
6329         [REG+REG] or [REG].
6330         (altivec_expand_binop_builtin): New.
6331         New string rs6000_current_abi.
6332         (rs6000_override_options): Call rs6000_parse_abi_options.
6333         (rs6000_parse_abi_options): New.
6334         (function_arg_boundary): Vector arguments must be 16
6335         byte aligned.
6336         (function_arg_advance): Handle vector arguments.
6337         (function_arg_partial_nregs): Same.
6338         (init_cumulative_args): Same.
6339         (function_arg): Same.
6340
6341         * config/rs6000/rs6000.md (altivec_lvx): New.
6342         (type): Add altivec attribute.
6343         (movv4si): New.
6344         (*movv4si_internal): New.
6345         (movv16qi): New.
6346         (*movv16qi_internal): New.
6347         (movv8hi): New.
6348         (*movv8hi_internal1): New.
6349         (movv4sf): New.
6350         (*movv4sf_internal1): New.
6351         (altivec_stvx): New.
6352         (vaddubm): New.
6353         (vadduhm): New.
6354         (vadduwm): New.
6355         (vaddfp): New.
6356         (vaddcuw): New.
6357         (vaddubs): New.
6358         (vaddsbs): New.
6359         (vadduhs): New.
6360         (vaddshs): New.
6361         (vadduws): New.
6362         (vaddsws): New.
6363         (vand): New.
6364         (vandc): New.
6365         (vavgub): New.
6366         (vavgsb): New.
6367         (vavguh): New.
6368         (vavgsh): New.
6369         (vavguw): New.
6370         (vavgsw): New.
6371         (vcmpbfp): New.
6372         (vcmpequb): New.
6373         (vcmpequh): New.
6374         (vcmpequw): New.
6375         (vcmpeqfp): New.
6376         (vcmpgefp): New.
6377         (vcmpgtub): New.
6378         (vcmpgtsb): New.
6379         (vcmpgtuh): New.
6380         (vcmpgtsh): New.
6381         (vcmpgtuw): New.
6382         (vcmpgtsw): New.
6383         (vcmpgtfp): New.
6384         (vcmpgefp): New.
6385         (vcmpgtub): New.
6386         (vcmpgtsb): New.
6387         (vcmpgtuh): New.
6388         (vcmpgtsh): New.
6389         (vcmpgtuw): New.
6390         (vcmpgtsw): New.
6391         (vcmpgtfp): New.
6392         (vmaxub): New.
6393         (vmaxsb): New.
6394         (vmaxuh): New.
6395         (vmaxsh): New.
6396         (vmaxuw): New.
6397         (vmaxsw): New.
6398         (vmaxfp): New.
6399         (vmrghb): New.
6400         (vmrghh): New.
6401         (vmrghw): New.
6402         (vmrglb): New.
6403         (vmrglh): New.
6404         (vmrglw): New.
6405         (vminub): New.
6406         (vminsb): New.
6407         (vminuh): New.
6408         (vminsh): New.
6409         (vminuw): New.
6410         (vminsw): New.
6411         (vminfp): New.
6412         (vmuleub): New.
6413         (vmulesb): New.
6414         (vmuleuh): New.
6415         (vmulesh): New.
6416         (vmuloub): New.
6417         (vmulosb): New.
6418         (vmulouh): New.
6419         (vmulosh): New.
6420         (vnor): New.
6421         (vor): New.
6422         (vpkuhum): New.
6423         (vpkuwum): New.
6424         (vpkpx): New.
6425         (vpkuhss): New.
6426         (vpkshss): New.
6427         (vpkuwss): New.
6428         (vpkswss): New.
6429         (vpkuhus): New.
6430         (vpkshus): New.
6431         (vpkuwus): New.
6432         (vpkswus): New.
6433         (vrlb): New.
6434         (vrlh): New.
6435         (vrlw): New.
6436         (vslb): New.
6437         (vslh): New.
6438         (vslw): New.
6439         (vsl): New.
6440         (vslo): New.
6441         (vsrb): New.
6442         (vrsh): New.
6443         (vrsw): New.
6444         (vsrab): New.
6445         (vsrah): New.
6446         (vsraw): New.
6447         (vsr): New.
6448         (vsro): New.
6449         (vsububm): New.
6450         (vsubuhm): New.
6451         (vsubuwm): New.
6452         (vsubfp): New.
6453         (vsubcuw): New.
6454         (vsububs): New.
6455         (vsubsbs): New.
6456         (vsubuhs): New.
6457         (vsubshs): New.
6458         (vsubuws): New.
6459         (vsubsws): New.
6460         (vsum4ubs): New.
6461         (vsum4sbs): New.
6462         (vsum4shs): New.
6463         (vsum2sws): New.
6464         (vsumsws): New.
6465         (vxor): New.
6466
6467 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
6468
6469         * Makefile.in (df.o): Add fibheap.h to dependencies.
6470
6471         * df.h: Add prototypes for transfer functions, iterative_dataflow
6472         functions.
6473         (enum df_flow_dir): New enum.
6474         (enum df_confluence_op): New enum.
6475         (struct df): Add inverse_rts_map.
6476
6477         * df.c: Add sbitmap.h to the list of includes.
6478         (df_rd_global_compute): Removed.
6479         (df_ru_global_compute): Removed.
6480         (df_lr_global_compute): Removed.
6481         (df_rd_transfer_function): New function.
6482         (df_ru_transfer_function): New function.
6483         (df_lr_transfer_function): New function.
6484         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
6485         Use iterative_dataflow_bitmap instead of df_*_global_compute.
6486         (iterative_dataflow_sbitmap): New function.
6487         (iterative_dataflow_bitmap): New function.
6488
6489 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6490
6491         * doc/gcc.texi: Move terminology and spelling conventions to
6492         htdocs/codingconventions.html.
6493
6494 2001-11-07  Graham Stott  <grahams@redhat.com>
6495
6496         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
6497
6498 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
6499
6500         * expmed.c (expand_mult): Force operand to register before computing
6501         cost.
6502         * i386.c (x86_decompose_lea): New global vairable.
6503         * i386.h (x86_decompose_lea): Declare.
6504         (TARGET_DECOMPOSE_LEA): New macro.
6505         (RTX_COST): Handle leas properly.
6506
6507 2001-11-06  Richard Henderson  <rth@redhat.com>
6508
6509         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
6510         defined for a CONSTRUCTOR; don't check it.
6511
6512 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
6513
6514         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
6515         test for absolute pathnames.
6516
6517 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
6518
6519         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
6520         instructions up to the target pc inclusive.
6521
6522 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
6523
6524         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
6525
6526 2001-11-06  Eric Christopher  <echristo@redhat.com>
6527
6528         * config/mips/mips.md(movdf_internal2): Add constraints for float
6529         to general register move.
6530         * config/mips/elf64.h: Add default ABI.
6531
6532 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6533
6534         * alias.c:: Include langhooks.h.
6535         * emit-rtl.c: Similarly.
6536         * toplev.c: Similarly.
6537         * tree-inline.c: Similarly.
6538         * langhooks-def.h: New, the old langhooks.h.  Give the default
6539         hooks a common prefix.
6540         * langhooks.h: Contents extracted from toplev.h.
6541         * toplev.h: Move langhook stuff to langhooks.h.
6542         * langhooks.c: Give default hooks a common prefix.
6543
6544         * c-lang.c: Include langhooks-def.h.
6545         * objc/objc-act.c: Similarly.
6546         * Makefile.in: Update.
6547         * objc/Make-lang.in: Update.
6548
6549 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6550
6551         * doc/install.texi: Document that configure options not listed in
6552         this file are unsupported.  Document --with-system-zlib.
6553
6554 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6555
6556         * rtl.h (mem_for_const_double): New declaration.
6557         * varasm.c (mem_for_const_double): New function.
6558         * config/convex/convex.md (movdf): Use it.
6559         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
6560         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
6561         * config/m68k/m68kv4.h: Likewise.
6562
6563         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
6564         of new GP reg classes.
6565
6566         * expr.c (store_field): When making temp object for unaligned
6567         component, set it to alias set 0.
6568
6569 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6570
6571         * c-common.c (c_expand_expr_stmt): Apply default conversions to
6572         non-lvalue arrays if C99.
6573         * c-typeck.c (default_conversion): Split out code handling
6574         array-to-pointer and function-to-pointer conversions into a
6575         separate default_function_array_conversion function.
6576         (default_function_array_conversion): New function.  Keep track of
6577         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
6578         arrays unchanged outside C99 mode instead of giving an error for
6579         them.
6580         (build_component_ref): Use pedantic_non_lvalue when handling
6581         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
6582         (convert_arguments): Use default_function_array_conversion.
6583         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
6584         non-lvalues are OK.
6585         (unary_complex_lvalue): Likewise.
6586         (internal_build_compound_expr): Use
6587         default_function_array_conversion.  Apply default conversions to
6588         function in compound expression.
6589         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
6590         Use default_function_array_conversion.
6591         * doc/extend.texi: Update documentation of subscripting non-lvalue
6592         arrays.
6593         Fixes PR c/461.
6594
6595 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
6596
6597         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
6598         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
6599         corresponding to the complete set of .po and .gmo files in
6600         the source directory's po subdir, modified by LINGUAS.  Don't
6601         look at ALL_LINGUAS.
6602         * configure.in: Don't set ALL_LINGUAS.
6603         * configure: Regenerate.
6604
6605         * Makefile.in (.po.gmo): Don't move into source directory.
6606         (.po.pox): Clarify comments.
6607         (install-po): Look for .gmo files in both srcdir and objdir;
6608         don't fail if a file is totally missing.
6609         (distclean): rmdir ada subdirectory too.
6610
6611 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6612
6613         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6614         CONSTRUCTORs _correctly_.
6615
6616 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6617
6618         * c-decl.c (delete_block): Remove.
6619         * c-tree.h (delete_block): Remove.
6620
6621 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6622
6623         * cppexp.c (lex, parse_defined): Update warning about defined.
6624
6625 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6626
6627         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6628         CONSTRUCTORs too.
6629
6630 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
6631
6632         * config/arm/arm.c (arm_return_in_memory): Cope with
6633         int_size_in_bytes returning -1.
6634
6635         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
6636         DECL being NULL.
6637
6638 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6639
6640         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
6641         remove unneeded dependencies;
6642         (cfglayout.o): New.
6643         * cfglayout.c, cfglayout.h: New files; break out from ...
6644         * bb-reorder.c: ... here; Remove unneeded includes;
6645
6646 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
6647
6648         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
6649
6650 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
6651
6652         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
6653         mode as well.  Do not explicitly create intermediate regs.
6654
6655 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6656
6657         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
6658         (common_section): Delete unused variable.
6659         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
6660         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6661         * arm-protos.h (arm_poke_function_name, aof_add_import,
6662         aof_delete_import): Const-ify.
6663         * arm.c (legitimize_pic_address): Wrap variables in the macro
6664         controlling their usage.
6665         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
6666         (arm_poke_function_name, pic_chain, import, aof_add_import,
6667         aof_delete_import): Const-ify.
6668         * i386.c (ix86_osf_output_function_prologue): Const-ify.
6669         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6670         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
6671         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
6672         * i860/sysv3.h: Add missing comment closure.
6673         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
6674         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
6675         to symbolic_operand.
6676
6677         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
6678         (i960-*-*): Set tmake_file.
6679         (sparc86x-*-elf*): Fix typo in header name.
6680
6681         * sched-rgn.c (schedule_insns): Delete unused variable.
6682
6683 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6684
6685         PR c/2820
6686         * c-typeck.c (lookup_field): Rework to return a chain down to
6687         the looked-up field.
6688         (build_component_ref): Use the new lookup_field to handle
6689         nested anonymous entities correctly.
6690
6691 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6692
6693         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
6694         Change parameters to gen_rtx_CONST_DOUBLE.
6695         (GEN_INT64, sparc_emit_set_const64): Likewise.
6696         * config/sparc/sparc.md (movdf split): Likewise.
6697
6698 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
6699
6700         * unroll.c (calculate_giv_inc): Use find_last_value rather
6701         than just hoping the last instruction is the right SET.
6702         [Fixes 990604-1.c on stormy16.]
6703
6704         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
6705         library at all if -T is used.
6706
6707         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
6708         some uses of uninitialized variables in error cases.
6709
6710         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
6711         look at 'temp' if we won't be using it.
6712
6713         * config/stormy16/stormy16.h (CONST_COSTS): Define.
6714         (RTX_COSTS): Define.
6715         (ADDRESS_COST): Define.
6716         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
6717
6718         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
6719
6720         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
6721         stormy16_asm_output_mi_thunk.
6722         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
6723         function.
6724         * config/stormy16/stormy16-protos.h
6725         (stormy16_asm_output_mi_thunk): New prototype.
6726
6727 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6728
6729         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
6730         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
6731         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
6732         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
6733         sched-int.h, toplev.c, config/alpha/alpha.c,
6734         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
6735         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
6736         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
6737         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
6738         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
6739         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
6740         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
6741
6742 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6743
6744         * Makefile.in (dbxout.o): Depend on function.h.
6745         * collect2.c (is_in_list): Hide unused function.
6746         * dbxout.c: Include function.h.
6747         (source_label_number, dbxout_source_line, dbxout_source_file,
6748         dbxout_function_end, dbxout_begin_function): Wrap/move inside
6749         macros controlling usage.
6750         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
6751         * output.h (exports_section): Prototype.
6752
6753         * convex.c (convex_output_function_prologue): Fix format specifier
6754         warning.
6755         (asm_declare_function_name): Fix signed/unsigned warning.
6756         (print_operand): Fix format specifier warning.
6757         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
6758         * dsp16xx-protos.h (uns_comparison_operator,
6759         num_1600_core_shifts): Prototype.
6760         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
6761         (frame_size, frame_pointer_offset): Delete.
6762         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
6763         Make static.  Fix format specifier warnings.
6764         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
6765         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
6766         * dsp16xx.md: Add default case in switches.
6767         * fr30.h (IN_RANGE): Delete.
6768         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6769         * mcore-protos.h (mcore_output_cmov): Const-ify.
6770         * mcore.c (mcore_output_cmov): Likewise.
6771         * mcore.h (switch_to_section): Make static and prototype.
6772         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
6773         unsigned>=0 warnings.
6774         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
6775         * rs6000-protos.h (read_only_data_section,
6776         read_only_private_data_section): Prototype.
6777         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6778         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
6779         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
6780
6781 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6782
6783         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
6784         ATTRIBUTE_UNUSED.
6785         * final.c (final_scan_insn): Add brackets around body of if-stmt.
6786         * gcc.c (convert_filename): Add static prototype.  Const-ify.
6787         Wrap variable in macros controlling its use.
6788         * output.h (sdata_section): Add prototype.
6789
6790         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6791         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
6792         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
6793         (ASM_FILE_START): Const-ify.
6794         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
6795         specifier warning.
6796         * c4x.md: Don't use the 'U' integer suffix.
6797         * clipper.md (clipper_movstr): Delete declaration.
6798         * d30v-protos.h (d30v_move_2words): Const-ify.
6799         (debug_stack_info): Add prototype.
6800         * d30v.c: Include "integrate.h".
6801         (d30v_function_arg_boundary, d30v_function_arg,
6802         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
6803         signed/unsigned warnings.
6804         (d30v_print_operand_memory_reference, d30v_move_2words):
6805         Const-ify.
6806         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
6807         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
6808         * fr30.md: Const-ify.
6809         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6810         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
6811         (mvs_get_label_page): Hide unused static function.
6812         * i860.c (current_function_original_name): Const-ify.
6813         * i860/sysv3.h (current_function_original_name): Likewise.
6814         * i860/sysv4.h (current_function_original_name): Likewise.
6815         * i960.md: Add default case in switches.  Remove unused variable.
6816         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
6817         * m32r.md: Const-ify.
6818         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
6819         * m68hc11.c: Include "reload.h".
6820         (static_chain_reg, print_options, m68hc11_asm_file_start):
6821         Const-ify.
6822         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
6823         around & in comparison.
6824         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6825         * mn10200.c (shift_mode): Remove trailing comma.
6826         * mn10300-protos.h (output_tst): Const-ify.
6827         * mn10300.c (output_tst): Likewise.
6828         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
6829         warnings.
6830         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
6831         * pa.c (output_ascii): Likewise.
6832         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6833         * pdp11.md (expand_unop): Delete declarations.
6834         * pj-protos.h (pj_output_addsi3): Const-ify.
6835         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
6836         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
6837         unique_src_operand): Add prototypes.
6838         (pj_output_store_into_lval): Make definition static.
6839         (pj_function_incoming_arg): Don't use unary plus.
6840         (pj_output_addsi3): Const-ify.
6841         * romp.md (get_symref): Delete declarations.
6842         * v850-c.c (mark_current_function_as_interrupt): Don't return
6843         value from void function.
6844         * v850.c: Include "integrate.h".
6845         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
6846         * vax-protos.h (const_section): Add prototype.
6847
6848 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
6849
6850         * machmode.def: Add documentation for the seventh argument in
6851         vector modes.
6852
6853 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
6854
6855         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
6856         consistently.
6857         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
6858         <-melf>: Don't have markup for ELF acronym.
6859
6860 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
6861
6862         * config.gcc (mmix-*-*): New target.
6863         * doc/invoke.texi: Document MMIX options.
6864         * doc/contrib.texi: Add note about MMIX port to my entry.
6865         * config/mmix/t-mmix: New file.
6866         * config/mmix/mmix.h: New file.
6867         * config/mmix/mmix-protos.h: New file.
6868         * config/mmix/mmix.c: New file.
6869         * config/mmix/mmix.md: New file.
6870         * config/mmix/crti.asm: New file.
6871         * config/mmix/crtn.asm: New file.
6872
6873 2001-11-03  Kazu Hirata  <kazu@hxi.com>
6874
6875         * config/sparc/linux-aout.h: Fix comment formatting.
6876         * config/sparc/linux.h: Likewise.
6877         * config/sparc/linux64.h: Likewise.
6878         * config/sparc/lynx.h: Likewise.
6879         * config/sparc/pbd.h: Likewise.
6880         * config/sparc/sol2-sld-64.h: Likewise.
6881         * config/sparc/sol2.h: Likewise.
6882         * config/sparc/sparc.c: Likewise.
6883         * config/sparc/sparc.h: Likewise.
6884         * config/sparc/sparc.md: Likewise.
6885         * config/sparc/sunos4.h: Likewise.
6886         * config/sparc/vxsim.h: Likewise.
6887         * config/sparc/vxsparc.h: Likewise.
6888         * config/sparc/vxsparc64.h: Likewise.
6889
6890 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6891
6892         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
6893         reference to CONST_DOUBLE_MEM in comment.
6894         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
6895         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
6896         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
6897         * function.c (pop_function_context_from): Don't call
6898         restore_varasm_status.
6899         * function.h (restore_varasm_status): Delete declaration.
6900         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
6901         * rtl.c: Likewise.
6902         * rtl.def (CONST_DOUBLE): Update comment.
6903         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
6904         (CONST_DOUBLE_CHAIN): Likewise.
6905         (CONST_DOUBLE_MEM): Delete.
6906         (gen_rtx_CONST_DOUBLE): Update parameters.
6907         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
6908         Remove reference to CONST_DOUBLE_MEM.
6909         (const_alias_set): New variable.
6910         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
6911         (immed_real_const_1): Adjust tests for 0, 1, and 2.
6912         Don't set CONST_DOUBLE_MEM.
6913         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
6914         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
6915         Put constant in const_alias_set.
6916         (struct pool_constant): ALIGN now unsigned.
6917         OFFSET now HOST_WIDE_INT.
6918         Delete LABEL.
6919         (restore_varasm_status): Deleted.
6920         (mark_pool_constant): Mark desc->rtl.
6921         (force_const_mem): Rework to store rtl in hash table,
6922         not CONST_DOUBLE_MEM.
6923         Put constant in const_alias_set.
6924         (find_pool_constant): Check desc->rtl.
6925         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
6926         (init_varasm_once): Initialize const_alias_set.
6927
6928         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
6929         force_const_mem.
6930
6931         * reload.c (combine_reloads): Don't combine an output reload if there
6932         are other reloads around for part of the output.
6933
6934         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
6935         constant expression.
6936         (set_mem_decl): New function.
6937         * expr.h (set_mem_decl): New declaration.
6938         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
6939         (output_asm_operand_names): Add tab.
6940         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
6941
6942         * builtins.c (get_memory_rtx): Properly set MEM alias set and
6943         attributes.
6944
6945 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6946
6947         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
6948         Use "invalid" instead of "illegal".  Use @r in comments in
6949         examples.
6950
6951 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
6952
6953         * c-decl.c (pushdecl): Move block inside if conditional to remove
6954         possibility of a segfault.  Lookup block-level extern
6955         variables in enclosing scopes correctly.
6956
6957         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
6958
6959 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6960
6961         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
6962         SUBREG so we avoid SUBREGing memory.
6963
6964         * expmed.c (store_bit_field): Same.
6965
6966 2001-11-02  DJ Delorie  <dj@redhat.com>
6967
6968         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
6969         using FP registers for DImode mem-mem moves is acceptable.
6970
6971 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6972
6973         * builtins.c (apply_args_size): Handle vector arguments.
6974         (apply_result_size): Same.
6975
6976         * machmode.def: Set WIDER mode field for all vector entries.
6977
6978 2001-11-02  Graham Stott  <grahams@redhat.com>
6979
6980         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
6981
6982 2001-11-01  Eric Christopher  <echristo@redhat.com>
6983
6984         * config.gcc: Revert part of earlier patch.
6985         * config/mips/linux.h: Ditto.
6986         * df.c: Include tm_p.h to avoid warnings.
6987         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
6988         #if/#endif.
6989         * config/mips/mips.c: Define mips_abi regardless.
6990         (mips_output_function_prologues): Add long casts for .frame
6991         output.
6992         (override_options): Allow use of ABI_32.
6993
6994 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6995
6996         * config/m68hc11/m68hc11.c: Fix comment formatting.
6997         * config/m68hc11/m68hc11.h: Likewise.
6998         * config/m68hc11/m68hc11.md: Likewise.
6999
7000 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7001
7002         * c-typeck.c (default_conversion): Retain the original expression
7003         codes.
7004         * gcc.dg/Wparentheses.c: New tests.
7005
7006 2001-11-01  David S. Miller  <davem@redhat.com>
7007
7008         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
7009         64-bit Sparc description more in line with reality.
7010
7011 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
7012
7013         * Makefile.in (GCOV_OBJS): Add version.o.
7014         * gcov.c: Include "version.h" and <getopt.h>.
7015         (gcov_version_string): Remove.
7016         (print_usage): Take a parameter to determine whether this is a
7017         call from --help or an error message.  Give fuller output that
7018         follows the GNU Coding Standards for --help.
7019         (print_version): New function.
7020         (options): New.
7021         (process_args): Use getopt_long.  Support long options.  Follow
7022         GNU Coding Standards for --help and --version.
7023         * doc/gcov.texi: Document long options.
7024         Addresses part of PR other/704.
7025
7026 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7027
7028         * pa.c (output_move_double): Fix typo in double load.
7029
7030 2001-11-01  Kazu Hirata  <kazu@hxi.com>
7031
7032         * config/h8300/h8300.c (h8300_encode_label): Compute a string
7033         before passing it to ggc_alloc_string.
7034
7035 2001-11-01  Kazu Hirata  <kazu@hxi.com>
7036
7037         * config/m68k/3b1.h: Fix comment formatting.
7038         * config/m68k/3b1g.h: Likewise.
7039         * config/m68k/a-ux.h: Likewise.
7040         * config/m68k/amix.h: Likewise.
7041         * config/m68k/apollo68.h: Likewise.
7042         * config/m68k/atari.h: Likewise.
7043         * config/m68k/aux-exit.c: Likewise.
7044         * config/m68k/ccur-GAS.h: Likewise.
7045         * config/m68k/crds.h: Likewise.
7046         * config/m68k/dpx2.h: Likewise.
7047         * config/m68k/dpx2g.h: Likewise.
7048         * config/m68k/hp310.h: Likewise.
7049         * config/m68k/hp320.h: Likewise.
7050         * config/m68k/isi.h: Likewise.
7051         * config/m68k/linux.h: Likewise.
7052         * config/m68k/lynx.h: Likewise.
7053         * config/m68k/m68k-psos.h: Likewise.
7054         * config/m68k/m68k.c: Likewise.
7055         * config/m68k/m68k.h: Likewise.
7056         * config/m68k/m68k.md: Likewise.
7057         * config/m68k/m68kelf.h: Likewise.
7058         * config/m68k/m68kv4.h: Likewise.
7059         * config/m68k/mot3300.h: Likewise.
7060         * config/m68k/news.h: Likewise.
7061         * config/m68k/next.h: Likewise.
7062         * config/m68k/pbb.h: Likewise.
7063         * config/m68k/plexus.h: Likewise.
7064         * config/m68k/sgs.h: Likewise.
7065         * config/m68k/sun3.h: Likewise.
7066         * config/m68k/tower.h: Likewise.
7067         * config/m68k/vxm68k.h: Likewise.
7068
7069 2001-10-31  DJ Delorie  <dj@redhat.com>
7070
7071         * config/mips/mips.h (mips_cache_flush_func): Prototype.
7072         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
7073         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
7074         * config/mips/mips.c (mips_cache_flush_func): New.
7075         * doc/invoke.texi: Document the new options.
7076
7077 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
7078
7079         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
7080         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
7081
7082         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
7083
7084         * config/cris/cris.c: Include output.h after tree.h but before
7085         target.h.
7086
7087 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
7088
7089         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
7090         (INTL_SUBDIRS): Just intl.
7091         (.SUFFIXES): Add .gmo .po .pox.
7092         (native): Also depend on build-@POSUB@.
7093         (intl.all, intl.install): Depend on config.h and things it includes.
7094         (po-generated): New target; depend on c-parse.c and tradcif.c.
7095         (install-normal): Also depend on install-@POSUB@.
7096         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
7097         (build-, install-, build-po, update-po, install-po,
7098         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
7099
7100         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
7101         * configure.in: Don't munge XGETTEXT.  Don't generate
7102         po/Makefile.in.
7103         * configure: Regenerate.
7104
7105         * exgettext: Delete.
7106         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
7107         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
7108
7109 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7110
7111         * config/h8300/h8300.md (two anonymous patterns): New.
7112
7113 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
7114
7115         * tree.h (tree_index): Add support for V16QI and V8HI.
7116         (V8HI_type_node): New.
7117         (V16QI_type_node): New.
7118
7119         * tree.c (build_common_tree_nodes_2): Same.
7120
7121         * c-common.c (type_for_mode): Same.
7122
7123 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7124
7125         * config/i386/att.h: Fix comment formatting.
7126         * config/i386/beos-elf.h: Likewise.
7127         * config/i386/bsd.h: Likewise.
7128         * config/i386/bsd386.h: Likewise.
7129         * config/i386/crtdll.h: Likewise.
7130         * config/i386/cygwin.asm: Likewise.
7131         * config/i386/cygwin.h: Likewise.
7132         * config/i386/djgpp.h: Likewise.
7133         * config/i386/freebsd-aout.h: Likewise.
7134         * config/i386/freebsd.h: Likewise.
7135         * config/i386/gas.h: Likewise.
7136         * config/i386/i386-interix.h: Likewise.
7137         * config/i386/i386-protos.h: Likewise.
7138         * config/i386/i386.c: Likewise.
7139         * config/i386/i386.h: Likewise.
7140         * config/i386/i386.md: Likewise.
7141         * config/i386/i386elf.h: Likewise.
7142         * config/i386/interix.c: Likewise.
7143         * config/i386/isc.h: Likewise.
7144         * config/i386/isccoff.h: Likewise.
7145         * config/i386/iscdbx.h: Likewise.
7146         * config/i386/linux.h: Likewise.
7147         * config/i386/lynx.h: Likewise.
7148         * config/i386/mingw32.h: Likewise.
7149         * config/i386/netbsd-elf.h: Likewise.
7150         * config/i386/next.h: Likewise.
7151         * config/i386/osf1elf.h: Likewise.
7152         * config/i386/osfrose.h: Likewise.
7153         * config/i386/sco5.h: Likewise.
7154         * config/i386/seq-gas.h: Likewise.
7155         * config/i386/seq-sysv3.h: Likewise.
7156         * config/i386/sequent.h: Likewise.
7157         * config/i386/sol2.h: Likewise.
7158         * config/i386/sun386.h: Likewise.
7159         * config/i386/uwin.asm: Likewise.
7160         * config/i386/uwin.h: Likewise.
7161         * config/i386/vxi386.h: Likewise.
7162         * config/i386/win32.h: Likewise.
7163         * config/i386/winnt.c: Likewise.
7164         * config/i386/xm-cygwin.h: Likewise.
7165         * config/i386/xm-mingw32.h: Likewise.
7166
7167 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7168
7169         * builtins.def: Fix comment typos.
7170         * config/alpha.c: Likewise.
7171         * config/arm/arm.c: Likewise.
7172         * config/avr/avr.h: Likewise.
7173         * config/d30v/d30v.c: Likewise.
7174         * config/d30v/d30v.h: Likewise.
7175         * config/d30v/d30v.md: Likewise.
7176         * config/dsp16xx/dsp16xx.c: Likewise.
7177         * config/fr30/fr30.c: Likewise.
7178         * config/fr30/fr30.md: Likewise.
7179         * config/i386/i386.c: Likewise.
7180         * config/i860/i860.c: Likewise.
7181         * config/i960/i960.c: Likewise.
7182         * config/ia64/ia64.c: Likewise.
7183         * config/mips/mips.c: Likewise.
7184         * config/pa/pa.c: Likewise.
7185         * config/rs6000/rs6000.c: Likewise.
7186         * config/s390/s390.c: Likewise.
7187         * config/sparc/sparc.c: Likewise.
7188
7189 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7190
7191         * config/mips/elf.h: Fix comment formatting.
7192         * config/mips/elf64.h: Likewise.
7193         * config/mips/iris5.h: Likewise.
7194         * config/mips/iris5gas.h: Likewise.
7195         * config/mips/iris6.h: Likewise.
7196         * config/mips/isa3264.h: Likewise.
7197         * config/mips/linux.h: Likewise.
7198         * config/mips/mips.c: Likewise.
7199         * config/mips/mips.h: Likewise.
7200         * config/mips/mips.md: Likewise.
7201         * config/mips/mips16.S: Likewise.
7202         * config/mips/netbsd.h: Likewise.
7203         * config/mips/osfrose.h: Likewise.
7204         * config/mips/r3900.h: Likewise.
7205         * config/mips/sni-svr4.h: Likewise.
7206         * config/mips/svr4-t.h: Likewise.
7207         * config/mips/ultrix.h: Likewise.
7208
7209 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
7210
7211         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
7212         when we update head->current.
7213
7214 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
7215
7216         * tree.c (id_string_size): Remove.
7217         (dump_tree_statistics): Update.
7218         * toplev.c (compile_file): If dumping stats, dump tree stats too.
7219
7220 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
7221
7222         * sched-rgn.c (schedule_insns): Fix comment.
7223
7224 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
7225
7226         * configure.in: Correct previous change: don't assume that
7227         gas's version number _isn't_ the last thing on the line, or
7228         isn't the only number on the line, either.
7229         * configure: Regenerate.
7230
7231 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7232
7233         * cfgcleanup.c: Fix a comment typo.
7234
7235 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7236
7237         * alias.c: Fix comment formatting.
7238         * recog.c: Likewise.
7239         * config/cris/cris.c: Likewise.
7240         * config/cris/cris.h: Likewise.
7241         * config/i960/i960.c: Likewise.
7242         * config/i960/i960.h: Likewise.
7243
7244 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7245
7246         * config/arm/arm.c: Fix a comment typo.
7247         * config/arm/arm.h: Likewise.
7248         * config/ia64/ia64.c: Likewise.
7249
7250 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
7251
7252         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
7253         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
7254         * rtl.h (set_unique_reg_note): Change return value.
7255         * gcse.c (try_replace_reg): Use set_unique_reg_note.
7256         * cse.c (cse_insn): Likewise.
7257         * expr.c (emit_move_insn): Likewise.
7258         * explow.c (force_reg): Likewise.
7259         * local-alloc (update_equiv_regs): Likewise.
7260         * loop.c (move_moveables, load_mems): Likewise.
7261         * reload (find_reloads): Likewise.
7262
7263 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
7264
7265         Localization fixes.
7266         * c-decl.c (parmlist_tags_warning, start_struct,
7267         check_for_loop_decls): Separate messages for struct, union and
7268         enum cases to allow for languages in which they have different
7269         genders.
7270         * c-format.c (scanf_flag_specs): Separate short and long name of
7271         the assignment suppression feature.
7272         (check_format_types): Localize "pointer" and "different types"
7273         strings.
7274         * c-lex.c (lex_number): Localize "an unsigned long int" and
7275         related strings.
7276         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
7277         warning message.
7278         * c-typeck.c (build_unary_up): Separate messages for increment and
7279         decrement cases to allow for languages in which they use different
7280         articles.  Localize the strings "increment" and "decrement" in one
7281         case.
7282
7283 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
7284
7285         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
7286         when no changes has been made.
7287
7288         * gcse.c (reg_set_bitmap): Turn into reg_set.
7289         (modify_mem_list_set, canon_modify_mem_list_set)
7290         (clear_modify_mem_tables, free_modify_mem_tables): New.
7291         (gcse_main); Use free_modify_mem_tables.
7292         (free_gcse_mem): Likewise; free the bitmaps.
7293         (alloc_gcse_main): Initialize the bitmaps.
7294         (canon_list_insert): Set canon_modify_mem_list_set.
7295         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
7296         (compute_hash_table): Use clear_modify_mem_tables.
7297         (reset_opr_set_tables): Likewise.
7298         (oprs_not_set_p): reg_set_bitmap is regset.
7299         (mark_set, mark_clobber): Likewise.
7300
7301         * df.h (DF_EQUIV_NOTES): New constant.
7302         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
7303         when asked for.
7304
7305         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
7306         (init_regions, schedule_insns): Conditionalize the checking
7307         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
7308
7309 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
7310
7311         * i386.md (movti_rex64 splitter): Fix condition.
7312
7313 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
7314
7315         * configure.in: Do not assume that gas's version number is the
7316         last thing on the first line of as --version output.
7317         * configure: Regenerate.
7318
7319         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
7320         MT_WARNING, MT_ERROR, MT_FATAL.
7321         (main): Call gcc_init_libintl.
7322         (v_message): Call gettext on msgid and "warning: "
7323         * tradcif.y: Include intl.h.
7324         (yyerror): Make parameter definition consistent with
7325         prototype.  Call gettext on msgid argument.
7326
7327 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7328
7329         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
7330         warnings.
7331
7332         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
7333
7334 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7335
7336         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
7337         before referencing it.
7338
7339 2001-10-26  DJ Delorie  <dj@redhat.com>
7340
7341         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
7342         override -G, and force -G0.
7343
7344 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7345
7346         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
7347         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
7348         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
7349         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
7350
7351         * loop.h (struct induction): Rename ext_dependant to
7352         ext_dependent.
7353         * loop.c: Change all uses.
7354         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
7355         All callers changed.
7356         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
7357
7358 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7359
7360         * c-parse.in (expr_no_commas, primary), c-typeck.c
7361         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
7362
7363 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
7364
7365         Undo assemble_name change in earlier patch.
7366
7367 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
7368
7369         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
7370         determining the type of the receiver, do not check that TREE_CODE
7371         of receiver is CALL_EXPR before calling receiver_is_class_object().
7372         (receiver_is_class_object): For the GNU runtime: recognize
7373         the case that the receiver is self in a class method context.
7374         Check that TREE_CODE of receiver is CALL_EXPR when checking that
7375         the receiver is a call to objc_get_class.
7376
7377 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7378
7379         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
7380
7381 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7382
7383         * Makefile.in (OBJS): Put all files in alphabetical order.
7384
7385         * dwarf2out.c (add_const_value_attribute): Fix error in last
7386         change.
7387
7388 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7389
7390         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
7391         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
7392         fix warning.
7393         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
7394         (life_analysis): call purge_all_dead_edges after deleting noops.
7395         (delete_noop_move): Do not purge CFG.
7396         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
7397
7398 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
7399
7400         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
7401         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
7402         (ASM_GLOBALIZE_LABEL): Use assemble_name.
7403         (ASM_OUTPUT_COMMON): Likewise.
7404         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
7405         (rs6000_output_function_epilogue): Likewise.
7406         (output_mi_thunk): Fix typo.
7407         (rs6000_output_symbol_ref): Use assemble_name.
7408         (output_toc): Likewise.
7409         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
7410         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
7411         assemble_name calls STRIP_NAME_ENCODING.
7412         (ASM_OUTPUT_LABEL): Use assemble_name.
7413         (ASM_GLOBALIZE_LABEL): Likewise.
7414         (ASM_DECLARE_FUNCTION_NAME): Likewise.
7415         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
7416         (ASM_OUTPUT_LOCAL): Likewise.
7417
7418 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7419
7420         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
7421         (expand_builtin_apply, expand_builtin_return): Likewise.
7422         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
7423
7424 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7425
7426         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7427         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
7428         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
7429         configure, configure.in, except.c, except.h, flow.c, function.c,
7430         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
7431         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
7432         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
7433         unroll.c: Fix spelling errors.
7434
7435         * doc/extend.texi, doc/invoke.texi: Fix spelling.
7436
7437         * doc/gcc.texi: Document use of "dependent" and American spelling.
7438
7439 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
7440
7441         * expr.c (emit_group_load): Support CONCATs by storing them to memory
7442         and reloading.
7443
7444 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7445
7446         * expr.c (store_constructor_field): Only call adjust_address on MEM.
7447
7448 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
7449
7450         * genrecog.c (write_switch):  Output if before switch for
7451         DT_elt_zero_wide_safe.
7452
7453 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7454
7455         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
7456         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
7457         (FUNCTION_PROFILER): Const-ify.
7458         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
7459         (eliminate_constant_term, assemble_name, output_addr_const):
7460         Remove declarations.
7461         (ptr_half_pic_address_p, half_pic_hash): Prototype.
7462         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
7463         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
7464         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
7465         (half_pic_declare, half_pic_external): Const-ify.
7466         * toplev.c: Include "halfpic.h".
7467
7468 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7469
7470         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
7471         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
7472         config/i386/i386.c, config/i386/i386-interix.h,
7473         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
7474         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
7475         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
7476         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
7477         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
7478         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
7479         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
7480         spelling errors.
7481
7482         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7483         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
7484         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
7485         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
7486         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
7487         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
7488         system.h, toplev.c: Fix spelling errors.
7489
7490 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7491
7492         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
7493
7494         * dwarf2out.c (reg_number): Abort if pseudo.
7495         (reg_loc_descriptor): Return 0 if pseudo.
7496         (is_based_loc): Return 0 if pseudo.
7497         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
7498         recursive calls.
7499         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
7500         (loc_descriptor): Return 0 if can't find location and handle 0
7501         return from recursive calls.
7502         (loc_descriptor_from_tree): Likewise.
7503         Fix handling of indirect.
7504         Also return 0 for PLACEHOLDER_EXPR.
7505         Clean up COMPONENT_REF cases.
7506         (add_AT_location_descriptor): Simplify, but handle 0 return from
7507         loc_descriptor.
7508         (add_const_value_attribute): Avoid shift count warning.
7509         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
7510         Set comp_unit_die as context if not in function.
7511
7512         * config/mips/mips-protos.h: Break up long lines.
7513         Remove needless #ifdef/#endif blocks.
7514         Don't declare functions declared in file made by genpreds or recog.h.
7515         * config/mips/mips.c (mips_output_function_prologue): TSIZE
7516         is now HOST_WIDE_INT; delete unneeded casts.
7517         * config/mips/mips.h: Don't use #elif.
7518
7519         * expr.c (stor_constructor_field): Always call adjust_address.
7520         Copy TARGET before changing its alias set.
7521         (store_field): Likewise, for TO_RTX.
7522         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
7523         replacement.
7524         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
7525         (find_placeholder): Return 0 if can't find object.
7526         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
7527         returns 0.
7528
7529 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7530
7531         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
7532
7533 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
7534
7535         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
7536         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
7537         (merge_blocks): Properly udpate life after making edge nonfallthru.
7538         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
7539
7540 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7541
7542         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
7543
7544 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7545
7546         * c-typeck.c (convert_arguments): When comparing for enumeral
7547         type equality, use TYPE_MAIN_VARIANT.
7548         * gcc.dg/Wconversion.c: New tests.
7549
7550 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7551
7552         * s390/s390.c: Fix comment typos.
7553         * s390/s390.h: Likewise.
7554         * s390/s390.md: Likewise.
7555
7556 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7557
7558         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
7559         (walk_tree): Use it for tail calls where appropriate.
7560
7561 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7562
7563         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
7564         non-local label_refs.
7565
7566 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7567
7568         * config/h8300/h8300.md (4 anonymous patterns): New.
7569
7570 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7571
7572         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
7573         algorithm through the shift_info structure.
7574         (emit_a_shift): Update the use of get_shift_alg.
7575
7576 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
7577
7578         * sched-rgn.c: Remove bitset typedef.
7579         Change bitset to sbitmap in prototypes / variable types.
7580         Remove bbset_size.
7581         Remove edgeset_bits.
7582         Remove edgeset_size.
7583         s/BITSET_ADD/SET_BIT/g
7584         s/BITSET_INVERT/sbitmap_ones/g
7585         s/BITSET_INTER/sbitmap_a_and_b/g
7586         s/BITSET_UNION/sbitmap_a_or_b/g
7587         s/BITSET_DIFFER/sbitmap_difference/g
7588         s/bitset_member/TEST_BIT/g
7589         (BITSET_*): Removed.
7590         (bitset_member): Removed.
7591         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
7592         EXECUTE_IF_SET_IN_SBITMAP.
7593         (split_edges): Rewrite, use sbitmap functions instead of bitset
7594         operations.
7595         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
7596
7597 2001-10-26  Andreas Schwab  <schwab@suse.de>
7598
7599         * reload1.c (emit_input_reload_insns): Fix parens in last
7600         (undocumented) change that was supposed to change only whitespace.
7601
7602 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7603
7604         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
7605
7606         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
7607         ASM_OPERANDS.
7608
7609 2001-10-26  Andreas Jaeger  <aj@suse.de>
7610
7611         * flow.c (clear_log_links): Remove unused variable.
7612         * cfgcleanup.c (cleanup_cfg): Likewise.
7613
7614 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7615
7616         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
7617         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
7618
7619 2001-10-26  Richard Henderson  <rth@redhat.com>
7620
7621         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
7622         rename PV_REG to R27_REG.
7623         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
7624         (REG_CLASS_FROM_LETTER): Update.
7625         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
7626         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
7627         (udivsi3, modsi3, umodsi3): Likewise.
7628         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
7629
7630 2001-10-26  Richard Henderson  <rth@redhat.com>
7631
7632         * cfg.c (clear_aux_for_blocks): Split out of ...
7633         (free_aux_for_blocks): here.
7634         (clear_aux_for_edges): Split from ...
7635         (free_aux_for_edges): here.
7636         * basic-block.h: Declare them.
7637         * lcm.c (compute_antinout_edge): Use them.
7638         (compute_laterin, compute_available, compute_nearerout): Likewise.
7639         (optimize_mode_switching): Likewise.
7640
7641 2001-10-26  Richard Henderson  <rth@redhat.com>
7642
7643         * Makefile.in (unstage*): Remove as, ld, collect-ld before
7644         moving everything back to the main build directory.
7645
7646 2001-10-26  Christopher Faylor  <cgf@redhat.com>
7647
7648         * config/i386/cygwin.h: Search target specific include directory, if
7649         appropriate.
7650
7651 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7652
7653         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
7654         of macro guards. Fix #endif comment.
7655
7656         * output.h (default_exception_section, default_eh_frame_section):
7657         Move prototypes outside of macro guard.
7658
7659         * crtstuff.c: Fix #endif comment.
7660
7661 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
7662
7663         * doc/md.texi (movMM): Clarify semantics of storing into a
7664         non-paradoxical SUBREG.
7665
7666 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
7667
7668         * langhooks.c (lang_hook_default_clear_binding_stack): New.
7669         (lang_hook_default_get_alias_set): Move next to other alias
7670         hooks.
7671         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
7672         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
7673         (LANG_HOOKS_INITIALIZER): Add it.
7674         * toplev.h (struct lang_hooks): Add clear_binding_stack.
7675         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
7676         instead of a loop calling poplevel.
7677
7678 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
7679
7680         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
7681         occurrences of #elif with #if...#endif.
7682
7683 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7684
7685         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
7686
7687 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7688
7689         * alias.c (can_address_p): No longer static.
7690         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
7691         Return 0 if all parameters are default values.
7692         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
7693         (adjust_address_1): Try harder to compute a size.
7694         * expr.c (expand_assignment, store_constructor): If can't address,
7695         set MEM_KEEP_ALIAS_SET_P.
7696         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
7697         (store_field): Likewise.
7698         (store_constructor): Simplify call to store_constructor_field.
7699         * expr.h (can_address_p): New declaration.
7700         * gensupport.c (gen_rtx_CONST_INT): New function.
7701         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
7702         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
7703         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
7704
7705         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
7706
7707 2001-10-24  Christopher Faylor  <cgf@redhat.com>
7708
7709         * config/i386/cygwin.h: Use proper path for mingw crt files when
7710         -mno-cygwin.
7711
7712 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7713
7714         * dwarf2out.c (file_info_cmp): Always return consistent results.
7715
7716 2001-10-24  Roger Sayle <roger@eyesopen.com>
7717
7718         * stmt.c (expand_end_case): Index jumptables from zero for
7719         suitably small values of minval.
7720
7721 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7722
7723         * stor-layout.c (place_union_field): If any field was aligned with
7724         attribute aligned, set record type's TYPE_USER_ALIGN.
7725         (place_field): Likewise.
7726         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
7727         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
7728
7729 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
7730
7731         * c-common.h (struct c_common_identifier): Remove rid_code field.
7732         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
7733
7734         * c-typeck.c (constructor_designated): New local flag.
7735         (struct constructor_stack): Add "designated" field to match.
7736         (start_init): Clear it.
7737         (really_start_incremental_init, push_init_level): Push and
7738         clear it.
7739         (pop_init_level): Pop it.
7740         (set_designator): Set it.
7741
7742         (pop_init_level): Suppress "missing initializer" warnings if
7743         constructor_designated is true.
7744         (process_init_element): Suppress warning about union
7745         initialization under traditional C, if constructor_designated
7746         is true.
7747
7748 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7749
7750         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
7751         change.
7752
7753 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
7754
7755         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
7756
7757 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
7758
7759         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
7760         the node was already a set to a constant.
7761
7762 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7763
7764         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
7765         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
7766
7767 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7768
7769         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
7770         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
7771         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
7772         * s390.c (s390_final_chunkify): Don't use string concatenation.
7773         (s390_function_prologue, s390_function_epilogue): Const-ify.
7774         * s390.h (FUNCTION_PROFILER): Remove unused variable.
7775
7776 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7777
7778         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
7779         prototypes.
7780
7781 2001-10-23  Stan Shebs  <shebs@apple.com>
7782
7783         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
7784         -traditional-cpp in first-stage compilation.
7785
7786 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7787
7788         * gensupport.c (target_flags): Add.
7789
7790 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7791
7792         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
7793         if needed.
7794         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
7795         * except.c (expand_builtin_frob_return_addr): Likewise.
7796         (expand_builtin_eh_return): Likewise.
7797         * stmt.c (expand_computed_goto): Likewise.
7798         * explow.c (memory_address): Likewise.
7799         (allocate_dynamic_stack_space): Clean up predicate testing.
7800         (probe_stack_range): Convert SIZE to Pmode.
7801         * calls.c (rtx_for_function_call): Only call convert_memory_address
7802         if needed.
7803         Pass function call operand as ptr_mode, not Pmode.
7804         * expr.c (expand_assignment): Clean up calls to convert_memory
7805         address by only doing so when needed and making offsets Pmode.
7806         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
7807         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
7808         is in Pmode, not ptr_mode.
7809
7810 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7811
7812         * darwin-protos.h (constructor_section, destructor_section,
7813         mod_init_section, mod_term_section): Prototype.
7814         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
7815         Const-ify.
7816         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
7817         Likewise.
7818         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
7819         objc_section_init declaration.
7820         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
7821         (objc_section_init, try_section_alias): Make static.
7822         (alias_section): Make static and hide unused function.
7823         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
7824
7825 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7826
7827         * alias.c (can_address_p): Compnonents are not addressable if
7828         the containing type has alias set 0.
7829         (get_alias_set): Rework to use STRIP_NOPS.
7830         Only call front-end routine on object, type, or object with
7831         NOPs stripped, not inner values.
7832         Use language hook to call front-end routine.
7833         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
7834         (expand_builtin_apply): Call set_mem_align on MEMs we make.
7835         Don't pass alignment to emit_block_move.
7836         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
7837         (expand_builtin_memset): Likewise, but for clear_storage.
7838         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
7839         and remove C++ specific parts.
7840         * c-common.h (c_common_get_alias_set): Add declaration.
7841         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
7842         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
7843         (save_fixed_argument_area): Call set_mem_align.
7844         Remove alignment in call to emit_block_move.
7845         (emit_library_call_value_1, store_one_arg): Likewise.
7846         (target_for_arg): Remove; disabled long ago.
7847         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
7848         once and similar cleanups.
7849         (offset_address): Use proper introductory comment.
7850         * expr.c (emit_block_move): Use alignment from that of MEM args, not
7851         from explicit operand; all callers changed.
7852         (clear_storage): Likewise.
7853         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
7854         (store_field): Remove kludge on alias set used for to_rtx.
7855         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
7856         (expand_expr_unaligned): Call set_mem_attributes instead of
7857         set_mem_alias_set.
7858         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
7859         * function.c (assign_stack_temp_for_type): Set MEM alignment.
7860         (expand_function_end): Track MEM attributes of trampolines.
7861         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
7862         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
7863         attributes from original.
7864         * langhooks.c (lang_hook_default_get_alias_set): New function.
7865         (hook_get_alias_set_0): New function.
7866         * langhooks.h (hook_get_alias_set_0): New declaration.
7867         (lang_hook_default_get_alias_set): Likewise.
7868         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
7869         * reload1.c (alter_reg): Use adjust_address_nv.
7870         * rtl.c (get_mode_alignment): Moved to here.
7871         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
7872         change default if unknown from 1 to BITS_PER_UNIT.
7873         * stor-layout.c (get_mode_alignment): Remove from here.
7874         * toplev.h (struct lang_hoks): Add get_alias_set field.
7875         * tree.h (lang_get_alias_set): Delete declaration.
7876         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
7877         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
7878         (ix86_va_arg): Likewise.
7879         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
7880         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
7881         * config/sparc/sparc.c (sparc_va_arg): Likewise.
7882         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
7883         (expand_block_move_mem): Remove dead code.
7884
7885 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7886
7887         * c-common.c (warn_div_by_zero): New.
7888         * c-common.h (warn_div_by_zero): New.
7889         * c-decl.c (c_decode_option): Take it on the command line.
7890         * c-typeck.c (build_binary_op): Warn about division by zero.
7891         * doc/invoke.texi: Document the new command line option, fix
7892         documentation of -Wmultichar.
7893         * testsuite/gcc.dg/divbyzero.c: New tests.
7894         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
7895
7896 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7897
7898         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
7899
7900         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
7901         to avoid update_life_info call.
7902         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
7903         * cfgcleanup.c (bb_flags): New enum.
7904         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
7905         (notice_new_block, update_forwarder_flag): New functions.
7906         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
7907         (try_forward_edges): Likewise; update flags.
7908         (merge_blocks): Likewise.
7909         (outgoing_edges_match): Likewise.
7910         (try_crossjump_to_edge): Likewise.
7911         (try_optimize_cfg): Likewise; initialize and clear the flags;
7912         recompute life info if needed.
7913         (cleanup_cfg): No need to clear aux pointers.
7914
7915 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
7916
7917         * config/i386/i386.c (override_options): Default to minimum
7918         stack alignment when optimizing for code size.
7919         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
7920         change.
7921
7922         * config/i386/i386.c (override_options): Set upper limit of
7923         -mpreferred-stack-boundary to 12.
7924
7925 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
7926
7927         * recog.c (peephole2_optimize): Add default case to switch.
7928
7929 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
7930
7931         * doc/gcc.texi (Sending Patches): Remove.
7932
7933 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
7934
7935         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
7936         fields when comparing.
7937
7938 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7939
7940         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
7941         * arm.c (HOST_INT, HOST_UINT): Likewise.
7942
7943 2001-10-22  Stan Shebs  <shebs@apple.com>
7944
7945         * config/darwin-protos.h (darwin_exception_section): Declare.
7946         (darwin_eh_frame_section): Declare.
7947
7948 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
7949
7950         * i386.md (movti_rex64): Fix mode.
7951
7952 2001-10-22  Stan Shebs  <shebs@apple.com>
7953
7954         * target.h (struct gcc_target): Add asm_out.exception_section,
7955         asm_out.eh_frame_section.
7956         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
7957         (TARGET_ASM_EH_FRAME_SECTION): New.
7958         (TARGET_INITIALIZER): Update.
7959         * output.h (default_exception_section): Declare.
7960         (default_eh_frame_section): Declare.
7961         * dwarf2out.c: Include target.h.
7962         (output_call_frame_info): Call target hook for eh frames.
7963         (default_eh_frame_section): New function.
7964         * except.c: Include target.h.
7965         (output_function_exception_table): Call target hook for exception
7966         section.
7967         * varasm.c (default_exception_section): Rename from
7968         exception_section, remove EXCEPTION_SECTION macro.
7969
7970         * config/darwin.h (darwin_eh_frame_section): New function.
7971         (EXCEPTION_SECTION): Remove.
7972         (TARGET_ASM_EXCEPTION_SECTION): Define.
7973         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
7974         (nextstep_exception_section): New function.
7975         (nextstep_eh_frame_section): New function.
7976         (TARGET_ASM_EXCEPTION_SECTION): Define.
7977         (TARGET_ASM_EH_FRAME_SECTION): Define.
7978
7979         * config/pa/som.h (EXCEPTION_SECTION): Remove.
7980         (TARGET_ASM_EXCEPTION_SECTION): Define.
7981         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
7982         (EXCEPTION_SECTION): Remove.
7983         (TARGET_ASM_EXCEPTION_SECTION): Define.
7984         * config/stormy16/stormy16.h: Remove comments referencing
7985         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
7986
7987         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
7988         TARGET_ASM_EH_FRAME_SECTION.
7989
7990 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
7991
7992         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
7993         terms.
7994
7995         * c-format.c: Fix spelling typo in comment.
7996
7997         * sched-int.h: Fix typo in GCC preamble.
7998
7999 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8000
8001         PR debug/4252
8002         * doc/invoke.texi: Remove references to -fdump-translation-unit.
8003
8004 2001-10-22  Richard Henderson  <rth@redhat.com>
8005
8006         * config/i386/i386.c (ix86_expand_clear): New.
8007         * config/i386/i386-protos.h: Declare it.
8008         * config/i386/i386.md (setcc peep2s): Use it.
8009         (movsi_xor): Unexport.
8010
8011 2001-10-22  Richard Henderson  <rth@redhat.com>
8012
8013         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
8014         free_EXPR_LIST_list for LOG_LINKS.
8015
8016 2001-10-21  Robert Lipe  <robertlipe@usa.net>
8017
8018         * config/i386/i386.c (sco_asm_named_section): Delete.
8019         (sco_asm_out_constructor): Delete.
8020         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
8021         (ASM_OUTPUT_DOUBLE_INT): Likewise.
8022         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
8023         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
8024         (EXCEPTION_SECTION): Delete EH scn renaming hack.
8025
8026 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8027
8028         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
8029         and/or fold extra calls into fewer ones.
8030         * collect2.c (dump_file): Likewise.
8031         * cppexp.c (parse_number): Likewise.
8032         * cpplex.c (_cpp_lex_direct): Likewise.
8033         * final.c (output_asm_insn, asm_fprintf): Likewise.
8034         * fix-header.c (inf_scan_ident, main): Likewise.
8035         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
8036         Likewise.
8037         * fold-const.c (real_hex_to_f): Likewise.
8038         * gen-protos.c (parse_fn_proto): Likewise.
8039         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
8040         * genrecog.c (change_state, write_action): Likewise.
8041         * gensupport.c (shift_output_template): Likewise.
8042         * local-alloc.c (requires_inout): Likewise.
8043         * mips-tfile.c (IS_ASM_IDENT): Likewise.
8044         * protoize.c (is_id_char, main): Likewise.
8045         * real.c (asctoeg): Likewise.
8046         * recog.c (asm_operand_ok): Likewise.
8047         * reload.c (find_reloads): Likewise.
8048         * scan.c (scan_identget_token): Likewise.
8049         * sched-vis.c (print_value): Likewise.
8050         * stringpool.c (ggc_alloc_string): Likewise.
8051         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
8052         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
8053         * tradcpp.c (rescan): Likewise.
8054         * tree.c (clean_symbol_name): Likewise.
8055         * varasm.c (decode_reg_name): Likewise.
8056
8057         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
8058         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
8059         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
8060         * m88k.c (output_ascii): Likewise.
8061         * m88k.h (OVERRIDE_OPTIONS): Likewise.
8062         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
8063         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
8064         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
8065
8066 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8067
8068         * langhooks.c (lang_hook_default_do_nothing,
8069         lang_hook_default_decode_option): New defaults.
8070         * langhooks.h: Make hooks unconditional and non-NULL.
8071         * toplev.c (compile_file, toplev_main): Update.
8072         * toplev.h: Update comments.
8073         * objc/objc-act.c (lang_hooks): Update to new paradigm.
8074
8075 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8076
8077         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
8078
8079         * system.h (IN_RANGE): New macro.
8080
8081 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
8082
8083         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
8084         INTLDEPS variable, which does not include $LIBICONV.
8085         * Makefile.in: Use INTLDEPS in LIBDEPS.
8086         * configure: Regenerate.
8087
8088 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8089
8090         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
8091         * cpplex.c (lex_percent, lex_dot): Remove.
8092         (get_effective_char, skip_block_comment, skip_line_comment,
8093         parse_identifier_slow, parse_number, parse_string, save_comment,
8094         _cpp_lex_direct): Update to do lookback freely.
8095         (IF_NEXT_IS, BACKUP): New macros.
8096         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
8097         * cppmacro.c (paste_tokens): Update.
8098
8099 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
8100
8101         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
8102
8103 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
8104
8105         * reload1.c (reload): Check CONSTANT_P before calling
8106         LEGITIMATE_PIC_OPERAND_P.
8107         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
8108         workaround of 2001-10-13.
8109
8110 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
8111
8112         * i386.c (split_di): Handle splitting of DFmode.
8113
8114 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8115
8116         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
8117         (adjust_address_1, offset_address): Likewise.
8118
8119         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
8120         (output_asm_insn): Call it for each line output.
8121         Don't record an operand more than once.
8122
8123         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
8124         * main.c: Include config.h and system.h, but not ansidecl.h.
8125         * Makefile.in (main.o): Update accordingly.
8126
8127 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8128
8129         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
8130
8131 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
8132
8133         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
8134         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
8135         Break out from ...
8136         (find_sub_basic_blocks): ... here;
8137         (find_many_sub_basic_blocks): New.
8138         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
8139
8140         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
8141
8142         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
8143
8144         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
8145
8146         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
8147         * flow.c (update_life_info): Measure time.
8148         * c-decl.c: Include timevar.h
8149         (c_expand_body): Measure time.
8150         * toplev.c (rest_of_compilation): Measure time of mode switching
8151         separately.
8152         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
8153
8154         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
8155         (lang_independent_options): Add asynchronous-unwind-tables
8156         (toplev_main): flag_asynchronous_unwind_tables implies
8157         flag_unwind_tables.
8158         * flags.h (flag_asynchronous_unwind_tables): Declare.
8159         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
8160         flag_asynchronous_unwind_tables.
8161         (output_call_frame_info): Likewise.
8162         * invoke.texi (-fasynchronous-unwind-tables): Document.
8163         * i386.c (optimization_options): Enable
8164         flag_asynchronous_unwind_tables.
8165
8166         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
8167         * i386.md (s* expanders): Destination is QImode.
8168
8169         * toplev.c (rest_of_compilation): Do not call clear_log_links.
8170         * rtl.h (clear_log_links): Kill.
8171         * flow.c (clear_log_links): Make static; accept blocks parameter;
8172         do no clear life info.
8173         (update_life_info): Call clear_log_links.
8174
8175         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
8176
8177 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8178
8179         * cpplex.c (handle_newline, skip_escaped_newlines,
8180         get_effective_char, skip_block_comment, skip_line_comment,
8181         parse_identifier_slow, parse_number, parse_string,
8182         _cpp_lex_direct): Update to do more stepping back.
8183         (trigraph_ok): Similarly.  Rename trigraph_p.
8184         (SAVE_STATE, RESTORE_STATE): Remove.
8185         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
8186
8187         * cpplib.c (destringize): Rename destringize_and_run, and
8188         call run_directive directly.
8189         (_cpp_do__Pragma): Simplify.
8190
8191 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8192
8193         * pe.c (arm_pe_unique_section): Const-ify.
8194         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
8195         (switch_to_section): Add static prototype.
8196
8197         * output.h (drectve_section): Prototype.
8198
8199 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8200
8201         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
8202         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
8203         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
8204         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
8205         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
8206         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
8207         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
8208         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
8209         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
8210         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
8211         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
8212         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
8213         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
8214         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
8215         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
8216         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
8217         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
8218         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
8219         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
8220         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
8221         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
8222         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
8223         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
8224         cris-*-none, cris-*-linux*: Update ${tmfile} list.
8225         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
8226         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
8227         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
8228         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
8229         v850-*-*): Delete superflous ${cpu_type} setting.
8230         * config/linux.h: Delete svr4.h include.
8231         (SET_ASM_OP): Delete.
8232         * config/netware.h (INT_ASM_OP): Undef before define.
8233         * config/ptx4.h: Delete elfos.h include.
8234         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
8235         * config/svr4.h: Delete elfos.h include. Update commentary.
8236         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
8237         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
8238         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
8239         config/v850/v850.h: Delete svr4.h include.
8240         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
8241         config/m68k/m68kv4.h, config/m88k/sysv4.h,
8242         config/sparc/sysv4.h: Update includes.
8243         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
8244         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
8245         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
8246         config/m88k/dguxbcs.h: Delete includes.
8247         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
8248         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
8249         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
8250         it.
8251         * config/m88k/dgux.h: Delete include.
8252         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
8253         defining it.
8254         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
8255         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
8256         * config/sh/elf.h: Update include.
8257         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
8258         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
8259
8260 2001-10-19  Catherine Moore  <clm@redhat.com>
8261
8262         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
8263         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
8264         base and count fields.
8265         (stormy16_expand_builtin_va_start):  last_reg_count changed to
8266         size_of_reg_args.  Use count + size in first comparison.
8267
8268 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8269
8270         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
8271         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
8272         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
8273         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
8274         Set alignment from type if INDIRECT_REF.
8275         (adjust_address_1, offset_address): Simplify alignment compuitation.
8276         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
8277         here; done by set_mem_attributes.
8278
8279 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8280
8281         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
8282         * arm-protos.h (rdata_section, zero_init_section, common_section):
8283         Prototype.
8284         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
8285         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
8286         traditional mode stringification.
8287         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
8288         in macros controling its use.
8289         * rtlanal.c: Include tm_p.h.
8290         * varasm.c (asm_output_aligned_bss): Mark parameter with
8291         ATTRIBUTE_UNUSED.
8292         (assemble_constant_align, assemble_start_function, assemble_align,
8293         assemble_variable, assemble_trampoline_template,
8294         output_constant_def_contents): Wrap potentially empty if-stmt body
8295         in brackets.
8296
8297 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8298
8299         * a29k-protos.h (literal_section): Prototype.
8300         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
8301         * a29k.md: Ensure function pointers are prototyped.
8302         * genattrtab.c (write_eligible_delay): Mark parameter with
8303         ATTRIBUTE_UNUSED.
8304
8305 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8306
8307         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
8308         * 1750a.c (print_operand): Fix format specifier warning.
8309         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
8310         * 1750a.md: Likewise.
8311         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
8312         * genemit.c (output_add_clobbers): Mark parameter with
8313         ATTRIBUTE_UNUSED.
8314         * genrecog.c (write_subroutine): Likewise.
8315         * integrate.c (expand_inline_function): Delete unused variable.
8316         * varasm.c (remove_from_pending_weak_list): Wrap with
8317         ASM_WEAKEN_LABEL.
8318
8319 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
8320
8321         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
8322         field is different to previous argument's neg field.
8323
8324         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
8325
8326 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8327
8328         * final.c (get_decl_from_op): New function.
8329         (output_asm_insn): Call it; write "*" when item with decl is address.
8330
8331 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
8332
8333         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
8334         about 64-bit support from the 3.0_branch version.
8335
8336 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
8337
8338         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
8339         USE_INCLUDED_LIBINTL when appropriate.
8340         * configure, config.in: Regenerate.
8341         * Makefile.in (datadir): Set to @datadir@.
8342         (intl.o): Also depend on $(CONFIG_H) and system.h.
8343
8344         * intl.c: Factor out common gettext initialization sequence.
8345         (gcc_init_libintl):  New function.
8346         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
8347         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
8348         off NLS.  Add multiple include guard.  No need to #ifdef-guard
8349         an #undef.  Prototype gcc_init_libintl here.
8350
8351         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
8352         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
8353         Use gcc_init_libintl.
8354
8355 2001-10-19  Catherine Moore  <clm@redhat.com>
8356
8357         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
8358
8359         * config/stormy16/stormy16.c (stormy16_split_move):  Make
8360         sure that REG_INC notes are present for auto_inc operands.
8361
8362 2001-10-19  Andreas Jaeger  <aj@suse.de>
8363
8364         * configure: Regenerated.
8365         * configure.in: Add x86_64 to switch statements.
8366
8367 2001-10-18  Richard Henderson  <rth@redhat.com>
8368
8369         * config/alpha/alpha.md (sibcall_osf_1): Load destination
8370         address into $27 explicitly.
8371         (sibcall_value_osf_1): Likewise.
8372
8373 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8374
8375         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
8376         (offset_address): New function.
8377         (free_emit_status): Free regno_decl.
8378         (init_emit): Pass proper number of elements to xcalloc.
8379         Allocate regno_decl.
8380         (mark_emit_status): Mark regno_decl values.
8381         * expr.c (highest_pow2_factor): New function.
8382         (expand_assigment): Use it and offset_address.
8383         Properly handle ptr_mode vs. Pmode in offset calculation.
8384         (store_constructor, expand_expr_unaligned): Likewise.
8385         (expand_expr, case COMPONENT_EXPR): Likewise.
8386         * expr.h (offset_address): New decl.
8387         * function.h (struct emit_status): Add regno_decl.
8388         (REGNO_DECL): New macro.
8389         * final.c (output_asm_name): Move in file and don't conditionalize
8390         on flag_print_asm_name.
8391         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
8392         Output names of operands, if known.
8393         * function.c (assign_parms): Set REGNO_DECL.
8394         * integrate.c (integrate_decl_tree): Likewise.
8395         * stmt.c (expand_decl): Likewise.
8396         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
8397
8398 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
8399
8400         * attribs.c (handle_noinline_attribute): New function.
8401         (handle_used_attribute): Likewise.
8402         (c_common_attribute_table): Added noinline and used.
8403         * doc/extend.texi (Function Attributes): Document them.
8404         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
8405         Warn when merging inline with attribute noinline.
8406         (start_decl, start_function): Warn if inline and attribute
8407         noinline appear in the same declaration.
8408
8409 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
8410
8411         * config.gcc: Update c4x and i370 for C front end-specific
8412         dependencies.
8413         * config/c4x/c4x-c.c: New.
8414         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
8415         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8416         New declarations.
8417         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
8418         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8419         Make extern.
8420         (c4x_init_pragma): Remove.
8421         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
8422         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
8423         c4x_pr_ignored): Move to c4x-c.c.
8424         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
8425         * config/c4x/t-c4x: Update.
8426         * config/i370/i370-c.c: New.
8427         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
8428         (i370_pr_map): Move to i370-c.c.
8429         * config/i370/t-i370: New.
8430
8431         * doc/tm.texi: Update.
8432
8433 2001-10-17  Stan Shebs  <shebs@apple.com>
8434
8435         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
8436         typo fixes throughout.
8437         (machopic_output_stub): Remove some dead code.
8438
8439 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
8440
8441         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
8442         leak.
8443
8444 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8445
8446         * Makefile.in (print-rtl.o): Depend on TREE_H.
8447         * alias.c (get_alias_set): Make two passes over objects to first
8448         see if inner object is access via restricted pointer.
8449         Defer allocating alias set for restricted pointer until here.
8450         Call find_placeholder with second arg nonzero.
8451         Minor cleanups.
8452         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
8453         set for restricted pointer types.
8454         * emit-rtl.c (set_mem_attributes): Set more attributes.
8455         (set_mem_align, change_address, adjust_address_1): New functions.
8456         (change_address_1): Now static.
8457         (adjust_address, adjust_address_nv): Deleted.
8458         (replace_equiv_address): Call change_address_1.
8459         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
8460         (find_placeholder): Get starting point from PLIST arg.
8461         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
8462         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
8463         (adjust_address, adjust_address_nv): New macros.
8464         * print-rtl.c (tree.h): New include.
8465         (print_rtx, case MEM): Print all memory attributes.
8466
8467 2001-10-17  Richard Henderson  <rth@redhat.com>
8468
8469         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
8470
8471 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8472
8473         * c-tree.texi: Eliminate duplicated word.
8474         * cpp.texi: Likewise.
8475         * install.texi: Likewise.
8476         * invoke.texi: Likewise.
8477         * tm.texi: Likewise.
8478
8479 2001-10-17  Michael Collison  <collison@isisinc.net>
8480
8481         * dsp16xx.c: Fix comment formatting to match GNU standards.
8482         (dsp16xx_output_function_prologue): Change type of 'size'
8483         parameter from 'int' to HOST_WIDE_INT.
8484         (dsp16xx_output_function_epilogue): Change type of 'size'
8485         parameter from 'int' to HOST_WIDE_INT.
8486
8487 2001-10-16  Richard Henderson  <rth@redhat.com>
8488
8489         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
8490         * configure, config.in: Rebuild.
8491
8492         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
8493         (ix86_output_addr_diff_elt): New.
8494         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
8495         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8496         (JUMP_TABLES_IN_TEXT_SECTION): New.
8497         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
8498         * config/i386/i386-protos.h: Update.
8499
8500         * config/i386/386bsd.h, config/i386/beos-elf.h,
8501         config/i386/freebsd-aout.h, config/i386/freebsd.h,
8502         config/i386/i386-interix.h, config/i386/i386elf.h,
8503         config/i386/linux.h, config/i386/netbsd-elf.h,
8504         config/i386/netbsd.h, config/i386/openbsd.h,
8505         config/i386/ptx4-i.h, config/i386/rtemself.h,
8506         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
8507         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
8508
8509 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
8510
8511         * stmt.c (expand_asm_operands): Update commentary.
8512
8513 2001-10-16  Stan Shebs  <shebs@apple.com>
8514
8515         * config/darwin.h (GCC_NAME): Remove, no longer used.
8516         (NO_MATH_LIBRARY): Ditto.
8517         (MATH_LIBRARY): Define to emptiness.
8518         (DWARF2_DEBUGGING_INFO): Define.
8519         (PREFERRED_DEBUGGING_TYPE): Define.
8520         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
8521         (EXCEPTION_SECTION): Define.
8522         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8523         * config/darwin.c (darwin_encode_section_info): Handle case of
8524         DECL_INITIAL being error_mark_node.
8525
8526 2001-10-16  Richard Henderson  <rth@redhat.com>
8527
8528         * alpha.c (current_file_function_operand): Don't fail for profiling.
8529         (direct_call_operand): New.
8530         * alpha-protos.h: Declare it.
8531         * alpha.h (EXTRA_CONSTRAINT): Use it.
8532         (PREDICATE_CODES): Add it.
8533         (ASM_OUTPUT_MI_THUNK): Remove.
8534         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
8535         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
8536
8537 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
8538
8539         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
8540         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8541
8542 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8543
8544         * cfg.c (free_edge): Break out from ....
8545         (remove_edge): ... here.
8546         (clear_edges): Use free_edge.
8547
8548         * att.h (ASM_QUAD): Add comment.
8549         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
8550
8551 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
8552
8553         * i386.c (split_ti): New function.
8554         (ix86_split_to_parts): Support TImodes.
8555         * i386.h (VALID_INT_MODE_P): Add TImode.
8556         * i386.md (movdi splitter): Fix.
8557         (movti): Support 64bit integer registers.
8558         (movti_rex64): New function and splitter.
8559
8560         * i386.c (*_cost): Add movsx/movzx cost.
8561         * i386.h (struct processor_costs): Add movsx/movzx fields.
8562         (RTX_COSTS): Handle zero/sign extend + avoid believing that
8563         64bit operations require split on 64bit machine.
8564         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
8565
8566         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
8567         (ix86_expand_move): Avoid pushes of memory if size does not match;
8568         move long constants to register.
8569         (x86_initialize_trampoline): Fix mode.
8570         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
8571         Use ASM_QUAD on 64bit.
8572         * i386.md (test pattern): Disallow impossible constants.
8573         (tablejump PIC expander): Fix emitting of sum.
8574         (movdicc_rex64): Rename to movdicc.
8575         * linux64.h (LINK_SPEC): Add missing '%'.
8576
8577 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
8578
8579         * tree-inline.c (inlinable_function_p): Leave it up to the
8580         front-end to turn -finline-functions into DECL_INLINE set for all
8581         functions.
8582
8583 2001-10-16  Stan Shebs  <shebs@apple.com>
8584
8585         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
8586
8587 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
8588
8589         * recog.c: Formatting and comment typo fixes.
8590
8591         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
8592         version in single tree build.
8593         * configure: Regenerate.
8594
8595 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
8596
8597         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
8598         MODE arguments to gen_rtx and compare operand with const0_rtx.
8599
8600 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8601
8602         * system.h: Poison old unused target macros.
8603         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
8604         * config/stormy16/stormy16.c: Update references to obsolete macros.
8605         * config/stormy16/stormy16.h: Similarly.
8606         * config/stormy16/stormy16.md: Similarly.
8607         * config/cris/cris.h: Similarly.
8608
8609 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8610
8611         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
8612         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
8613         cpp_register_pragma): Update accordingly.
8614
8615 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8616
8617         * c-pragma.h (cpp_register_pragma_space): Remove.
8618         * cpplib.h (cpp_register_pragma_space): Remove.
8619         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
8620         (cpp_register_pragma_space): Remove.
8621         (cpp_register_pragma): Simplify using lookup_pragma_entry,
8622         add sanity checks.
8623         (do_pragma): Similarly.
8624         (_cpp_init_internal_pragmas): Don't register namespaces.
8625
8626         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
8627         Don't register namespaces.
8628         * cp/lex.c (init_cp_pragma): Similarly.
8629         * doc/tm.texi: Update.
8630
8631 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8632
8633         PR c/4157
8634         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
8635
8636 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
8637
8638         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
8639         add scheduling support.
8640         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
8641         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
8642         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
8643
8644
8645 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
8646
8647         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
8648         missing CONSTANT_P test in core GCC.
8649
8650 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8651
8652         * cppmain.c (struct printer): New member source.
8653         (scan_translation_unit): Fix spacing at start of lines.
8654         (cb_line_change): Update.
8655
8656         * gcc.dg/cpp/spacing2.c: New test.
8657
8658 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
8659
8660         * config/cris/arit.c: Use __builtin_labs, not abs.
8661
8662         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
8663
8664         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
8665         misplaced sprintf and fprintf argument.
8666
8667 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
8668
8669         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
8670         * configure.in, Makefile.in: Take out obsolete check-po logic.
8671         * configure, config.in: Regenerate.
8672
8673 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
8674
8675         * objc/objc-act.c (finish_objc): Correct precondition for emitting
8676         symtab declarations.
8677
8678 2001-10-12  Stan Shebs  <shebs@apple.com>
8679
8680         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
8681         declarations of arguments and local variables.
8682
8683 2001-10-12  Christopher Faylor  <cgf@redhat.com>
8684
8685         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
8686         ENDFILE_SPEC definition.
8687
8688 2001-10-12  Kazu Hirata  <kazu@hxi.com>
8689
8690         * gthr-dce.h: Fix comment formatting.
8691         * gthr-posix.h: Likewise.
8692         * gthr-single.h: Likewise.
8693         * gthr-solaris.h: Likewise.
8694         * gthr-vxworks.h: Likewise.
8695         * gthr-win32.h: Likewise.
8696
8697 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
8698
8699         * final.c (output_asm_insn): Make sure assembly dialects are
8700         terminated, not nested.  Output `|' and `}' characters if they
8701         don't appear inside assembly dialect selection.
8702         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
8703         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
8704         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
8705         strsetsi_rex_1): Add {} braces.
8706
8707 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8708
8709         * toplev.c (compile_file): Ignore return value from yyparse.
8710         Always pop any nested binding levels after yyparse returns.
8711
8712 2001-10-11  Richard Henderson  <rth@redhat.com>
8713
8714         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
8715
8716 2001-10-11  Richard Henderson  <rth@redhat.com>
8717
8718         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
8719         fall back to add_AT_long_long for large CONST_INT.
8720
8721 2001-10-11  Richard Henderson  <rth@redhat.com>
8722
8723         * config/i386/i386.md (setcc splitters): Add four splitters to
8724         simplify compound compares that simplify_comparison can't handle.
8725
8726 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8727
8728         * cpplex.c (digraph_spellings, token_spellings): Make static.
8729
8730 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8731
8732         * unroll.c (loop_iterations): Fixup last patch.
8733
8734 2001-10-11  Richard Henderson  <rth@redhat.com>
8735
8736         * rtl.h (REG_VTABLE_REF): New.
8737         * rtl.c (reg_note_name): Add it.
8738         * combine.c (distribute_notes): Handle it.
8739         * final.c (final_scan_insn): Handle it.
8740         * tree.def (VTABLE_REF): New.
8741         * expr.c (expand_expr): Handle it.
8742         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
8743         * output.h: Declare them.
8744
8745 2001-10-11  Richard Henderson  <rth@redhat.com>
8746
8747         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
8748         for a DECL_INITIAL.
8749
8750 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
8751
8752         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
8753         available in 64-bit mode.
8754
8755 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8756
8757         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
8758         cris-*-linux* cases.
8759         * config/cris/cris-protos.h: New file.
8760         * config/cris/cris.c: New file.
8761         * config/cris/cris.h: New file.
8762         * config/cris/cris.md: New file.
8763         * config/cris/linux.h: New file.
8764         * config/cris/aout.h: New file.
8765         * config/cris/arit.c: New file.
8766         * config/cris/cris_abi_symbol.c: New file.
8767         * config/cris/mulsi3.asm: New file.
8768         * config/cris/t-aout: New file.
8769         * config/cris/t-cris: New file.
8770         * config/cris/t-elfmulti: New file.
8771         * config/cris/t-linux: New file.
8772         * doc/invoke.texi: Add CRIS options.
8773         * doc/install.texi (Specific): Add blurb for CRIS.
8774
8775 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
8776
8777         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
8778         before using it.
8779         * config/float/i32.h: Likewise.
8780         * config/float-i386.h: Likewise.
8781         * config/float-i64.h: Likewise.
8782         * config/float-m68k.h: Likewise.
8783         * config/float-sh.h: Likewise.
8784         * config/float-sparc.h: Likewise.
8785
8786 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8787
8788         * doc/contrib.texi: Add note about CRIS port to my entry.
8789
8790 2001-10-11  Kazu Hirata  <kazu@hxi.com>
8791
8792         * basic-block.h: Fix formatting.
8793         * bitmap.h: Likewise.
8794         * cpplib.h: Likewise.
8795         * c-tree.h: Likewise.
8796         * diagnostic.h: Likewise.
8797         * flags.h: Likewise.
8798         * ggc.h: Likewise.
8799         * longlong.h: Likewise.
8800         * real.h: Likewise.
8801         * reload.h: Likewise.
8802         * rtl.h: Likewise.
8803         * tree.h: Likewise.
8804
8805 2001-10-10  Richard Henderson  <rth@redhat.com>
8806
8807         * c-parse.in (asm_operand): Allow named operands.
8808         * genconfig.c (max_recog_operands): Set to 29.
8809         * local-alloc.c (requires_inout): Skip multiple digits.
8810         * recog.c (asm_operand_ok): Likewise.
8811         (preprocess_constraints): Use strtoul for matching constraints.
8812         (constrain_operands): Likewise.
8813         * regmove.c (find_matches): Likewise.
8814         * reload.c (find_reloads): Likewise.
8815         * stmt.c (parse_output_constraint): Don't reject in-out
8816         constraint on operands > 9.  Reject '[' in constraint.
8817         (expand_asm_operands): Handle named operands.  Use strtoul
8818         for matching constraints.
8819         (check_operand_nalternatives): Split out from expand_asm_operands.
8820         (check_unique_operand_names): New.
8821         (resolve_operand_names, resolve_operand_name_1): New.
8822
8823         * doc/extend.texi (Extended Asm): Document named operands.
8824         * doc/md.texi (Simple Constraints): Document matching constraints
8825         on operands > 9.
8826
8827 2001-10-10  Richard Henderson  <rth@redhat.com>
8828
8829         * combine.c (try_combine): Handle a SEQUENCE of one insn.
8830
8831         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
8832         (jcc splitters): Add two splitters to simplify compound compares
8833         that simplify_comparison can't handle.
8834
8835 2001-10-10  Richard Henderson  <rth@redhat.com>
8836
8837         * langhooks.c: Include langhooks.h.
8838         * Makefile.in (langhooks.o): Depend on it.
8839
8840 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
8841
8842         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
8843         should not be considered as a no-op.
8844         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
8845
8846 2001-10-10  Stan Shebs  <shebs@apple.com>
8847
8848         * alias.c: Remove uses of "register" specifier in declarations
8849         of arguments and local variables.
8850         * c-common.c: Ditto.
8851         * c-convert.c: Ditto.
8852         * c-decl.c: Ditto.
8853         * c-format.c: Ditto.
8854         * c-semantics.c: Ditto.
8855         * c-typeck.c: Ditto.
8856         * caller-save.c: Ditto.
8857         * calls.c: Ditto.
8858         * cfg.c: Ditto.
8859         * cfgbuild.c: Ditto.
8860         * cfgrtl.c: Ditto.
8861         * collect2.c: Ditto.
8862         * combine.c: Ditto.
8863         * convert.c: Ditto.
8864         * cppexp.c: Ditto.
8865         * cppfiles.c: Ditto.
8866         * cse.c: Ditto.
8867         * dbxout.c: Ditto.
8868         * defaults.h: Ditto.
8869         * df.c: Ditto.
8870         * dwarf2out.c: Ditto.
8871         * dwarfout.c: Ditto.
8872         * emit-rtl.c: Ditto.
8873         * explow.c: Ditto.
8874         * expmed.c: Ditto.
8875         * expr.c: Ditto.
8876         * final.c: Ditto.
8877         * fix-header.c: Ditto.
8878         * floatlib.c: Ditto.
8879         * flow.c: Ditto.
8880         * fold-const.c: Ditto.
8881         * function.c: Ditto.
8882         * gcc.c: Ditto.
8883         * gcse.c: Ditto.
8884         * gen-protos.c: Ditto.
8885         * genattrtab.c: Ditto.
8886         * gencheck.c: Ditto.
8887         * genconfig.c: Ditto.
8888         * genemit.c: Ditto.
8889         * genextract.c: Ditto.
8890         * genflags.c: Ditto.
8891         * gengenrtl.c: Ditto.
8892         * genoutput.c: Ditto.
8893         * genpeep.c: Ditto.
8894         * genrecog.c: Ditto.
8895         * gensupport.c: Ditto.
8896         * global.c: Ditto.
8897         * gmon.c: Ditto.
8898         * graph.c: Ditto.
8899         * haifa-sched.c: Ditto.
8900         * hard-reg-set.h: Ditto.
8901         * hash.c: Ditto.
8902         * integrate.c: Ditto.
8903         * jump.c: Ditto.
8904         * lists.c: Ditto.
8905         * local-alloc.c: Ditto.
8906         * loop.c: Ditto.
8907         * mips-tdump.c: Ditto.
8908         * mips-tfile.c: Ditto.
8909         * optabs.c: Ditto.
8910         * prefix.c: Ditto.
8911         * print-rtl.c: Ditto.
8912         * read-rtl.c: Ditto.
8913         * real.c: Ditto.
8914         * recog.c: Ditto.
8915         * reg-stack.c: Ditto.
8916         * regclass.c: Ditto.
8917         * regmove.c: Ditto.
8918         * reload.c: Ditto.
8919         * reload1.c: Ditto.
8920         * reorg.c: Ditto.
8921         * resource.c: Ditto.
8922         * rtl.c: Ditto.
8923         * rtlanal.c: Ditto.
8924         * scan.c: Ditto.
8925         * sched-deps.c: Ditto.
8926         * sched-rgn.c: Ditto.
8927         * sdbout.c: Ditto.
8928         * simplify-rtx.c: Ditto.
8929         * stmt.c: Ditto.
8930         * stor-layout.c: Ditto.
8931         * toplev.c: Ditto.
8932         * tradcif.y: Ditto.
8933         * tradcpp.c: Ditto.
8934         * tree.c: Ditto.
8935         * unroll.c: Ditto.
8936         * varasm.c: Ditto.
8937         * xcoffout.c: Ditto.
8938
8939 2001-10-10  Richard Henderson  <rth@redhat.com>
8940
8941         * rtl.h (can_reverse_comparison_p): Remove.
8942
8943 2001-10-10  Christopher Faylor <cgf@redhat.com>
8944
8945         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
8946         used.
8947
8948 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8949
8950         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
8951         (Thanks to Chris Faylor for suggesting macro name).
8952         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
8953         WIN32 defines.
8954         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
8955         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
8956         (MATH_LIBRARY): Undef before definition.
8957         (OUTPUT_QUOTED_STRING): Likewise.
8958         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
8959
8960 2001-10-10  Richard Henderson  <rth@redhat.com>
8961
8962         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
8963         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
8964         a tristate comparison value.
8965         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
8966
8967 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8968
8969         PR c++/4512
8970         * unroll.c (loop_iterations): Ignore insns generated by loop
8971         unrolling.
8972
8973         * config.gcc (mips*-*-gnu*): Delete support.
8974         * config/mips/gnu.h: Remove.
8975
8976 2001-10-10  Kazu Hirata  <kazu@hxi.com>
8977
8978         * calls.c: Fix formatting.
8979         * c-decl.c: Likewise.
8980         * cfgcleanup.c: Likewise.
8981         * combine.c: Likewise.
8982         * cppfiles.c: Likewise.
8983         * cpplib.c: Likewise.
8984         * cppmacro.c: Likewise.
8985         * crtstuff.c: Likewise.
8986         * cse.c: Likewise.
8987         * dwarf2out.c: Likewise.
8988         * expmed.c: Likewise.
8989         * expr.c: Likewise.
8990         * fold-const.c: Likewise.
8991         * function.c: Likewise.
8992         * gcse.c: Likewise.
8993         * genattrtab.c: Likewise.
8994         * ggc-page.c: Likewise.
8995         * integrate.c: Likewise.
8996         * libgcc2.c: Likewise.
8997         * loop.c: Likewise.
8998         * optabs.c: Likewise.
8999         * profile.c: Likewise.
9000         * protoize.c: Likewise.
9001         * real.c: Likewise.
9002         * recog.c: Likewise.
9003         * reload1.c: Likewise.
9004         * reload.c: Likewise.
9005         * reorg.c: Likewise.
9006         * resource.c: Likewise.
9007         * sched-rgn.c: Likewise.
9008         * sdbout.c: Likewise.
9009         * stmt.c: Likewise.
9010         * toplev.c: Likewise.
9011         * varasm.c: Likewise.
9012
9013 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
9014
9015         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
9016         * Makefile.in (langhooks.o): Add dependencies.
9017
9018 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
9019
9020         * rs6000.c (rs6000_emit_load_toc_table): Don't
9021         strdup the toc label.
9022         (create_TOC_reference): Likewise.
9023
9024 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
9025
9026         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
9027         version default.
9028
9029 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
9030
9031         * config/i386/i386.c (ix86_attribute_table): Correct
9032         min_len, max_len fields for dllimport, dllexport and shared.
9033
9034 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9035
9036         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
9037         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
9038         Consistently use "nonzero" instead of "non-zero".
9039
9040 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9041
9042         * acconfig.h: Fix comment formatting.
9043         * c-dump.h: Likewise.
9044         * c-tree.h: Likewise.
9045         * conditions.h: Likewise.
9046         * expr.h: Likewise.
9047         * function.h: Likewise.
9048         * gthr.h: Likewise.
9049         * hwint.h: Likewise.
9050         * integrate.h: Likewise.
9051         * intl.h: Likewise.
9052         * loop.h: Likewise.
9053         * optabs.h: Likewise.
9054
9055 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9056
9057         * c-common.h: Fix comment formatting.
9058         * c-dump.c: Likewise.
9059         * cfg.c: Likewise.
9060         * diagnostic.h: Likewise.
9061         * except.c: Likewise.
9062         * gcc.h: Likewise.
9063         * gcov-io.h: Likewise.
9064         * genattrtab.c: Likewise.
9065         * output.h: Likewise.
9066         * predict.h: Likewise.
9067         * reload1.c: Likewise.
9068         * reload.h: Likewise.
9069         * resource.h: Likewise.
9070         * scan.h: Likewise.
9071         * system.h: Likewise.
9072         * tree.h: Likewise.
9073         * tree-inline.c: Likewise.
9074         * tsystem.h: Likewise.
9075         * varasm.c: Likewise.
9076         * xcoffout.h: Likewise.
9077
9078 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
9079
9080         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
9081
9082 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
9083
9084         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
9085         config/i386/i386elf.h, config/i386/netbsd-elf.h,
9086         config/i386/netware.h, config/mcore/gfloat.h,
9087         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
9088         config/netware.h, gccbug.in: Update FSF address.
9089
9090 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9091
9092         * c-common.c: Fix comment typos.
9093         * cfgrtl.c: Likewise.
9094         * collect2.c: Likewise.
9095         * cpplex.c: Likewise.
9096         * doloop.c: Likewise.
9097         * dwarf2out.c: Likewise.
9098         * dwarfout.c: Likewise.
9099         * expr.c: Likewise.
9100         * fold-const.c: Likewise.
9101         * gcc.c: Likewise.
9102         * gcov.c: Likewise.
9103         * gcse.c: Likewise.
9104         * global.c: Likewise.
9105         * ifcvt.c: Likewise.
9106         * loop.c: Likewise.
9107         * optabs.c: Likewise.
9108         * protoize.c: Likewise.
9109         * regclass.c: Likewise.
9110         * reorg.c: Likewise.
9111         * rtl.h: Likewise.
9112         * stmt.c: Likewise.
9113         * tree.h: Likewise.
9114         * doc/cpp.texi: Likewise.
9115         * doc/c-tree.texi: Likewise.
9116         * doc/extend.texi: Likewise.
9117         * doc/invoke.texi: Likewise.
9118         * doc/objc.texi: Likewise.
9119         * doc/tm.texi: Likewise.
9120
9121 2001-10-08  Richard Henderson  <rth@redhat.com>
9122
9123         * varasm.c (set_named_section_flags): Initialize "declared".
9124
9125 2001-10-08  Robert Lipe  <robertlipe@usa.net>
9126
9127         * varasm.c (struct in_named_entry): Add declared.
9128         (named_section_first_declaration): New function.
9129         (default_elf_asm_named_section): Use it.
9130         * output.h (named_section_first_declaration): New.
9131
9132 2001-10-08  Richard Henderson  <rth@redhat.com>
9133
9134         * i386.md (movsi_xor): Export.
9135         (setcc peep2): Use it when available; add an alternative to
9136         match zero_extendhisi2_and.
9137
9138 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9139
9140         * romp-protos.h (romp_initialize_trampoline): New function.
9141         * romp.c (romp_initialize_trampoline): Likewise.
9142         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
9143         romp_initialize_trampoline.
9144
9145 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9146
9147         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
9148         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9149         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9150         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9151
9152 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9153
9154         * unroll.c (loop_iterations): Extend check for multiple back edges.
9155
9156 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
9157
9158         * langhooks.h: New file.
9159         * Makefile.in (OBJS): Added langhooks.o.
9160         (c-lang.o): Depend on langhooks.h.
9161         (c-common.o): Don't depend on tree-inline.h.
9162         (tree-inline.o): Depend on toplev.h.
9163         (langhooks.o): New rule.
9164         * c-common.c: Don't include tree-inline.h.
9165         (c_mark_lang_decl): Mark argument c as unused.
9166         (c_common_lang_init): Don't initialize hooks here.
9167         * c-lang.c: Include langhooks.h, then override some macros.
9168         (lang_hooks): Initialize with macros in langhooks.h.
9169         (c_init): Don't initialize hooks here.
9170         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
9171         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
9172         * tree-inline.c: Include toplev.h.  Don't define hook variables.
9173         * tree-inline.h: Don't define hook types nor declare hook
9174         variables.  Move macros to...
9175         * langhooks.c: ... new file, as functions.  Adjust all callers.
9176
9177 2001-10-08  Jeffrey A Law  <law@cygnus.com>
9178
9179         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
9180         purge_mem_unchanging_flag on all instructions, not just on those
9181         before NOTE_INSN_FUNCTION_BEG.
9182
9183 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9184
9185         * cppmacro.c (_cpp_create_definition): Leave comments off.
9186
9187         * doc/cpp.texi: Update.
9188
9189 2001-10-08  DJ Delorie  <dj@redhat.com>
9190
9191         * c-decl.c (grokfield): Make sure the only unnamed fields
9192         we're allowing are either structs or unions.
9193         * doc/extend.texi: Add documentation for the unnamed field
9194         extension.
9195
9196 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
9197
9198         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
9199         * configure.in: Use it.
9200         * configure: Regenerated.
9201         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
9202         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
9203
9204 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9205
9206         * cppfiles.c (open_file): Don't mark zero-length files
9207         never-reread here.  Don't output diagnostics here either.
9208         (stack_include_file): Mark them never-reread here.
9209         (_cpp_read_file): Update.
9210
9211 2001-10-08  Richard Henderson  <rth@redhat.com>
9212
9213         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
9214
9215 2001-10-08  Richard Henderson  <rth@redhat.com>
9216
9217         * expr.c (store_expr): When converting a CONST_INT for storage
9218         in a SUBREG, convert it to both SUBREG modes before stripping
9219         the SUBREG.
9220
9221 2001-10-08  Richard Henderson  <rth@redhat.com>
9222
9223         * varasm.c (restore_varasm_status): New.
9224         * function.h: Declare it.
9225         * function.c (pop_function_context_from): Call it.
9226
9227 2001-10-08  Richard Henderson  <rth@redhat.com>
9228
9229         * c-common.h (struct c_lang_decl): Add declared_inline.
9230         * c-tree.h (DECL_DECLARED_INLINE_P): New.
9231         * c-lang.c (c_disregard_inline_limits): Use it.
9232         * c-decl.c (duplicate_decls): Likewise.
9233         (pushdecl, redeclaration_error_message): Likewise.
9234         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
9235         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
9236         Set DECL_INLINE if -finline-functions.
9237         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
9238
9239 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9240
9241         * cppmacro.c (funlike_invocation_p): Move some logic to caller
9242         in enter_macro_context.  Create a padding token in its own context
9243         if necessary when the search for '(' fails.
9244         (enter_macro_context): Update.
9245
9246 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9247
9248         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
9249         genmultilib, toplev.c: Fix spelling errors of "separate" as
9250         "seperate", and corresponding spelling errors of related words.
9251
9252 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9253
9254         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
9255         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
9256         Likewise.
9257         * c-dump.c (dump_option_value_info): Likewise.
9258         * c-format.c (format_length_info, format_char_info,
9259         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
9260         * collect2.c (names): Likewise.
9261         * cppdefault.h (default_include): Likewise.
9262         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
9263         * flow.c (life_analysis): Likewise.
9264         * gcc.c (dir_separator_str, modify_target, option_map,
9265         target_option_translations, spec_list_1, extra_specs_1,
9266         init_spec): Likewise.
9267         * gcov.c (gcov_version_string): Likewise.
9268         * genattr.c (write_units): Likewise.
9269         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
9270         * gengenrtl.c (rtx_definition, defs): Likewise.
9271         * genrecog.c (pred_table): Likewise.
9272         * global.c (global_alloc): Likewise.
9273         * lcm.c (optimize_mode_switching): Likewise.
9274         * local-alloc.c (find_free_reg): Likewise.
9275         * params.h (param_info): Likewise.
9276         * predict.c (predictor_info): Likewise.
9277         * protoize.c (unexpansion_struct): Likewise.
9278         * real.c (bmask): Likewise.
9279         * recog.h (insn_operand_data, insn_data): Likewise.
9280         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
9281         * stmt.c (expand_nl_goto_receiver): Likewise.
9282         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
9283         target_switches, target_options): Likewise.
9284         * tradcif.y (token, tokentab2, yylex): Likewise.
9285         * tree.h (attribute_spec): Likewise.
9286
9287         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
9288         Likewise.
9289         * arc.c (arc_output_function_epilogue): Likewise.
9290         * arm.c (processors, all_cores, all_architectures,
9291         arm_override_options, isr_attribute_arg, isr_attribute_args,
9292         arm_isr_value): Likewise.
9293         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
9294         Likewise.
9295         * c4x.c (c4x_int_reglist): Likewise.
9296         * d30v.c (override_options): Likewise.
9297         * h8300.c (shift_insn): Likewise.
9298         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
9299         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
9300         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
9301         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
9302         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
9303         * i386.h (processor_costs, ix86_cost): Likewise.
9304         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
9305         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
9306         * m68k.c (codes_68881, codes_FPA): Likewise.
9307         * m88k.c (mode_from_align, max_from_align, all_from_align,
9308         best_from_align, m_options): Likewise.
9309         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
9310         * mcore.c (mode_from_align): Likewise.
9311         * mips/elf64.h (UNIQUE_SECTION): Likewise.
9312         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
9313         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
9314         * mips.h (mips_regno_to_class): Likewise.
9315         * ns32k.c (scales): Likewise.
9316         * pa.c (import_string, magic_milli): Likewise.
9317         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
9318         * sparc.c (leaf_reg_remap, sparc_override_options,
9319         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
9320         Likewise.
9321         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
9322
9323 2001-10-07  Dale Johannesen  <dalej@apple.com>
9324
9325         * reload1.c (reload_reg_free_p): Teach register interference
9326         checking that multiple output reloads are emitted in
9327         reverse order.
9328         reload1.c (reload_reg_reaches_end_p):  Ditto.
9329         reload1.c (reloads_conflict):  Ditto.
9330
9331 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9332
9333         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
9334         NULL_TREE inside @code.
9335
9336 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9337
9338         * doc/gcc.texi: Document consistent style of "32-bit",
9339         "Objective-C", and "@code{NULL}".
9340
9341 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9342
9343         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
9344         (cpp_token_len, cpp_spell_token, cpp_output_token,
9345         _cpp_equiv_tokens): Handle it.
9346         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
9347         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
9348         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
9349         error messages.
9350
9351 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9352
9353         * gcc.c (default_compilers): Remove .ada.
9354
9355 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9356
9357         * doc/cppinternals.texi: Update.
9358
9359 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9360
9361         * gcc.c (main): Set this_file_error if the appropriate
9362         compiler for a language has not been installed.
9363
9364 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
9365
9366         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
9367
9368 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
9369
9370         * gccbug.in (CATEGORIES): Add ada.
9371
9372 2001-10-05  Catherine Moore  <clm@redhat.com>
9373
9374         * config/stormy16/stormy-abi:  Document abi changes.
9375         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
9376         (ICALL_REGS): New register class.
9377         (NUM_ARGUMENT_REGISTERS): Now 6.
9378         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
9379         in registers.
9380         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
9381         * config/stormy16.md (call_internal, call_value_internal,
9382         indirect_jump): Use new 'z' constraint.
9383
9384 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9385
9386         * doc/cppinternals.texi: Update.
9387
9388 2001-10-05  Richard Henderson  <rth@redhat.com>
9389
9390         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
9391         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
9392         the gas section-name-as-label feature.
9393
9394 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9395
9396         * doc/cppinternals.texi: Update.
9397
9398 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9399
9400         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
9401         to ensure valid SImode constants.
9402
9403 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
9404
9405         * Makefile.in (c-decl.o): Depend on tree-inline.h.
9406         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
9407         * c-decl.c: Include tree-inline.h.
9408         (c_expand_body): Call optimize_inline_calls. Determine whether
9409         a function is inlinable upfront, and only clear
9410         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
9411         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
9412         (c_disregard_inline_limits): New function.
9413         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
9414         (c_post_options): Enable tree inlining if inlining is enabled.
9415         Don't inline trees when instrumenting functions.
9416         (c_init): Initialize lang_disregard_inline_limits and
9417         lang_cannot_inline_tree_fn.
9418         * tree-inline.c (initialize_inlined_parameters): Handle calls
9419         with fewer arguments than declared parameters, and fewer
9420         parameters than passed arguments.  Don't assume value is a
9421         DECL.
9422         (declare_return_variable): Convert return value back to the
9423         original type, if it was promoted.
9424         (tree_inlinable_function_p): New function.
9425         (inlinable_function_p): Don't look at DECL_INLINE if we're
9426         inlining all functions.  Make it work with a NULL id.
9427         Re-check DECL_UNINLINABLE after language-specific checks.
9428         * tree-inline.h (tree_inlinable_function_p): Declare it.
9429         * integrate.c (save_for_inline): Don't bother to prepare argvec
9430         when not inlining.
9431         * cse.c (check_for_label_ref): Don't check deleted labels.
9432
9433         * Makefile.in (tree-inline.o): Depend on newly-included headers.
9434         * tree-inline.c: Include headers needed for the functions moved in.
9435         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
9436         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
9437         (copy_body, initialize_inlined_parameters): Likewise.
9438         (declare_return_variable, inlinable_function_p): Likewise.
9439         (expand_call_inline, expand_calls_inline): Likewise.
9440         (optimize_inline_calls, clone_body): Likewise.
9441         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
9442         (copy_tree_r, remap_save_expr): Likewise.
9443
9444 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
9445
9446         * Makefile.in (OBJS): Added tree-inline.o.
9447         (c-common.o): Depend on tree-inline.h.
9448         (tree-inline.o): New target.
9449         * c-common.c: Include tree-inline.h.
9450         (c_mark_lang_decl): Don't mark saved_tree.
9451         (c_common_lang_init): Set lang_anon_aggr_type_p.
9452         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
9453         (struct c_lang_decl): Moved saved_tree to tree_decl.
9454         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
9455         * integrate.h (function_attribute_inlinable_p): Declare it.
9456         * integrate.c (function_attribute_inlinable_p): Export it.
9457         * tree-inline.c: New file.  Define variables declared in...
9458         * tree-inline.h: New file.  Declare functions to be moved to
9459         tree-inline.c.  Define macros and declare types and hooks for
9460         language-specific tree inlining.
9461         (flag_inline_trees): Moved definition from cp/decl2.c.
9462         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
9463         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
9464         (struct tree_decl): Moved saved_tree from c_lang_decl and
9465         inlined_fns from C++'s lang_decl.
9466
9467 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
9468
9469         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
9470         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
9471
9472 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9473
9474         * doc/cppinternals.texi: Update.
9475
9476 2001-10-04  Eric Christopher  <echristo@redhat.com>
9477
9478         * config/mips/mips.c (init_cumulative_args): Remember to set
9479         cum->prototype.
9480         * config.gcc: Redo linux configuration. Add target_cpu_default
9481         of soft-float to all mipsisa32 combinations and tx39.
9482         * config/mips/linux.h: Remove include of mips.h.
9483
9484 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
9485
9486         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
9487         HOST_LDFLAGS and HOST_CPPFLAGS.
9488
9489 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
9490
9491         * c-parse.in (objc_inherit_code, objc_pq_context,
9492         objc_public_flag): Make static.
9493         (objc_interface_context, objc_implementation_context,
9494         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
9495         global tree array in objc/objc-act.[ch].
9496         (methoddef): Remove unnecessary code.
9497
9498         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
9499         Hoist struct definitions to objc-act.h.
9500         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
9501         cat_count): Place declaration in objc-act.h.
9502         (objc_tree_index): Move enumeration to objc-act.h.
9503         (objc_global_trees): Place declaration and macro accessors in
9504         objc-act.h.
9505         (implementation_context): Remove duplicate; use
9506         objc_implementation_context instead:
9507         (method_context): Remove duplicate; use objc_method_context
9508         instead.
9509         (objc_ellipsis_node, objc_method_prototype_template,
9510         implemented_classes, function_type): Move global vars to
9511         objc_global_trees.
9512         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
9513         (build_message_expr): Move actual construction of ObjC message
9514         send nodes to finish_message_expr.
9515         (finish_message_expr): New routine, contains code formerly in
9516         build_message_expr.
9517         * objc/objc-act.h (finish_message_expr): New prototype.
9518         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
9519         declarations; these vars are now part of objc_global_trees.
9520         (objc_tree_index, objc_global_trees): Move definitions from
9521         objc-act.c.
9522         * objc/objc-tree.def: Update copyright info.
9523
9524 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
9525
9526         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
9527         op is NULL.
9528         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
9529         only if TARGET_ARCH64.
9530
9531 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
9532
9533         * doc/extend.texi: Fix some problems with previous checkin.
9534         * doc/invoke.texi: Likewise.
9535
9536 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9537
9538         * cpphash.h: Update comments.
9539         (cpp_context): Update.
9540         (spec_nodes): Remove n__Pragma.
9541         * cppinit.c (cpp_create_reader): Update.
9542         (builtin_array): Add _Pragma.
9543         * cpplib.h: Update comments.
9544         (NODE_DISABLED, BT_PRAGMA): New.
9545         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
9546         * cppmacro.c (struct cpp_macro): Remove disabled.
9547         (builtin_macro): Return int, handle _Pragma, push the new token
9548         on the context stack.
9549         (funlike_invocation_p): Unconstify, update.
9550         (enter_macro_context): Handle builtins here.
9551         (replace_args, push_token_context, push_ptoken_context):
9552         Update for prototype changes.
9553         (_cpp_pop_context): Update.
9554         (cpp_get_token): Don't handle buitins, nor _Pragma here.
9555         (cpp_sys_macro_p): Update.
9556         (_cpp_free_definition): Clear disabled flag.
9557         (_cpp_create_definition): Upate.
9558         * cppmain.c: Update comments.
9559
9560 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
9561                                 Andreas Jaeger <aj@suse.de>,
9562                                 Jan Hubicka    <jh@suse.cz>
9563
9564         * doc/invoke.texi (i386 Options): Document x86-64 options.
9565         (i386 and x86-64 Options): Rename i386 options section.
9566
9567         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
9568         (TARGET_SWITCHES): Add -munwind-info.
9569         (MASK_NO_UNWIND_INFO): New.
9570         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
9571         biarch compilation.
9572         (ASM_OUTPUT_DOUBLE_INT): New.
9573
9574         * config/i386/linux64.h: New spec file for Linux x86-64 support.
9575         * config.gcc: Fix tm_file settings for x86-64.
9576         * config/i386/x86-64.h: New file with OS independent x86-64
9577         definitions.
9578         * config/i386/biarch64.h: New file used to configure compiler
9579         to biarch/64bit compilation.
9580
9581         * config/i386/i386.c: (override_options): Set flags default
9582         for 64bit compilation.
9583
9584 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
9585
9586         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
9587         (ix86_expand_int_movcc): Optimize DImode conditional moves with
9588         constants on x86_64.
9589         (ix86_attr_length_immediate_default): Support MODE_DI.
9590         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
9591         condition.
9592         (indirect_jump, tablejump): Turn into expander.
9593
9594 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9595
9596         * c-common.c (c_format_attribute_table): Make format and
9597         format_arg attributes apply to function types rather than to
9598         decls.
9599         (is_valid_printf_arglist): Construct an attribute list and pass
9600         that to check_function_format rather than a name.
9601         * c-common.h (check_function_format): Adjust prototype.
9602         * c-decl.c (duplicate_decls): Preserve attributes from type of
9603         built-in decl when allowing for harmless conflict in types.
9604         * c-format.c (record_function_format,
9605         record_international_format, function_format_list,
9606         international_format_info, international_format_list): Remove.
9607         (function_format_info): Remove next, name and assembler_name.
9608         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
9609         (decode_format_attr): New.
9610         (handle_format_attribute): Handle receiving a type rather than a
9611         decl.  Call decode_format_attr.  Store format information in a
9612         function_format_info.
9613         (handle_format_arg_attribute): Correct comment.  Handle receiving
9614         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
9615         arg_num.
9616         (check_format_info_recurse, check_format_info_main): Take argument
9617         numbers as unsigned HOST_WIDE_INT.
9618         (check_function_format): Take a list of attributes from the
9619         function type rather than a name or assembler name.  Check for
9620         format attributes in that list and the attributes on the type of
9621         the current function rather than looking through
9622         function_format_list.
9623         (check_format_info): Use unsigned HOST_WIDE_INT for argument
9624         numbers.
9625         (check_format_info_recurse): Take format_arg attributes from the
9626         type of the function calls rather than using
9627         international_format_list.  Allow for multiple format_arg
9628         attributes.
9629         * c-typeck.c (build_function_call): Pass type attributes to
9630         check_function_format rather than name or assembler name.  Don't
9631         require there to be a name or assembler name to check formats.
9632
9633 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9634
9635         * attribs.c (decl_attributes): Possibly call
9636         insert_default_attributes to insert default attributes on
9637         functions in a lazy manner.
9638         * builtin-attrs.def: New file; define the default format and
9639         format_arg attributes.
9640         * c-common.c (c_format_attribute_table): Move to earlier in the
9641         file.
9642         (c_common_nodes_and_builtins): Initialize format_attribute_table.
9643         (enum built_in_attribute, built_in_attributes,
9644         c_attrs_initialized, c_init_attributes,
9645         c_common_insert_default_attributes): New.
9646         (c_common_lang_init): Don't initialize format_attribute_table.  Do
9647         call c_init_attributes.
9648         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
9649         * c-common.h (init_function_format_info): Don't declare.
9650         (c_common_insert_default_attributes): Declare.
9651         * c-decl.c (implicitly_declare, builtin_function): Call
9652         decl_attributes.
9653         (init_decl_processing): Don't call init_function_format_info.
9654         (insert_default_attributes): New.
9655         * c-format.c (handle_format_attribute,
9656         handle_format_arg_attribute): Be quiet about inappropriate
9657         declaration when applying default attributes.
9658         (init_function_format_info): Remove.
9659         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
9660         (insert_default_attributes): Declare.
9661
9662 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9663
9664         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
9665
9666 2001-10-01  Jim Wilson  <wilson@redhat.com>
9667
9668         * sched-deps.c (add_dependence): When elide conditional dependence,
9669         check that insn doesn't modify cond2.
9670
9671 2001-10-01  Dale Johannesen  <dalej@apple.com>
9672
9673         * config/rs6000/rs6000.h (enum processor_type): Add support
9674         for 7400 (G4) and 7450.
9675         (RTX_COSTS): Ditto.
9676         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
9677         (rs6000_issue_rate): Ditto.
9678         (rs6000_adjust_cost): Fix cycle counts for compares.
9679         (debug_stack_info):  Fix an obvious typo.
9680         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
9681         * doc/invoke.texi: Document.
9682         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
9683         for Darwin.
9684         (PROCESSOR_DEFAULT): Ditto.
9685
9686 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
9687
9688         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
9689         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
9690         later recursive make invocation.
9691
9692 2001-10-01  Hans Boehm  <boehm@acm.org>
9693
9694         * optabs.c (emit_libcall_block): When using non-call exceptions,
9695         don't add REG_LIBCALL reg notes to trapping calls.
9696
9697 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9698
9699         * flow.c (propagate_block_delete_libcall): Remove unused first arg
9700         (propagate_one_insn):  Update for above change
9701
9702 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9703
9704         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
9705         _Unwind_GetTextRelBase): Argument is unused.
9706
9707 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9708
9709         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
9710         Loop through NOPs, placeholders, and components.
9711         Don't go through NOPs if change mode.
9712         (record_alias_subset): Do nothing if SUBSET and SET are the same.
9713         * emit-rtl.c (set_mem_alias_set): Enable check.
9714         * expr.c (find_placeholder): New function.
9715         (expand_expr, case PLACEHOLDER_EXPR): Use it.
9716         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
9717         to modify it and avoid unneeded copies.
9718         * expr.h (expand_expr): Always define.
9719         (find_placeholder): New declaration.
9720
9721 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9722
9723         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
9724         operand 2 is the stack pointer.
9725         ("addr-peephole"): Fix address computation peephole when operand 2
9726         is the stack pointer.
9727
9728 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9729
9730         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
9731         (ix86_setup_incoming_varargs): Likewise.
9732
9733 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
9734
9735         * stor-layout.c (layout_type): Don't complain about too-large
9736         array here.
9737
9738 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9739
9740         * function.c (keep_stack_depressed): Don't use delete_insn.
9741
9742         * expr.h (set_mem_alias_set): Move decl to here.
9743         * rtl.h (mem_attrs): New typedef and struct.
9744         (union rtunion_def): Add field for mem_attrs.
9745         (X0MEMATTR, MEM_ATTRS): New macros.
9746         (MEM_ALIAS_SET): Use MEM_ATTRS.
9747         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
9748         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
9749         (set_mem_alias_set): Delete decl from here.
9750
9751         * alias.c (set_mem_alias_set): Delete from here.
9752         * emit-rtl.c (mem_attrs_htab): New variable.
9753         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
9754         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
9755         (mem_attrs_mark, get_mem_attrs): Likewise.
9756         (gen_rtx_MEM): Clear MEM_ATTRS.
9757         (set_mem_attributes): Move to here.
9758         (set_mem_alias_set): Likewise, and call get_mem_attrs.
9759         (init_emit_once): const_int_htab now deletable htab.
9760         Initialize mem_attrs_htab.
9761         * explow.c (set_mem_attributes): Delete from here.
9762         * function.c (put_var_into_stack): Clear MEM_ATTRS.
9763         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
9764         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
9765         * reload1.c (reload): Rework changing REG to MEM.
9766
9767 2001-09-30  H.J. Lu <hjl@gnu.org>
9768
9769         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
9770         * config.in: Rebuild.
9771
9772 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9773
9774         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
9775         ("tsthi_1"): Avoid allocation in register y.
9776         ("*movqi_68hc12"): Reorganize and fix constraints.
9777         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
9778         ("addqi3"): Likewise.
9779         ("addhi3"): Fix constraints.
9780         ("*logicalhi3_zexthi"): Disparage soft registers.
9781
9782 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9783
9784         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
9785         to tmp reg.
9786
9787 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9788
9789         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
9790         that we use setjmp/longjmp exceptions.
9791
9792 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9793
9794         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
9795         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
9796         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9797         _cpp_pool_alloc, _cpp_next_chunk): Remove.
9798         (_cpp_extend_buff, BUFF_ROOM): Update.
9799         (_cpp_append_extend_buff): New.
9800         (struct cpp_reader): Remove macro_pool, add a_buff.
9801         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
9802         macro_pool.
9803         (cpp_destroy): Free a_buff instead of macro_pool.
9804         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
9805         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9806         _cpp_pool_alloc, ): Remove.
9807         (parse_number, parse_string): Update use of _cpp_extend_buff.
9808         (_cpp_extend_buff): Update.
9809         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
9810         * cpplib.c (glue_header_name, parse_answer):
9811         Update use of _cpp_extend_buff.
9812         (cpp_register_pragma, cpp_register_pragma_space): Use
9813         _cpp_aligned_alloc.
9814         (do_assert, do_unassert): Check for EOL, update.
9815         * cppmacro.c (stringify_arg, collect_args): Update to use
9816         _cpp_extend_buff and _cpp_append_extend_buff.
9817         (save_parameter, parse_params, alloc_expansion_token,
9818         _cpp_create_definition): Rework memory management.
9819
9820 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
9821
9822         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
9823         update md_exec_prefix.
9824         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
9825         to string constant.
9826
9827 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9828
9829         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
9830         (SELECT_CC_MODE): Use s390_select_ccmode.
9831         * config/s390/s390-protos.h (s390_select_ccmode): Add.
9832         * config/s390/s390.c (s390_select_ccmode): New.
9833         (s390_match_ccmode): Add CCLmode.
9834         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
9835         (output_branch_condition, output_inverse_branch_condition): Removed.
9836         (print_operand): Use s390_branch_condition_mnemonic.
9837         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
9838         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
9839         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
9840
9841         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
9842         when converting conditional branches to far branches.
9843         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
9844         cmpint_di): Use CCSmode instead of CCUmode.
9845
9846         * config/s390/s390.c (legitimate_la_operand_p): New.
9847         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
9848         * config/s390/s390.md (movsi): Convert load address patterns to
9849         arithmetic operations when necessary.
9850         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
9851         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
9852         (*do_la_reg_0): Don't use before reload.
9853
9854         * config/s390/s390.c (legitimize_address): Make more efficient
9855         use of two-register addressing mode.
9856
9857         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
9858         with -mno-backchain in some corner cases.
9859
9860         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
9861
9862 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
9863
9864         * reload.c (find_reloads): Mark new USE insns with QImode.
9865         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
9866         find_reloads_subreg_address): Likewise.
9867         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
9868         encountered.
9869         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
9870         CLOBBERs.
9871         (reload): Make sure there are no USEs with mode other than
9872         VOIDmode.  At the end, remove those marked with QImode.
9873
9874 2001-09-29  Per Bothner  <per@bothner.com>
9875
9876         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
9877         * Makefile.in (includedir):  Rename to local_includedir.
9878         (includedir):  Define as $(prefix)/include.
9879         * config.in (PREFIX_INCLUDE_DIR):  New variable.
9880         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
9881
9882 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
9883
9884         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
9885         storehps builtins.
9886         * doc/extend.texi (Vector Extensions): New node.
9887         * doc/invoke.texi (Machine Dependent Options): Add documentation for
9888         i386 -mmmx, -msse, -m3dnow.
9889
9890 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9891
9892         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
9893
9894 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
9895
9896         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
9897
9898         * doc/invoke.texi (Optimize Options): Delete spurious @table.
9899
9900 2001-09-28  Richard Henderson  <rth@redhat.com>
9901
9902         * varasm.c (assemble_integer): Bound alignment check by
9903         BIGGEST_ALIGNMENT.
9904
9905         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
9906
9907 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9908
9909         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
9910
9911 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9912
9913         Mostly from Graham Stott  <grahams@redhat.com>
9914         * c-common.c (type_for_mode): Add support for V2SFmode.
9915         * tree.c (build_common_tree_nodes_2): Likewise.
9916         * tree.h (enum tree_index, global_trees): Likewise.
9917         * config/i386/i386.c (x86_3dnow_a): New variable.
9918         (override_options): Support 3Dnow extensions.
9919         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
9920         Athlon's version of 3Dnow.
9921         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
9922         (ix86_expand_builtin): Handle them.
9923         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
9924         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
9925         TARGET_3DNOW_A): New macros.
9926         (TARGET_SWITCHES): Add 3Dnow switches.
9927         (VALID_MMX_REG_MODE_3DNOW): New macro.
9928         (VECTOR_MODE_SUPPORTED_P): Use it.
9929         (enum ix86_builtins): Add entries for 3Dnow builtins.
9930         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
9931         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
9932         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
9933         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
9934         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
9935         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
9936         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
9937         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
9938         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
9939         sfence_insn, prefetch): Make these available if TARGET_SSE or
9940         TARGET_3DNOW_A.
9941
9942 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
9943
9944         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
9945         ix86_va_start, ix86_build_va_list): Declare.
9946         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
9947         ix86_va_start, ix86_build_va_list): New global functions.
9948         * i386.md (sse_prologue_save_insn): New insn.
9949         (sse_prologue_save): New expander.
9950         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
9951         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
9952
9953 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9954
9955         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
9956         Use size_t everywhere, make definitions consistent with
9957         prototypes.
9958
9959 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
9960
9961         * gcse.c (replace_store_insn): Use delete_insn.
9962         * loop.c (move_movables): Likewise; avoid delete_insn
9963         from clobbering notes moved elsewhere.
9964         (check_dbra_loop): Use delete_insn.
9965         * ssa.c (convert_from_ssa): Likewise.
9966         * cse.c (cse_insn): Use delete_insn.
9967
9968 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9969
9970         * cpphash.h (struct cpp_buff): Make unsigned.
9971         (_cpp_get_buff): Take length of size_t.
9972         (_cpp_unaligned_alloc): New.
9973         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
9974         (struct cpp_reader): Remove ident_pool.  Add u_buff.
9975         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
9976         (cpp_destroy): Destroy u_buff, not ident_pool.
9977         * cpplex.c (parse_number, parse_string, save_comment,
9978         cpp_token_as_text): Update to use the unaligned buffer.
9979         (new_buff): Make unsigned.
9980         (_cpp_unaligned_alloc): New.
9981         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
9982         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
9983         Similarly.
9984         (collect_args): Make unsigned.
9985
9986 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
9987
9988         * cpplex.c (cpp_output_token): Use a putc loop for
9989         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
9990
9991         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
9992         * configure, config.in: Regenerate.
9993         * system.h: Replace fwrite and fprintf with their unlocked
9994         variants if available.
9995
9996 2001-09-27  Richard Henderson  <rth@redhat.com>
9997
9998         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
9999         in favour of .eh_frame.
10000
10001 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
10002
10003         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
10004         to macros.
10005         (LIBCALL_VALUE): Likewise.
10006
10007 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10008
10009         * cpphash.h: Update comment.
10010         * cpplex.c: Update comments.
10011         (_cpp_can_paste): Remove.
10012         * cpplib.h (_cpp_can_paste): Remove.
10013         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
10014         lexer rather than _cpp_can_paste.
10015
10016 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10017
10018         * doc/cppinternals.texi: Update.
10019
10020 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10021
10022         * cpphash.h (struct cpp_pool): Remove locks and locked.
10023         (struct cpp_context): Add member buff.
10024         (struct cpp_reader): Remove member argument_pool.
10025         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
10026         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
10027         * cpplex.c (chunk_suitable): Remove pool argument.
10028         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
10029         (new_buff, _cpp_extend_buff): Update.
10030         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
10031         which buffer is returned.
10032         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
10033         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
10034         * cppmacro.c (lock_pools, unlock_pools): Remove.
10035         (push_ptoken_context): Take a _cpp_buff.
10036         (enter_macro_context): Pool locking removed.
10037         (replace_args): Use a _cpp_buff for the replacement list with
10038         arguments replaced.
10039         (push_token_context): Clear buff.
10040         (expand_arg): Use _cpp_pop_context.
10041         (_cpp_pop_context): Free a context's buffer, if any.
10042
10043 2001-09-26  DJ Delorie  <dj@redhat.com>
10044
10045         * c-typeck.c (digest_init): Check for sizeless arrays.
10046
10047 2001-09-26  Richard Henderson  <rth@redhat.com>
10048
10049         * optabs.c (init_one_libfunc): Create a dummy function type
10050         instead of using error_mark_node.
10051
10052 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10053
10054         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
10055         _cpp_extend_buff, _cpp_free_buff): New.
10056         (struct cpp_reader): New member free_buffs.
10057         * cppinit.c (cpp_destroy): Free buffers.
10058         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
10059         _cpp_extend_buff, _cpp_free_buff): New.
10060         * cpplib.h (struct cpp_options): Remove unused member.
10061         * cppmacro.c (collect_args): New.  Combines the old parse_arg
10062         and parse_args.  Use _cpp_buff for memory allocation.
10063         (funlike_invocation_p, replace_args): Update.
10064
10065 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
10066
10067         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
10068
10069 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
10070
10071         * except.c (sjlj_mark_call_sites): Change address inside sequence.
10072
10073 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
10074
10075         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
10076         glibc.
10077
10078 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
10079             Jim Wilson  <wilson@redhat.com>
10080
10081         * doc/install.texi (Specific, ia64-*-linux): Document.
10082
10083 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
10084
10085         * Makefile.in (cfgrtl.o): Add.
10086         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
10087         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
10088         free_aux_for_edge): Declare.
10089         * cfg.c
10090         (HAVE_return): Undefine.
10091         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
10092         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
10093         free_aux_for_edge): New global functions.
10094         (first_delete_block): New static variable.
10095         (init_flow): Clear first_delete_block.
10096         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
10097          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
10098          try_redirect_by_replacing_jump, last_loop_beg_note,
10099          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
10100          delete_insn, delete_insn_chain, create_basic_block_structure,
10101          create_basic_block, flow_delete_block, compute_bb_for_insn,
10102          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
10103          set_block_for_new_insns, split_block, merge_blocks_nomove,
10104          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
10105          redirect_edge_and_branch, force_nonfallthru_and_redirect,
10106          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
10107          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
10108          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
10109          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
10110          purge_all_dead_edges): Move to ....
10111         * cfgrtl.c: New file; .... Here.
10112
10113         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
10114         (reroder_basic_block): Use alloc_aux_for_blocks.
10115         * predict.c (estimate_bb_frequencies): Likewise; use
10116         alloc_aux_for_edges.
10117         * profile.c (compute_branch_probabilities): Likewise.
10118         (branch_prob): Likewise.
10119         * reg-stack.c (reg_to_stack): Likewise.
10120
10121         * emit-rtl.c (emit_insns_after): Never return NULL.
10122
10123         * basic-block.h (set_block_for_new_insns): Delete.
10124         * cfgrtl.c (set_block_for_new_insns): Delete.
10125
10126         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
10127         calls when crossjumping.
10128
10129         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
10130         * unroll.c (copy_loop_body): Use delete_insn.
10131
10132         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
10133         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
10134         keep_stack_depressed): Likewise.
10135         * gcse.c (cprop_cc0_jump): Likewise.
10136         * local-alloc.c (update_equiv_regs): Likewise.
10137         * loop.c (scan_loop, loop_delete_insns): Likewise.
10138         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
10139         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
10140         delete_output_reload, delete_address_reloads_1,
10141         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
10142         Likewise.
10143         * sibcall.c (replace_call_placeholder): Likewise.
10144         * cse.c (cse_insn): Likewise.
10145
10146 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
10147
10148         From Graham Stott  <grahams@redhat.com>
10149         (def_builtin): Only define builtins appropriate for target_flags.  All
10150         callers changed.
10151         (builtin_decsription): Add new field mask which is used to determine
10152         when to define the builtin via the macro def_builtin.
10153
10154         (bdesc_comi): Initialise new mask fields.
10155         (bdesc_2srg): Likewise.
10156         (bdesc_1arg): Likewise.
10157
10158         * config/i386/i386.c (ix86_init_builtins): Correct return type
10159         building v4hi_ftype_v4hi_int_int tree node.
10160         (ix86_expand_sse_comi): Fix typo swapping operands.
10161         Don't swap comparision condition, it is already swapped.
10162         (ix86_expand_sse_compare): Before swapping operands
10163         move operand 1 into new rtx and not the target rtx.
10164         Don't swap comparison condition, it is already swapped.
10165         Always check whether we need to create a new TARGET.
10166
10167         * config/i386/i386.md: (sse_comi) Fix typos.
10168         (sse_ucomi): Likewise.
10169         (cvtss2si): Fix operand 0 contraint.
10170         (cvttss2si): Likewise.
10171         (sse_unpckhps): Fix mode for operand 2.
10172         (sse_unpcklps): Likewise.
10173
10174 2001-09-25  Graham Stott  <grahams@redhat.com>
10175
10176         * sibcall.c (skip_copy_to_return_value): Tighten return value
10177         copy check.
10178
10179 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
10180
10181         * rs6000.c (lwa_operand): Address must be word aligned.
10182
10183 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10184
10185         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
10186         number has been set.
10187         (type_hash_mark): Mark type itself.
10188
10189 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10190
10191         * c-lex.c (cb_def_pragma): Update.
10192         (c_lex): Update, and skip padding.
10193         * cppexp.c (lex, parse_defined): Update, remove unused variable.
10194         * cpphash.h (struct toklist): Delete.
10195         (union utoken): New.
10196         (struct cpp_context): Update.
10197         (struct cpp_reader): New members eof, avoid_paste.
10198         (_cpp_temp_token): New.
10199         * cppinit.c (cpp_create_reader): Update.
10200         * cpplex.c (_cpp_temp_token): New.
10201         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
10202         (cpp_output_token): Don't print leading whitespace.
10203         (cpp_output_line): Update.
10204         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
10205         do_include_common, do_line, do_ident, do_pragma,
10206         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
10207         parse_assertion): Update.
10208         (get_token_no_padding): New.
10209         * cpplib.h (CPP_PADDING): New.
10210         (AVOID_LPASTE): Delete.
10211         (struct cpp_token): New union member source.
10212         (cpp_get_token): Update.
10213         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
10214         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
10215         replace_args, quote_string, stringify_arg, parse_arg, next_context,
10216         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
10217         _cpp_backup_tokens, _cpp_create_definition): Update.
10218         (push_arg_context): Delete.
10219         (padding_token, push_token_context, push_ptoken_context): New.
10220         (make_string_token, make_number_token): Update, rename.
10221         (cpp_get_token): Update to handle tokens as pointers to const,
10222         and insert padding appropriately.
10223         * cppmain.c (struct printer): New member prev.
10224         (check_multiline_token): Constify.
10225         (do_preprocessing, cb_line_change): Update.
10226         (scan_translation_unit): Update to handle spacing.
10227         * scan-decls.c (get_a_token): New.
10228         (skip_to_closing_brace, scan_decls): Update.
10229         * fix-header.c (read_scan_file): Update.
10230
10231         * doc/cpp.texi: Update.
10232
10233 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10234
10235         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
10236         leak by passing malloc'ed pointer to reconcat, not concat.
10237
10238 2001-09-24  DJ Delorie  <dj@redhat.com>
10239
10240         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
10241
10242 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
10243
10244         * flow.c (delete_dead_jumptables): Delete jumptable if the only
10245         reference is from the literal pool.
10246
10247 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
10248
10249         * doc/install.texi (Final install): Request additional information
10250         in mail about successful builds.
10251
10252 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10253
10254         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
10255         initial value of return pointer register instead of value in frame-20.
10256         Revise comments.
10257
10258 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10259
10260         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
10261         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
10262         the libcall if there isn't a referenced identifier for the symbol.
10263
10264 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10265
10266         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
10267         non 64-bit machines.  Use these as a plabel for the trampoline.
10268         (TRAMPOLINE_SIZE): Adjust size for new words.
10269         (INITIALIZE_TRAMPOLINE): Initialize new words.
10270         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
10271         pointer to the plabel in the trampoline.
10272
10273 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10274
10275         * pa.c (function_arg): Pass floating arguments in both general and
10276         floating registers in indirect (dynamic) calls when generating code
10277         for the 32 bit ABI and the HP assembler.
10278
10279 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10280
10281         * doc/install.texi: Markup fixes.
10282         Use Solaris 2, SunOS 4 as appropriate.
10283         (Specific, *-*-solaris2*): Explain this.
10284         Unconditionally warn against /usr/ucb tools.
10285         Remove Sun as warning, obsolete.
10286         Move X11 header bug workaround here, update patches.
10287         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
10288         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
10289
10290 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
10291
10292         * errors.h (warning, error, fatal, internal_error): Don't mark
10293         with ATTRIBUTE_PRINTF_n.
10294         * toplev.h (internal_error, fatal_io_error, warning, error,
10295         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
10296         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
10297         Likewise.
10298
10299 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10300
10301         * function.c (pop_function_context_from): var_refs_queue
10302         and temp slots now in GC memory.
10303         (mark_function_status, free_after_compilation): Likewise;
10304         also struct function now in GC memory.
10305         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
10306         (combine_temp_slots): Likewise.
10307         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
10308         (prepare_function_start): Use GC memory for struct function.
10309         (mark_temp_slot): Deleted.
10310         (gcc_mark_struct_function): struct function now in GC memory.
10311
10312         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
10313         code for division, not modulus.
10314
10315         * rtl.def (MEM): Remove obsolete part of comment.
10316
10317 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
10318
10319         * c-format.c (init_function_format_info): Check __builtin_printf
10320         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
10321         in gnu89 mode.
10322
10323 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10324
10325         * c-common.c (format_attribute_table): Remove decl.
10326         * tree.h (format_attribute_table, lang_attribute_table): New decls.
10327         (lang_attribute_common): Likewise.
10328
10329         * function.c (fix_lexical_address): Use set_mem_alias_set.
10330         (expand_function_start): Likewise.
10331         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
10332
10333         * varasm.c (output_constant): Fix unused variable warning.
10334
10335         * attribs.c: New file, from c-common.c.
10336         (attribute_tables): Now four elements.
10337         (format_attribute_table, lang_attribute_common): New variables.
10338         (init_attributes): Reflect above changes.
10339         (handle_mode_attribute): Delete check for wider than uintmax.
10340         * c-common.c: Delete parts moved to attribs.c.
10341         (enum attrs): Deleted; unused.
10342         (c_format_attribute_table): New variable.
10343         (c_common_lang_init): Initialize format_attribute_table with it.
10344         * c-common.h (decl_attributes): Remove decl.
10345         * tree.h (decl_attribute): Move it to here.
10346         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
10347         (attribs.o): New rule.
10348
10349 2001-09-22  Andreas Jaeger  <aj@suse.de>
10350
10351         * builtins.c (c_getstr): Remove unused variable.
10352
10353 2001-09-21  Richard Henderson  <rth@redhat.com>
10354
10355         * reload1.c (reload): Use delete_insn instead of splatting
10356         NOTE_INSN_DELETED.
10357
10358 2001-09-21  Richard Henderson  <rth@redhat.com>
10359
10360         * reload.c (push_secondary_reload): Don't check for "=" in output
10361         constraint after ""->ALL_REGS check.
10362
10363 2001-09-21  Richard Henderson  <rth@redhat.com>
10364
10365         * predict.c (expected_value_to_br_prob): Use pc_set.
10366
10367         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
10368         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
10369
10370 2001-09-21  Richard Henderson  <rth@redhat.com>
10371
10372         * rtl.h (LCT_RETURNS_TWICE): New.
10373         * calls.c (emit_call_1): Set current_function_calls_setjmp for
10374         ECF_RETURNS_TWICE.
10375         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
10376         to ECF_RETURNS_TWICE.
10377         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
10378         call to setjmp.
10379
10380         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
10381
10382         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
10383         (JMP_BUF_SIZE): New.
10384
10385 2001-09-21  Richard Henderson  <rth@redhat.com>
10386
10387         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
10388         to R8_REGS.
10389
10390 2001-09-21  Richard Henderson  <rth@redhat.com>
10391
10392         * tree.def (FDESC_EXPR): New.
10393         * expr.c (expand_expr): Handle it.
10394         * varasm.c (initializer_constant_valid_p): Likewise.
10395         (output_constant): Likewise.
10396         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10397         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10398         (ASM_OUTPUT_FDESC): New.
10399         * doc/tm.texi: Document the new macros.
10400
10401 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10402
10403         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
10404         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
10405         once merging is complete.
10406
10407 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10408
10409         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
10410
10411 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10412
10413         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
10414         that would be invalid after a merge.
10415
10416 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
10417
10418         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
10419         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
10420         remove some labels.
10421         (flow_delete_insn): This one.
10422         (delete_insn_chain): Rename from ...; do not care labels.
10423         (flow_delete_insn_chain): ... this one.
10424         (flow_delete_block): Remove the insns one BB has been expunged.
10425         (merge_blocks_nomove): Likewise.
10426         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
10427         updating BB boundaries.
10428         (tidy_fallthru_edge): Likewise.
10429         (commit_one_edge_insertion): Likewise.
10430         * cfgbuild.c (find_basic_block): Likewise.
10431         (find_basic_blocks_1): Likewise.
10432         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
10433         (try_crossjump_to_edge): Likewise.
10434         (try_optimize_cfg): Likewise.
10435         * cse.c (delete_trivially_dead_insns): Likewise.
10436         * df.c (df_insn_delete): Likewise.
10437         * doloop.c (doloop_modify): Use delete_related_insns.
10438         * emit-rtl.c (try_split): Likewise.
10439         (remove_insn): Update BB boundaries.
10440         * expect.c (connect_post_landing_pads): Use delete_related_insns.
10441         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
10442         updating BB boundaries.
10443         (propagate_block_delete_insn): Likewise.
10444         (propagate_block_delete_libcall): Likewise.
10445         * function.c (delete_handlers): Use delete_related_insns.
10446         (thread_prologue_and_epilogue_insns): Likewise.
10447         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
10448         * genpeep.c (gen_peephole): Use delete_related_insns.
10449         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
10450         BB boundaries.
10451         (find_cond_trap): Likewise.
10452         * integrate.c (save_for_inline): Use delete_related_insns.
10453         (copy_insn_list): Likewise.
10454         * jump.c (pruge_linie_number_notes): Likewise.
10455         (duplicate_loop_exit_test): Likewise.
10456         (delete_computation): Likewise.
10457         (delete_related_insn): Rename from ...; use delete_insn
10458         (delete_insn): ... this one.
10459         (redirect_jump): Use delete_related_insns.
10460         * loop.c (scan_loop): Likewise.
10461         (move_movables): Likewise.
10462         (find_and_verify_loops): Likewise.
10463         (check_dbra_loop): Likewise.
10464         * recog.c (peephole2_optimize): Likewise.
10465         * reg-stack.c (delete_insn_for_stacker): Remove.
10466         (move_for_stack_reg): Use delete_insn.
10467         * regmove.c (combine_stack_adjustments_for_block): Likewise.
10468         * reload1.c (delete_address_reloads): Use delete_related_insns.
10469         (fixup_abnormal_edges): Use delete_insn.
10470         * recog.c (emit_delay_sequence): Use delete_related_insns.
10471         (delete_from-delay_slot): Likewise.
10472         (delete_scheduled_jump): likewise.
10473         (optimize_skip): Likewise.
10474         (try_merge_delay_insns): Likewise.
10475         (full_simple_delay_slots): Likewise.
10476         (fill_slots_from_thread): Likewise.
10477         (relax_delay_slots): Likewise.
10478         (make_return_insns): Likewise.
10479         (dbr_schedule): Likewise.
10480         * rtl.h (delete_insn): Rename to delete_related_insns.
10481         (delete_insn, delete_insn_chain): New prototypes.
10482         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
10483         by df_insn_delete already.
10484         * ssa-dce.c (delete_insn_bb): Use delete_insn.
10485         * ssa.c (convert_from_ssa): Use delete_related_insns.
10486         * unroll.c (unroll_loop): Likewise.
10487         (calculate_giv_inc): Likewise.
10488         (copy_loop_body): Likewise.
10489
10490         * i386-protos.h (ix86_libcall_value, ix86_function_value,
10491         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10492         ix86_return_in_memory, ix86_function_value): Declare.
10493         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
10494         new static valurables.
10495         (x86_64_reg_class): New enum
10496         (x86_64_reg_class_name): New array.
10497         (classify_argument, examine_argument, construct_container,
10498          merge_classes): New static functions.
10499         (optimization_options): Enable flag_omit_frame_pointer and disable
10500         flag_pcc_struct_return on 64bit.
10501         (ix86_libcall_value, ix86_function_value,
10502         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10503         ix86_return_in_memory, ix86_function_value): New global functions.
10504         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
10505         (function_arg_advance): Handle x86_64 passing conventions.
10506         (function_arg): Likewise.
10507         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
10508         (RETURN_IN_MEMORY): Move offline.
10509         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
10510         (FUNCTION_VALUE_REGNO_P): New macro.
10511         (FUNCTION_ARG_REGNO_P): Move offline.
10512         (struct ix86_args): Add maybe_vaarg.
10513         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
10514         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
10515
10516 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
10517
10518         * s390.md: Changed attributes for scheduling.
10519         * s390.c: (s390_adjust_cost, s390_adjust_priority)
10520         Changed scheduling
10521
10522 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10523
10524         Table-driven attributes.
10525         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
10526         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
10527         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
10528         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
10529         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
10530         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
10531         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
10532         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
10533         * tree.h (struct tree_decl): Change machine_attributes to
10534         attributes.
10535         * doc/c-tree.texi: Document that all attributes are now attached
10536         to decls and types.
10537         * c-common.c (add_attribute, attrtab, attrtab_idx,
10538         default_valid_lang_attribute, valid_lang_attribute): Remove.
10539         (attribute_tables, attributes_initialized,
10540         c_common_attribute_table, default_lang_attribute_table): New
10541         variables.
10542         (handle_packed_attribute, handle_nocommon_attribute,
10543         handle_common_attribute, handle_noreturn_attribute,
10544         handle_unused_attribute, handle_const_attribute,
10545         handle_transparent_union_attribute, handle_constructor_attribute,
10546         handle_destructor_attribute, handle_mode_attribute,
10547         handle_section_attribute, handle_aligned_attribute,
10548         handle_weak_attribute, handle_alias_attribute,
10549         handle_no_instrument_function_attribute,
10550         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
10551         handle_no_limit_stack_attribute, handle_pure_attribute): New
10552         functions.
10553         (init_attributes, decl_attributes): Rewrite to implement
10554         table-driven attributes.
10555         * c-common.h (enum attribute_flags): Move to tree.h.
10556         * c-format.c (decl_handle_format_attribute,
10557         decl_handle_format_arg_attribute): Rename to
10558         handle_format_attribute and handle_format_arg_attribute.  Update
10559         for table-driven attributes.
10560         * c-common.h (decl_handle_format_attribute,
10561         decl_handle_format_arg_attribute): Remove prototypes.
10562         (handle_format_attribute, handle_format_arg_attribute): Add
10563         prototypes.
10564         * c-decl.c (grokdeclarator): Handle attributes nested inside
10565         declarators.
10566         * c-parse.in (setattrs, maybe_setattrs): Remove.
10567         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
10568         Update to handle nested attributes properly.
10569         (maybe_resetattrs, after_type_declarator,
10570         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
10571         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
10572         properly.
10573         (make_pointer_declarator): Update to handle nested attributes
10574         properly.
10575         * doc/extend.texi: Update documentation of limits of attributes
10576         syntax.  Warn about problems with attribute semantics in C++.
10577         * target.h (struct target): Remove valid_decl_attribute and
10578         valid_type_attribute.  Add attribute_table and
10579         function_attribute_inlinable_p.
10580         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
10581         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
10582         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
10583         Add.
10584         (TARGET_INITIALIZER): Update.
10585         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
10586         definition.
10587         (function_attribute_inlinable_p): New function.  Check for the
10588         presence of any machine attributes before using
10589         targetm.function_attribute_inlinable_p.
10590         (function_cannot_inline_p): Update.
10591         * Makefile.in (integrate.o): Update dependencies.
10592         * doc/tm.texi: Update documentation of target attributes and
10593         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
10594         * tree.c (default_valid_attribute_p, valid_machine_attribute):
10595         Remove.
10596         (default_target_attribute_table,
10597         default_function_attribute_inlinable_p): New.
10598         (lookup_attribute): Update comment to clarify handling of multiple
10599         attributes with the same name.
10600         (merge_attributes, attribute_list_contained): Allow multiple
10601         attributes with the same name but different arguments to appear in
10602         the same attribute list.
10603         * tree.h (default_valid_attribute_p): Remove prototype.
10604         (struct attribute_spec): New.
10605         (default_target_attribute_table): Declare.
10606         (enum attribute_flags): Move from c-common.h.  Add
10607         ATTR_FLAG_TYPE_IN_PLACE.
10608         (default_function_attribute_inlinable_p): Declare.
10609         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
10610         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10611         (TARGET_ATTRIBUTE_TABLE): Define.
10612         (vms_attribute_table): New.
10613         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
10614         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10615         (TARGET_ATTRIBUTE_TABLE): Define.
10616         (arc_attribute_table, arc_handle_interrupt_attribute): New.
10617         * config/arm/arm.c (arm_valid_type_attribute_p,
10618         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
10619         Remove.
10620         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10621         define.
10622         (TARGET_ATTRIBUTE_TABLE): Define.
10623         (arm_attribute_table, arm_handle_fndecl_attribute,
10624         arm_handle_isr_attribute): New.
10625         * config/avr/avr.c (avr_valid_type_attribute,
10626         avr_valid_decl_attribute): Remove.
10627         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
10628         define.
10629         (TARGET_ATTRIBUTE_TABLE): Define.
10630         (avr_attribute_table, avr_handle_progmem_attribute,
10631         avr_handle_fndecl_attribute): New.
10632         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
10633         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10634         (TARGET_ATTRIBUTE_TABLE): Define.
10635         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
10636         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
10637         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10638         (TARGET_ATTRIBUTE_TABLE): Define.
10639         (h8300_attribute_table, h8300_handle_fndecl_attribute,
10640         h8300_handle_eightbit_data_attribute,
10641         h8300_handle_tiny_data_attribute): New.
10642         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
10643         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
10644         Remove prototypes.
10645         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
10646         declarations.
10647         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
10648         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10649         define.
10650         (TARGET_ATTRIBUTE_TABLE): Define.
10651         (ix86_attribute_table, ix86_handle_cdecl_attribute,
10652         ix86_handle_regparm_attribute): New.
10653         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
10654         i386_pe_valid_type_attribute_p): Remove.
10655         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
10656         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
10657         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10658         (TARGET_ATTRIBUTE_TABLE): Define.
10659         (ia64_attribute_table): New.
10660         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
10661         interrupt_ident2, model_ident1, model_ident2): Remove.
10662         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10663         (TARGET_ATTRIBUTE_TABLE): Define.
10664         (init_idents): Update.
10665         (m32r_attribute_table, m32r_handle_model_attribute): New.
10666         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
10667         Remove.
10668         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10669         (TARGET_ATTRIBUTE_TABLE): Define.
10670         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
10671         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
10672         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10673         (TARGET_ATTRIBUTE_TABLE): Define.
10674         (mcore_attribute_table, mcore_handle_naked_attribute): New.
10675         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
10676         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10677         (TARGET_ATTRIBUTE_TABLE): Define.
10678         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
10679         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
10680         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10681         (TARGET_ATTRIBUTE_TABLE): Define.
10682         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
10683         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
10684         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10685         (TARGET_ATTRIBUTE_TABLE): Define.
10686         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
10687         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
10688         New.
10689         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
10690         Remove.
10691         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
10692         (TARGET_ATTRIBUTE_TABLE): Define.
10693         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
10694         New.
10695         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
10696         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10697         (TARGET_ATTRIBUTE_TABLE): Define.
10698         (v850_attribute_table, v850_handle_interrupt_attribute,
10699         v850_handle_data_area_attribute): New.
10700         * config/v850/v850-c.c (mark_current_function_as_interrupt):
10701         Return void.  Call decl_attributes instead of
10702         valid_machine_attribute.
10703
10704 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
10705
10706         * sh-protos.h (sh_pr_n_sets): Declare.
10707         * sh.c (calc_live_regs): If the initial value for PR has been copied,
10708         look at the copy to determine if PR needs to be saved.
10709         sh_pr_n_sets: New function.
10710         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
10711         (ALLOCATE_INITIAL_VALUE): Define.
10712
10713         * sh.c (initial_elimination_offset):
10714         Fix RETURN_ADDRESS_POINTER_REGNUM case.
10715
10716 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
10717
10718         * integrate.c (allocate_initial_values): New function.
10719         * integrate.h (allocate_initial_values): Declare.
10720         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
10721         here...
10722         * reload1.c (reload): And initialization of reg_equiv_memory_loc
10723         from here...
10724         * toplev.c (rest_of_compilation): To here.
10725         Call allocate_initial_values.
10726         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
10727
10728 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10729
10730         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
10731
10732 2001-09-20  DJ Delorie  <dj@redhat.com>
10733
10734         * c-typeck.c (really_start_incremental_init): Discriminate
10735         between zero-length arrays and flexible arrays.
10736         (push_init_level): Detect zero-length arrays and handle them
10737         like fixed-sized arrays.
10738         * expr.c (store_constructor): Handle zero-length arrays and
10739         flexible arrays correctly.
10740         * doc/extend.texi: Update zero-length array notes.
10741
10742 2001-09-20  Jim Wilson  <wilson@redhat.com>
10743
10744         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
10745         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
10746         for issue port conflicts.
10747         (cycle_end_fill_slots): TYPE_L instructions take two slots.
10748
10749 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
10750
10751         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
10752         on ia64.
10753
10754 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10755
10756         * fold-const.c (hashtab.h): Include.
10757         (int_const_binop): Remove FORSIZE arg and compute from type; all
10758         callers changed.
10759         Call size_int_type_wide for all single-word constants.
10760         (size_htab_hash, size_htab_eq): New functions.
10761         (size_int_type_wide): Rework to use hash table.
10762         * ggc-common.c (hashtab.h): Include.
10763         (struct d_htab_root): New struct.
10764         (d_htab_roots): New variable.
10765         (ggc_add_deletable_htab, ggc_htab_delete): New functions
10766         (ggc_mark_roots): Handle deletable htabs.
10767         * ggc-page.c (ggc_marked_p): New function.
10768         * ggc-simple.c (ggc_marked_p): Likewise.
10769         * ggc.h: Reformatting throughout.
10770         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
10771         * tree.c (init_obstacks): Make type_hash_table a deletable root.
10772         (type_hash_add): Allocate struct type_hash from GC memory.
10773         (mark_hash_entry, mark_type_hash): Deleted.
10774         (type_hash_marked_p, type_hash_mark): New functions.
10775         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
10776
10777 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
10778
10779         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
10780         than SImode.
10781
10782 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10783
10784         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
10785         array-too-large test for signed sizetype.
10786
10787 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10788
10789         * i386.md (indirect_jump): Allow Pmode operand.
10790         (tablejump): LIkewise; perform expansion to 64bit mode.
10791         * i386.c (symbolic_operand): Allow 64bit PIC references.
10792         (pic_symbolic_operand): Likewise.
10793         (ix86_find_base_term): Strip the 64bit PIC references.
10794         (legitimate_pic_address_disp_p): Handle 64bit PIC.
10795         (legitimize_pic_address): Likewise.
10796         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
10797         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
10798
10799 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
10800
10801         * stringpool.c (get_identifier_with_length): New function.
10802         * tree.h (get_identifier_with_length): New prototype.
10803
10804 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
10805             David Edelsohn  <edelsohn@gnu.org>
10806
10807         Revert:
10808         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
10809         already sign-extended.
10810
10811         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
10812         * config/rs6000/rs6000.c (logical_operand): Always compare op as
10813         HOST_WIDE_INT.
10814         (rs6000_emit_set_long_const): Avoid unnecessary shift.
10815         (output_profile_hook): Declare label_name const.
10816         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
10817         to match constraints.
10818
10819 2001-09-19  Stan Shebs  <shebs@apple.com>
10820
10821         * alias.c: Fix typos in comments.
10822         * sched-rgn.c (init_ready_list): Ditto.
10823         * unwind-dw2.c (uw_frame_state_for): Ditto.
10824         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
10825         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
10826         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
10827
10828 2001-09-19  Richard Henderson  <rth@redhat.com>
10829
10830         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
10831         to the exit block.
10832         * Makefile.in (cfg.o): Depend on TM_P_H.
10833
10834 2001-09-19  Richard Henderson  <rth@redhat.com>
10835
10836         * config/alpha/alpha.c (local_symbol_p): Split out from ...
10837         (local_symbolic_operand): ... here.
10838         (small_symbolic_operand): Check mode.
10839         (global_symbolic_operand): New.
10840         (input_operand): Reject symbolics if explicit relocs.
10841         (call_operand): Tidy.
10842         (alpha_legitimize_address): Use movdi_er_high_g.
10843         (alpha_expand_mov): Likewise.
10844         * config/alpha/alpha-protos.h: Update.
10845         * config/alpha/alpha.h (PREDICATE_CODES): Update.
10846         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
10847         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
10848         (UNSPECV_LDGP2): Remove.
10849         (all call patterns): Use 's' not 'i' for symbolic constraint.
10850         (call_osf call_value_osf): Use call_operand.
10851         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
10852         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
10853         (prologue_ldgp_1_er): Remove.
10854         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
10855         (builtin_setjmp_receiver_er patterns): Use them.
10856         (exception_receiver_er): Likewise.
10857
10858 2001-09-19  Richard Henderson  <rth@redhat.com>
10859
10860         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
10861
10862         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
10863         and NON_LOCAL_GOTO notes.
10864         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
10865         copy over CALL_INSN_FUNCTION_USAGE.
10866
10867 2001-09-18  Catherine Moore  <clm@redhat.com>
10868
10869         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
10870         Define as 0.
10871
10872 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
10873
10874         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
10875         new-style tm_file specification.  Specify correct tm_p_file,
10876         md_file, and out_file for s390x.
10877
10878         * config/s390/linux.h, linux64.h:  Don't include other target
10879         macro header files.  Now handled via tm_file.
10880
10881         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
10882         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
10883         are defined before use.
10884
10885 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
10886
10887         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
10888         code generation only for Gnu assembler.
10889
10890 2001-09-18  Catherine Moore  <clm@redhat.com>
10891
10892         * config/stormy16 (LIB_SPEC): Remove -lnosys.
10893
10894 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
10895
10896         * config/mips/mips.c (mips_frame_set): New.
10897         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
10898         a parallel frame-related expression with a set for each register.
10899
10900 2001-09-18  Philip Blundell  <philb@gnu.org>
10901
10902         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
10903         header files.
10904
10905 2001-09-17  Dale Johannesen  <dalej@apple.com>
10906
10907         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
10908         * config/rs6000/aix.h (FIXED_R2): Define.
10909         * config/rs6000/darwin.h (FIXED_R2): Define.
10910         * config/rs6000/sysv4.h (FIXED_R2): Define.
10911
10912 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
10913
10914         * except.c (dw2_build_landing_pads): New local
10915         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
10916         barrier after clobbers.  Fixes c++/4012.
10917
10918 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10919
10920         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
10921
10922 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
10923
10924         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
10925         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
10926
10927 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10928
10929         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
10930         alloca/strcpy.
10931
10932 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10933
10934         * cpphash.h (_cpp_lex_direct): New.
10935         * cpplex.c (_cpp_lex_token): Update.
10936         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
10937         and increment that pointer.
10938         * cppmacro.c (alloc_expansion_token): New.
10939         (lex_expansion_token): Lex macro expansion directly into
10940         macro storage.
10941
10942 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
10943
10944         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
10945
10946 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
10947
10948         * basic-block.h (free_bb_for_insn): Declare.
10949         * bb-reorder.c (label_for_bb): Use block_label.
10950         (emit_jump_to_block_after): Remove.
10951         (insert_intra_1): Do not update block_for_insn.
10952         (insert_inter_bb_scope_notes): Likewise; update bb->end
10953         * cfg.c (free_bb_for_insn): New.
10954         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
10955         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
10956         (commit_one_edge_insertion): Likewise.
10957         (commit_one_edge_insertion): Do not update BB boundary.
10958         (commit_edge_insertions): Do not call compute_bb_for_insn.
10959         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
10960         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
10961         (merge_blocks_move_successor_nojumps): Likewise.
10962         (try_crossjump_to_edge): Do not update block_for_insn.
10963         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
10964         * df.c (df_pattern_emit_later): Do not update BB boundary.
10965         (df_jump_pattern_emit_after): Likewise.
10966         (df_insn_move_before): Use emit_insn_before.
10967         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
10968          properly.
10969         (add_insn_after, add_insn_before, emit_insns_after): Update BB
10970         boundaries and basic_block_for_insn.
10971         (reorder_insns_nobb): Rename from reorder_insns.
10972         (reorder_insns): New.
10973         (emit_block_insn_before, emit_block_insn_after): Kill.
10974         * flow.c (check_function_return_warnings): Do not call
10975         compute_bb_for_insn; Do not free basic_block_for_insn.
10976         (attempt_auto_inc): Do not update basic_block_for_insn.
10977         * function.c (emit_return_into_block): Likewise;
10978         do not update BB boundaries.
10979         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
10980         (insert_insn_end_bb): Use emit_insn_before; Likewise.
10981         (pre_insert_copy_insn): Likewise.
10982         (update_ld_motion_notes): Likewise.
10983         (insert_insn_start_bb): Likewise.
10984         (replace_store_insn): Likewise.
10985         * ifcvt.c (noce_process_if_block): Likewise.
10986         (if_convert): Do not call compute_bb_for_insn.
10987         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
10988         Use emit_insn_before and emit_insn_after.
10989         * recog.c (split_all_insns): Do not update BB boundaries;
10990         Do not call compute_bb_for_insn.
10991         (peephole2_optimize): Do not update BB boundaries.
10992         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
10993         emit_insn_before.
10994         (emit_swap_insn): Likewise.
10995         (convert_regs_1): Likewise.
10996         * reload1.c (reload): Call compute_bb_for_insn.
10997         * rtl.h (reorder_insns_nobb): Declare.
10998         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
10999         * toplev.c (rest_of_compilation): Call free_bb_for_insn
11000         at places CFG is invalidated; do not call compute_bb_for_insn.
11001
11002         * cfg.c (expunge_block): Invalidate BB structure.
11003
11004         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
11005         array.
11006
11007         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
11008
11009 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
11010
11011         * cpphash.h (_cpp_lex_token): Update prototype.
11012         * cpplex.c (_cpp_lex_token): New prototype.
11013         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
11014         lex_macro_node, read_flag, do_pragma_poison): Update.
11015         * cppmacro.c (cpp_get_token, parse_params,
11016         lex_expansion_token): Update.
11017
11018 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
11019
11020         * cppmain.c (scan_translation_unit): Don't worry about
11021         putting a space after hashes.
11022         * cpplib.c (directive_diagnostics): New.
11023         (_cpp_handle_directive): Update to use directive_diagnostics.
11024         (run_directive): Don't toggle prevent_expansion.
11025         (do_line): Backup in case of the line extension.
11026         * cpplib.h (cpp_lexer_pos): Remove.
11027         * cppmacro.c (_cpp_create_definition): Precede a leading #
11028         with whitespace.
11029
11030 2001-09-15  Richard Henderson  <rth@redhat.com>
11031
11032         * c-typeck.c (comptypes): Handle zero-length arrays properly.
11033
11034 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11035
11036         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
11037
11038 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11039
11040         PR preprocessor/3571
11041         * tradcpp.c (handle_directive): Skip non-vertical space.
11042
11043 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11044
11045         * cppmain.c (setup_callbacks): Set line callback only
11046         if outputting preprocessed source.
11047
11048 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11049
11050         * collect2.c (main): Const-ification.
11051         * gcc.c (translate_options, process_command): Use xstrdup in
11052         lieu of xmalloc/strcpy.
11053         (main): Use concat in lieu of xmalloc/strcpy/strcat.
11054
11055 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11056
11057         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
11058         example.
11059
11060 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11061
11062         * scan-decls.c (scan_decls): Fix typo.
11063
11064 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11065
11066         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
11067         Split mlstring_pos into mls_line and mls_col.
11068         * cppinit.c (cpp_create_reader): Initialize line to 1.
11069         (cpp_destroy): Free tokenruns.
11070         (push_include): Don't update lexer_pos.
11071         * cpplex.c (unterminated, parse_string): Update.
11072         (lex_token): Don't update lexer_pos, update.
11073         * cpplib.c (if_stack): Save line instead of line + col.
11074         (start_directive, _cpp_do__Pragma, do_else, do_elif,
11075         push_conditional, _cpp_pop_buffer): Update.
11076         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
11077         (_cpp_create_definition): Update.
11078
11079 2001-09-15  Eric Christopher  <echristo@redhat.com>
11080
11081         * config/mips/abi64.h: Add support for MEABI.
11082
11083 2001-09-15  Eric Christopher  <echristo@redhat.com>
11084
11085         * config/mips/mips.md: Add unspec #2.
11086         (reload_indi): Use.
11087         (reload_outdi): Ditto.
11088         (reload_outsi): Ditto.
11089         (HILO_delay): New.
11090
11091 2001-09-15  Eric Christopher  <echristo@redhat.com>
11092             Jason Eckhardt  <jle@redhat.com>
11093
11094         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
11095         * config/mips/isa32-linux.h: New file.
11096         * config/mips/isa3264.h: Ditto.
11097         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
11098         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
11099         (output_block_mode): Support MEABI.
11100         (function_arg): Ditto. Fix floating point arg passing.
11101         (mips_va_start): Ditto.
11102         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
11103         processors.
11104         (mips_asm_file_start): Add new section to pass abi to gdb.
11105         (function_arg_pass_by_reference): Support MEABI.
11106         (mips_parse_cpu): Support mips32 and mips64 processors.
11107         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
11108         TARGET_MIPS5KC.  Support isa32 and isa64.
11109         (processor_type): Add r4kc, r5kc, r20kc.
11110         (GENERATE_MULT3_SI): New.
11111         (GENERATE_MULT3_DI): Ditto.
11112         (GENERATE_MULT3): Remove.
11113         (ISA_HAS_64BIT_REGS): Add isa == 64.
11114         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
11115         (ISA_HAS_MADD_MSUB): New.
11116         (ISA_HAS_CLZ_CLO): Ditto.
11117         (ISA_HAS_DCLZ_DCLO): Ditto.
11118         (ABI_GAS_ASM_SPEC): New.
11119         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
11120         (ASM_SPEC): Ditto.
11121         (LINK_SPEC): Ditto.
11122         (SUBTARGET_CC1_SPEC): Ditto.
11123         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
11124         (PAD_VARARGS_DOWN): Support MEABI.
11125         (HARD_REGNO_NREGS): Move to mips.c.
11126         (ASM_OUTPUT_IDENT): Add #undef.
11127         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
11128         (mulsi3): Use GENERATE_MULT3_SI.
11129         (mulsi3_mult3): Ditto.  Support mips32, mips64.
11130         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
11131         (mul_sub_si): New pattern.
11132         (unnamed splitters): New.
11133         (muldi3): Use GENERATE_MULT3_DI.
11134         (muldi3_internal2): Ditto.
11135         (movdicc): Support mips32.
11136         * config/mips/t-isa3264: New file.
11137
11138 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
11139
11140         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
11141         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
11142         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
11143
11144         * reorg.c (fill_slots_from_thread): After call to
11145         steal_delay_list_from_target, update own_thread as new_thread may
11146         have branched.
11147
11148 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11149
11150         * cpperror.c (print_location): Take line and column, for
11151         default positioning use the previously lexed token.
11152         (_cpp_begin_message): Take line and column.
11153         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
11154         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
11155         * cpphash.h (_cpp_begin_message): Update prototype.
11156         * cppinit.c (push_include): Don't set output line.
11157         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
11158         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
11159         (do_pragma): Kludge for front ends.  Don't expand macros at all.
11160         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
11161         (struct cpp_token): Remove output_line.
11162         (struct cpp_callbacks): New member line_change.
11163         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
11164         cpp_get_token): Preserve BOL flag.
11165         (cpp_get_line): Remove.
11166         (_cpp_backup_tokens): Remove useless abort().
11167         * cppmain.c (cb_line_change): New.
11168         (scan_translation_unit): Don't worry about starting new lines here.
11169         * scan-decls.c (scan_decls): Update.
11170         * c-lex.c (c_lex, init_c_lex): Update.
11171         (cb_line_change, src_lineno): New.
11172
11173 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
11174
11175         * tree.c (append_random_chars): Generate the random
11176         characters in a reproducable fashion.
11177
11178 2001-09-14  Richard Henderson  <rth@redhat.com>
11179
11180         * config/i386/i386.c (internal_label_prefix): New.
11181         (internal_label_prefix_len): New.
11182         (override_options): Set them.
11183         (local_symbolic_operand): New.
11184         (legitimate_pic_address_disp_p): Use it.
11185         (legitimize_pic_address): Likewise.
11186
11187 2001-09-14  Marc Espie <espie@openbsd.org>
11188
11189         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
11190         correctly.
11191
11192 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11193
11194         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
11195         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
11196
11197 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
11198
11199         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
11200         invocation of SUBREG_REGNO_OFFSET.
11201
11202         * haifa-sched.c: Fix typo in FSF copyright statement.
11203         * sched-deps.c: Fix typo in FSF copyright statement.
11204         * sched-ebb.c: Fix typo in FSF copyright statement.
11205         * sched-rgn.c: Fix typo in FSF copyright statement.
11206         * sched-vis.c: Fix typo in FSF copyright statement.
11207
11208         * config.gcc: Move inclusion of arm elf specific header files
11209         from the files themselves into the tm_file variable.  Make
11210         sure that elfos.h is included before target specific elf
11211         headers.
11212         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
11213         already defined.
11214         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
11215         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
11216         ASM_OUTPUT_CASE_LABEL): Protect definition.
11217         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
11218         not already defined.
11219         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
11220         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
11221         Remove duplicate definition.
11222         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
11223         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
11224         (RDATA_SECTION_FUNCTION): Remove redundant definition.
11225         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
11226         Remove inclusion of arm/elf.h.
11227         * config/arm/unknown-elf.h: as for conix-elf.h.
11228         (STARTFILE_SPEC): Include crti.o and crtn.o.
11229         * config/arm/linux-elf.h: as for conix-elf.h.
11230         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
11231         * config/arm/strongarm-elf.h: Remove inclusion of
11232         unknown-elf.h.
11233         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
11234         * config/arm/unknown-elf-oabi.h: Remove inclusion of
11235         unknown-elf.h and elf.h.
11236         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
11237         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
11238         ASM_WEAKEN_LABEL): Remove redundant definition.
11239         * config/arm/elf.h: Test for inclusion of elfos.h
11240         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
11241         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
11242         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
11243         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
11244         redundant definition.
11245         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
11246         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
11247         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
11248         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
11249         Add rules to build crti.o and crtn.o
11250         * crti.asm: New file.
11251         * crtn.asm: New file.
11252
11253 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11254
11255         * c-parse.in (_yylex): Use _cpp_backup_tokens.
11256         * cpphash.h (struct tokenrun): Add prev.
11257         (struct lexer_state): Remove bol.
11258         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
11259         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
11260         : Remove.
11261         * cppinit.c (cpp_create_reader): Don't set bol.
11262         (cpp_destroy): Don't free lookaheads.
11263         * cpplex.c (lex_directive): Remove.
11264         (next_tokenrun): Update.
11265         (_cpp_lex_token): Clean up logic.
11266         (lex_token): Update to return a pointer to lexed token, since it
11267         can move to the start of the buffer.  Simpify newline handling.
11268         * cpplib.c (SEEN_EOL): Update.
11269         (skip_rest_of_line): Remove lookahead stuff.
11270         (end_directive): Line numbers are already incremented.  Revert
11271         to start of lexed token buffer if we can.
11272         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
11273         parse_answer): Use _cpp_backup_tokens.
11274         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
11275         instead.  Don't check for EOL.
11276         (do_include_common, do_line, do_pragma_system_header): Use
11277         skip_rest_of_line.
11278         * cpplib.h (BOL, _cpp_backup_tokens): New.
11279         * cppmacro.c (save_lookahead_token, take_lookahead_token,
11280         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
11281         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
11282         (builtin_macro): Don't use cpp_get_line.
11283         (cpp_get_line): Short term kludge.
11284         (parse_arg): Handle directives in arguments here.  Back up when
11285         appropriate.  Store EOF at end of argument list.
11286         (funlike_invocation_p): Use _cpp_backup_tokens.
11287         (push_arg_context): Account for EOF at end of list.
11288         (cpp_get_token): Remove lookahead stuff.  Update.
11289
11290 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11291
11292         * c-parse.in (yyerror): Const-ification and/or static-ization.
11293         * c-typeck.c (push_member_name): Likewise.
11294         * collect2.c (main): Likewise.
11295         * dbxout.c (dbxout_parms): Likewise.
11296         * diagnostic.c (format_with_decl): Likewise.
11297         * dwarf2out.c (output_ranges): Likewise.
11298         * dwarfout.c (fundamental_type_code): Likewise.
11299         * except.c (dw2_output_call_site_table): Likewise.
11300         * gcc.c (do_spec_1): Likewise.
11301         * genopinit.c (optabs): Likewise.
11302         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
11303         gen_declaration_1, handle_impent): Likewise.
11304         * protoize.c (default_include, in_system_include_dir, abspath):
11305         Likewise.
11306         * sched-vis.c (visualize_stall_cycles): Likewise.
11307         * sdbout.c (plain_type_1, sdbout_end_function,
11308         sdbout_end_epilogue): Likewise.
11309         * varasm.c (decode_reg_name): Likewise.
11310
11311         * 1750a.c (mod_regno_adjust): Likewise.
11312         * alpha.c (alpha_write_one_linkage,
11313         unicosmk_output_default_externs): Likewise.
11314         * arm.c (arm_condition_codes): Likewise.
11315         * arm.h (arm_condition_codes): Likewise.
11316         * avr.c (output_movsisf, encode_section_info): Likewise.
11317         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
11318         Likewise.
11319         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11320         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11321         * m88k.c (output_function_profiler): Likewise.
11322         * mips.c (mips_output_conditional_branch): Likewise.
11323         * ns32k.c (ns32k_out_reg_names): Likewise.
11324         * ns32k.h (ns32k_out_reg_names): Likewise.
11325         * pj.c (pj_output_rval): Likewise.
11326         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
11327         * sparc.c (sparc_flat_function_prologue,
11328         sparc_flat_function_epilogue): Likewise.
11329
11330 2001-09-13  Markus Werle <numerical.simulation@web.de>
11331             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11332
11333         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
11334         Aachen University of Technology".
11335
11336 2001-09-13  Andreas Schwab  <schwab@suse.de>
11337
11338         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
11339         C99.
11340
11341 2001-09-13  Richard Henderson  <rth@redhat.com>
11342
11343         * config/alpha/alpha.c (small_symbolic_operand): New.
11344         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
11345         (some_operand, input_operand): Don't handle HIGH.
11346         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
11347         (alpha_expand_mov): Likewise.
11348         (print_operand) [H]: Just print HIGH symbol.
11349         (print_operand_address): Handle small data.
11350         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
11351         (TARGET_SWITCHES): Add -msmall-data/large-data.
11352         (PIC_OFFSET_TABLE_REGNUM): New.
11353         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
11354         (PREDICATE_COES): Update.
11355         * config/alpha/alpha.md (adddi_er_high): New.
11356         (adddi_er_low): Handle small data.
11357         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
11358         prefer .sdata to .rodata.
11359         (SELECT_RTX_SECTION): Likewise.
11360
11361 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
11362
11363         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
11364         defining __size_t and leaving size_t undefined.
11365
11366 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
11367
11368         * basic-block.h (expunge_block): Declare.
11369         * cfg.c (expunge_block): Remove static declaration.
11370
11371 2001-09-12  Richard Henderson  <rth@redhat.com>
11372
11373         * integrate.c (copy_insn_list): Copy label name from
11374         NOTE_INSN_DELETED_LABEL.
11375
11376 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11377
11378         * c-common.c (c_tree_code_name): Const-ification.
11379         * c-decl.c (c_decode_option): Likewise.
11380         * c-typeck.c (warn_for_assignment): Likewise.
11381         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
11382         Likewise.
11383         * cppinit.c (output_deps): Likewise.
11384         * dependence.c (dependence_string, direction_string): Likewise.
11385         * dwarf2out.c (output_ranges): Likewise.
11386         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
11387         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
11388         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
11389         standard_startfile_prefix, standard_startfile_prefix_1,
11390         standard_startfile_prefix_2, tooldir_base_prefix,
11391         standard_bindir_prefix, find_a_file): Likewise.
11392         * genattrtab.c (make_length_attrs): Likewise.
11393         * gencheck.c (tree_codes): Likewise.
11394         * genemit.c (gen_split): Likewise.
11395         * genrecog.c (special_mode_pred_table): Likewise.
11396         * graph.c (graph_ext): Likewise.
11397         * protoize (default_include): Likewise.
11398         * reload.c (reload_when_needed_name): Likewise.
11399         * sched-vis.c (visualize_stall_cycles): Likewise.
11400         * tlink.c (recompile_files): Likewise.
11401         * toplev.c (decode_g_option): Likewise.
11402         * tradcpp.c (output_deps): Likewise.
11403         * varasm.c (decode_reg_name): Likewise.
11404
11405         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
11406         Const-ification.
11407         * arm.md: Likewise.
11408         * avr.c (avr_regnames, encode_section_info): Likewise.
11409         * c4x.c (float_reg_names): Likewise.
11410         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
11411         * elfos.h (const_section): Likewise.
11412         * i386.c (ix86_comp_type_attributes): Likewise.
11413         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
11414         * ia64/aix.h (UNIQUE_SECTION): Likewise.
11415         * ia64.c (type_names): Likewise.
11416         * m68hc11.c (reg_class_names): Likewise.
11417         * m88k.c (m_options): Likewise.
11418         * mips.c (mips_output_conditional_branch, mips_unique_section):
11419         Likewise.
11420         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
11421         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
11422         ultra_code_names): Likewise.
11423         * sparc.h (OVERRIDE_OPTIONS): Likewise.
11424
11425 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
11426
11427         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
11428         Use --fatal-warnings option for gas.
11429         * configure: Rebuilt.
11430
11431 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11432
11433         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
11434
11435 2001-09-11  Jim Wilson  <wilson@redhat.com>
11436
11437         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
11438
11439 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11440
11441         * builtins.c (c_strlen): Treat an offset too large for a
11442         HOST_WIDE_INT as out of range.
11443
11444 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
11445
11446         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
11447         (EDGE_CRITICAL_P): New predicate.
11448         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
11449         handling.
11450         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
11451         (dump_edge_info): Remove "crit".
11452         * cfganal.c (mark_critical_edges): Kill.
11453         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
11454         * cfgcleanup.c (cleanup_cfg): Likewise.
11455         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
11456         (find_spanning_tree): Likewise.
11457         * reg-stack.c (convert_regs_1): Likewise.
11458         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
11459
11460         * basic-block.h (create_basic_block_structure): New.
11461         (create_basic_block): Update prototype.
11462         (force_nonfallthru): New.
11463         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
11464         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
11465         handle updating of block_for_insn, creating of empty BBs and BBs at
11466         the end of INSN chain.
11467         (create_basic_block): New function.
11468         (split_block): Use create_basic_block.
11469         (force_nonfallthru_and_redirect): Break out from ...; cleanup
11470         (redirect_edge_and_branch_force): ... here.
11471         (force_nonfallthru): New.
11472         (split_edge): Rewrite to use force_nonfallthru and create_block.
11473         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
11474         (find_basic_blocks): Free basic_block_for_insn.
11475         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
11476
11477         * cfg.c: Fix formating.
11478         * cfgcleanup.c: Fix formating.
11479         (merge_blocks, tail_recursion_label_p): Return bool.
11480         (merge_blocks_move_predecessor_nojumps,
11481          merge_blocks_move_successor_nojumps): Return void.
11482
11483 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
11484
11485         * configure.in: Check whether assembler supports section merging.
11486         * config.in: Rebuilt.
11487         * configure: Rebuilt.
11488         * varasm.c (variable_section, output_constant_pool): Pass alignment
11489         to SELECT_SECTION and SELECT_RTX_SECTION.
11490         (mergeable_string_section): New.
11491         (mergeable_constant_section): New.
11492         (default_elf_asm_named_section): Output SECTION_MERGE and
11493         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11494         * output.h (mergeable_string_section): New.
11495         (mergeable_constant_section): New.
11496         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
11497         * toplev.c (flag_merge_constants): New.
11498         (f_options): Add -fmerge-constants and -fmerge-all-constants
11499         options.
11500         (toplev_main): Default to -fno-merge-constants if not optimizing.
11501         * flags.h (flag_merge_constants): Add extern.
11502         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
11503         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
11504         argument.
11505         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
11506         Define if assembler has working .subsection -1 support.
11507         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
11508         Put constant into special SHF_MERGE sections if the linker should
11509         attempt to merge duplicates.
11510         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
11511         macro argument.
11512         Put constant into special SHF_MERGE sections if the linker should
11513         attempt to merge duplicates.
11514         * config/alpha/elf.h: Likewise.
11515         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
11516         has working .subsection -1 support.
11517         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
11518         SELECT_SECTION.
11519         * config/svr3.h: Likewise.
11520         * config/darwin.h: Likewise.
11521         * config/arm/aof.h: Likewise.
11522         * config/arm/linux-elf.h: Likewise.
11523         * config/avr/avr.h: Likewise.
11524         * config/c4x/c4x.h: Likewise.
11525         * config/d30v/d30v.h: Likewise.
11526         * config/i386/dgux.h: Likewise.
11527         * config/i386/osfrose.h: Likewise.
11528         * config/i386/sco5.h: Likewise.
11529         * config/i386/svr3gas.h: Likewise.
11530         * config/ia64/aix.h: Likewise.
11531         * config/m32r/m32r.h: Likewise.
11532         * config/m68k/m68k.h: Likewise.
11533         * config/m88k/dgux.h: Likewise.
11534         * config/m88k/m88k.h: Likewise.
11535         * config/mcore/mcore-pe.h: Likewise.
11536         * config/mips/mips.h: Likewise.
11537         * config/pa/pa.h: Likewise.
11538         * config/pa/pa-linux.h: Likewise.
11539         * config/romp/romp.h: Likewise.
11540         * config/rs6000/sysv4.h: Likewise.
11541         * config/rs6000/xcoff.h: Likewise.
11542         * config/s390/linux.h: Likewise.
11543         * config/sparc/sparc.h: Likewise.
11544         * config/sparc/sysv4.h: Likewise.
11545         * config/stormy16/stormy16.h: Likewise.
11546         * config/v850/v850.h: Likewise.
11547         * config/vax/vms.h: Likewise.
11548         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
11549         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11550         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
11551         default_elf_asm_named_section for SHF_MERGE sections.
11552
11553 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11554
11555         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
11556         is OK.
11557
11558 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
11559
11560         * c-common.c (split_specs_attrs): Allow for empty attributes with
11561         empty TREE_PURPOSE.  Fixes PR c/4294.
11562
11563 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
11564
11565         * basic-block.h (cached_make_edge, make_single_succ): New.
11566         (make_edge): Remove first parameter.
11567         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
11568         * cfg.c (cached_make_edge): Rename from make_edge; return newly
11569         created edge; use obstack allocation.
11570         (make_edge, make_single_succ_edge): New.
11571         (first_removed_edge): New static variable.
11572         (init_flow): Initialize first_removed_edge and n_edges.
11573         (clear_edges): Use remove_edge.
11574         (flow_delete_block): Likewise.
11575         (remove_edge): Add removed edges to the removed edges list.
11576         (split_block, redirect_edge_and_branch_force, split_edge):
11577         Use make_edge.
11578         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
11579         (add_noreturn_fake_exit_edges): Likewise.
11580         (connect_infinite_loops_to_exit): Liekwise.
11581         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
11582         Use cached_make_edge.
11583         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
11584         * profile.c (branch_prob): Update make_edge call.
11585         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11586
11587 2001-09-11  Richard Henderson  <rth@redhat.com>
11588
11589         * config/alpha/alpha.c: Tidy formatting.
11590         (local_symbolic_operand): Verify mode.
11591         (alpha_sa_mask): Ignore unicos for eh_return.
11592         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
11593         * config/alpha/alpha.md (umk divsi patterns): Remove.
11594         (extendsfdf2): Remove unicos check.
11595         (tablejump): Merge vms and unicos code; always use direct set
11596         plus label_ref use.
11597
11598 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11599
11600         * config.gcc (alpha*-*-unicosmk*): New target.
11601
11602         * config/alpha/alpha-protos.h (symbolic_operand,
11603         unicosmk_add_call_info_word, unicosmk_add_extern,
11604         unicosmk_defer_case_vector, unicosmk_unique_section,
11605         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
11606         unicosmk_asm_file_start, unicosmk_asm_file_end,
11607         unicosmk_output_common): Declare.
11608
11609         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
11610         direct_return, function_arg, alpha_va_start, alpha_va_arg,
11611         alpha_does_function_need_gp, alpha_end_function): Support Cray
11612         Unicos/Mk.
11613         (alpha_init_machine_status, alpha_mark_machine_status,
11614         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
11615         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
11616         unicosmk_asm_named_section, unicosmk_insert_attributes,
11617         unicosmk_section_type_flags, symbolic_operand,
11618         unicosmk_output_module_name, unicosmk_output_default_externs,
11619         unicosmk_output_dex, unicosmk_output_externs,
11620         unicosmk_output_addr_vec, unicosmk_ssib_name,
11621         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
11622         unicosmk_asm_file_end, unicosmk_output_common,
11623         unicosmk_section_type_flags, unicosmk_unique_section,
11624         unicosmk_add_call_info_word, unicosmk_text_section,
11625         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
11626         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
11627         unicosmk_dex_count, unicosmk_special_name): New.
11628         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
11629         TARGET_ABI_UNICOSMK.
11630         (get_aligned_mem, alpha_expand_unaligned_load,
11631         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
11632         alpha_expand_unaligned_store_words): Support big-endian mode.
11633         (print_operand): Likewise. New format specifier 't'. Use
11634         TARGET_AS_SLASH_BEFORE_SUFFIX.
11635         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
11636         (alpha_pv_save_size): Update with above change.
11637         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
11638         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
11639         Unicos/Mk.
11640
11641         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
11642         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
11643         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
11644         (EXTRA_CONSTRAINT): New constraint 'U'.
11645         (PREDICATE_CODES): Add symbolic_operand.
11646
11647         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
11648         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
11649         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
11650         (integer division and modulus patterns): Split in default and
11651         Unicos/Mk versions.
11652         (*divmodsi_internal, *divmoddi_internal): Disable for
11653         TARGET_ABI_UNICOSMK.
11654         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
11655         little-endian and big-endian versions.
11656         (ext, ins, msk): Likewise.
11657         (extv, extzv, insv): Support big-endian mode.
11658         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
11659         (call_umk, call_value_umk, *call_umk, tablejump_umk,
11660         *tablejump_umk_internal, *call_value_umk): New.
11661         (*movdi_nofix): Add pattern for loading an address into a register on
11662         TARGET_ABI_UNICOSMK.
11663         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
11664         (umk_mismatch_args, arg_home_umk): New.
11665         (various insns): Don't use mov, fmov, nop, fnop and unop.
11666         (realign): Support TARGET_ABI_UNICOSMK.
11667
11668         * config/alpha/unicosmk.h: New file.
11669         * config/alpha/t-unicosmk: New file.
11670
11671         * fixinc/inclhack.def (unicosmk_restrict): New.
11672         * fixinc/fixincl.x: Regenerate.
11673
11674         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
11675         (wchar_t): Check for and define __WCHAR_T__.
11676
11677 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
11678
11679         * combine.c (simplify_shift_const): Treat shifts by the mode
11680         size as undefined.
11681
11682 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11683
11684         * cpphash.h (struct tokenrun): New.
11685         (struct cpp_context): New member bol.
11686         (struct cpp_reader): New members.
11687         (_cpp_init_tokenrun): New.
11688         * cppinit.c (cpp_create_reader): Set up the token runs.
11689         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
11690         (lex_token): New internalised version of _cpp_lex_token.  Don't
11691         handle directives or the multiple include optimization here any
11692         more.  Simply lex a token.
11693         * cpplib.c (run_directive): Clear bol.
11694         (_cpp_pop_buffer): Set bol.
11695         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
11696         arguments.
11697
11698 2001-09-11  Michael Meissner  <meissner@redhat.com>
11699
11700         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
11701         give an error if the user uses -mfp32.
11702         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
11703         default options.
11704         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
11705         floating point register size.
11706         (EXTRA_SPECS): Add CPP_FPR_SPEC.
11707
11708         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
11709         HOST_WIDE_INT_PRINT_DEC to properly print the result of
11710         int_size_in_bytes.
11711         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11712         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11713
11714 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
11715
11716         * dbxout.c (dbxout_parms): Fix typo in comment.
11717         * unroll.c (loop_find_equiv_value): Ditto.
11718         * toplev.c (rest_of_compilation): Ditto.
11719         * loop.c (scan_loop): Ditto.
11720         * dwarf2out.c (struct dw_fde_struct): Ditto.
11721
11722 2001-09-10  Zack Weinberg  <zackw@panix.com>
11723
11724         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
11725         copying identifier when we're just going to throw it away.
11726         (parse_identifier_slow): New routine to handle abnormal cases.
11727         (_cpp_lex_token): Update call site.
11728
11729         * hashtable.c (ht_lookup): Don't assume that the string we've
11730         been given is NUL-terminated.
11731         * system.h: #define __builtin_expect(a, b) to (a) if not
11732         GCC >=3.0.
11733
11734 2001-09-10  Michael Meissner  <meissner@redhat.com>
11735
11736         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
11737         binutils, gdb.
11738
11739 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
11740
11741         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
11742
11743 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11744
11745         * builtins.c (c_getstr): Correct thinko in last change and further
11746         cleanup.
11747
11748 2001-09-10  Tim Freeman <tim@fungibole.com>
11749
11750         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
11751         into varray's and register them as roots with the garbage
11752         collector so they are not collected too soon.
11753
11754 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
11755
11756         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
11757         New.
11758         * basic-block.h (flow_obstack, label_value_list,
11759         tail_recursion_label_list): Declare
11760         (tidy_fallthru_edges): Declare.
11761         (expunge_block, last_loop_beg_note): Delete.
11762         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
11763         * cfg.c: New file
11764         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
11765         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
11766         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
11767         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
11768         expunge_block, flow_delete_block, compute_bb_for_insn,
11769         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
11770         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
11771         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
11772         try_redirect_by_replacing_jump, last_loop_beg_note,
11773         redirect_edge_and_branch, redirect_edge_and_branch_force,
11774         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
11775         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
11776         commit_edge_insertions, dump_flow_info, debug_flow_info,
11777         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
11778         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
11779         Move here from flow.c
11780         * cfganal.c: New file.
11781         (forwarder_block_p, can_fallthru, mark_critical_edges,
11782          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
11783          find_unreachable_blocks, create_edge_list, free_edge_list,
11784          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
11785          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
11786          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
11787          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
11788          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
11789          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
11790         Move here from flow.c
11791         * cfgbuild.c: New file
11792         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
11793          make_edges, find_basic_blocks_1, find_basic_blocks,
11794          find_sub_basic_blocks): Move here from flow.c
11795         * cfgcleanup.c: New file.
11796         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
11797          merge_blocks_move_predecessor_nojumps,
11798          merge_blocks_move_successor_nojumps, merge_blocks,
11799          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11800          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
11801         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
11802         if succeeded.
11803         * cfgloop.c: New file
11804         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
11805          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
11806          flow_loop_exit_edges_find, flow_loop_nodes_find,
11807          flow_loop_pre_header_scan, flow_loop_pre_header_find,
11808          flow_loop_tree_node_add, flow_loops_tree_build,
11809          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
11810          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
11811         Move here from flow.c
11812         * flow.c: Remove everything moved elsewhere
11813         * output.h (cleanup_cfg): Return bool.
11814
11815         * bb-reorder.c (reorder_block_def): Remove 'index'.
11816         (insert_intra_1): Add argument BB, set block for new note.
11817         (make_reorder_chain): Do not depdent on BB indexes.
11818         (make_reorder_chain_1): Do not use BB indexes.
11819         (label_for_bb): Likewise; set BB for new insn.
11820         (emit_jump_to_block_after): Likewise.
11821         (fixup_reorder_chain): Sanity check that all basic blocks
11822         are chained; verify newly created insn chain; remove
11823         undocnitional jump simplifying; Do not use BB indexes;
11824         properly initialize count and frequency information;
11825         dump reordered sequence.
11826         (insert_intra_bb_scope_notes): update call of insert_intra_1.
11827         (insert_inter_bb_scope_notes): Set block for new insn.
11828         (reorder_basic_blocks): Dump flow info before reoredering.
11829
11830 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11831
11832         * alias.c (clear_reg_alias_info): Use K&R format definition.
11833         Avoid unsigned warning.
11834         * builtins.c: Use "unsigned int", not "unsigned".
11835         (target_char_cast): Use host_integerp and tree_low_cst.
11836         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
11837         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
11838         (c_getstr): Likewise.
11839         (std_expand_builtin_va_arg): Use int_size_in_bytes.
11840         (builtin_memcpy_read_str): Avoid unsigned warning.
11841         (expand_builtin_memcpy): Alignments are unsigned.
11842         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
11843         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
11844         * predict.c (expensive_function_p): LIMIT now unsigned.
11845         * resource.c (mark_target_live_regs): Make some vars unsigned.
11846         * sdbout.c: Use "unsigned int", not "unsigned".
11847         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
11848         (sdbout_source_line): Likewise.
11849         (sdbout_record_type_name): Remove "const" for NAME declaration.
11850         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
11851
11852 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
11853
11854         * calls.c (store_one_arg): Expand comment.
11855
11856 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11857
11858         * calls.c (store_one_arg): Make sure that the entire argument is
11859         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
11860
11861 2001-09-09  Richard Henderson  <rth@redhat.com>
11862
11863         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
11864
11865 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
11866
11867         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
11868
11869 2001-09-09  Richard Henderson  <rth@redhat.com>
11870
11871         * config/alpha/alpha.c (alpha_next_sequence_number): New.
11872         (alpha_this_literal_sequence_number): New.
11873         (alpha_this_gpdisp_sequence_number): New.
11874         (some_operand, input_operand): Add HIGH.
11875         (local_symbolic_operand): New.
11876         (alpha_encode_section_info): New.
11877         (alpha_legitimate_address_p): Allow LO_SUM.
11878         (alpha_legitimize_address): Generate HIGH+LO_SUM.
11879         (alpha_expand_mov): Likewise.
11880         (secondary_reload_class): Check memory_operand not general_operand
11881         for FP_REGS test.
11882         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
11883         (alpha_expand_unaligned_store): Likewise.
11884         (alpha_expand_unaligned_load_words): Likewise.
11885         (alpha_expand_unaligned_store_words): Likewise.
11886         (alpha_expand_block_clear): Likewise.
11887         (print_operand): Handle %#, %*, %H.
11888         (print_operand_address): Handle LO_SUM.
11889         (find_lo_sum): New.
11890         (alpha_does_function_need_gp): Use it.
11891         (alpha_expand_block_move): Fix signed compare warnings.
11892         (alpha_sa_mask, alpha_align_insns): Likewise.
11893         * config/alpha/alpha-protos.h: Update.
11894         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
11895         (MASK_EXPLICIT_RELOCS): New.
11896         (TARGET_SWITCHES): Add -mexplicit-relocs.
11897         (EXTRA_CONSTRAINT): Add 'T'.
11898         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
11899         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
11900         (ENCODE_SECTION_INFO): Out line.
11901         (REDO_SECTION_INFO_P): New.
11902         (STRIP_NAME_ENCODING): New.
11903         (ASM_OUTPUT_LABELREF): New.
11904         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
11905         (PREDICATE_CODES): Update.
11906         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
11907         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
11908         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
11909         builtin_setjmp_receiver_er, exception_receiver_1_er,
11910         call_value_osf_1_er): New patterns.
11911         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
11912         (movqi, movhi, movsi): Add explicit $31 base register to lda.
11913         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
11914         (FINAL_PRESCAN_INSN): New.
11915
11916 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
11917
11918         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
11919
11920 2001-09-08  Andreas Jaeger  <aj@suse.de>
11921
11922         * i386.h (TARGET_SWITCHES): Fix description.
11923
11924 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
11925
11926         * rs6000.c (num_insns_constant): Compute number of instructions
11927         more accurately.
11928
11929         * doc/install.texi: Explain AIX exception handling work-around.
11930         Update URL for AIX fixes.
11931
11932 2001-09-07  Jim Wilson  <wilson@redhat.com>
11933
11934         * alias.c (clear_reg_alias_info): New.
11935         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
11936         * rtl.h (clear_reg_alias_info): Declare.
11937
11938 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11939
11940         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
11941         available.
11942         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
11943         (m16m,edivm,emulm): Change declaration to match definition.
11944
11945 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
11946
11947         * reload.c (push_reload): Check for subreg_lowpart_p instead of
11948         SUBREG_BYTE being 0 when determining if the inner part of a subreg
11949         can be reloaded.
11950
11951 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11952
11953         * c-common.c (signed_or_unsigned_type): Handle machine mode types
11954         which have no corresponding C type.
11955         * fold_const.c (target_isinf,target_isnan,target_negative): Update
11956         the representation of 64-bit doubles to work with 64-bit ints.
11957
11958 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
11959
11960         * config/mips/mips.c (override_options): Do not override ISA when ABI
11961         specified if MIPS_CPU_STRING_DEFAULT was specified.
11962
11963 2001-09-07  Richard Henderson  <rth@redhat.com>
11964
11965         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
11966         (express_from_1): Wrap lines.
11967         * rtlanal.c (commutative_operand_precedence): Rename from
11968         operand_preference; export.
11969         * rtl.h: Declare it.
11970         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
11971         (simplify_binary_operation): Invoke simplify_plus_minus on
11972         (CONST (PLUS ...)) as well.
11973         (struct simplify_plus_minus_op_data): New.
11974         (simplify_plus_minus_op_data_cmp): New.
11975         (simplify_plus_minus): Use them.  Avoid infinite recursion with
11976         simplify_binary_operation wrt CONST.
11977
11978 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
11979
11980         * h8300-protos.h (general_operand_dst_push): Remove.
11981         * h8300.c (general_operand_dst_push): Likewise.
11982         * h8300.h (OK_FOR_T): Likewise.
11983         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
11984         * h8300.md (pushqi_h8300): New.
11985         (pushqi_h8300hs): Likewise.
11986         (pushqi): Likewise.
11987         (pushhi_h8300): Likewise.
11988         (pushhi_h8300hs): Likewise.
11989         (pushhi): Likewise.
11990
11991 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11992
11993         * genattrtab.c (attr_printf): First arg is unsigned.
11994         Clean up formatting of callers.
11995
11996 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
11997
11998         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
11999         registers.
12000
12001 2001-09-07  Andreas Jaeger  <aj@suse.de>
12002
12003         * i386.h (TARGET_SWITCHES): Fix descriptions.
12004
12005 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12006
12007         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
12008
12009 2001-09-06  Ira Ruben  <ira@apple.com>
12010
12011         Remove OP_IDENTIFIER.
12012         * tree.def (OP_IDENTIFIER): Remove.
12013         * tree.c (tree_node_kind enum): Remove op_id_kind.
12014         (tree_node_kind_names): Remove "op_identifiers".
12015         (make_node): Remove OP_IDENTIFIER test.
12016         (build_op_identifier): Removed because it isn't being used.
12017         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
12018         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
12019
12020 2001-09-06  Richard Henderson  <rth@redhat.com>
12021
12022         * simplify-rtx.c (simplify_binary_operation): Revert last change.
12023
12024 2001-09-06  Richard Henderson  <rth@redhat.com>
12025
12026         * simplify-rtx.c (simplify_binary_operation): Simplify contents
12027         of CONST.
12028
12029 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12030
12031         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
12032         number used for CR register.
12033
12034 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
12035                           Joern Rennecke (amylaar@cygnus.com)
12036
12037         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
12038         * h8300.c (initial_offset): Handle offset between RP and FP.
12039         (h8300_return_addr_rtx): New function.
12040         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
12041         return register.
12042         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
12043         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
12044         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
12045         (CAN_ELIMINATE, REGISTER_NAMES):
12046         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
12047
12048 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
12049
12050         Remove TYPE_NONCOPIED_PARTS.
12051         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
12052         (struct tree_type): Remove noncopied_parts.
12053         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
12054         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
12055         (fixed_type_p): Remove.
12056         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
12057         (expand_expr, MODIFY_EXPR): Likewise.
12058         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
12059         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
12060
12061 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
12062
12063         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
12064         compiler warnings.
12065         (mask64_operand): Likewise.
12066         (includes_rldic_lshift_p): Likewise.
12067         (includes_rldicr_lshift_p): Likewise.
12068
12069 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
12070
12071         * objc/objc-act.c (build_message_expr): If a class method cannot
12072         be found, do not issue a warning if a corresponding instance
12073         method exists in the root class.
12074
12075 2001-09-05  Richard Henderson  <rth@redhat.com>
12076
12077         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
12078
12079 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
12080
12081         * function.c (ggc_mark_struct_function): Mark f->outer.
12082         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
12083         * integrate.c (output_inline_function): ... not here.
12084
12085 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
12086
12087         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
12088
12089         * i386.c (size_cost): New static variable.
12090         (override_function): Use size_cost when -Os is specified.
12091
12092         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
12093         properly;  Use current_function_calls_eh_return.
12094         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
12095         use leave to avoid dependency chain.
12096
12097         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
12098         get BB loop_depth instead of computing it from LOOP notes.
12099
12100         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
12101
12102 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12103
12104         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12105         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
12106         UNALIGNED_DOUBLE_INT_ASM_OP): Define
12107
12108 2001-09-05  Jeffrey A Law  (law@cygnus.com)
12109             Jason Merrill (jason@redhat.com)
12110
12111         * stor-layout.c (layout_type): Complain if an array's size can
12112         not be represented in a size_t.
12113
12114         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
12115
12116 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
12117
12118         * gcc.c: (process_command) Add parentheses around assignment
12119         used as truth value.
12120
12121 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
12122
12123         * config/mips/mips.c (save_restore_insns): Don't mark any register
12124         save slots as unchanging if current_function_calls_eh_return.
12125
12126 2001-09-05  Richard Henderson  <rth@redhat.com>
12127
12128         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
12129         * config/alpha/alpha-protos.h: Declare it.
12130         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
12131         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
12132         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
12133         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
12134         (REG_OK_FOR_BASE_P): Select one of the above.
12135
12136 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
12137
12138         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
12139         (crti.o): Prefix name of object file with $(T).
12140         (crtn.o): Likewise.
12141
12142 2001-09-05  David S. Miller  <davem@redhat.com>
12143
12144         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
12145         * config/sparc/linux64.h: Likewise.
12146
12147 2001-09-05  Andreas Jaeger  <aj@suse.de>
12148
12149         * doc/invoke.texi (i386 Options): -mwide-multiply is not
12150         available anymore, remove the documentation.
12151         (i386 Options): Fix typo, cleanup index entries.
12152
12153         * prefix.c (concat): Remove, we can use the version from liberty.
12154
12155 2001-09-05  Richard Henderson  <rth@redhat.com>
12156
12157         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
12158         New functions split out of md file expanders.
12159         * config/alpha/alpha-protos.h: Declare them.
12160         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
12161
12162 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12163
12164         * cppmacro.c (funlike_invocation_p): No need to restore context.
12165
12166 2001-09-04  Richard Henderson  <rth@redhat.com>
12167
12168         * reload.c (push_reload): Export.
12169         * reload.h (push_reload): Declare it.
12170
12171         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
12172         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
12173         * config/alpha/alpha.c (alpha_legitimize_address): New.
12174         (alpha_legitimize_reload_address): Likewise.
12175         * config/alpha/alpha-protos.h: Declare them.
12176
12177 2001-09-04  Stan Shebs  <shebs@apple.com>
12178
12179         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
12180         * config/darwin.c (machopic_stub_name): Account for internally
12181         generated lib calls such as memcpy.
12182
12183 2001-09-04  Richard Henderson  <rth@redhat.com>
12184
12185         * unwind.h (_UA_END_OF_STACK): New flag.
12186         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
12187
12188 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
12189
12190         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
12191
12192 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
12193
12194         * config/mips/mips.c (save_restore_insns): Change base_offset to
12195         fp_offset in second call to mips_emit_frame_related_store.
12196
12197 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
12198
12199         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
12200         sometimes be represented as a NOTE of type
12201         NOTE_INSN_DELETED_LABEL.
12202         (Insns): Document NOTE_INSN_DELETED_LABEL.
12203
12204 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
12205
12206         * c-common.h (tree_dump_index): Add more comments.
12207         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
12208         (dump_option_value_info): New struct.
12209         (dump_options): New array.
12210         (dump_switch_p): Parse switch options symbolically.
12211         * doc/invoke.texi (-fdump-ast): Rename to ...
12212         (-fdump-tree): ... here. Document that options are symbolic, and
12213         not all are applicable.
12214
12215 2001-09-04  David S. Miller  <davem@redhat.com>
12216
12217         * config/sparc/sparc.md (define_splits): Kill constraints.
12218
12219         Cleanup redundant and unused insn attributes.
12220         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
12221         binary, and move.  Mark ialu as default.
12222         (commented out define_function_unit "alu"): Kill.
12223         (define_attr "use_clobbered"): Kill.
12224         (whole file): Kill address insn type references.  Replace
12225         all unary/binary/move references with ialu.
12226         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
12227         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
12228         TYPE_IALU.
12229
12230         Simplify length insn attribute and make more judicious use
12231         of insn attribute defaulting.
12232         * config/sparc/sparc.md (all insns with length > one): Mark as
12233         insn type multi if real instructions, else use default if
12234         it is a forced splitter.
12235         (all insns with length == one): Use default insn length.
12236         (all insns of type ialu): Use default insn type.
12237
12238         Fix erroneous insn attribute settings.
12239         (addx): Set insn type to misc.
12240         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
12241         const_umulsidi3_sp64): Set insn type to imul.
12242
12243         Track SFmode vs DFmode insns according to UltraSPARC
12244         scheduling rules.
12245         * config/sparc/sparc.md ("fptype"): New attribute, default
12246         to "single".
12247         (all DFmode single insns): Mark as fptype "double".
12248
12249 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
12250
12251         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
12252
12253 2001-09-03  Richard Henderson  <rth@redhat.com>
12254
12255         * function.h (struct function): Add arg_pointer_save_area_init.
12256         * function.c (expand_function_end): Init arg_pointer_save_area.
12257         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
12258         when called from a nested function.
12259
12260 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
12261
12262         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
12263         is enabled.
12264
12265 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
12266
12267         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
12268
12269 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
12270
12271         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
12272         (emit_push_insn): Use specified padding direction when
12273         STACK_PUSH_CODE is POST_INC.
12274
12275         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
12276
12277 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12278
12279         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
12280
12281 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
12282
12283         * cppinit.c (cpp_start_read): Free the imacros list as we
12284         traverse it.  Don't free the chains before returning.
12285         (_cpp_push_next_buffer): Only try pushing buffers if we've
12286         completed -imacros handling.
12287
12288 2001-08-31  Eric Christopher  <echristo@redhat.com>
12289
12290         * gcc.c (handle_braces): Add explaination for abort.
12291
12292 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
12293
12294         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
12295         move adjustment of bitpos instead.
12296
12297 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
12298
12299         * function.c: Remove all_functions.  Make outer_function_chain
12300         static.
12301         (init_function_start): Don't add new function structure to
12302         all_functions.
12303         (find_function_data, push_function_context_to,
12304         pop_function_context_from, put_var_into_stack,
12305         trampoline_address): Update for changed structure element names.
12306         (push_function_context_to): Disentangle.
12307         (free_after_compilation): Also free F.
12308         (expand_dummy_function_end): Don't free cfun here.
12309         (put_var_into_stack): Comment why we can't use find_function_data here.
12310         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
12311         (mark_function_chain): Split into maybe_mark_struct_function and
12312         ggc_mark_struct_function.  Export the latter.
12313         (init_function_once): Mark from cfun and outer_function_chain;
12314         not all_functions.
12315
12316         * function.h (struct function): Kill next_global.  Rename next
12317         to outer.  All users updated to match.
12318         (all_functions, outer_function_chain): Don't declare.
12319
12320         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
12321         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
12322         don't touch f->inlinable, after calling rest_of_compilation.
12323
12324         * tree.h: Forward-declare struct function.  Prototype
12325         ggc_mark_struct_function.
12326
12327 2001-08-31  Kazu Hirata  <kazu@hxi.com>
12328
12329         * config/h8300/h8300.md (*andorhi3): Fix typos.
12330
12331 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12332
12333         * calls.c (emit_library_call_value): Don't use a fixed
12334         argument after VA_CLOSE, i.e. out of scope in traditional C.
12335
12336         * emit-rtl.c (gen_rtvec): Likewise.
12337
12338 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12339
12340         * Makefile.in (c-pragma.o): Depend on output.h.
12341         (reorg.o): Depend on except.h.
12342
12343         * c-pragma.c: Include output.h.
12344
12345         * reorg.c: Include except.h.
12346
12347         * unwind-dw2.c: Call __builtin_alloca, not alloca.
12348
12349 2001-08-31  Richard Henderson  <rth@redhat.com>
12350
12351         * sched-deps.c (add_dependence): Don't elide dependency if the
12352         conditional used by insn is modified in elem.
12353
12354 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
12355
12356         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
12357
12358 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
12359
12360         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
12361         dump_switch_p.
12362
12363 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12364
12365         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
12366         function.
12367         (stormy16_asm_out_constructor): New function.
12368         (TARGET_ASM_CONSTRUCTOR): Define.
12369         (TARGET_ASM_DESTRUCTOR): Define.
12370
12371 2001-08-31  Andreas Jaeger  <aj@suse.de>
12372
12373         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
12374         * loop.c (add_label_notes): Likewise.
12375         * reload.c (find_reloads): Likewise.
12376         * config/sh/sh.c (machine_dependent_reorg): Likewise.
12377
12378 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
12379
12380         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
12381         code here.  Take _Unwind_{W,Sw}ord*.
12382         (read_encoded_value_with_base): Use them.
12383         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
12384         words.
12385         (extract_cie_info): Simplify read_?leb128 handling.
12386         (execute_stack_op, execute_cfa_program): Likewise.
12387         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
12388
12389 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12390
12391         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
12392         the frame pointer to pop the stack if convenient.
12393
12394         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
12395         Don't use post-increment before combine.
12396         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
12397         a call-saved register.
12398
12399 2001-08-31  Andreas Jaeger  <aj@suse.de>
12400
12401         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
12402         code was correct.
12403
12404 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
12405
12406         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
12407         not DIV/MOD, of course.
12408
12409 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
12410
12411         * rtl.def: Undo my patch commited 2001-08-27.
12412
12413         * genattrtab.c: Ditto.
12414
12415         * rtl.h: Ditto.
12416
12417         * sched-int.h: Ditto.
12418
12419         * target-def.h: Ditto.
12420
12421         * target.h: Ditto.
12422
12423         * haifa-sched.c: Ditto.
12424
12425         * sched-rgn.c: Ditto.
12426
12427         * sched-vis.c: Ditto.
12428
12429         * Makefile.in: Ditto.
12430
12431         * doc/md.texi: Ditto.
12432
12433         * doc/tm.texi: Ditto.
12434
12435         * doc/contrib.texi: Ditto.
12436
12437         * doc/gcc.texi: Ditto.
12438
12439         * genattrtab.h: Remove it.
12440
12441         * genautomata.c: Remove it.
12442
12443         * genattr.c: Undo my patch and Richard Henderson's patch commited
12444         2001-08-27.
12445
12446 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
12447
12448         * config.gcc (h8300-*-elf*): New case.
12449         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
12450         (SUBTARGET_CPP_SPEC): Define.
12451         (EXTRA_SPECS): Define.
12452         (SUBTARGET_EXTRA_SPECS): Define.
12453         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
12454         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
12455
12456 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
12457
12458         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
12459         (LIB2FUNCS_EXTRA): Define.
12460         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
12461         config/h8300/fixunssfsi.c: New file.
12462
12463 2001-08-30  Kazu Hirata  <kazu@hxi.com>
12464
12465         * config/h8300/h8300.md (zero_extendqihi2): Changes to
12466         define_expand to accommodate target-specific attributes.
12467         (anonymous zero_extendqihi2 patterns): New.
12468
12469 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
12470
12471         * h8300.md (*andorhi3): New pattern.
12472
12473 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
12474
12475         * h8300.c (dosize): Fix test for "sub".
12476
12477 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
12478
12479         * c-typeck.c (pointer_diff): Try to eliminate common term before
12480         doing conversions.
12481
12482 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
12483
12484         * config/arm/arm.c (arm_compute_initial_elimination_offset):
12485         Account for the saves of the FP registers.
12486
12487         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
12488         (TEXT_SECTION_ASM_OP): Define.
12489         (INIT_SECTION_ASM_OP): Define.
12490         (FINI_SECTION_ASM_OP): Define.
12491         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
12492         (RDATA_SECTION_FUNCITON): Provide prototype.
12493
12494 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
12495
12496         * reload1.c (move2add_note_store): Correct typo checking for
12497         argument pushes.
12498
12499 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
12500
12501         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
12502         note should not be considered outside the libcall block.
12503
12504 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12505
12506         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
12507
12508 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12509
12510         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
12511
12512 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12513
12514         * config/h8300/h8300-protos.h: Add a prototype for
12515         emit_logical_op.
12516         * config/h8300/h8300.c (emit_logical_op): New.
12517         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
12518         (andsi3): Likewise.
12519         (iorhi3): Likewise.
12520         (iorsi3): Likewise.
12521         (xorhi3): Likewise.
12522         (xorsi3): Likewise.
12523
12524 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12525
12526         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
12527         comparison with rtx INTVAL.
12528         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
12529         expression.
12530         * pa.h (FUNCTION_ARG_SIZE): Likewise.
12531
12532 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12533
12534         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
12535         comment typos.
12536
12537 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12538
12539         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
12540         (reg n) to (mem (pre_dec (reg n))
12541         (anonymous movsi pattern): Likewise.
12542
12543 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12544
12545         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
12546
12547 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12548
12549         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
12550         several special constants.
12551
12552 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12553
12554         * config/h8300/lib1funcs.asm: Fix comment typos.
12555
12556 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12557
12558         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
12559         Fix format specifier warnings.
12560
12561         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
12562         inet_makeaddr, semctl): Prototype.
12563
12564         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
12565         (save_restore_insns): Use base_offset, not gp_offset.
12566
12567         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
12568         (ASM_OUTPUT_BYTE): Fix format specifier warning.
12569
12570 2001-08-29  Richard Henderson  <rth@redhat.com>
12571
12572         * bb-reorder.c (function_tail_eff_head): New.
12573         (record_effective_endpoints): Set it.
12574         (fixup_reorder_chain): Use it.
12575
12576 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12577
12578         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
12579
12580 2001-08-28  Dale Johannesen  <dalej@apple.com>
12581
12582         * config/darwin.c (machopic_function_base_name): Add const
12583         qualifier to a string.
12584         (darwin_encode_section_info): Ditto.
12585
12586 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12587
12588         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
12589         function definition.
12590
12591 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12592
12593         * df.h (struct df): Add rts_order variable.
12594
12595         * df.c (df_visit_next_rts): New function.
12596         (df_visit_next): Renamed to df_visit_next_rc
12597         (df_analyse_1): Allocate/compute/free rts_order as well.
12598         (df_rd_global_compute): Use df_visit_next_rc instead of
12599         df_visit_next.
12600         (df_ru_global_compute): Use df_visit_next_rts instead of
12601         df_visit_next.
12602
12603         * flow.c (flow_reverse_top_sort_order_compute): New function.
12604
12605         * basic-block.h: Add prototype.
12606
12607 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12608
12609         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
12610         blocks, the BB_REACHABLE is now set, rather than aux being
12611         non-NULL. Update the test to reflect this.
12612
12613 2001-08-28  Eric Christopher  <echristo@redhat.com>
12614
12615         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
12616         config/mips/crti.asm: Ditto.
12617
12618 2001-08-28  Eric Christopher <echristo@redhat.com>
12619             Richard Henderson <rth@redhat.com>
12620
12621         * c-pragma.h (add_weak): Move prototype from here...
12622         * output.h (add_weak): ... to here.
12623         * varasm.c (add_weak): Fix typo.
12624         * config/mips/crti.asm: New file.
12625         * config/mips/crtn.asm: Ditto.
12626         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
12627         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
12628         (INVOKE__main): Ditto.
12629         (INIT_SECTION_ASM_OP): New.
12630         (FINI_SECTION_ASM_OP): Ditto.
12631         (STARTFILE_SPEC): Add crti.
12632         (ENDFILE_SPEC): Add crtn.
12633         * config/mips/elf64.h: Same.
12634         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
12635         Remove.
12636         * config/mips/vxworks.h: Ditto.
12637         * config/mips/t-elf: Support crti and crtn.
12638
12639 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
12640
12641         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
12642         INSN_LIST.
12643
12644 2001-08-28  Richard Henderson  <rth@redhat.com>
12645
12646         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
12647         (one_cmplbi2 splitter): Remove redundant test.
12648
12649 2001-08-28  Dale Johannesen  <dalej@apple.com>
12650
12651         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
12652
12653 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
12654
12655         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
12656
12657 2001-08-28  Stan Shebs  <shebs@apple.com>
12658
12659         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
12660         (UNALIGNED_SHORT_ASM_OP): Define.
12661         (UNALIGNED_INT_ASM_OP): Define.
12662
12663 2001-08-28  Will Cohen  <wcohen@redhat.com>
12664
12665         * config/rs6000/rs6000.md (store_multiple): Correct RTL
12666         generation for first set.
12667
12668 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12669
12670         * flow.c (redirect_edge_succ_nodup): Return new edge.
12671         (try_simplify_condjump): Use new edge.
12672         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
12673
12674         * cse.c (cse_basic_block): Skip note instructions.
12675
12676 2001-08-27  Richard Henderson  <rth@redhat.com>
12677
12678         * combine.c (combine_simplify_rtx): Don't reverse condition
12679         if there is no reverse for the condition.
12680         (simplify_comparison): Don't simplify subregs from INT to FP.
12681
12682         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
12683         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
12684         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
12685         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
12686         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
12687         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
12688
12689 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12690
12691         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
12692         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
12693         (pushqi1): New.
12694         (adddi_dilshr32, adddi_dishl32): Only data register can be
12695         source for mem destination.
12696
12697         * expmed.c (store_bit_field): Ignore adjustment to bitpos
12698         and use bitnum to decide about register move.
12699
12700 2001-08-27  Richard Henderson  <rth@redhat.com>
12701
12702         * genattr.c (main): Emit state_t even when not doing scheduling.
12703
12704 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12705             Richard Henderson  <rth@redhat.com>
12706
12707         * gcse.c (reg_first_set, reg_last_set): Replace with ...
12708         (reg_avail_info, current_bb): ... these.
12709         (oprs_unchanged_p, record_last_reg_set_info): Use them.
12710         (compute_hash_table): Likewise.
12711
12712 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12713
12714         * flow.c (verify_flow_info): Use checksums to verify edges.
12715
12716 2001-08-27  Richard Henderson  <rth@redhat.com>
12717
12718         * genautomata.c (expand_automata): Always create a description.
12719
12720 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12721
12722         * optabs.c (expand_binop): Correctly handle the carry in multiword
12723         add/subtract operations.
12724
12725 2001-08-27  Fred Fish  <fnf@be.com>
12726
12727         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
12728         __SIZE_TYPE__.
12729
12730 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12731
12732         * reload.c (find_reloads_toplev): Back out this change:
12733
12734         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
12735
12736         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
12737         mem if the address is a mode_dependent_address_p.
12738
12739 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
12740
12741         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
12742         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
12743         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
12744         RTL constructions.
12745
12746         * genattr.c (main): New variable num_insn_reservations.  Increase
12747         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
12748         pipeline hazard recognizer interface.
12749
12750         * genattrtab.h: New file.
12751
12752         * genattrtab.c: Include genattrtab.h.
12753         (attr_printf, check_attr_test, make_internal_attr,
12754         make_numeric_value): Move protypes into genattrtab.h.  Define them
12755         as external.
12756         (num_dfa_decls): New global variable.
12757         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
12758         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
12759         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
12760         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
12761
12762         * genautomata.c: New file.
12763
12764         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
12765
12766         * sched-int.h: (curr_state): Add the external definition for
12767         automaton pipeline interface.
12768         (haifa_insn_data): Add comments for members blockage and units.
12769
12770         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12771         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12772         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12773         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12774         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12775         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12776         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
12777         macros.
12778         (TARGET_SCHED): Use the new macros.
12779
12780         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
12781         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
12782         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
12783         dfa_bubble): New members in gcc_target.sched.
12784
12785         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
12786         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
12787         (insn_queue): Redefine it as pointer to array.
12788         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
12789         INSN_QUEUE_SIZE.
12790         (max_insn_queue_index_macro_value): New variable.
12791         (curr_state, dfa_state_size, ready_try): New varaibles for
12792         automaton interface.
12793         (ready_element, ready_remove, max_issue): New function prototypes
12794         for automaton interface.
12795         (choose_ready): New function prototype.
12796         (insn_unit, blockage_range): Add comments.
12797         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
12798         FUNCTION_UNITS_SIZE == 0.
12799         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
12800         actual_hazard, potential_hazard): Add comments.
12801         (insn_cost): Use cost -1 as undefined value.  Remove
12802         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
12803         pipeline interface.
12804         (ready_element, ready_remove): New functions for automaton
12805         interface.
12806         (schedule_insn): Add new code for automaton pipeline interface.
12807         (queue_to_ready): Add new code for automaton pipeline interface.
12808         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
12809         (debug_ready_list): Print newline when the queue is empty.
12810         (max_issue): New function for automaton pipeline interface.
12811         (choose_ready): New function.
12812         (schedule_block): Add new code for automaton pipeline interface.
12813         Print ready list before scheduling each insn.
12814         (sched_init): Add new code for automaton pipeline interface.
12815         Initiate insn cost by -1.
12816         (sched_finish): Free the current automaton state and finalize
12817         automaton pipeline interface.
12818
12819         * sched-rgn.c: Include target.h.
12820         (init_ready_list, new_ready, debug_dependencies): Add new code for
12821         automaton pipeline interface.
12822
12823         * sched-vis.c: Include target.h.
12824         (get_visual_tbl_length): Add code for automaton interface.
12825         (target_units, print_block_visualization):  Add comments.
12826
12827         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
12828         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
12829         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
12830         (getruntime.o, genautomata.o): New entries.
12831         (genattrtab.o): Add new dependency file genattrtab.h.
12832         (genattrtab): Add new dependencies.  Link it with `libm.a'.
12833         (getruntime.o, hashtab.o): New entries for canadian cross.
12834
12835         * doc/md.texi: Description of automaton based model.
12836
12837         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
12838         Add comments.
12839         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12840         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12841         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12842         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12843         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12844         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12845         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
12846         hook descriptions.
12847         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
12848         MAX_DFA_ISSUE_RATE): New macro descriptions.
12849
12850         * doc/contrib.texi: Add dfa based scheduler contribution.
12851
12852         * doc/gcc.texi: Add more information about genattrtab.
12853
12854 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
12855
12856         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
12857         an RTL basic block.
12858
12859 2001-08-27  Richard Henderson  <rth@redhat.com>
12860
12861         * function.c (expand_function_end): Don't init arg_pointer_save_area.
12862         (get_arg_pointer_save_area): New.  Create an init it here.
12863         (fix_lexical_addr): Use it.
12864         * function.h: Declare it.
12865         * builtins.c (expand_builtin_setjmp_receiver): Use it.
12866         * stmt.c (expand_nl_goto_receiver): Use it.
12867
12868 2001-08-27  Richard Henderson  <rth@redhat.com>
12869
12870         * final.c (final_scan_insn): Don't enter APP_ON mode for
12871         empty asm strings.
12872
12873         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
12874         alignment for assemble_integer for DW_EH_PE_aligned.
12875         * except.c (output_function_exception_table): Likewise.
12876
12877 2001-08-26  Andreas Jaeger  <aj@suse.de>
12878
12879         * c-tree.h: Add prototyp for c_sizeof_nowarn.
12880
12881 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
12882
12883         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
12884
12885 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
12886
12887         * config/rs6000/rs6000.c (mask_operand): Rewrite without
12888         bit-shifting loop.
12889         (mask64_operand): Likewise.
12890         (rldic_operand): Delete.
12891         (includes_lshift64_p): Delete.
12892         (includes_rldic_lshift_p): New function.
12893         (includes_rldicr_lshift_p): New function.
12894         (print_operand): Don't call rldic_operand in case 'W'.
12895         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
12896         (includes_lshift64_p): Remove.
12897         (includes_rldic_lshift_p): Declare.
12898         (includes_rldicr_lshift_p): Declare.
12899         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
12900         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
12901         Replace match_operand rldic_operand predicate with
12902         const_int_operand.  Replace includes_lshift64_p condition with
12903         includes_rldic_lshift_p.
12904         <ashldi3_internal 64 bit rldicr patterns>: New.
12905
12906 2001-08-27  Andreas Jaeger  <aj@suse.de>
12907
12908         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12909         * errors.c: Likewise.
12910         * final.c: Likewise.
12911         * dwarf2asm.c: Likewise.
12912         * doprint.c (checkit): Likewise.
12913         * diagnostic.c: Likewise.
12914         * collect2.c: Likewise.
12915         * calls.c: Likewise.
12916         * c-semantics.c (build_stmt): Likewise.
12917         * c-format.c (status_warning): Likewise.
12918         * c-errors.c (pedwarn_c99): Likewise.
12919         * builtins.c (validate_arglist): Likewise.
12920         * config/pj/pj.c (pj_printf): Likewise.
12921         * fix-header.c: Likewise.
12922         * gcc.c: Likewise.
12923         * gcov.c (fnotice): Likewise.
12924         * gensupport.c (message_with_line): Likewise.
12925         * mips-tfile.c: Likewise.
12926         * protoize.c (notice): Likewise.
12927         * read-rtl.c (fatal_with_file_and_line): Likewise.
12928         * rtl-error.c: Likewise.
12929         * tradcpp.c: Likewise.
12930         * tree.c: Likewise.
12931         * cp/tree.c (build_min_nt): Likewise.
12932         (build_min): Likewise.
12933         * cp/lex.c: Likewise.
12934         * cp/errfn.c: Likewise.
12935         * cp/rtti.c (create_pseudo_type_info): Likewise.
12936
12937 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
12938
12939         * df.c (df_uses_record): Return after recording all uses
12940         in ASM_OPERANDS.
12941
12942 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
12943
12944         * df.c (df_insn_modify): Realloc the INSN table here, if
12945         necessary, here, too.
12946
12947 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
12948
12949         * config/mips/mips.c (mips_function_value): Handle complex return
12950         values.
12951
12952 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
12953
12954         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
12955         unshared.
12956         * reload.c (make_memloc): Copy result if it is still
12957         reg_equiv_memory_loc[regno] on return.
12958         (subst_reloads) [ENABLE_CHECKING]: Check that none of
12959         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
12960         reg_equiv_mem are modified by the substitutions.
12961
12962 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12963
12964         * predict.c (expensive_function_p): New.
12965         * rtl.h (expensive_function_p): Declare.
12966         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
12967         (use_fast_prologue_epilogue): New static variable.
12968         (expand_prologue): Set it; emit short prologues if unset.
12969         (expand_epilogue): Likewise.
12970
12971 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12972
12973         * config.gcc: Add stormy16-*-elf case.
12974         * config/stormy16/stormy-abi: New file.
12975         * config/stormy16/stormy16-lib2.c: New file.
12976         * config/stormy16/stormy16-protos.h: New file.
12977         * config/stormy16/stormy16.c: New file.
12978         * config/stormy16/stormy16.h: New file.
12979         * config/stormy16/stormy16.md: New file.
12980         * config/stormy16/t-stormy16: New file.
12981
12982 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
12983
12984         * i386.h (no-accumulate-outgoing-args): Use proper mask.
12985
12986 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
12987
12988         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
12989         descriptor members are pointer size, not constant 4.
12990         * config/rs6000/rs6000.md (define_splits): Remove more unused
12991         constraints.
12992
12993 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12994
12995         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
12996
12997 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
12998
12999         * cp/rtti.c (VPARAMS): Fix parameter.
13000
13001 2001-08-24  Zack Weinberg  <zackw@panix.com>
13002
13003         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
13004         to zero.
13005         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
13006         to switch.
13007         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
13008         in if controlling use of insv.
13009         (extract_bit_field): Likewise, for extv and extzv.
13010
13011 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
13012
13013         * i386.md (movcc peep2): Fix load of 0.
13014
13015 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13016
13017         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
13018         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
13019
13020 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
13021
13022         * c-pragma.h: Move weak_syms and weak_decls...
13023         * varasm.c: ...here.  Now static.
13024         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
13025         depend on HANDLE_PRAGMA_WEAK.
13026
13027         * c-common.c (c_alignof, c_alignof_expr): Move here...
13028         * c-typeck.c: ...from here.
13029         * c-tree.h, c-common.h: Adjust.
13030
13031 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
13032
13033         * config/ia64/ia64.c (rws_update): If !pred, set write_count
13034         instead of incrementing it.
13035
13036         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
13037         asm ready, don't try to move them all into the same array element.
13038
13039 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
13040
13041         * function.c (thread_prologue_and_epilogue_insns): Avoid
13042         fallthru flag on edge to exit.
13043
13044         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
13045
13046         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
13047         dead edges.
13048
13049 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
13050
13051         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
13052         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
13053         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
13054         Remove prototype.
13055
13056 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
13057
13058         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
13059         replace "GNU CC" with "GCC".
13060
13061 2001-08-23  Richard Henderson  <rth@redhat.com>
13062
13063         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
13064         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
13065         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
13066         Need GR between FR and not GR_AND_FR.
13067         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
13068         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
13069         AR regs before GR regs.
13070         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
13071         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
13072         (REGISTER_MOVE_COST): Update.
13073         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
13074
13075 2001-08-23  Richard Henderson  <rth@redhat.com>
13076
13077         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
13078         a register class.
13079
13080 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
13081
13082         * reload1.c (emit_reload_insns): Don't look for notes
13083         on a NULL store_insn.
13084
13085 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13086
13087         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
13088         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
13089         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
13090         format specifier warnings.
13091         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
13092
13093 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
13094
13095         * config/i386/i386-protos.h: Correct declaration of
13096         i386_pe_asm_named_section.
13097
13098 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13099
13100         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
13101         variable i.
13102         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
13103
13104 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
13105
13106         * cpperror.c (print_location): Don't show _Pragma.
13107         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
13108         and file change callback generation here.
13109         (stack_include_file): Update use of cpp_push_buffer.
13110         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
13111         (struct cpp_buffer): Remove type, pfile members.
13112         * cppinit.c (cpp_handle_option): Use free_chain.
13113         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
13114         (skip_escaped_newlines, get_effective_char, lex_percent): Take
13115         a cpp_reader rather than a cpp_buffer.
13116         (skip_escaped_newlines, get_effective_char, skip_block_comment,
13117         skip_line_comment, parse_string, lex_percent, lex_dot,
13118         _cpp_lex_token): Update accordingly.
13119         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
13120         generation here.
13121         (cpp_push_buffer): Update prototype.
13122         (run_directive): Update use of cpp_push_buffer.
13123         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
13124         handle_assertion): Update use of run_directive.
13125         * cpplib.h (enum cpp_buffer_type): Remove.
13126         (cpp_push_buffer): Update prototype.
13127         * fix-header.c (read_scan_file): Update.
13128
13129 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13130
13131         * gcc.c (struct prefix_list): Change prefix to const char *.
13132
13133 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13134
13135         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
13136
13137 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
13138
13139         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
13140         from a new MEM.
13141
13142         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
13143         a squeezable note.
13144         * rtl.h: Adjust.
13145         * ifcvt.c (dead_or_predicable): Adjust.
13146         * loop.c (find_and_verify_loops): Adjust.
13147         * stmt.c (expand_end_case): Adjust.
13148         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
13149         head and end insn pointers in the basic block, not just local copies.
13150         (merge_blocks_move_predecessor_nojumps): Likewise.
13151
13152 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
13153
13154         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
13155         bitmap.h, builtin-types.def, builtins.c, builtins.def,
13156         c-aux-info.c, c-common.c, c-common.def, c-common.h,
13157         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
13158         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
13159         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
13160         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
13161         conditions.h, config.gcc, configure.frag, configure.in,
13162         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
13163         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
13164         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
13165         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
13166         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
13167         emit-rtl.c, errors.c, errors.h, except.c, except.h,
13168         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
13169         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
13170         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
13171         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
13172         gencheck.c, gencodes.c, genconfig.c, genemit.c,
13173         genextract.c, genflags.c, gengenrtl.c, genmultilib,
13174         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
13175         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
13176         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
13177         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
13178         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
13179         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
13180         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
13181         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
13182         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
13183         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
13184         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
13185         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
13186         params.h, predict.c, predict.def, predict.h, prefix.c,
13187         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
13188         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
13189         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
13190         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
13191         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
13192         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
13193         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
13194         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
13195         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
13196         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
13197         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
13198         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
13199         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
13200         xcoffout.h: replace "GNU CC" with "GCC".
13201
13202 2001-08-21  Richard Henderson  <rth@redhat.com>
13203
13204         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
13205         (final_scan_insn): Consider jump tables data even if we have no
13206         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
13207         ADDR_VEC_ALIGN.
13208         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
13209         (ASM_OUTPUT_CASE_END): Remove.
13210         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
13211         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
13212         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
13213
13214 2001-08-21  Richard Henderson  <rth@redhat.com>
13215
13216         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
13217         at barrier insns.  Emit stop bits before barriers.
13218
13219         * flow.c (flow_find_cross_jump): Don't consider unconditional
13220         return insns for commoning.
13221
13222         * final.c (compute_alignments): Fix typo.
13223
13224         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
13225         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
13226         (store_bit_field): Use mode_for_extraction more places.
13227         (extract_bit_field): Likewise.
13228
13229 2001-08-21  Zack Weinberg  <zackw@panix.com>
13230
13231         * caller-save.c: Don't include insn-codes.h.
13232         (reg_save_code, reg_restore_code): Make arrays of int.
13233         All uses updated to match.
13234         (insert_save, insert_restore): No need to initialize "code"
13235         variable upon declaration.
13236         * Makefile.in: update dependencies; fix typo in clean rule.
13237
13238 2001-08-21  Richard Henderson  <rth@redhat.com>
13239
13240         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
13241         (merge_if_block): Handle fallout from same.
13242
13243 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13244
13245         * builtins.c (type_to_class): Fix typo in last change.
13246
13247 2001-08-21  Richard Henderson  <rth@redhat.com>
13248
13249         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
13250         ia64_asm_output_label.
13251
13252         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
13253         copy of gp while the real gp register contains garbage.
13254
13255 2001-08-21  Zack Weinberg  <zackw@panix.com>
13256
13257         * expmed.c (mode_for_extraction): New function.
13258         (store_bit_field, extract_bit_field): Use it.
13259         * expr.h: Prototype it and provide an enum for its first argument.
13260
13261         * combine.c, function.c, recog.c: Don't include insn-codes.h.
13262         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
13263         and digging through the insn_data tables.
13264         * Makefile.in: Update dependencies.
13265
13266 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
13267
13268         * cppfiles.c (stack_include_file): line-map.c now handles include
13269         depth.
13270         (handle_missing_handler): Similarly.
13271         (_cpp_execute_include): Similarly.
13272         (_cpp_pop_file_buffer): Similarly.
13273         * cpphash.h (struct cpp_reader): Remove system_include_depth,
13274         buffer_stack_depth and include_depth.
13275         * cpplib.c (do_include_common): line-map.c now handles include depth.
13276         (cpp_push_buffer): Similarly.
13277         (_cpp_pop_buffer): Similarly.
13278         * cppmacro.c (builtin_macro): Update.
13279         * line-map.c (init_line_maps): Set depth.
13280         (add_line_map): Increment "used" earlier.  Update and use the
13281         include depth.
13282         (trace_include): Use the include depth.
13283         * line-map.h (struct line_maps): New member depth.
13284
13285 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13286
13287         * cppfiles.c (stack_include_file): Don't handle -H here.
13288         * cppinit.c (cpp_start_read): Set include tracing after
13289         cpp_post_options and after stacking the main file.
13290         * line-map.c (trace_include): New.
13291         (init_line_maps, add_line_map): Update.
13292         * line-map.h (struct line_maps): New member trace_includes.
13293
13294 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13295
13296         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
13297         * cppfiles.c (stack_include_file): Only stack a file if there
13298         is something to do.  Return a boolean indicating whether a
13299         buffer was stacked or not.
13300         (_cpp_execute_include): Similarly.
13301         (_cpp_read_file): Similarly.
13302         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
13303
13304 2001-08-21  Sam Steingold  <sds@gnu.org>
13305
13306         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
13307         (RECACHE): keep obufp_before_macroname up to date
13308
13309 2001-08-21  Zack Weinberg  <zackw@panix.com>
13310
13311         * stmt.c: Don't include insn-codes.h.
13312         (expand_end_case): Machine specific logic moved to expr.c.
13313         No need to worry about __builtin_classify_type.
13314         (check_for_full_enumeration_handling, emit_case_nodes):
13315         Kill #if 0 blocks.
13316
13317         * builtins.o (expand_builtin_classify_type): Split up so code
13318         can be shared with fold_builtin_classify_type.
13319         (type_to_class, fold_builtin_classify_type): New functions.
13320         (fold_builtins): Handle __builtin_classify_type.
13321
13322         * expr.c (do_tablejump): Now static.
13323         (case_values_threshold, try_casesi, try_tablejump): New;
13324         code mostly from stmt.c (expand_end_case).
13325         (expr.h): Update prototypes.
13326
13327         * Makefile.in (stmt.o): Update dependencies.
13328
13329 2001-08-21  Will Cohen  <wcohen@redhat.com>
13330
13331         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
13332         declaration of variable i.
13333         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
13334         declaration of variable i.
13335
13336 2001-08-21  Richard Henderson  <rth@redhat.com>
13337
13338         * crtstuff.c: Fix thinko last change.  Move list tails to start
13339         of CRT_END section.  Tidy ifdefs.
13340         (__EH_FRAME_BEGIN__): Always static for ELF.
13341         (__do_global_ctors_1): Rename from __frame_dummy.
13342         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
13343         name change; don't hide __EH_FRAME_BEGIN__.
13344
13345 2001-08-21  Richard Henderson  <rth@redhat.com>
13346
13347         * gdbinit.in: Move break on exit after break on fancy_abort.
13348
13349         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
13350         sized types.
13351
13352 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13353
13354         * cpphash.h (_cpp_push_next_buffer): New.
13355         * cppinit.c (do_includes): Remove.
13356         (push_include, free_chain, _cpp_push_next_buffer): New.
13357         (cpp_start_read): Use them to rework command line option handling.
13358         (cpp_handle_option): Combine handling of -include and -imacros.
13359         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
13360         appropriate.  Always insert missing \n at EOF.
13361         * cpplib.c (start_directive): Get the directive position right.
13362         * cppmain.c (cb_file_change): Always print the first line, unless
13363         preprocessed.
13364
13365 2001-08-20  Andreas Jaeger  <aj@suse.de>
13366
13367         * profile.c (compute_branch_probabilities): Remove extra new-line
13368         in error message.
13369         * flow.c (verify_flow_info): Likewise.
13370
13371 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13372
13373         * basic-block.h (basic_block): Add new field 'flags'.
13374         (BB_REACHABLE): Define.
13375         (expunge_block): Declare.
13376         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
13377         (EXIT_BLOCK_PTR): Ditto.
13378         (expunge_block): Remove static declaration.
13379         (cleanup_cfg): Clear bb->aux on every basic block.
13380         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
13381         computing reachability.
13382         (delete_unreachable_blocks): Delete block b if b->flags has
13383         BB_REACHABLE unset.
13384
13385 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13386
13387         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
13388
13389 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13390
13391         * sparc.c (sparc_variable_issue): Fix typo in last change.
13392
13393 2001-08-20  Richard Henderson  <rth@redhat.com>
13394
13395         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
13396
13397 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13398
13399         * pa.h (RETURN_IN_MEMORY): Improve comment.
13400
13401 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
13402
13403         * doc/invoke.texi (Profiling options): Clarify the interactions
13404         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
13405
13406 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
13407
13408         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
13409         command.
13410
13411 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13412
13413         * gcc.c (make_relative_prefix): Allocate a sufficiently large
13414         buffer.
13415
13416 2001-08-20  Richard Henderson  <rth@redhat.com>
13417
13418         * final.c (end_final): Fix typo last change.
13419
13420 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
13421
13422         * cppinit.c (init_standard_includes): The returned buffer
13423         is already malloc-ed.
13424         * gcc.c (add_prefix): Similarly.
13425         * prefix.c (translate_name): Update to support clear buffer
13426         ownership rules.
13427         (update_path): Similarly.  Be sure to free any newly allocated
13428         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
13429         (tr): New function.
13430         * prefix.h (update_path): Update prototype and document.
13431         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
13432         up and update to new buffer ownership rules.
13433         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
13434
13435 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
13436
13437         * final.c (compute_alignments): New function.
13438         (init_insn_lengths): Do not care label_align.
13439         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
13440         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
13441         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
13442         (shorted_branches): Realloc label_align array; do
13443         not call init_insn_lengths; Do not care about loop alignments.
13444         * output.h (compute_alignments): Declare.
13445         * toplev.c (rest_of_compilation): Call compute_alignments.
13446         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
13447
13448         * predict.c (block_info_def): Add npredecesors, remove nvisited;
13449         change visited to tovisit.
13450         (propagate_freq): Use faster traversing algorithm.
13451         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
13452         to tovisit; reverse meaning.
13453
13454         * predict.c (struct block_info_def): Remove nvisited.
13455         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13456         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13457
13458 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
13459
13460         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
13461         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
13462         (TARGET_FUSED_MADD): New.
13463         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
13464         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
13465         the multiply-add instructions.
13466
13467 2001-08-19  Richard Henderson  <rth@redhat.com>
13468
13469         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
13470         is aligned to pointer size.
13471
13472 2001-08-19  Richard Henderson  <rth@redhat.com>
13473
13474         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
13475         display markers during final schedule.
13476
13477 2001-08-19  Richard Henderson  <rth@redhat.com>
13478
13479         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
13480
13481 2001-08-19  Richard Henderson  <rth@redhat.com>
13482
13483         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
13484         in the same string.
13485         (ASM_NAME_TO_STRING): Remove.
13486         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
13487         in the same string.  Remove support for expressions.
13488
13489 2001-08-19  Richard Henderson  <rth@redhat.com>
13490
13491         * config/i386/i386.md (tablejump): Make an expander; handle
13492         pic relative addressing here.
13493         (tablejump_1): Rename from tablejump_pic.
13494         (casesi): Remove.
13495
13496 2001-08-19  Richard Henderson  <rth@redhat.com>
13497
13498         * regclass.c (fix_register): Fix typo.
13499
13500 2001-08-18  Richard Henderson  <rth@redhat.com>
13501
13502         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
13503         (struct _Unwind_Context): Expand br_loc to hold it.
13504         (uw_frame_state_for): Handle leaf functions better.
13505         (uw_update_reg_address): Update for br_loc change.
13506
13507 2001-08-18  Richard Henderson  <rth@redhat.com>
13508
13509         * crtstuff.c: Move list heads before code that uses them.
13510         (__JCR_LIST__): Remove initial null.
13511         (frame_dummy, __frame_dummy): Do java registration here ...
13512         (__do_global_ctors_aux): ... not here.
13513
13514         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
13515         (__do_global_dtors_aux): Update to match.
13516         (__JCR_LIST__, __do_jv_register_classes): New.
13517         (.init): Call it.
13518         * config/ia64/crtend.asm (__JCR_END__): New.
13519         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
13520         instead of an indirect LTOFF22 reloc.
13521
13522 2001-08-18  Richard Henderson  <rth@redhat.com>
13523
13524         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
13525         * regclass.c (init_reg_sets_1): Fix typo.
13526         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
13527         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
13528         (ia64_compute_frame_size): Make ar.unat live when in use.
13529         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
13530         for ar.pfs; remove ar.unat handling.
13531         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
13532         call-saved.
13533         (PREDICATE_CODES): Add ar_pfs_reg_operand.
13534         * config/ia64/ia64-protos.h: Update decls.
13535         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
13536         (sibcall_pic): Likewise.
13537
13538 2001-08-18  Richard Henderson  <rth@redhat.com>
13539
13540         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
13541         pred_rel_mutex when searching for insn_group_barrier.
13542         * config/ia64/ia64.md (cycle_display): Combine the expander
13543         and insn patterns.
13544
13545         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
13546         bit before asm as needed.
13547
13548 2001-08-18  Richard Henderson  <rth@redhat.com>
13549
13550         * timevar.def (TV_MACH_DEP): New.
13551         * toplev.c (rest_of_compilation): Use it.
13552         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
13553
13554 2001-08-18  Zack Weinberg  <zackw@panix.com>
13555
13556         * unwind-dw2.c (execute_stack_op): Add default aborts to
13557         the inner switches to prevent warnings.
13558
13559 2001-08-18  Richard Henderson  <rth@redhat.com>
13560
13561         * timevar.h (struct timevar_time_def): Change element type to float.
13562         (ticks_to_msec, clocks_to_msec): Likewise.
13563         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
13564         (get_time): Likewise.
13565         (timevar_print): Adjust zero check and printing to match.
13566
13567 2001-08-18  Zack Weinberg  <zackw@panix.com>
13568
13569         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
13570         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
13571         Eliminate overfull or underfull hboxes.
13572
13573 2001-08-18  Zack Weinberg  <zackw@panix.com>
13574
13575         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13576
13577 2001-08-18  Zack Weinberg  <zackw@panix.com>
13578
13579         * haifa-sched.c: Convert to target hooks.  Macros replaced
13580         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
13581         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
13582         MD_SCHED_FINISH, and HAVE_cycle_display.
13583         * target-def.h (TARGET_SCHED_ADJUST_COST,
13584         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
13585         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
13586         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
13587         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
13588         New hook #defines to be overridden.
13589         (TARGET_SCHED): Bring them all together.
13590         (TARGET_INITIALIZER): Update.
13591         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
13592         instead of 'struct rtx_def *' throughout.
13593         (struct sched): New set of hooks for the scheduler.
13594         * Makefile.in (haifa-sched.o): Depend on target.h.
13595         * doc/tm.texi: Document the new scheduler hooks, together in
13596         their own section, instead of scattered around.
13597         Fix a bunch of underfull/overfull hboxes.
13598
13599         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
13600         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
13601         sparc.h: Don't define any of the old scheduler macros.
13602
13603         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
13604         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
13605         sparc.c: Create hook functions from code extracted from
13606         corresponding target header, or make existing hooks static, as
13607         appropriate.  Set the appropriate entries in targetm.
13608
13609         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
13610         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
13611         rs6000-protos.h, s390-protos.h, sparc-protos.h:
13612         Remove prototypes for functions which are now static.
13613
13614         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
13615         related gunk; the Haifa scheduler is now the only choice.
13616
13617 2001-08-18  Zack Weinberg  <zackw@panix.com>
13618
13619         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
13620         * genopinit.c: Put floating point divide insns in sdiv_optab.
13621         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
13622         * config/gofast.h, config/c4x/c4x.h,
13623         config/ia64/hpux_longdouble.h, config/mips/mips.h,
13624         config/pa/long_double.h, config/rs6000/sysv4.h,
13625         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
13626         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
13627         (init_optabs): Use init_optabv for overflow-trapping optabs.
13628         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
13629         cmp_optab RTX codes so have_insn_for can find them.
13630
13631         * optabs.c (expand_simple_binop, expand_simple_unop,
13632         have_insn_for, gen_sub3_insn): New interfaces.
13633         * expr.h: Prototype new functions.
13634         (enum optab_methods): Move here from optabs.h.
13635
13636         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
13637         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
13638         Use new functions instead of working directly with optabs.
13639         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
13640         unroll.c: Don't include optabs.h.
13641         * caller-save.c, combine.c, function.c, stmt.c: Just include
13642         insn-codes.h, not optabs.h.
13643         * Makefile.in: Update dependencies.
13644
13645         * combine.c (make_compound_operation, simplify_comparison):
13646         Fix typos testing for this or that instruction.
13647
13648 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13649
13650         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
13651         generating libgcc.a.
13652
13653 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13654
13655         * except.c (TYPE_HASH): Delete.
13656
13657         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
13658         HOST_WIDE_INT.
13659
13660         * tree.c (TYPE_HASH): Delete.
13661
13662         * tree.h (TYPE_HASH): Define.
13663
13664 2001-08-18  Graham Stott  <grahams@redhat.com>
13665
13666         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13667         define_split.
13668         (adddi3_internal_2+2): Likewise.
13669         (eh_set_lr_di+1): Likewise.
13670
13671 2001-08-17  Richard Henderson  <rth@redhat.com>
13672
13673         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13674         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
13675         * dwarf2asm.c: ... here.
13676         * dwarfout.c: Remove them.
13677
13678         * varasm.c (assemble_integer): Add align parameter.
13679         (assemble_real, output_constant, output_constructor): Likewise.
13680         * output.h: Update decls.
13681         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
13682         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
13683         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
13684         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
13685         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
13686         Update all callers.
13687
13688         * final.c (end_final): Abort profile block generation if we
13689         haven't layed it out properly.
13690         * output.h (assemble_eh_integer): Remove stale decl.
13691         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
13692         (min_align): New.
13693         (assemble_integer): Handle unaligned data.
13694         (assemble_real): Abort on unaligned data.
13695         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
13696         anything useful.
13697         (default_dtor_section_asm_out_destructor): Use assemble_align.
13698         (default_named_section_asm_out_constructor): Likewise.
13699         (default_ctor_section_asm_out_constructor): Likewise.
13700         * config/darwin.c (machopic_asm_out_constructor): Likewise.
13701         (machopic_asm_out_destructor): Likewise.
13702         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
13703         (nextstep_asm_out_destructor): Likewise.
13704         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
13705         (vms_asm_out_destructor): Likewise.
13706
13707 2001-08-17  Richard Henderson  <rth@redhat.com>
13708
13709         * config/mips/iris6.h (TARGET_IRIX6): New.
13710         (current_section_name, current_section_flags): New.
13711         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
13712         (MAX_OFILE_ALIGNMENT): New.
13713         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
13714         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
13715         (copy_file_data): Split out from
13716         (mips_asm_file_end): ... here.
13717         (mips_asm_file_start): Remove extra .section directive.  Use
13718         tmpfile instead of mips_make_temp_file.
13719         (mips_unique_section): Use const char * as needed for warnings.
13720         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
13721         re-add align parameter.
13722         (iris6_asm_named_section): New.
13723         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
13724         (iris6_asm_output_align, iris6_section_align_1): New.
13725         (iris6_asm_file_start, iris6_asm_file_end): New.
13726         * config/mips/mips-protos.h: Update decls.
13727
13728 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
13729
13730         * doc/install.texi (Install GCC): Add links to build status pages.
13731         (Specific): Ditto.
13732         (Final install): Ditto; request updates for specific info
13733
13734 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13735
13736         * cpperror.c (print_location):  Don't take a file name; use the
13737         line map instead.
13738         (_cpp_begin_message): Similarly.
13739         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
13740         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
13741         (cpp_pedwarn_with_file_and_line): Remove.
13742         * cppfiles.c (stack_include_file): Update; set filename to stdin
13743         here when appropriate.
13744         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
13745         (_cpp_begin_message): Don't take a file name.
13746         * cppinit.c: Add comment.
13747         * cpplex.c: Fix end-of-directive indicator.
13748         * cpplib.c: Don't include intl.h.
13749         (run_directive, do_diagnostic): Update.
13750         (do_line): Update to not use nominal_fname.
13751         (cpp_push_buffer): Don't take a filename.
13752         * cpplib.h (struct ht): Remove.
13753         (cpp_push_buffer): Don't take a filename.
13754         (cpp_pedwarn_with_file_and_line): Remove.
13755         * cppmacro.c (struct cpp_macro): Remove file.
13756         (builtin_macro): Update.
13757         (_cpp_create_definition): Update.
13758         * cppmain.c: Correct comment.
13759         * fix-header.c (read_scan_file): Update.
13760
13761 2001-08-17  Kazu Hirata  <kazu@hxi.com>
13762
13763         * sbitmap.c: Fix comment formatting.
13764         * sched-deps.c: Likewise.
13765         * sibcall.c: Likewise.
13766         * simplify-rtx.c: Likewise.
13767         * ssa.c: Likewise.
13768         * ssa-ccp.c: Likewise.
13769         * stor-layout.c: Likewise.
13770         * timevar.c: Likewise.
13771         * toplev.c: Likewise.
13772         * unwind-dw2.c: Likewise.
13773         * unwind-dw2-fde.c: Likewise.
13774         * varasm.c: Likewise.
13775
13776 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13777
13778         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
13779         or larger than an integer in memory.
13780
13781 2001-08-17  Zack Weinberg  <zackw@panix.com>
13782
13783         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
13784         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
13785         * rtl.h: Don't forward-declare union tree_node here.  Don't
13786         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
13787         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13788         and tree respectively.
13789         * tree.h: Don't forward-declare struct rtx_def here.  Don't
13790         typedef tree here.  Change all uses of struct rtx_def *,
13791         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13792         and tree respectively.
13793
13794 2001-08-17  Richard Henderson  <rth@redhat.com>
13795
13796         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
13797         config/mips/openbsd.h: Fix typos last change.
13798
13799 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13800
13801         * doc/invoke.texi (Optimize Options): The default for
13802         -finline-limit is 600.
13803
13804 2001-08-17  Richard Henderson  <rth@redhat.com>
13805
13806         * varasm.c (text_section): Allow TEXT_SECTION to override the
13807         printing of TEXT_SECTION_ASM_OP.
13808         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
13809         (DATA_SECTION, BSS_SECTION): Remove.
13810         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
13811         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
13812         Rename from s/_NAME//.
13813         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
13814         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
13815         (TEXT_SECTION): ... here.  New.
13816         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
13817         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
13818         * config/mips/openbsd.h: Likewise.
13819         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
13820         (mips_asm_file_end): Likewise test.
13821         (mips_output_function_epilogue): Likewise.  Switch back to data
13822         section after emitting the function.
13823
13824         * doc/tm.texi (Sections): Document TEXT_SECTION.
13825
13826 2001-08-17  Richard Henderson  <rth@redhat.com>
13827
13828         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
13829         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
13830
13831 2001-08-17  Richard Henderson  <rth@redhat.com>
13832
13833         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
13834         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
13835         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
13836         Add aligned attribute.
13837
13838 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
13839
13840         * config/sh/sh.md: Add modes to unspecs in first insn to match
13841         those in the second.
13842
13843         * Makefile.in: Fix collect2 copy for Cygwin.
13844
13845 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
13846
13847         Install the proper patch.
13848         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13849         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13850         (expand_function_start): Likewise.
13851         * stmt.c (expand_decl): Likewise.
13852         * varasm.c (make_decl_rtx): Likewise.
13853
13854 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13855
13856         * final.c: Undo my previous accidental checkin.
13857         * output.h: Likewise.
13858         * tm.texi: Likewise.
13859
13860 2001-08-16  Richard Henderson  <rth@redhat.com>
13861
13862         * varasm.c (named_section_flags): Remove align parameter.
13863         * varasm.c, dwarf2out.c: Update all callers.
13864         * output.h: Update prototypes.
13865
13866         * target.h (target.asm_out.named_section): Remove align parameter.
13867         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
13868         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
13869         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
13870         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
13871         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
13872
13873         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
13874         (get_named_section_flags, set_named_section_flags): New.
13875         (named_section_flags): Use them.
13876         (named_section): Do decl vs section flags check here...
13877         (default_section_type_flags): ... not here.
13878         (init_varasm_once): Create in_named_htab.
13879         (resolve_unique_section): Mark reloc unused.
13880
13881 2001-08-16  Richard Henderson  <rth@redhat.com>
13882
13883         * varasm.c (force_const_mem): Keep pool alignment in bits.
13884         (output_constant_pool): Use assemble_align.
13885
13886 2001-08-16  Zack Weinberg  <zackw@panix.com>
13887
13888         * doc/tm.texi: Remove extra @table command.
13889
13890 2001-08-16  Zack Weinberg  <zackw@panix.com>
13891
13892         * final.c (shorten_branches): Clear the end of the label_align
13893         array only if we made it larger.  Break up messy expressions
13894         for clarity.
13895
13896         * diagnostic.c (internal_error): Check for error recursion
13897         before doing ICE suppression.
13898
13899         * timevar.c: Timing variables now count in milliseconds.
13900         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
13901         (get_time): Not here.
13902         (timevar_print): Don't print any timer whose user, cpu, and
13903         wall times are all zero as displayed.
13904         * timevar.h: Update comment aboout units.  Make timevar
13905         counters unsigned.
13906
13907 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
13908
13909         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13910         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13911         (expand_function_start): Likewise.
13912         * stmt.c (expand_decl): Likewise.
13913         * varasm.c (make_decl_rtx): Likewise.
13914
13915 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
13916
13917         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
13918         (finalize_record_size): Don't set TYPE_USER_ALIGN.
13919
13920 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13921
13922         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
13923         variables.
13924
13925 2001-08-16  Andreas Jaeger  <aj@suse.de>
13926
13927         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
13928         prototype.
13929
13930 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
13931
13932         * rtl.h (only_sets_cc0_p): New prototype.
13933         * jump.c (sets_cc0_p): Handle INSN.
13934         (only_sets_cc0_p): New function.
13935         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
13936         (tidy_fallthru_edge): Likewise.
13937         * integrate.c (copy_insn_list): Likewise.
13938         * unroll.c (unroll_loop): Likewise.
13939         (copy_loop_body): Likewise.
13940
13941 2001-08-15  Jason Eckhardt  <jle@redhat.com>
13942
13943         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
13944
13945 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13946
13947         * predict.c (struct block_info_def): Remove nvisited.
13948         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13949         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13950
13951         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
13952         (ix86_adjust_cost): Teach scheduler that latency to load operand can
13953         be masked.
13954
13955 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
13956
13957         * predict.def: Update hitrates.
13958
13959 2001-08-15  Richard Henderson  <rth@redhat.com>
13960
13961         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
13962
13963 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
13964
13965         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
13966         note from its associated jump.
13967
13968 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13969
13970         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
13971         also on 64-bit s390x targets.
13972
13973 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
13974
13975         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
13976         function.
13977         (arm_expand_prologue): Handled nested functions which take a
13978         variable argument list.
13979         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
13980         macro with an invocation of
13981         arm_compute_initial_elimination_offset.
13982         * config/arm/arm-protos.h: Prototype
13983         arm_compute_initial_elimination_offset.
13984
13985 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13986
13987         * doc/install.texi (Specific, avr): Fix markup.
13988         (Specific, c4x): Ditto.
13989
13990 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13991
13992         * predict.c (dump_prediction): Change `bool' parameter to `int'.
13993
13994 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
13995
13996         * Makefile.in (OBJS): Add rtl-error.o
13997         (rtl-error.o): New rule.
13998         (diagnostic.o): Adjust dependency.
13999         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
14000         error_for_asm, _fatal_insn, _fatal_insn_not_found,
14001         warning_for_asm): Move to...
14002         rtl-error.c: ...here.  New file.
14003
14004 2001-08-14  Richard Henderson  <rth@redhat.com>
14005
14006         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
14007         if USING_SJLJ_EXCEPTIONS.
14008
14009 2001-08-14  Steve Ellcey <sje@cup.hp.com>
14010
14011         * tlink.c (scan_linker_output): Check string for unsatisfied in
14012         addition to undefined and unresolved.
14013
14014 2001-08-14  Graham Stott  <grahams@redhat.com>
14015
14016         * libgcc2.c (*): Replace EH_FRAME_SECTION with
14017         EH_FRAME_SECTION_NAME.
14018
14019 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
14020
14021         * genattrtab.c (simplify_test_exp_in_temp): New function.
14022         (simplify_test_exp): Avoid explicit use of temporary obstack.
14023         (simplify_cond, insert_right_side, evaluate_eq_attr,
14024         simplify_and_tree, simplify_or_tree, eliminate_known_true):
14025         Use simplify_test_exp_in_temp.
14026         (optimize_attrs): Iterate until expression stabilizes.
14027
14028 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
14029
14030         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
14031         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
14032
14033 2001-08-13  Richard Henderson  <rth@redhat.com>
14034
14035         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
14036         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
14037         * config/arm/conix-elf.h: Likewise.
14038
14039 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
14040
14041         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
14042         in gcc.c.
14043         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
14044
14045         * gcse.c (hash_scan_set): Expressions that are set as part of
14046         jump instructions are not available.
14047
14048 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
14049
14050         * config/s390/s390.c (print_operand, s390_function_prologue,
14051         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
14052
14053 2001-08-13  Richard Henderson  <rth@redhat.com>
14054
14055         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
14056         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
14057         * doc/tm.texi (Exception Region Output): Document it.
14058
14059 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
14060
14061         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
14062         DWARF2 instead of stabs by default.
14063
14064 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
14065
14066         * config/rs6000/rs6000.c: Include optabs.h.
14067
14068 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
14069
14070         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
14071         save/restore routines.
14072         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
14073
14074 2001-08-13  Andreas Jaeger  <aj@suse.de>
14075
14076         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
14077         the english is correct.
14078
14079 2001-08-13  Zack Weinberg  <zackw@panix.com>
14080
14081         * expr.h: Split out optab- and libfunc-related code to...
14082         * optabs.h, libfuncs.h: ... these new headers.
14083
14084         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
14085         (OPTABS_H): New.
14086         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
14087         dependencies.
14088         * mkconfig.sh: Don't include insn-codes.h from config.h.
14089
14090         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
14091         enum insn_code is available.  Move reload_in_optab and
14092         reload_out_optab array declarations to optabs.h.
14093         * regmove.c (gen_add3_insn): Move to optabs.c, export from
14094         there, prototype in expr.h.
14095         * gencodes.c: Cleanup: zap global variables, don't use
14096         printf where puts will do, don't bother defining MAX_INSN_CODE
14097         which nothing uses, let CODE_FOR_nothing get its value implicitly.
14098
14099         * genemit.c, genopinit.c: Include optabs.h in generated file.
14100         * genoutput.c: Include insn-codes.h in generated file.
14101         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
14102         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
14103         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
14104         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
14105         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
14106         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
14107         Include optabs.h.
14108         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
14109         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
14110         config/m88k/m88k.c, config/sparc/sparc.c:
14111         Include libfuncs.h.
14112         * reload.c: Include expr.h and optabs.h before reload.h.
14113         * config/alpha/alpha.c: Include tree.h before reload.h.
14114         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
14115         and reload.h in that order.
14116         * config/sparc/sparc.c: Include debug.h.
14117         * recog.c: Include insn-codes.h.
14118
14119 2001-08-13  Andreas Jaeger  <aj@suse.de>
14120
14121         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
14122         s390*linux.
14123
14124 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
14125
14126         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
14127         * gcc.c (init_spec): Fix typo in comment.
14128         * varasm.c (data_section): Fix typo in comment.
14129
14130 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
14131
14132         * predict.c (dump_prediction): New argument "USED".
14133         (combine_predictions_for_insn): Determine the used heuristics,
14134         output the case no heuristic applied.
14135         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
14136
14137 2001-08-13  Andreas Jaeger  <aj@suse.de>
14138
14139         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
14140         register %rip.
14141
14142 2001-08-13  Kazu Hirata  <kazu@hxi.com>
14143
14144         * jump.c: Fix formatting.
14145
14146 2001-08-13  Kazu Hirata  <kazu@hxi.com>
14147
14148         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
14149         length.
14150
14151 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
14152
14153         * loop.c (check_dbra_loop): Use condjump_label to compute
14154         jump_label.
14155
14156         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
14157         to better document the files they're in.
14158
14159 2001-08-12  Zack Weinberg  <zackw@panix.com>
14160
14161         * recog.h (struct insn_operand_data): Shrink 'mode' field
14162         to 16 bits.
14163
14164 2001-08-12  Kazu Hirata  <kazu@hxi.com>
14165
14166         * gcc.c: Fix comment formatting.
14167         * gccspec.c: Likewise.
14168         * gcov.c: Likewise.
14169         * gcse.c: Likewise.
14170         * genemit.c: Likewise.
14171         * gengenrtl.c: Likewise.
14172         * genrecog.c: Likewise.
14173         * gensupport.c: Likewise.
14174         * ggc-page.c: Likewise.
14175         * global.c: Likewise.
14176         * graph.c: Likewise.
14177         * ifcvt.c: Likewise.
14178         * integrate.c: Likewise.
14179         * lcm.c: Likewise.
14180         * libgcc2.c: Likewise.
14181         * loop.c: Likewise.
14182         * mbchar.c: Likewise.
14183         * optabs.c: Likewise.
14184         * predict.c: Likewise.
14185         * prefix.c: Likewise.
14186         * profile.c: Likewise.
14187         * protoize.c: Likewise.
14188         * real.c: Likewise.
14189         * recog.c: Likewise.
14190         * regclass.c: Likewise.
14191         * regmove.c: Likewise.
14192         * reg-stack.c: Likewise.
14193         * reload1.c: Likewise.
14194         * resource.c: Likewise.
14195         * rtlanal.c: Likewise.
14196         * rtl.c: Likewise.
14197
14198 2001-08-12  Kazu Hirata  <kazu@hxi.com>
14199
14200         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
14201         a tree representing a constant is passed to the macro.
14202
14203 2001-08-12  Richard Henderson  <rth@redhat.com>
14204
14205         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
14206         (rs6000_elf_asm_out_destructor): New.
14207         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
14208         (DTORS_SECTION_ASM_OP): Remove.
14209         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14210         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
14211
14212 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
14213
14214         Revert:
14215         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14216         * gcc.c (set_collect_gcc_options): New function, split out from
14217         main.
14218         Ignore elided switches.
14219         (do_spec_1): Invoke before executing command.
14220         (set_input): Export.
14221         Move declaration ...
14222         * gcc.h (set_input): ... here.
14223         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
14224         file.
14225
14226 2001-08-12  Richard Henderson  <rth@redhat.com>
14227
14228         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
14229         thinko wrt TARGET_RELOCATABLE.
14230
14231 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
14232
14233         * fix-header.c (cb_file_change): Update prototype.
14234
14235 2001-08-11  Zack Weinberg  <zackw@panix.com>
14236
14237         * toplev.c (set_float_handler): Make static.
14238         * toplev.h: Don't prototype set_float_handler.
14239
14240         * simplify-rtx.c: Don't include setjmp.h.
14241         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
14242         New functions.
14243         (simplify_unary_operation, simplify_binary_operation): Use them,
14244         via do_float_handler.
14245
14246         * fold-const.c: Don't include setjmp.h.
14247         (exact_real_inverse_1): New function.
14248         (exact_real_inverse): Use it, via do_float_handler.
14249
14250         * varasm.c: Don't include setjmp.h.
14251         (assemble_real_1): New function.
14252         (assemble_real): Use it, via do_float_handler.
14253         Call internal_error if we get a trap here.
14254
14255         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
14256         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
14257
14258 2001-08-11  Zack Weinberg  <zackw@panix.com>
14259
14260         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
14261         STACK_BOUNDARY if not already defined.
14262
14263         * calls.c, function.c, reload1.c, explow.c: Don't default
14264         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
14265         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
14266
14267         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
14268         to run-time test.
14269
14270         * doc/tm.texi: Document that STACK_BOUNDARY is required;
14271         clarify difference between it and PREFERRED_STACK_BOUNDARY.
14272
14273 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14274
14275         * cppmacro.c (enter_macro_context): Push macro expansions even
14276         if empty.
14277
14278 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14279
14280         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
14281         (rs6000_elf_section_type_flags): Actually return a value.
14282
14283 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14284
14285         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
14286         Clean up code: add missing comments and prototypes, fix warnings,
14287         remove obsolete code, fix spacing to conform to coding style.
14288
14289 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14290
14291         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
14292         and TARGET_ASM_CLOSE_PAREN.
14293         (regclass_map): CC register belongs to class NO_REGS.
14294         (legitimize_pic_address): Don't generate unnecessary moves
14295         (to avoid confusing loop optimization).
14296         (check_and_change_labels): Replace jump_long by indirect_jump.
14297         (s390_final_chunkify): Don't start a new literal pool on section
14298         switch in 64-bit code.
14299         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
14300
14301         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
14302         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
14303         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
14304         modes correctly.
14305         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
14306         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
14307         (CONST_COSTS): Fixed incorrect costs.
14308
14309         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
14310         Use emit_jump instead of emit_jump_insn (gen_jump).
14311         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
14312         (to avoid confusing flow analysis).
14313         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
14314         (casesi, casesi_jump): New.
14315         (jump_long): Removed.  Functionality merged into indirect_jump.
14316         (indirect_jump): Accept address_operand, not just register_operand.
14317         (cjump_long, icjump_long): Use same logic as indirect_jump.
14318         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
14319         Fixed broken setjmp/longjmp handling.
14320         (do_builtin_setjmp_setup): Removed.
14321
14322         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
14323         broken GNU as versions that don't accept .quad with large
14324         negative values.  Use hexadecimal output instead.
14325         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
14326         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
14327         FUNCTION_EPILOGUE): Removed.  Now in targetm.
14328
14329         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
14330
14331         * config/s390/fixdfdi.h: Add missing copyright statement.
14332         Fix type conflicts on 64-bit.  Add missing SFmode routines.
14333
14334         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
14335         email address.
14336
14337 2001-08-11  Richard Henderson  <rth@redhat.com>
14338
14339         * rtl.h (REG_EH_RETHROW): Remove.
14340         * rtl.c (reg_note_name): Update.
14341         * combine.c (distribute_notes): Don't check for it.
14342
14343 2001-08-11  Richard Henderson  <rth@redhat.com>
14344
14345         * combine.c (distribute_notes): Place REG_SETJMP.
14346
14347 2001-08-11  Richard Henderson  <rth@redhat.com>
14348
14349         * doc/extend.texi (Arrays and pointers implementation): Discourage
14350         relying on sign-extension of pointers.
14351
14352 2001-08-11  H.J. Lu <hjl@gnu.org>
14353
14354         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
14355         in_dtors.
14356         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
14357         RDATA_SECTION_ASM_OP.
14358
14359 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14360
14361         * doc/install.texi (Specific, c4x): Fix cross-reference to the
14362         main manual to work both for info and HTML versions.
14363
14364 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14365             Matt Kraai <kraai@alumni.carnegiemellon.edu>
14366
14367         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
14368         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
14369         (struct cpp_pool): New member first.
14370         * cppinit.c (append_include_chain): Plug memory leaks.
14371         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
14372         Allocate pragma structures from the (aligned) macro pool to
14373         avoid leaking memory.
14374         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
14375         so we don't leak memory.
14376         * hashtable.c (ht_destroy): New.
14377         * hashtable.h (ht_destroy): New.
14378
14379 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14380             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14381
14382         * c-lex.c (map): Make const.
14383         (cb_file_change): Update for callback passing a line map.
14384         Don't assume we have a previous map.  Remove sanity check
14385         about popping too many files.
14386         * cpperror.c (print_location): Make map const.
14387         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
14388         (cpp_make_system_header): Similarly.
14389         (search_from): Similarly.
14390         (_cpp_execute_include): Don't remember where we came from.
14391         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
14392         (struct cpp_reader): Make map const.
14393         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
14394         * cpplib.c (do_line): Update; line maps now hold sysp.
14395         (cpp_push_buffer): Similarly.
14396         (_cpp_do_file_change): Similarly; callback with map instead.
14397         (cpp_get_line_maps): Constify return value.
14398         (_cpp_pop_buffer): Update.
14399         * cpplib.h (struct cpp_file_change): Remove.
14400         (struct cpp_callbacks): Update.
14401         (cpp_get_line_maps): Constify return value.
14402         * cppmacro.c (_cpp_create_definition): Update.
14403         * cppmain.c (struct printer): Constify map.
14404         (maybe_print_line): Similarly.
14405         (print_line): Similarly.  Deduce flags 1 and 2 here.
14406         (cb_file_change): Update.
14407         * line-map.c (free_line_maps): Warn regardless.
14408         (add_line_map): Return pointer to const.  When passed NULL to_file
14409         with LC_LEAVE, use the obvious values for the return point so the
14410         caller doesn't have to figure them out.
14411         (lookup_line): Return pointer to const.
14412         (print_containing_files): Take pointer to const.
14413         * line-map.h (struct line_map): New members reason, sysp.
14414         (add_line_map): Return pointer to const.
14415         (lookup_line): Similarly.
14416         (print_containing_files): Take pointer to const.
14417
14418 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
14419             Richard Henderson  <rth@redhat.com>
14420
14421         * regmove.c (regmove_optimize): Avoid setting a register twice in
14422         a parallel set.
14423
14424 2001-08-10  Richard Henderson  <rth@redhat.com>
14425
14426         * doc/extend.texi (Arrays and pointers implementation): Document
14427         behavior of pointer/integer conversion.
14428
14429 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
14430
14431         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
14432
14433 2001-08-10  Richard Henderson  <rth@redhat.com>
14434
14435         * doc/extend.texi (C Implementation): New chapter.
14436         * doc/gcc.texi (Top): Link it in.
14437
14438 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
14439
14440         * doc/install.texi (Specific): Fix CVS merge botch.
14441
14442 2001-08-10  Richard Henderson  <rth@redhat.com>
14443
14444         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
14445         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
14446
14447 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
14448
14449         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
14450         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
14451         this macro is now required.
14452
14453         * cselib.c (cselib_process_insn), flow.c (propagate_block),
14454         loop.c (find_and_verify_loops), reload.c (reload): Check
14455         for rtx code of CALL_INSN, not CALL, when deciding if we
14456         need to check for REG_SETJMP note.
14457
14458         * gcse.c (compute_hash_table, compute_store_table): Update
14459         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
14460         logic.
14461
14462         * config/avr/avr.c: Fix typo.
14463         * config/convex/convex.c (expand_movstr): Use adjust_address.
14464         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
14465         variable.
14466         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
14467         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
14468         Fix typo.
14469         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
14470         Do define STACK_BOUNDARY.
14471         * config/i370/i370.c: Include expr.h.
14472         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
14473         config/pa/som.h, config/v850/v850.h: Take in_ctors and
14474         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
14475         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
14476         * config/m88k/m88k.c: Include c-tree.h after expr.h.
14477         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
14478         * config/romp/romp.c: Include expr.h after tree.h.
14479         Include toplev.h.
14480         (output_fpop): Use xmalloc, not oballoc.
14481         * config/we32k/we32k.c: Include expr.h.
14482
14483 2001-08-10  Kazu Hirata  <kazu@hxi.com>
14484
14485         * config/h8300/h8300.h: Fix formatting.
14486
14487 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14488
14489         * c-common.h (RETURN_NULLIFIED_P): Lose.
14490         * c-semantics.c (genrtl_return_stmt): Don't check it.
14491
14492 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14493
14494         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
14495         (mips_annotate_frame_insn): New function.
14496         (mips_emit_frame_related_store): New function.
14497         (save_restore_insns): Don't mark instructions that set up the base
14498         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
14499         the store instructions instead.
14500         (mips_expand_prologue): If the stack size is moved into a temporary
14501         register, do not mark that move as frame-related.  Add a
14502         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
14503
14504 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14505
14506         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
14507         stack slot as unchanging if current_function_calls_eh_return.
14508
14509 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14510
14511         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
14512         access the second half of the TFmode scratch operand.
14513
14514 2001-08-10  Anthony Green  <green@redhat.com>
14515
14516         * java/class.c (emit_register_classes): Conditionalize code on
14517         JCR_SECTION_NAME.
14518
14519 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14520
14521         * doc/install.texi (Specific, avr): Fix cross-reference to the
14522         main manual to work both for info and HTML versions.
14523
14524 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14525
14526         * stmt.c (expand_null_return_1): Remove code to generate simple returns
14527         and "use_goto" argument.
14528         (expand_null_return, expand_value_return): Update all callers.
14529         * function.c (expand_function_end): Remove code to generate simple
14530         return.
14531         * config/vax/vax.md (epilogue): New expander for function return.
14532         * doc/md.texi (epilogue): Remove "if defined".
14533
14534 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14535
14536         * Makefile.in: Partially revert my previous change:
14537         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
14538         of the hashtab.o and safe-ctype.o rules.
14539
14540 2001-08-09  Richard Henderson  <rth@redhat.com>
14541
14542         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
14543         (USE_COLLECT2): Remove duplicate definition.
14544         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
14545         (use_collect2): Remove dead code.
14546         * configure.in (use_collect2): Remove will_use_collect2 and
14547         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
14548         * configure: Rebuild.
14549
14550         * target.h (targetm.asm_out.constructor): New.
14551         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
14552         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
14553         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
14554         * varasm.c (in_ctors, in_dtors): New.
14555         (assemble_constructor, assemble_destructor): Remove.
14556         (default_stabs_asm_out_destructor): New.
14557         (default_named_section_asm_out_destructor): New.
14558         (dtors_section, default_dtor_section_asm_out_destructor): New.
14559         (default_stabs_asm_out_constructor): New.
14560         (default_named_section_asm_out_constructor): New.
14561         (ctors_section, default_ctor_section_asm_out_constructor): New.
14562         * output.h: Update declarations.
14563         * c-decl.c (c_expand_body): Use target hooks instead of
14564         assemble_constructor and assemble_destructor.
14565         * profile.c (output_func_start_profiler): Likewise.
14566         * objc/objc-act.c (finish_objc): Likewise.
14567         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
14568         for the constructor.
14569         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
14570
14571         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
14572         (DTORS_SECTION_ASM_OP): Likewise.
14573         (__CTOR_LIST__): Use attribute section when possible.
14574         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
14575
14576         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
14577         ASM_OUTPUT_CONSTRUCTOR.
14578
14579         * config/darwin.c (machopic_asm_out_constructor): New.
14580         (machopic_asm_out_destructor): New.
14581         * config/darwin-protos.h: Update declarations.
14582         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14583         (ASM_OUTPUT_DESTRUCTOR): Remove.
14584         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14585         * config/nextstep.c (nextstep_asm_out_constructor): New.
14586         (nextstep_asm_out_destructor): New.
14587         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14588         (ASM_OUTPUT_DESTRUCTOR): Remove.
14589         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14590         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
14591         ASM_OUTPUT_*STRUCTOR.
14592         * config/i386/aix386ng.h: Likewise.
14593
14594         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
14595         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
14596         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14597         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14598         * config/lynx.h: Likewise.
14599         * config/netware.h: Likewise.
14600         * config/psos.h: Likewise.
14601         * config/alpha/alpha-interix.h: Likewise.
14602         * config/alpha/elf.h: Likewise.
14603         * config/arc/arc.h: Likewise.
14604         * config/arm/aof.h: Likewise.
14605         * config/arm/coff.h: Likewise.
14606         * config/arm/elf.h: Likewise.
14607         * config/c4x/c4x.h: Likewise.
14608         * config/h8300/h8300.h: Likewise.
14609         * config/i386/cygwin.h: Likewise.
14610         * config/i386/djgpp.h: Likewise.
14611         * config/i386/i386-coff.h: Likewise.
14612         * config/i386/i386-interix.h: Likewise.
14613         * config/i386/sco5.h: Likewise.
14614         * config/i386/vsta.h: Likewise.
14615         * config/i386/win32.h: Likewise.
14616         * config/i960/i960-coff.h: Likewise.
14617         * config/ia64/sysv4.h: Likewise.
14618         * config/m68hc11/m68hc11.h: Likewise.
14619         * config/m68k/coff.h: Likewise.
14620         * config/m68k/mot3300.h: Likewise.
14621         * config/m88k/m88k.h: Likewise.
14622         * config/mcore/mcore-pe.h: Likewise.
14623         * config/mcore/mcore.h: Likewise.
14624         * config/mips/elf.h: Likewise.
14625         * config/mips/elf64.h: Likewise.
14626         * config/mips/iris6.h: Likewise.
14627         * config/pa/pa64-hpux.h: Likewise.
14628         * config/rs6000/sysv4.h: Likewise.
14629         * config/sh/sh.h: Likewise.
14630         * config/sparc/litecoff.h: Likewise.
14631
14632         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
14633         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14634         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14635         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14636         (ASM_OUTPUT_DESTRUCTOR): Remove.
14637         * config/a29k/a29k.c: Move include of tree.h.
14638         * config/a29k/udi.h: Delete file.
14639         * config/alpha/alpha.c (vms_asm_out_constructor): New.
14640         (vms_asm_out_destructor): New.
14641         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
14642         (EXTRA_SECTION_FUNCTIONS): Likewise.
14643         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14644         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14645         * config/c4x/c4x.c: Move include of tree.h.
14646         * config/clipper/clipper.c (clix_asm_out_constructor): New.
14647         (clix_asm_out_destructor): New.
14648         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14649         (ASM_OUTPUT_DESTRUCTOR): Remove.
14650         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14651         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14652         (TARGET_ASM_CONSTRUCTOR): New.
14653         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
14654         (sco_asm_out_constructor): New.
14655         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
14656         * config/i386/svr3gas.h: Remove stack grows up code.
14657         Remove code duplicated from i386/sysv3.h.
14658         (TARGET_ASM_CONSTRUCTOR): New.
14659         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14660         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
14661         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14662         (TARGET_ASM_CONSTRUCTOR): New.
14663         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
14664         (m68hc11_asm_out_destructor): New.
14665         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
14666         (TARGET_ASM_DESTRUCTOR): New.
14667         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
14668         * config/m68k/dpx2.h: Properly undef all the bits inherited from
14669         config/svr3.h pertaining to section manipulation.
14670         * config/m68k/dpx2g.h: Remove #if 0 code.
14671         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
14672         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
14673         (ASM_OUTPUT_CONSTRUCTOR): Remove.
14674         (TARGET_ASM_CONSTRUCTOR): New.
14675         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
14676         (m88k_svr3_asm_out_constructor): New.
14677         (m88k_svr3_asm_out_destructor): New.
14678         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14679         (ASM_OUTPUT_DESTRUCTOR): Remove.
14680         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14681         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
14682         * config/rs6000/aix.h: Likewise.
14683         * config/mips/rtems64.h: Don't undef removed constructor related bits.
14684         * config/mips/vxworks.h: Likewise.
14685         * config/rs6000/lynx.h: Likewise.
14686         * config/sh/elf.h: Likewise.
14687         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
14688         (DTORS_SECTION_ASM_OP): New.
14689         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14690         (ASM_OUTPUT_DESTRUCTOR): Remove.
14691         * config/sparc/sol2-sld-64.h: Likewise.
14692         * config/vax/vax.c (vms_asm_out_constructor): New.
14693         (vms_asm_out_destructor): New.
14694         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14695         (ASM_OUTPUT_DESTRUCTOR): Remove.
14696         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14697
14698         * doc/tm.texi (@node Initialization): Update.
14699
14700 2001-08-09  Richard Henderson  <rth@redhat.com>
14701
14702         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
14703         (__do_global_dtors_aux): Use gp-relative static data to avoid
14704         one dynamic relocation.
14705         (__do_frame_setup): Register Java classes.
14706         * config/alpha/crtend.asm (__JCR_END__): New.
14707
14708 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14709
14710         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
14711         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
14712         (GEN, STAGESTUFF): Add new files.
14713         (insn-constants.h, s-constants, tm-preds.h, s-preds,
14714         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
14715         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
14716         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
14717         as well as insn-codes.h and insn-flags.h in config.h; and no
14718         extra headers in tconfig.h and hconfig.h.
14719
14720         * gencodes.c: Eliminate code to generate predicate declarations
14721         or #defines for md-file constants.
14722         * genconstants.c, genpreds.c: New files.
14723
14724         * i386.md: Re-order guard expressions such that TARGET_64BIT
14725         comes first, when this permits better optimization.  Add
14726         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
14727         why this is desirable.
14728
14729 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
14730
14731         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
14732         (find_fde_for_dso): Remove.
14733         (_Unwind_IteratePhdrCallback): New.
14734         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
14735         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
14736
14737 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14738
14739         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
14740         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
14741
14742 2001-08-09  Graham Stott  <grahams@redhat.com>
14743
14744         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
14745         (vis_no_unit): Use it.
14746         (visualize_no_unit): Add the insn only if room exists.
14747
14748 2001-08-09  Graham Stott  <grahams@redhat.com>
14749
14750         * predict.c (estimate_probability): Replace magic numbers with
14751         appropriate enumeration.
14752
14753 2001-08-09  Graham Stott  <grahams@redhat.com>
14754
14755         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
14756         parameter.
14757         (EXTRACT_FLAGS): Likewise.
14758
14759 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
14760
14761         * config/mips/mips.c    (mips_legitimate_address_p): Check for
14762         CONST_INT in last patch.
14763
14764 2001-08-08  Anthony Green  <green@redhat.com>
14765
14766         * java/class.c (emit_register_classes): Use assemble_jcr if
14767         possible.  Keep the original mechanism as a fallback.
14768         * defaults.h (JCR_SECTION_NAME): Define if we have named section
14769         and weak symbol support.
14770         * crtstuff.c (__JCR_LIST__): Define.
14771         (__JCR_END__): Define.
14772         (_Jv_RegiserClasses): Define weak symbol if possible.
14773         (__do_global_ctors_aux): Register classes for ELF targets with
14774         weak symbol support.
14775
14776 2001-08-08  Kazu Hirata  <kazu@hxi.com>
14777
14778         * dbxout.c: Fix comment formatting.
14779         * dependence.c: Likewise.
14780         * df.c: Likewise.
14781         * diagnostic.c: Likewise.
14782         * dominance.c: Likewise.
14783         * doprint.c: Likewise.
14784         * dwarf2out.c: Likewise.
14785         * dwarfout.c: Likewise.
14786         * emit-rtl.c: Likewise.
14787         * except.c: Likewise.
14788         * explow.c: Likewise.
14789         * expmed.c: Likewise.
14790         * expr.c: Likewise.
14791         * flow.c: Likewise.
14792         * fold-const.c: Likewise.
14793         * function.c: Likewise.
14794
14795 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14796
14797         * global.c (retry_global_alloc): Avoid shadowing allocno.
14798
14799 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
14800
14801         * except.c (remove_fixup_regions): Fix typo.
14802
14803 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
14804
14805         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
14806         unsigned HOST_WIDE_INT to avoid warning.
14807         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
14808         * flow.c (set_block_for_new_insns): Likewise.
14809
14810 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
14811
14812         * sibcall.c (return_value_pseudo): New static variable.
14813         (skip_copy_to_return_value): Handle return_value_pseudo.
14814         (call_ends_block_p): Ensure that return_value_pseudo is set.
14815         (optimize_sibling_and_tail_recursive_call): Discover the
14816         load of pseudo return value in alternate exit block.
14817
14818 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
14819
14820         * calls.c (ECF_ALWAYS_RETURN): New constant.
14821         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
14822         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
14823         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
14824         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
14825         * rtl.c (reg_note_name): New name.
14826         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
14827
14828 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
14829
14830         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
14831
14832 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14833
14834         * alias.c (get_alias_set): Return a previously calculated
14835         alias set for a VAR_DECL.
14836         * function.c (gen_mem_addressof): Calculate the alias set before
14837         touching the RTL.
14838
14839 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
14840
14841         * predict.def: Set hitrates according our experimental run.
14842
14843 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
14844
14845         * i386.h (HARD_REGNO_RENAME_OK): New macro.
14846
14847 2001-08-08  H.J. Lu <hjl@gnu.org>
14848
14849         * config/mips/mips.c (mips_unique_section): New. Copied from
14850         config/mips/elf.h.
14851
14852         * config/mips/mips-protos.h (mips_unique_section): New
14853         prototype.
14854
14855         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
14856
14857         * config/mips/little.h: New. Generic little endian mips
14858         targets. Only mips*-*-linux* is converted to use it so far.
14859
14860         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
14861         (WCHAR_TYPE): Defined
14862         (WCHAR_TYPE_SIZE): Likewise.
14863         (INIT_SUBTARGET_OPTABS): Likewise.
14864         (BSS_SECTION_ASM_OP): Likewise.
14865         (SBSS_SECTION_ASM_OP): Likewise.
14866         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14867         (ASM_DECLARE_OBJECT_NAME): Likewise.
14868         (UNIQUE_SECTION): Likewise.
14869         (EXTRA_SECTIONS): Likewise.
14870         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
14871         (ASM_OUTPUT_DESTRUCTOR): Likewise.
14872         (ASM_OUTPUT_DEF): Likewise.
14873         (HANDLE_SYSV_PRAGMA): Removed.
14874         (NO_IMPLICIT_EXTERN_C): Likewise.
14875         (TARGET_MEM_FUNCTIONS): Likewise.
14876         (STARTFILE_SPEC): Likewise.
14877         (ENDFILE_SPEC): Likewise.
14878         (LIB_SPEC): Likewise.
14879         (INVOKE__main): Likewise.
14880         (CTOR_LIST_BEGIN): Likewise.
14881         (CTOR_LIST_END): Likewise.
14882         (DTOR_LIST_BEGIN): Likewise.
14883         (DTOR_LIST_END): Likewise.
14884         (SET_ASM_OP): Likewise.
14885         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14886         (ASM_OUTPUT_DEF): Likewise.
14887         (ASM_OUTPUT_IDENT): Likewise.
14888
14889         * config/mips/mips.h (ASM_SPEC): Undefine before define.
14890         (CPLUSPLUS_CPP_SPEC): Likewise.
14891         (ASM_APP_ON) Redefine only if not defined.
14892         (ASM_APP_OFF): Likewise.
14893         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14894         (ASM_OUTPUT_IDENT): Likewise.
14895
14896         * config.gcc: Update tm_file for Linux/mips.
14897
14898 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
14899
14900         * cselib.c (cselib_record_sets): If insn is predicated, turn
14901         sources into IF_THEN_ELSEs.
14902
14903         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
14904         Turn into define_insn_and_split.
14905
14906         * sched-deps.c: Include "cselib.h".
14907         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
14908         Use cselib to turn memory addresses into VALUEs.
14909         (sched_analyze): Call cselib_init/cselib_finish if necessary.
14910         * sched-int.h (struct sched_info): New member USE_CSELIB.
14911         * sched-ebb.c (ebb_sched_info): Initialize it.
14912         * sched-rgn.c (rgn_sched_info): Likewise.
14913         * Makefile.in (sched-deps.o): Update dependencies.
14914
14915         * cselib.h (cselib_subst_to_values): Declare.
14916         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
14917         that have no value and autoincs to be handled by generating a new
14918         dummy value.
14919
14920 2001-08-08  Graham Stott  <grahams@redhat.com>
14921
14922         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
14923         within fixed length SEQUENCE.
14924
14925 2001-08-08  Graham Stott  <grahams@redhat.com>
14926
14927         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
14928         (diagnostic_prefixing_rule): Likewise.
14929         (diagnostic_line_cutoff): Likewise.
14930         (diagnostic_kind_count): Likewise.
14931
14932 2001-08-08  Graham Stott  <grahams@redhat.com>
14933
14934         * alias.c (find_base_decl): Delete redundent assignment.
14935
14936 2001-08-08  Graham Stott  <grahams@redhat.com>
14937
14938         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
14939         (abs): Uppercase and paranthesize macro parameter.
14940         (MEM_DEPENDENCY): Add whitespace.
14941
14942 2001-08-08  Graham Stott  <grahams@redhat.com>
14943
14944         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
14945         failure check for CONST_INT
14946
14947 2001-08-08  Graham Stott  <grahams@redhat.com>
14948
14949         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
14950         (libcall_dead_p): Likewise.
14951
14952         (mark_used_regs): Constify fmt.
14953         (find_use_as_address): Likewise.
14954
14955 2001-08-08  Graham Stott  <grahams@redhat.com>
14956
14957         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
14958          parameter.
14959
14960 2001-08-08  Graham Stott  <grahams@redhat.com>
14961
14962         * combine.c (combine_simplify_rtx): Update comment and
14963         remove erroneous test.
14964
14965 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14966
14967         * cppinit.c (cpp_finish): Pop the final buffer without comment.
14968         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
14969         take care to avoid multiple no-newline at EOF warnings in that
14970         case.
14971
14972 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
14973
14974         * calls.c (expand_call): Do not emit INSN_SETJMP note.
14975         (emit_library_call_value_1): Likewise.
14976         (emit_call_1): Emit REG_SETJMP note.
14977         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
14978         of INSN_SETJMP
14979         * cselib.c (cselib_process_insn): Likewise.
14980         * flow.c (propagate_block): Likewise.
14981         * loop.c (find_and_verify_loops): Likewise.
14982         * reload.c (find_equiv_regs): Likewise.
14983         * reload1.c (reload): Likewise.
14984         * resource.c (mark_referenced_resources,
14985         mark_set_resources): Likewise.
14986         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
14987         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
14988         * haifa-sched.c (unlink_other_notes): Likewise.
14989         (reemit_notes): Likewise.
14990         * sched-ebb.c (sched_ebb): Likewise.
14991         * sched-rgc.c (sched_region): Likewise.
14992         * rtl.c (note_insn_name): Likewise.
14993         (reg_note_name): Add REG_SETJMP
14994         * rtl.h (reg_note): Add REG_SETJMP.
14995         (insn_note): Remove NOTE_INSN_SETJMP.
14996
14997         * profile.c (branch_prob): Add fake edges for setjmp.
14998
14999 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
15000
15001         * config.gcc: Quote target_cpu_default2 correctly for
15002         powerpc*-*-* targets.
15003
15004 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
15005
15006         * cpplib.h, line-map.h: Update comments.
15007         * cppmain.c (printer_init): Move inline.
15008         (maybe_print_line, print_line): Take a map pointer.
15009         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
15010         (cb_file_change): Don't use prior value of print.map.
15011
15012 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
15013
15014         * doc/install.texi: Document fine-grained multilib configuration.
15015
15016 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
15017
15018         * rtlanal.c (find_first_parameter_load): Call note_stores
15019         only on the instructions.
15020
15021 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15022
15023         * alias.c (nonlocal_mentioned_p):
15024         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
15025         * calls.c (emit_call_1): Likewise.
15026         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
15027         * cselib.c (cselib_process_insn): Likewise.
15028         * df.c (df_insns_modify): Likewise.
15029         * flow.c (need_fake_edge_p): Likewise.
15030         (propagate_one_insn): Likewise.
15031         * haifa-sched.c (reemit_notes): Likewise.
15032         * integrate.c (copy_insn_list): Likewise.
15033         * jump.c (delete_prior_computation): Likewise.
15034         * local-alloc.c (validate_equiv_mem): Likewise.
15035         * loop.c (scan_loop): Likewise.
15036         * predict.c (estimate_probability): Likewise.
15037         * reload.c (reload): Likewise.
15038         * sched-deps (sched_analyze): Likewise.
15039         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
15040         * gcse.c (compute_hash_table): Likewise.
15041         (mark_call): Likewise.
15042         (store_killed_in_insn): Likewise.
15043
15044 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
15045
15046         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
15047
15048 2001-08-06  Richard Henderson  <rth@redhat.com>
15049
15050         * varasm.c (assemble_gc_entry): Remove.
15051         * output.h: Likewise.
15052
15053 2001-08-06  Richard Henderson  <rth@redhat.com>
15054
15055         * varasm.c (assemble_constructor): Take a symbol_ref and a
15056         priority instead of a bare string.  Move priority handling
15057         here from cp/decl2.c.
15058         * output.h: Update decls.
15059
15060         * c-decl.c (c_expand_body): Update calls to assemble_constructor
15061         and assemble_destructor.
15062         * profile.c (output_func_start_profiler): Likewise.
15063         * objc/objc-act.c (finish_objc): Likewise.
15064         (build_module_descriptor): Return the symbol not the symbol name.
15065
15066 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
15067
15068         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
15069         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
15070         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
15071         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
15072         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
15073         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
15074
15075 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
15076
15077         * cpperror.c (print_containing_files): Moved to line-map.c.
15078         (print_location): line-map.c handles re-listing or otherwise.
15079         * cpphash.h (struct lexer_state): Remove next_bol.
15080         (struct cpp_buffer): Remove include_stack_listed.
15081         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
15082         Remove faked buffer handling.
15083         (_cpp_do_file_change): Tweak.
15084         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
15085         * cppmain.c (struct printer): Remove filename.
15086         (print_line, cb_file_change): Update accordingly.
15087         * line-map.c: Include intl.h.
15088         (init_line_maps): Initialize last_listed.
15089         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
15090         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
15091         (print_containing_files): New.
15092         * line-map.h (struct line_maps): New member last_listed.
15093         (print_containing_files, INCLUDED_FROM): New.
15094         * Makefile.in: Update.
15095         * po/POTFILES.in: Add line-map.c.
15096
15097 2001-08-06  Richard Henderson  <rth@redhat.com>
15098
15099         * except.c (convert_from_eh_region_ranges_1): Never mark
15100         USE or CLOBBER insns as throwing.
15101
15102         * expr.c (store_constructor): Don't clobber memory targets.
15103
15104 2001-08-06  Andreas Jaeger  <aj@suse.de>
15105
15106         * profile.c (branch_prob): Remove unused variable insn.
15107
15108         * Makefile.in (local-alloc.o): Add dependency on except.h.
15109
15110         * local-alloc.c: Include except.h for can_throw_internal prototype.
15111
15112 2001-08-06  Richard Henderson  <rth@redhat.com>
15113
15114         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
15115         * function.c (expand_main_function): Implement it.
15116         * doc/tm.texi: Document it.
15117
15118 2001-08-06  Stan Shebs  <shebs@apple.com>
15119
15120         * doc/install.texi: Document powerpc-*-darwin* details.
15121
15122 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
15123
15124         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
15125         (ASM_CPU_SPEC): Move back to rs6000.h
15126         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
15127
15128         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
15129
15130         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
15131         readded.
15132
15133         * config/rs6000/linux64.h: Ditto.
15134
15135         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
15136         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
15137         nothing.
15138
15139         Remove accidently readded definitions of FUNCTION_PROLOGUE,
15140         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
15141
15142         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
15143         to rs6000.h
15144
15145 2001-08-05  Richard Henderson  <rth@redhat.com>
15146
15147         * local-alloc.c (update_equiv_regs): Do not move insns that
15148         can throw.
15149
15150 2001-08-05  Jan Hubicka  <jh@suse.cz>
15151
15152         * Makefile.in (reload1.o): Add dedendancy on except.h
15153         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
15154         prototypes.
15155         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
15156         indicating wehther edges has been cleaned up.
15157         * reload1.c: Inlucde except.h
15158         (fixup_abnormal_edges): Accept deleted insns.
15159         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
15160         after combine.
15161
15162 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
15163
15164         * cpplib.c (do_line): Correct line number after pop_buffer.
15165
15166 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
15167
15168         PR preprocessor/3824
15169         * line-map.c: Update comments.
15170         * line-map.h: Update comments.
15171         * tradcif.y: Don't consider large numbers unsigned.
15172
15173 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
15174
15175         PR preprocessor/3081
15176         * c-lex.c (map): New.
15177         (cb_file_change): Update map and use it.
15178         (cb_def_pragma, cb_define, cb_undef): Use map and line.
15179         (c_lex): Update to use map.
15180         * cpperror.c (print_location): Move to using logical line numbers.
15181         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
15182         (cpp_make_system_header): Similarly.
15183         (_cpp_execute_include): Stop line numbering hacks.  Store the
15184         line we will return to.
15185         * cpphash.h (CPP_BUF_LINE): Remove.
15186         (struct cpp_buffer): Remove lineno and pseudo_newlines.
15187         Add map and return_to_line.
15188         (_cpp_do_file_change): Update.
15189         * cppinit.c (cpp_start_read): Update line kludge.
15190         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
15191         (trigraph_ok): Use logical line numbers for diagnostics.
15192         (skip_block_comment): Likewise.
15193         (skip_whitespace): Likewise.
15194         (skip_line_comment): Use pfile->line instead.
15195         (_cpp_lex_token): Update to use logical line numbering exclusively.
15196         Handle BOL locally.  Accept new lines in directives, but keep
15197         pfile->line decremented.  Diagnostics use logical lines.  Update
15198         directive handling.
15199         * cpplib.c (SEEN_EOL): New.
15200         (skip_rest_of_line, check_eol): Use it.
15201         (end_directive): Increase line number when accepting the newline
15202         at the end of a directive.
15203         (run_directive): Simplify.
15204         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
15205         (_cpp_do_file_change): Update to take buffer line number as an
15206         argument, and store the current map in the cpp_reader.  Remove
15207         line number kludges.
15208         (_cpp_do__Pragma): Restore output position after a _Pragma.
15209         (cpp_push_buffer): Don't set output line or lineno.
15210         (_cpp_pop_buffer): Transfer more info from a faked buffer.
15211         Remove line kludge.  Set output_line.
15212         * cppmacro.c (builtin_macro): Update handling of __LINE__.
15213         (parse_arg): Use logical lines.
15214         (save_lookahead_token): Save EOFs too now.
15215         * cppmain.c (struct printer): Fix comments.
15216         (printer_init): Simplify, let caller do errors.
15217         (scan_translation_unit, check_multiline_token, dump_macro): Update.
15218         (maybe_print_line): Simplify.
15219         (print_line): Don't print a linemarker if -P.
15220         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
15221         (cb_file_change): Simplify.
15222         * line-map.h (LAST_SOURCE_LINE): Fix.
15223         (CURRENT_LINE_MAP): New.
15224
15225 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
15226
15227         * doloop.c (doloop_modify_runtime): Properly compute number of
15228         iterations if loop was unrolled.
15229
15230         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
15231         if their CSELIB_VAL_PTRs are.
15232
15233         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
15234         (setup_spill_pointers): Initialize it.
15235         (spill_restore_mem): Set it.
15236         (do_spill, do_restore): Use it to add REG_INC note.
15237         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
15238
15239         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
15240         asms if other insns are available.
15241
15242         * config/ia64/ia64.c (condop_operator): New predicate.
15243         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
15244         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
15245         patterns.
15246
15247         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
15248         temporary register than directly using a MEM.
15249
15250 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15251
15252         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
15253         parameter in last change.
15254
15255 2001-08-04  Zack Weinberg  <zackw@panix.com>
15256
15257         * sparc.md: Don't use #if inside C test expression.
15258
15259 2001-08-04  Richard Henderson  <rth@redhat.com>
15260
15261         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
15262
15263 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
15264
15265         * cpphash.h (struct cpp_reader): New member directive_line.
15266         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
15267         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
15268         do_pragma): Pass line to callbacks.
15269         (start_directive): Record line of directive.
15270         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
15271         cb_include): Similarly.
15272         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
15273         Similarly.
15274
15275 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15276
15277         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
15278         comment.
15279
15280 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
15281
15282         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
15283
15284         * reload1.c (fixup_abnormal_edges): New static function.
15285         (reload): Use it.
15286
15287         * flow.c (need_fake_edge_p): New function.
15288         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
15289         avoid call insn to be very last insn in the insn stream.
15290
15291         * profile.c (branch_prob): Call flow_call_edges_add instead of
15292         doing that by hand; cleanup cfg to re-merge basic blocks once
15293         we are done.
15294
15295 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15296
15297         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
15298         are also on line-map.h.
15299         * cppfiles.c (stack_include_file): Update.
15300         * cpphash.h (struct cpp_buffer): New member return_at_eof.
15301         (_cpp_pop_buffer): New.
15302         * cppinit.c (cpp_destroy, cpp_finish): Update.
15303         (do_includes): Mark each buffer to return at EOF.
15304         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
15305         return as requested.
15306         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
15307         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
15308         * cpplib.h (cpp_pop_buffer): Remove.
15309         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
15310         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
15311         buffers.
15312         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
15313         to pop buffers.
15314         (do_preprocessing): Update.
15315         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
15316         * c-parse.in (_yylex): Similarly.
15317         * scan-decls.c (scan_decls): Similarly.
15318         * line-map.h: Update comments.
15319
15320         * objc/Make-lang.in (objc-act.o): Update dependencies.
15321
15322 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15323
15324         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
15325         and soft register for operand 0.
15326         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
15327
15328 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15329
15330         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
15331         register for operand 0.
15332         ("bitcmpqi_z_used"): Allow memory for operand 0.
15333         (split "bitcmpqi"): New split to handle address reg as operand 1.
15334
15335 2001-08-04  Andreas Jaeger  <aj@suse.de>
15336
15337         * gcse.c: Revert Daniel's last patch.
15338
15339 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15340
15341         * sparc-protos.h: Add prototypes for fp_zero_operand and
15342         reg_or_0_operand.
15343         * sh-protos.h: Add prototype for fpul_operand.
15344
15345 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15346
15347         * doc/extend.texi (Other Builtins): Fix typo in last change.
15348
15349 2001-08-03  Richard Henderson  <rth@redhat.com>
15350
15351         * target.h (gcc_target): Add asm_out.named_section,
15352         section_type_flags, have_named_sections.
15353         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
15354         (TARGET_HAVE_NAMED_SECTIONS): New.
15355         (TARGET_SECTION_TYPE_FLAGS): New.
15356
15357         * Makefile.in (toplev.o): Depend on TARGET_H.
15358         (varasm.o, dbxout.o): Likewise.
15359         * c-common.c (decl_attributes): Check targetm.have_named_sections
15360         instead of ifdef ASM_OUTPUT_SECTION_NAME.
15361         * dbxout.c (dbxout_function_decl): Likewise.
15362         (dbxout_function_end): Likewise.
15363         * toplev.c (compile_file): Likewise.
15364         * varasm.c (exception_section): Likewise.
15365         * cp/decl2.c (finish_objects): Likewise.
15366
15367         * defaults.h (EH_FRAME_SECTION): Remove.
15368         (EH_FRAME_SECTION_ASM_OP): Remove.
15369         (EH_FRAME_SECTION_NAME): New.
15370         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
15371         (UNIQUE_SECTION_P): Remove.
15372         * dwarf2out.c (SECTION_FORMAT): Remove.
15373         (ASM_OUTPUT_SECTION): Remove.
15374         (output_call_frame_info): Use named_section_flags.
15375         (output_comp_unit, dwarf2out_start_source_file): Likewise.
15376         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
15377         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
15378         * varasm.c (in_eh_frame, eh_frame_section): Remove.
15379         (named_section_flags): New.
15380         (named_section): Use it and targetm.section_type_flags.
15381         (resolve_unique_section): New.
15382         (assemble_start_function): Use it.
15383         (asm_emit_uninitialised, assemble_variable): Likewise.
15384         (default_section_type_flags): New.
15385         (default_no_named_section, default_elf_asm_named_section): New.
15386         (default_coff_asm_named_section, default_pe_asm_named_section): New.
15387         * output.h: Update varasm.c decls.
15388         (SECTION_*): New flags.
15389
15390         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
15391         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
15392
15393         * config/elfos.h (UNIQUE_SECTION_P): Remove.
15394         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
15395         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
15396         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15397         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
15398         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
15399         * config/mips/elf.h, config/mips/elf64.h: Likewise.
15400         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
15401         * config/pa/pa64-hpux.h,
15402
15403         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
15404         (TARGET_ASM_NAMED_SECTION): New.
15405         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
15406         * config/alpha/vms.h, config/arm/coff.h: Likewise.
15407         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
15408         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
15409         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
15410         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
15411         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15412         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
15413         * config/i386/sco5.h, config/i386/win32.h: Likewise.
15414         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
15415         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
15416         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
15417         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
15418         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
15419         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
15420         * config/sparc/sysv4.h: Likewise.
15421
15422         * config/nextstep.h: Error until named sections implemented.
15423
15424         * config/a29k/a29k.c (a29k_asm_named_section): New.
15425         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
15426         (vms_section_type_flags, vms_asm_named_section): New.
15427         * config/arm/arm.c (arm_elf_asm_named_section): New.
15428         * config/avr/avr.c (asm_output_section_name): Remove.
15429         * config/avr/avr-protos.h: Update.
15430         * config/c4x/c4x.c (c4x_asm_named_section): New.
15431         * config/h8300/h8300.c (h8300_asm_named_section): New.
15432         * config/i386/i386.c (sco_asm_named_section): New.
15433         * config/i386/winnt.c (SECTION_PE_SHARED): New.
15434         (i386_pe_section_type_flags): New.
15435         (i386_pe_asm_named_section): New.
15436         * config/i386/i386-protos.h: Update.
15437         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
15438         * config/mcore/mcore.c (mcore_asm_named_section): New.
15439         * config/mips/mips.c (iris6_asm_named_section): New.
15440         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
15441         instead of UNIQUE_SECTION_P.
15442         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
15443         (xcoff_asm_named_section): New.
15444         * config/sh/sh.c (sh_asm_named_section): New.
15445         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
15446
15447         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
15448         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
15449         (EH_FRAME_SECTION_NAME): New.
15450         (EXCEPTION_SECTION): New.
15451         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
15452         (DEBUG_*_SECTION): Remove.
15453         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
15454         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
15455         (EH_FRAME_SECTION_ASM_OP): Remove.
15456
15457         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
15458         (ASM_OUTPUT_SECTION_NAME): Remove.
15459         (TARGET_ASM_NAMED_SECTION): New.
15460         (TARGET_HAVE_NAMED_SECTIONS): New.
15461         (TARGET_SECTION_TYPE_FLAGS): New.
15462         (EH_FRAME_SECTION_ASM_OP): Remove.
15463         (EH_FRAME_SECTION_NAME): New.
15464
15465 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15466
15467         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
15468         for complex expressions when cfun == 0.
15469         * doc/extend.texi: Document that __builtin_constant_p can be
15470         used in data initializers as well as functions.
15471
15472 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
15473
15474         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
15475         variable I locally, instead of expecting a declaration in the
15476         calling context.
15477
15478 2001-08-03  Richard Henderson  <rth@redhat.com>
15479
15480         * except.c (collect_one_action_chain): Add an explicit cleanup
15481         action if regions surrounding a catch were encoded entirely
15482         within the call-site entry.
15483
15484 2001-08-03  Richard Henderson  <rth@redhat.com>
15485
15486         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
15487         don't take REGNO of a non-register.
15488
15489 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15490
15491         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
15492         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
15493         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
15494         (__gthread_mutex_init_function): New function for mutex initialization.
15495
15496 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15497
15498         * Makefile.in: Revert screwed up commit.
15499
15500 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15501
15502         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
15503         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
15504         merged by linker script to get a final _exit().
15505         (__do_global_dtors): New for destructor handling in specific exit
15506         section.
15507         (__do_global_ctors): New for constructors in specific install section.
15508         (__map_data_section): Map data sections before running constructors.
15509         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
15510         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
15511         (DTORS_SECTION_ASM_OP): Likewise.
15512         (CTORS_SECTION_FUNCTION): Define to force a reference to
15513         __do_global_ctors.
15514         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
15515
15516 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15517
15518         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
15519
15520         * Makefile.in: Add df.h to gcse.c dependencies.
15521
15522 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15523
15524         * varasm.c (output_constant_def_contents): Use for the length of a
15525         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
15526         depending on which is larger.
15527
15528 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15529
15530         * gcse.c: Include df.h for use as a dataflow analyzer.
15531         Remove regvec.
15532         Declaration of reg_set_info: gone.
15533         New df_analyzer variable used by store motion.
15534         (reg_set_info): Deleted.
15535         (mark_mem_regs): New function, analyze regs used by a mem.
15536         (store_ops_ok): Use dataflow analyzer results to determine if
15537         necessary regs are changed in the block.
15538         (find_moveable_store): Remove check for symbol ref, we can handle
15539         much more complex expressions now.
15540         (compute_store_table): Remove most of the code, it's unnecessary
15541         now that the dataflow analyzer records the info for us.
15542         (store_killed_after): Add parameter to say whether to do the
15543         store_ops_okay test, used to speed up testing when we already know
15544         the answer, and just want to know if the store itself was killed.
15545         (build_store_vector): Largely rewritten to calculate the various
15546         vectors properly, and somewhat optimized.
15547         (store_motion): Init the df_analyzer, get REG_DEF chains.
15548         Also handle trapping expressions (since mems almost always trap)
15549         (simple_mem): Redefine what a simple mem is.
15550
15551 2001-08-03  DJ Delorie  <dj@redhat.com>
15552
15553         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
15554         set from a constant part of the condition.
15555
15556 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
15557
15558         * mkdeps.c (deps_add_default_target): Make local variable
15559         ``start'' a const char pointer.
15560         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
15561
15562 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15563
15564         * doc/install.texi (Configuration): Fix markup.
15565         (Specific, i?86-*-udk): Likewise.
15566         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
15567         --with-gnu-ld.
15568         Document --enable-threads and --enable-libgcj status.
15569         (Specific, mips-sgi-irix*): Canonicalize triples.
15570         (Specific, mips-sgi-irix5): Warn about problems with this config.
15571         Mention required GNU as patch.
15572         Native assembler problems are fixed.
15573         (Specific, mips-sgi-irix6): Update O32 ABI support status.
15574         Document --enable-threads and --enable-libgcj status.
15575
15576 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15577
15578         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
15579         of mkinstalldirs.
15580
15581 2001-08-03  Richard Henderson  <rth@redhat.com>
15582
15583         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
15584         constant data.
15585
15586 2001-08-03  Richard Henderson  <rth@redhat.com>
15587
15588         * rtlanal.c (find_first_parameter_load): Stop if we
15589         reach a CODE_LABEL at BOUNDARY.
15590
15591 2001-08-03  Richard Henderson  <rth@redhat.com>
15592
15593         * config/alpha/alpha.md (force_movdi): New insn.
15594         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
15595         Tweek FRP marking of VMS prologue insns.
15596         * config/alpha/vms.h (EPILOGUE_USES): New.
15597
15598 2001-08-02  Richard Henderson  <rth@redhat.com>
15599
15600         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
15601
15602 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15603
15604         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
15605         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
15606         config/convex/convex.h, config/d30v/d30v.c,
15607         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
15608         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
15609         config/mips/mips.h, config/mn10200/mn10200.h,
15610         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
15611         config/v850/v850.h, config/vax/openbsd.h,
15612         config/vax/openbsd1.h, config/vax/ultrix.h,
15613         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
15614         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
15615         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
15616         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
15617         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
15618         in comments and documentation.
15619
15620 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15621
15622         * line-map.c: New.
15623         * line-map.h: New.
15624         * Makefile.in (line-map.o): New.
15625         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
15626         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
15627         * cpperror.c (print_containing_files): Similarly.
15628         (print_location): Update.  Don't output a space before _Pragma.
15629         * cppfiles.c (stack_include_file): Set to line 1 immediately.
15630         (stack_include_filee, cpp_make_system_header): Update.
15631         (_cpp_execute_include): Get logical line number right for calling
15632         as-yet-unterminated #include.
15633         * cpphash.h (struct cpp_reader): Add line_maps.
15634         (_cpp_do_file_change): Update.
15635         * cppinit.c (cpp_create_reader): Initialize line maps.
15636         (cpp_destroy): Destroy line maps.
15637         (cpp_start_read): Get logical line number right.
15638         * cpplex.c (parse_string): Only warn once for multi-line strings.
15639         Use boolean variable for null warning.
15640         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
15641         already.
15642         (do_include_common): End the directive early.
15643         (do_line): Don't warn about out-of-range lines in preprocessed
15644         source.  Update.  Remove unused variables.
15645         (_cpp_do_file_change): Update for new line mapping.
15646         (pragma_cb): New typedef.
15647         (cpp_register_pragma): Stop looking ahead before calling the
15648         handler.  Clean up.
15649         (do_pragma_system_header): End directive early.
15650         (cpp_get_line_maps): New.
15651         (cpp_pop_buffer): Fudge logical line.  Update.
15652         * cpplib.h: Include line-map.h
15653         (enum cpp_fc_reason): Remove.
15654         (struct cpp_file_change): Update.
15655         (cpp_get_line_maps): New.
15656         * cppmain.c (struct_printer): New member map.
15657         (cb_file_change): Update for new mappings.
15658         * fix-header.c (cb_file_change): Similarly.
15659
15660 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15661
15662         * Makefile.in (libgcc.mk): Define mkinstalldirs.
15663         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
15664
15665 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15666
15667         * config/vax/vax.c: include expr.h.
15668
15669 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15670
15671         * Makefile.in ($(srcdir)/configure): Only rebuild in
15672         maintainer mode.
15673         ($(srcdir)/config.in): Only define in maintainer mode.
15674         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
15675
15676 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
15677
15678         * doc/install.texi (Install GCC: Binaries): Update Bull info.
15679
15680 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15681
15682         * gcc.c (set_collect_gcc_options): New function, split out from
15683         main.
15684         Ignore elided switches.
15685         (do_spec_1): Invoke before executing command.
15686         (set_input): Export.
15687         Move declaration ...
15688         * gcc.h (set_input): ... here.
15689         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
15690         file.
15691
15692 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
15693
15694         Kill -fhonor-std.
15695         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
15696         interaction.
15697         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
15698
15699 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
15700
15701         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
15702         for the unnamed instructions it expands to.
15703
15704 2001-08-02  Richard Henderson  <rth@redhat.com>
15705
15706         * regclass.c (call_really_used_regs): Conditionally define.
15707         (init_reg_sets_1): Don't use it if not defined.
15708         (fix_register): Similarly, don't set it.
15709
15710 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15711
15712         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
15713         Correct comment that had been missed in the previous change.
15714
15715 2001-08-01  Stan Shebs  <shebs@apple.com>
15716
15717         * config/darwin.c (machopic_stub_name): Try matching by name.
15718         (update_stubs): New function.
15719         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
15720         unconditionally.
15721
15722 2001-08-01  Richard Henderson  <rth@redhat.com>
15723
15724         * except.c (output_function_exception_table): Use assemble_align.
15725         * varasm.c (assemble_eh_label): Remove.
15726         (assemble_eh_align, assemble_eh_integer): Remove.
15727
15728 2001-08-01  Robert Lipe  <robertl@caldera.com>
15729
15730         * dwarfout.c: Remove reference to README.DWARF.
15731
15732 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
15733
15734         * regclass.c (call_really_used_regs): New array for registers which
15735         are actually used by a call.
15736         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
15737         new array.
15738         (fix_register): Set call_really_used too.
15739         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
15740         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
15741
15742 2001-08-01  Richard Henderson  <rth@redhat.com>
15743
15744         * read-rtl.c (read_name): Consider \r whitespace.
15745
15746 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
15747
15748         * config.gcc: Recognize powerpc-*-netbsd*.
15749
15750         * doc/install.texi (Host/target specific installation notes for
15751         GCC): Mention powerpc-*-netbsd*.
15752
15753         * config/rs6000/netbsd.h: New file.
15754         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
15755         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
15756         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
15757         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
15758         (TARGET_VERSION): Redefine.
15759
15760         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
15761         mcall-netbsd as a match for mcall-sysv.
15762         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
15763         (ncrti.S, ncrtn.S): New targets.
15764         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
15765
15766         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
15767         "netbsd' as a V4 ABI.
15768         (ASM_SPEC): Check for -mcall-netbsd.
15769         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
15770         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
15771         (LIB_SPEC, ENDFILE_SPEC): Ditto.
15772         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
15773         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
15774         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
15775         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
15776
15777         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
15778         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
15779
15780 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
15781
15782         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
15783         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
15784         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
15785         including "unwind-pe.h".
15786
15787 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15788
15789         * rs6000.md (define_splits): Kill unused constraints.
15790
15791 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
15792                               Jan Hubicka  <jh@suse.cz>
15793
15794         * function.c (thread_prologue_and_epilogue_insns): Kill code
15795         dealing with non-existent CFG.
15796
15797 2001-08-01  Kazu Hirata  <kazu@hxi.com>
15798
15799         * alias.c: Fix comment formatting.
15800         * bitmap.c: Likewise.
15801         * builtins.c: Likewise.
15802         * calls.c: Likewise.
15803         * c-common.c: Likewise.
15804         * c-decl.c: Likewise.
15805         * c-dump.c: Likewise.
15806         * c-lex.c: Likewise.
15807         * collect2.c: Likewise.
15808         * combine.c: Likewise.
15809         * conflict.c: Likewise.
15810         * cppfiles.c: Likewise.
15811         * cppinit.c: Likewise.
15812         * cpplex.c: Likewise.
15813         * cpplib.c: Likewise.
15814         * cppmacro.c: Likewise.
15815         * cppspec.c: Likewise.
15816         * c-pragma.c: Likewise.
15817         * crtstuff.c: Likewise.
15818         * cse.c: Likewise.
15819         * cselib.c: Likewise.
15820         * c-semantics.c: Likewise.
15821         * c-typeck.c: Likewise.
15822
15823 2001-08-01  H.J. Lu <hjl@gnu.org>
15824
15825         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
15826
15827 2001-08-01  H.J. Lu <hjl@gnu.org>
15828
15829         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
15830
15831 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
15832
15833         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
15834         contextualizing Objective-C class name lookup by the lexer.
15835         (typespec_reserved_nonattr): Disable ObjC class name lookup after
15836         seeing a TYPESPEC.
15837         (protocoldef): Add support for forward @protocol declarations.
15838         (yylexname): Suppress ObjC class name lookup in certain contexts;
15839         re-enable after lookup is complete.
15840         (_yylex): Re-enable ObjC class name lookup when certain
15841         punctuation marks are seen.
15842
15843         * objc/objc-act.c (check_protocol_recursively): New function used
15844         for finding circular dependencies in protocols.
15845         (objc_declare_protocols): New function for handling forward
15846         @protocol declarations.
15847         (receiver_is_class_object): Detect the case when 'self' is used
15848         inside of a class method.
15849         (build_message_expr): Issue a warning if class method is desired
15850         but instance method is found instead.
15851         (conforms_to_protocol): Streamline.
15852         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
15853         protocol Foo, even if 'Bar foo' does not.
15854         (check_protocols): Streamline.
15855         (start_protocol): Add checks for circular and duplicate protocol
15856         definitions.
15857         (encode_aggregate_within): For typedefs of structs, encode the
15858         underlying struct.
15859         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
15860         (objc_declare_protocols): New prototype.
15861
15862 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15863
15864         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
15865         * cpplex.c (handle_newline): Update prototype.  Maintain logical
15866         line number.
15867         (skip_escaped_newlines, skip_block_comment, parse_string):
15868         Update accordingly.
15869         (_cpp_lex_token): Update, and store token position within the token.
15870         * cpplib.h (struct cpp_token): Add line and column entries.
15871         * cppmacro.c (replace_args): Position stringified tokens correctly.
15872
15873 2001-08-01  Andreas Jaeger  <aj@suse.de>
15874
15875         * basic-block.h: Add prototype for last_loop_beg_note.
15876
15877 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
15878
15879         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
15880         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
15881         comment.
15882         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
15883         while handling WITH_CLEANUP_EXPR node. Use second operand calling
15884         expand_decl_cleanup.
15885         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
15886         the first RTX.
15887         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
15888         operand while calling simple_cst_equal.
15889         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
15890         operand is the cleanup expression, the third is the RTL_EXPR.
15891         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
15892
15893 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
15894
15895         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
15896
15897 2001-07-31  matthew green  <mrg@eterna.com.au>
15898
15899         * config.gcc (i386-*-netbsdelf): New description.
15900         * config/i386/netbsd-elf.h: New file.
15901
15902 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
15903
15904         * loop.c (check_dbra_loop): Use single_set to compute
15905         jump_label.
15906
15907 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
15908
15909         PowerPC reorg and support for powerpc64-*-linux*.
15910
15911         Also fixes emitting of constants on 32 bit and 64 bit
15912         platforms.
15913
15914         * config.gcc: powerpc64-*-linux* is a new target.
15915         Things that needed aix.h now also include xcoff.h
15916
15917         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
15918         xcoff.h.
15919         Move AIX specific stuff into aix.h.
15920         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
15921         with more than just XCOFF now.
15922         (SET_ASM_OP): Remove, now defined where needed.
15923         (FUNCTION_PROLOGUE): New macro definition.
15924         (FUNCTION_EPILOGUE): New macro definition.
15925         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
15926
15927         * config/rs6000/xcoff.h: New file.
15928
15929         * config/rs6000/linux64.h: New file.
15930
15931         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
15932
15933 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
15934
15935         * rs6000.c (print_operand_address): Handle ELF syntax.
15936         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
15937         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
15938         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
15939
15940 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
15941
15942         * rs6000.c (rs6000_override_options): Only disable
15943         flag_function_sections for XCOFF.
15944         (exact_log2_cint_operand): New predicate.
15945         (reg_or_{add,sub}_cint64_operand): New predicates.
15946         (add_operand): Compare CONST_INT with fewer function calls.
15947         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
15948         (print_operand, case 'p'): Ensure positive operand.
15949         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
15950         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
15951         (PREDICATE_CODES): Add new predicates.
15952         * rs6000.md (addsi3): Split 32-bit constants more correctly.
15953         (divsi3, modsi3): Ensure positive power-of-2.
15954         (adddi3): Use new predicate.  Split 32-bit constants more
15955         correctly.  Re-arrange splitter to handle any constant.
15956         (subdi3): Use new predicate.
15957         (divdi3, moddi3): Ensure positive power-of-2.
15958         (movdi): Use rs6000_emit_set_const.
15959         (load_toc_v4_pic_di): Delete.
15960
15961 2001-07-31  Graham Stott <grahams@redhat.com>
15962
15963         * function.c (pad_below): Revert 2001-07-26 patch.
15964
15965 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
15966
15967         * reg-stack (convert_regs_1): Fix best edge condition.
15968
15969 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15970
15971         * jump.c (duplicate_loop_exit_test): Better test for jumps
15972         entering the loop; create loop pre_header.
15973
15974 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
15975
15976         * doc/install.texi: Add s390 and s390x as new targets.
15977         * doc/invoke.texi: Add documentation of S/390 and zSeries
15978         target options.
15979         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
15980
15981 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15982
15983         * config/m68k/m68k.md: Replace all general_operand with
15984         nonimmediate_operand for all destinations.
15985         * config/m68k/m68k.c (not_sp_operand): Likewise.
15986
15987 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
15988
15989         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
15990
15991 2001-07-30  Richard Henderson  <rth@redhat.com>
15992
15993         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
15994         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
15995
15996 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15997
15998         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
15999         Add missing doc strings
16000         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
16001         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
16002
16003 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
16004
16005         * i386.c (ix86_output_main_function_alignment_hack): New function.
16006         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
16007
16008         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
16009         edges by EDGE_DFS_BACK flag.
16010         (dump_edge_info): Add dfs_back flag.
16011         * basic-block.h (EDGE_DFS_BACK): New constant.
16012         (mark_dfs_back_edges): Declare.
16013         * alias.c (loop_p): Remove.
16014         (mark_constant_function): Use mark_dfs_back_edges.
16015
16016         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
16017         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
16018         (compensate_edge): Break out from ...
16019         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
16020         (convert_regs_2): Set block_done once block is really done;
16021         Do updating of the predecessors counts.
16022
16023         * toplev.c (rest_of_compilation): Recompute block_for_insn
16024         before post-reload cfg_cleanup.
16025         * function.c (thread_prologue_epilogue_insns):
16026         Call set_block_for_new_insns when emitting prologue directly.
16027
16028 2001-07-30  Andreas Jaeger  <aj@suse.de>
16029
16030         * jump.c: Add prototype for mark_modified_reg.
16031
16032         * cse.c (set_live_p): Add unused attribute.
16033
16034         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
16035         overflow.
16036         (scan_for_source_files): Use long for count to avoid overflow.
16037         (output_data): Likewise.
16038         (output_data): Don't use string concatatenation to silence gcc
16039         -traditional.
16040
16041         * predict.c: Fix typos and grammar.
16042
16043         * gcse.c (insert_insn_end_bb): Remove unused variables.
16044
16045 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
16046
16047         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
16048         (attempt_auto_inc): LIkewise.
16049         (mark_used_reg): Likewise.
16050         (try_pre_increment_1): Likewise.
16051         * regclass.c (regclass): Likewise.
16052         * global.c (allocno_compare): Update comment; change scaling factor.
16053         * local-alloc.c (QTY_CMP_PRI): Likewise.
16054         * regs.h (REG_FREQ_FROM_BB): New.
16055         (REG_FREQ_MAX): Likewise.
16056
16057 2001-07-30  H.J. Lu <hjl@gnu.org>
16058
16059         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
16060         -D_GNU_SOURCE.
16061
16062 2001-07-30  H.J. Lu  (hjl@gnu.org)
16063
16064         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
16065         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
16066         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
16067
16068 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
16069
16070         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
16071         as -mthumb-interwork when -mcpu=arm7 is specified.
16072
16073 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
16074
16075         * predict.def (noreturn, loop branch, loop exit): Mark as first
16076         match heuristics.
16077
16078 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
16079
16080         * combine.c (try_combine): Avoid barrier after noop jumps.
16081
16082 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16083
16084         * cpphash.h (struct cpp_reader): Remove import_warning.
16085         * cpplib.c (skip_rest_of_line): Don't bother turning off
16086         macro expansion.
16087         (parse_include): Move include handling to...
16088         (do_include_common): ... here.  Move import warning from...
16089         (do_import): ... here.
16090         (do_pragma_poison): Don't do a callback for poison identifiers.
16091         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
16092         * cppmain.c (setup_callbacks): Similarly.
16093
16094 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
16095
16096         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
16097         handle multiple sets.
16098         * except.c (sjlj_mark_call_sites): .... here.
16099         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
16100
16101 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
16102
16103         Suggested by Richard Henderson and Richard Kenner:
16104         * combine.c (recog_for_combine): Use the fake recog
16105         only if instruction does not match.
16106         * rtl.h (NOOP_MOVE_INSN_CODE): New.
16107         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
16108
16109         * combine.c (try_combine): Discover noop jump as direct jump.
16110
16111 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
16112
16113         * df.c (df_rd_global_compute): Add successors to worklist, not
16114         current item.
16115         (df_ru_global_compute): Ditto.
16116
16117 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
16118
16119         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
16120         increment REG_N_SETS.
16121
16122 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
16123
16124         * sbitmap.h: New prototype for sbitmap_a_xor_b.
16125
16126         * sbitmap.c (sbitmap_a_xor_b): New function.
16127         ifdef the basic block stuff on IN_GCC.
16128
16129 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16130
16131         * cppexp.c (parse_defined): Always record the macro name.
16132         (lex): Don't worry about identifiers, or special-case
16133         CPP_NOT here.
16134         (_cpp_parse_expr): Figure out at the end of the routine
16135         whether we saw a valid !defined() expression.
16136         * cppfiles.c (stack_include_file): Update for mi_valid.
16137         (_cpp_pop_file_buffer): Similarly.
16138         * cpplex.c (_cpp_lex_token): Similarly.
16139         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
16140         mi_if_not_defined, mi_lexed): Remove.
16141         (mi_valid): New.
16142         * cpplib.c (do_if): Simplify.
16143         (do_endif, push_conditional, _cpp_handle_directive): Update
16144         for renaming of mi_state to mi_valid.
16145 doc:
16146         * cpp.texi: Add index entries for digraphs, and add comment
16147         that C++ refers to them as alternative tokens.
16148
16149 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
16150
16151         * basic-block.h (CLEANUP_PRE_LOOP): New.
16152         * except.c (finish_eh_generation): Update call of cleanup_cfg.
16153         * sibcall.c (optimize_sibling_calls): Likewise.
16154         * toplev.c (rest_of_compilation): Likewise.
16155         * flow.c (try_forward_edges): Take argument MODE;
16156         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
16157         (try_optimize_cfg): Update call of try_forward_edges.
16158
16159 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16160                                 Jan Hubicka  <jh@suse.cz>
16161
16162         * (validate_replace_rtx_1): Fix simplification of MINUS.
16163
16164 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
16165
16166         PR preprocessor/3669
16167         * cppinit.c (init_dependency_output): Turn off dump requests
16168         if sending dependencies to stdout.
16169
16170 2001-07-28  Richard Henderson  <rth@redhat.com>
16171
16172         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
16173         not optimizing.
16174
16175 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
16176
16177         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
16178
16179 2001-07-28  Kazu Hirata  <kazu@hxi.com>
16180
16181         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
16182         is VAR_DECL first to prevent an ICE.
16183
16184 2001-07-28  Richard Henderson  <rth@redhat.com>
16185
16186         * varasm.c (immed_real_const_1): Don't elide special cases for
16187         nested functions.
16188         (clear_const_double_mem): Clear const_tiny_rtx too.
16189
16190 2001-07-28  Richard Henderson  <rth@redhat.com>
16191
16192         * dwarf2out.c (dw_val_class_offset): New.
16193         (struct dw_ranges_struct, dw_ranges_ref): New.
16194         (ranges_table, ranges_table_allocated): New.
16195         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
16196         (add_AT_offset, add_ranges, output_ranges): New.
16197         (print_die, output_die): Handle dw_val_class_offset.
16198         (attr_checksum, size_of_die, value_format): Likewise.
16199         (gen_lexical_block_die): Handle non-contiguous blocks.
16200         (gen_block_die): Likewise.
16201         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
16202         if needed.  Dump the ranges table.
16203         * final.c (final_start_function): Remove unnecessary notes and
16204         rebuild the block tree before numbering the blocks.
16205         * function.c (reorder_blocks_0): Walk the existing block tree
16206         to unmark all blocks.
16207         (reorder_blocks_1): Create block fragments when duplicate block
16208         notes are seen.
16209         (reorder_fix_fragments): New.
16210         (reorder_blocks): Call it.
16211         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
16212
16213 2001-07-28  Richard Henderson  <rth@redhat.com>
16214
16215         * emit-rtl.c (adjust_address): Make a copy of the memory address.
16216
16217 2001-07-28  Richard Henderson  <rth@redhat.com>
16218
16219         * flow.c (add_to_mem_set_list): New function.
16220         (init_propagate_block_info): Use it.
16221         (mark_set_1): Likewise.
16222         (insn_dead_p): Canonicalize memory address for dead store
16223         comparison.  Allow wider mode stores to kill narrower mode stores.
16224         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
16225         (invalidate_mems_from_set): Don't handle MEMs.
16226
16227 2001-07-28  Kazu Hirata  <kazu@hxi.com>
16228
16229         * config/h8300/h8300.h: Fix formatting.
16230
16231 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
16232
16233         * basic-block.h (EDGE_FREQUENCY): New macro.
16234         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
16235         for new BB/edges.
16236         * flow.c (find_sub_basic_blocks): Likewise.
16237         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
16238         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
16239
16240         * predict.c (DEF_PREDICTOR): New argument FLAGS.
16241         (HITRATE): New macro.
16242         (PRED_FLAG_FIRST_MATCH): New constant.
16243         (predictor_info): New field flgags.
16244         (combine_predictions_for_insn): Use DS theory to combine
16245         probabilities; set the edge probabilities when finished.
16246         (estimate_probability): Avoid duplicated matches
16247         of LOOP_BRANCH heuristics for nested loops; update comment.
16248         * predict.def: Add flags for each prediction, set probabilities
16249         according to B&L paper.
16250         * predict.h (DEF_PREDICTOR): New argument FLAGS.
16251
16252         * profile.c (compute_branch_probabilities):  Cleanup way the edge
16253         probabilities are computed and REG_BR_PROB notes are dropped; if
16254         values does not match, emit error.
16255         (init_branch_prob): Do error instead of warning when profile driven
16256         feedback is missing or corrupt.
16257
16258 2001-07-27  DJ Delorie  <dj@redhat.com>
16259
16260         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
16261         against a constant, try to adjust the compare to have the desired
16262         constant in it so that min/max optimizations happen more often.
16263
16264 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16265
16266         * flow.c (last_loop_beg_note): New function.
16267         (redirect_edge_and_branch): Use it.
16268         (split_edge): Likewise.
16269
16270         * alias.c (loop_p): Avoid uninitialized memory access.
16271
16272         * flow.c (try_forward_edges): Avoid accessing freed memory.
16273
16274         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
16275         variable access.
16276
16277 2001-07-26  Andrew Haley  <aph@redhat.com>
16278         Joern Rennecke <amylaar@redhat.com>
16279
16280         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
16281         (SUBTARGET_CPP_ENDIAN_SPEC): New.
16282         (SUBTARGET_CPP_SPEC): New.
16283         (CPP_SPEC): Remove.
16284         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
16285         (SUBTARGET_CPP_PTR_SPEC): New.
16286         (CPP_DEFAULT_CPU_SPEC): New.
16287         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
16288         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16289         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
16290         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16291         (SUBTARGET_CPP_SPEC): Define as an empty string.
16292
16293 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16294
16295         * doc/install.texi (Configuration): Properly link the host
16296         specific instructions also when generating HTML.
16297
16298 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
16299
16300         * flow.c (redirect_edge_and_branch_force): Test
16301         target->global_live_at_start.
16302
16303 2001-07-26  Richard Henderson  <rth@redhat.com>
16304
16305         * simplify-rtx.c (avoid_constant_pool_reference): Export.
16306         * rtl.h (avoid_constant_pool_reference): Declare it.
16307         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
16308         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
16309
16310 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
16311
16312         * rtl.h (cleanup_barriers): Declare.
16313         * jump.c (cleanup_barriers): New function.
16314         * toplev.c (rest_of_compilation): Call cleanup_barriers
16315         before loop optimizer and after bb_reorder.
16316
16317         * flow.c (back_edge_of_syntactic_loop_p): New.
16318         (split_edge): Use it.
16319
16320 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16321
16322         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
16323
16324 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
16325
16326         * cse.c (cse_process_notes): Replace any registers if the address
16327         remains valid.
16328
16329 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
16330
16331         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
16332         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
16333         (propagate_block): Update prototype.
16334         * flow.c (update_life_info): Simplify the CFG and
16335         recalculate the global regs which are alive when
16336         removing dead code during a global update.
16337         (propagate_block): Return non-zero if an INSN is
16338         deleted.
16339
16340 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16341
16342         * Makefile.in (LIBICONV): Define.
16343
16344 2001-07-26  Catherine Moore  <clm@redhat.com>
16345
16346         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
16347         of conditional to avoid tree checking errors.
16348
16349 2001-07-26  Kazu Hirata  <kazu@hxi.com>
16350
16351         * regmove.c (regmove_optimize): Don't replace a reg with
16352         another reg of a different mode.
16353
16354 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
16355
16356         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
16357         limit length of dependency flush list.
16358         * params.h (MAX_PENDING_LIST_LENGTH): Define.
16359         * sched-int.h  (struct deps): Add pending_flush_length field.
16360         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
16361         has 1 element in it.
16362         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
16363         (sched_analyze): After a jump, if the pending memory flush list is too
16364         large, flush the pending lists.
16365         (init_deps): Initialize pending_flush_length to 0.
16366         * doc/invoke.texi (max_pending_list_length): Document parameter.
16367
16368 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
16369
16370         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
16371         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
16372         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
16373
16374 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16375
16376         * cpphash.h (struct_lexer_state): Delete was_skipping.
16377         Move skipping here from struct cpp_reader.
16378         * cpplex.c (parse_identifier): Update.
16379         (_cpp_lex_token): Don't skip tokens in a directive.
16380         * cpplib.c (struct if_stack): Update.
16381         (start_directive, end_directive): Don't change skipping state.
16382         (_cpp_handle_directive): Update.
16383         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
16384         (do_else, do_endif): Update; only check for excess tokens if not
16385         in a skipped conditional block.
16386         (push_conditional): Update for new struct if_stack.
16387
16388 2001-07-26  Graham Stott  <grahams@redhat.com>
16389
16390         * function.c (locate_and_pad_parm): Also pad initial offset
16391         so that the total argument size also includes the padding.
16392
16393 2001-07-26  Graham Stott <grahams@redhat.com>
16394
16395         * gensupport.c (alter_output_for_insn): Correct enable checking failure
16396         change XSTR to XTMPL.
16397
16398         (process_one_cond_exec): Likewise
16399
16400 2001-07-25  Richard Henderson  <rth@redhat.com>
16401
16402         * varasm.c (assemble_variable): Create DECL_RTL before setting
16403         TREE_ASM_WRITTEN.
16404
16405 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
16406
16407         * predict.c (estimate_probability): Avoid duplicated predictions.
16408
16409         * loop.c (find_and_verify_loops): Grok multiple barriers.
16410
16411 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16412
16413         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
16414
16415         * dbxout.c: Consistently use putc instead of fputc.
16416         (print_wide_int): New function; call instead of direct fprintf.
16417         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
16418         (dbxout_type_fields, dbxout_type_method_1): Likewise.
16419         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
16420         (print_int_cst_octal): Likewise.
16421         (print_octal): Show we wrote characters.
16422         (dbxout_type): Set have_used_extensions in more places.
16423
16424 2001-07-25  Catherine Moore  <clm@redhat.com>
16425
16426         * config/v850/v850.c (v850_va_arg):  Use addr
16427         instead of valist to build incr.
16428
16429 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
16430
16431         * flow.c (delete_dead_jumptables): New function.
16432         (life_analyzis): Call it.
16433         * bb-reorder.c (skip_insns_after_block): Handle contradictory
16434         sequences.
16435
16436 2001-07-25  Richard Henderson  <rth@redhat.com>
16437
16438         * except.c (reachable_handlers): Handle a region being removed
16439         out from under a RESX.
16440
16441 2001-07-25  Richard Henderson  <rth@redhat.com>
16442
16443         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
16444         swap GE/GT if it is an fp comparison.
16445
16446 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
16447
16448         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
16449         operands.
16450
16451 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
16452
16453         * ssa.c (rename_insn_1): Do not wrap an assignment to a
16454         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
16455         glitch.
16456
16457         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
16458         throw an exception.
16459         (visit_expression): When attempting to simplify an expression,
16460         retrieve any modes for arguments before they are simplified
16461         to constants.
16462
16463 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16464             Janis Johnson  <janis@us.ibm.com>
16465
16466         * stmt.c (expand_goto): A nonlocal goto can be a call too.
16467         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
16468         pointer parameters to match documented usage of nonlocal_goto.
16469         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
16470         parameters to their correct order.
16471         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
16472         parameters to their correct order.
16473
16474 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16475
16476         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
16477
16478 2001-07-25  Jan Hubicka  <jh@suse.cz>
16479             Richard Henderson  <rth@redhat.com>
16480
16481         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
16482         the sequence.
16483         (make_edges): New argument update_p; populate the edge cache if set.
16484         (find_basic_blocks): Update make_edges invocation.
16485
16486 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16487
16488         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
16489
16490 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16491
16492         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
16493         -Acpu and -Amachine.h.
16494         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
16495         Corrected header to say ELF not a.out.
16496         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
16497         when given -msoft-float.
16498
16499 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16500
16501         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
16502         extra multilib parts like arm-elf.
16503         (i960-*-coff*, i960-*-rtems): Should not use collect2.
16504         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
16505         crtfini.o as extra multilib parts.
16506
16507 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16508
16509         * configure.in: Add rtems as a supported thread model.
16510         * gthr-rtems.h: Add missing entry point __gthread_active_p.
16511         * configure: Rebuilt.
16512
16513 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
16514
16515         * stor-layout.c (get_mode_alignment): make it work when
16516         BITS_PER_UNIT is not a power of two.
16517         * builtins.c (get_pointer_alignment): Likewise.
16518
16519 2001-07-24  Richard Henderson  <rth@redhat.com>
16520
16521         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
16522         the retrieved constant into the expected mode.
16523
16524 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
16525
16526         * flow.c (try_simplify_condjump): Avoid duplicated edges.
16527         (verify_flow_info): Check for duplicated edges; clarify
16528         error reporting.
16529
16530         * flow.c (block_label): Update basic_block_for_insn.
16531         (commit_edge_insertions): Call compute_bb_for_insn.
16532
16533         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
16534         returns too.
16535
16536         * flow.c (redirect_edge_and_branch,
16537         try_optimize_cfg): Use redirect_edge_succ_nodup
16538         (redirect_edge_succ_nodup): New.
16539         * basic_block.h (redirect_edge_succ_nodup): Declare.
16540
16541         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
16542         after gcse.
16543
16544 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
16545
16546         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
16547         (try_crossjump_to_edge): Update commetns.
16548         (try_crossjump_bb): Likewise.
16549
16550 2001-07-24  Richard Henderson  <rth@redhat.com>
16551
16552         * combine.c (distribute_notes): Move set of need_refresh
16553         for noop_move_p down to catch all cases.
16554
16555 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
16556
16557         * recog.c (split_all_insns_noflow): New.
16558         * rtl.h (split_all_insns_noflow): Declare.
16559         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
16560         * m68hc11.c (m68hc11_reorg): Likewise.
16561         * sh.c (machine_dependent_reorg): Likewise.
16562         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
16563         call.
16564
16565 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16566
16567         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
16568         (ashlsi3_n splitter): Likewise.
16569         (lshrsi3_n splitter): Likewise.
16570
16571         (GOTaddr2picreg): Make const SImode.
16572         (sym_label2reg): Likewise.
16573         (symGOT2reg): Likewise.
16574         (symGOTOFF2reg) Likewise.
16575
16576         (casesi_worker_0): Make unspec SImode.
16577
16578 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16579
16580         * config/sh/sh.c (barrier_align): Check that an operand really is
16581         an insn before extracting its INSN_CODE.
16582
16583 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
16584
16585         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
16586         dangling else.
16587
16588         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
16589         for SImode to prevent overflow.
16590
16591 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16592
16593         * config/mips/irix6-libc-compat.c: New file.
16594         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
16595         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
16596         passing workaround.
16597
16598 2001-07-24  lars brinkhoff  <lars@nocrew.org>
16599
16600         * rtl.texi (REG_POINTER): Document.
16601         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
16602         QFmode, HFmode, TQFmode, QCmode, and HCmode.
16603
16604 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
16605
16606         * flow.c (delete_noop_moves): Do not confuse libcall regions.
16607
16608 2001-07-23  Richard Henderson  <rth@redhat.com>
16609
16610         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
16611
16612 2001-07-23  Kazu Hirata  <kazu@hxi.com>
16613
16614         * config/h8300/h8300-protos.h: Add a prototype for
16615         general_operand_dst_push.
16616         * config/h8300/h8300.c (general_operand_dst_push): New.
16617         * config/h8300/h8300.h (OK_FOR_T): New.
16618         (EXTRA_CONSTRAINT): Use it.
16619         * config/h8300/h8300.md (movqi_push): Remove and integrate into
16620         the existing movqi pattern.
16621         (movhi_push): Likewise.
16622
16623         * reload.c: Fix comment typos.
16624
16625 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
16626
16627         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
16628
16629 2001-07-23  H.J. Lu  (hjl@gnu.org)
16630
16631         * doc/extend.texi: Update __builtin_return_address and
16632         __builtin_frame_address.
16633
16634 2001-07-23  Richard Henderson  <rth@redhat.com>
16635
16636         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
16637         before CSE.
16638         * config/i386/i386.md: New setcc+movzbl peephole2.
16639
16640 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16641
16642         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
16643         * objc/objc-act.c: Include debug.h.
16644         (synth_module_prologue): Save and restore debug hooks too.
16645
16646 2001-07-23  lars brinkhoff  <lars@nocrew.org>
16647
16648         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
16649         and C4X_FLOAT_FORMAT.
16650         (BOOL_TYPE_SIZE): Document.
16651
16652 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
16653
16654         * unroll.c (loop_iterations): Fix miscalculation of initial
16655         giv offset.
16656
16657 2001-07-13  Andrew Haley  <aph@redhat.com>
16658
16659         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
16660         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
16661         * config/sh/sh.c (sh_can_redirect_branch): New function.
16662         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
16663         * reorg.c (steal_delay_list_from_target): Use
16664         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
16665
16666 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
16667
16668         * flow.c (try_simplify_condjump): Unlink insn chain on
16669         fallthru edge; use can_fallthru.
16670
16671 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
16672
16673         * basic-block.h (find_sub_basic_block): Declare.
16674         * flow.c (make_edges): New arguments MIN and MAX;
16675         (find_sub_basic_blocks): Revamp to use make_edges
16676         and purge_dead_edges.
16677         (find_basic_blocks): Update call of find_sub_basic_block.
16678
16679         * recog.c (split_all_insns): Always expect CFG to be consistent;
16680         call find_sub_basic_blocks in case something has changed.
16681         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
16682         has been built.
16683
16684         * basic-block.h (delete_noop_moves): Declare.
16685         * combine.c (combine_instructions): Call it.
16686         (recog_for_combine): Tolerate noop moves
16687         (distribute_notes): Force refresh when register dies at noop move.
16688         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
16689         too.
16690         (life_analysis): Update delete_noop_moves call.
16691         (set_noop_p): Move too ...
16692         * rtlanal.c (noop_move_p): ... here.
16693         * rtl.h (noop_move_p): Declare.
16694
16695         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
16696         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
16697         after combine.
16698         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
16699         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
16700
16701 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
16702
16703         * reload.c (push_reload): Fix typo in comment.
16704         (find_reloads_address): Ditto.
16705         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
16706
16707 2001-07-22  Richard Henderson  <rth@redhat.com>
16708
16709         * flow.c: Grammar check and clarify a lot of comments.
16710         (try_simplify_condjump): Rename variables to be clearer.
16711         (try_forward_edges): Skip complex and fallthru edges.
16712         Rearrange tests to avoid duplicate checks.
16713         (flow_find_cross_jump): Likewise.
16714         (outgoing_edges_match): Allow match if neither branch has
16715         probability data.  Loosen probability match to 5%.
16716         (try_crossjump_to_edge): Hoist repeated indirection into
16717         local variables.
16718         (try_crossjump_bb): Don't check complex edges.  Eliminate
16719         redundant crossjump tests.
16720         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
16721         checks before more expensive checks.
16722
16723 2001-07-22  Richard Henderson  <rth@redhat.com>
16724
16725         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
16726         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
16727         arguments.
16728
16729 2001-07-22  Richard Henderson  <rth@redhat.com>
16730
16731         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
16732         (const_sint32_operand): Likewise.
16733         * m68k.md (anon mulsi pattern): Use const_int_operand not
16734         const_sint32_operand.
16735         (umulsi3_highpart): Zero extend a constant input.
16736         (smulsi3_highpart): Don't bother checking SImode constant.
16737         (const_umulsi3_highpart): Give op3 DImode.
16738         (const_smulsi3_highpart): Likewise.
16739
16740 2001-07-22  Richard Henderson  <rth@redhat.com>
16741
16742         * flow.c (split_block): Make sure bb_note is included in the
16743         new block when splitting before a label.
16744
16745 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
16746
16747         * basic-block.h (redirect_edge_and_branch_force,
16748         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
16749         * flow.c (redirect_edge_and_branch_force,
16750         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
16751         (redirect_edge_and_branch_force): Fix copying of lifeness information.
16752         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
16753         * ifcvt.c (dead_or_predictable): Take BB as an new destination
16754         instead of label; update CFG after transformation.
16755         (find_if_case_1): Update call, use redirect_edge_and_branch_force
16756         for finishing the transformation; handle even case where ELSE
16757         does not follow THEN.
16758         (find_if_case_2): Update call of dead_or_predictable; simplify
16759         CFG update.
16760
16761         * emit-rtl.c (split_branch_probability): New global variable.
16762         (try_split): Take care to set split_branch_probability and
16763         create REG_BR_PROB note for new jump insns.
16764         * md.texi (define_split): Document new feature.
16765
16766         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
16767
16768 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
16769
16770         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
16771         (asm_out_file): Remove redundant declaration.
16772         (assemble_asm): Remove old #if 0 block.
16773         (assemble_variable): Remove end of function; debug output is
16774         now handled with global_decl.  Remove old #if 0 block.  Update.
16775         Remove saved_in_section and associated no-op code.
16776         * Makefile.in (varasm.o): Correct dependencies.
16777
16778 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
16779
16780         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
16781         the definition in defaults.h.
16782
16783 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
16784
16785         * jump.c: Update comments.
16786         (delete_barrier_successors, delete_unreferenced_labels,
16787         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
16788         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
16789         jump_optimize, jump_optimize_minimal): Kill.
16790         (rebuild_jump_labels): Move code from jump_optimize_1.
16791         (purge_line_number_notes): Likewise.
16792         (copy_loop_headers): Likewise.
16793         * reg-stack.c: Update comment.
16794         * stmt.c: Likewise.
16795         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
16796         JUMP_AFTER_REGSCAN): Kill.
16797         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
16798         purge_line_number_notes and copy_loop_headers.
16799
16800 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
16801            Richard Henderson  <rth@redhat.com>
16802
16803         * dbxout.c (dbxout_global_decl): New.
16804         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16805         * sdbout.c (sdbout_finish): New.
16806         (sdbout_debug_hooks): Use it, add comments.
16807         (sdbout_global_decl): Defer initialised public vars to
16808         sdbout_finish.
16809         * varasm.c (assemble_variable): Don't output debug information
16810         for file-scope variables.
16811
16812 2001-07-22  Richard Henderson  <rth@redhat.com>
16813
16814         * config/alpha/alpha.c (get_trap_mode_suffix): New.
16815         (get_round_mode_suffix): New.
16816         (print_operand): Use them for [/].  Remove support for [&'`()+].
16817         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
16818         * config/alpha/alpha.md (attr round_suffix): New.
16819         (attr trap_suffix): New.
16820         (all insns): Set them appropriately.  Use %/ instead of the
16821         myriad punctuators.
16822
16823 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16824
16825         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
16826
16827 2001-07-22  Richard Henderson  <rth@redhat.com>
16828
16829         * regrename.c (regrename_optimize): Compute nregs for each
16830         potential target register.
16831
16832 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
16833            Richard Henderson  <rth@redhat.com>
16834
16835         * dbxout.c (dbxout_global_decl): New.
16836         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16837         * sdbout.c (sdbout_finish): New.
16838         (sdbout_debug_hooks): Use it, add comments.
16839         (sdbout_global_decl): Defer initialised public vars to
16840         sdbout_finish.
16841         * varasm.c (assemble_variable): Don't output debug information
16842         for file-scope variables.
16843
16844 2001-07-21  H.J. Lu  (hjl@gnu.org)
16845
16846         * config/mips/mips.c (mips_cpu): Moved into ...
16847         (override_options): Here.
16848
16849         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
16850         mips_tune.
16851         (mips_cpu): Removed.
16852
16853 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16854
16855         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
16856         ("iorqi3"): Likewise.
16857         ("xorqi3"): Likewise.
16858         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
16859         ("*subhi3_sp): Likewise.
16860         ("*subhi3"): Likewise.
16861         ("extendhisi2"): Accept D, X and Y as source operand to avoid
16862         reload problems.
16863
16864 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
16865
16866         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
16867         * config/freebsd.h: Likewise.
16868         * config/linux.h: Likewise.
16869         * config/openbsd.h: Likewise.
16870         * config/alpha/linux-elf.h: Likewise.
16871         * config/arm/linux-elf.h: Likewise.
16872         * config/d30v/d30v.h: Likewise.
16873         * config/fr30/fr30.h: Likewise.
16874         * config/ia64/aix.h: Likewise.
16875         * config/ia64/ia64.h: Likewise.
16876         * config/mips/linux.h: Likewise.
16877         * config/pj/pj.h: Likewise.
16878         * config/rs6000/linux.h: Likewise.
16879         * config/sparc/linux.h: Likewise.
16880         * config/sparc/linux64.h: Likewise.
16881
16882 2001-07-20  Bruce Korb  <bkorb@gnu.org>
16883
16884         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
16885         because getc() and char* may disagree on signedness.
16886
16887 2001-07-20  Richard Henderson  <rth@redhat.com>
16888
16889         * doc/rtl.texi (REG_DEAD): Update for current semantics.
16890
16891         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
16892         insns to delete in the presence of cc0 in a jump insn.
16893
16894 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16895                                 Jan Hubicka  <jh@suse.cz>
16896
16897         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
16898         of doing the change by hand.
16899
16900 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
16901
16902         * rtlanal.c (set_noop_p): Return true for noop jumps.
16903
16904         * expr.c (emit_single_push_insn): Add call to push expander.
16905         * expr.h (optab_index): Add OTI_push
16906         (push_optab): New constant.
16907         * genopinit.c (optabs): Add push_optab.
16908         * optabs.c (init_optab): Init push optab.
16909         * md.texi (push??1): Document
16910
16911 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16912
16913         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
16914         expand to emit the pattern; put a REG_INC note for push/pop
16915         instructions.
16916         ("movdf", "movdf_internal"): Likewise.
16917         ("movsi", "movsi_internal"): Likewise.
16918         ("movsf", "movsf_internal"): Likewise.
16919         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
16920
16921 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16922
16923         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
16924         gen_highpart.
16925
16926 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
16927
16928         * params.def: Change default max inline insns to 100.
16929
16930 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
16931
16932         * combine.c (combine_simplify_rtx): Generate a new shift operation
16933         when simplifying the first operand of a (neg (ashift)) expression.
16934
16935 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16936
16937         * regclass.c (N_REG_INTS): Use only 32 bits per element.
16938
16939 2001-07-20  Kelley Cook  <kelley.cook@home.com>
16940
16941         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
16942         information.   Move rest into ...
16943         (*-*-solaris): ... here.  Eliminate redundant information and
16944         reword necessary packages section.  Delete 4.x assembler bug info.
16945         (sparc-sun-*): Merge into ...
16946         (sparc-sun-sunos*): here.
16947
16948 2001-07-20  Catherine Moore  <clm@redhat.com>
16949
16950         * config/v850/v850.md (casesi): Generate LABEL_REF
16951         with Pmode.
16952
16953 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
16954
16955         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
16956         * i386.c (ix86_zero_extend_to_Pmode): Make global.
16957         * i386.md (strclrsi expander): Use it.
16958
16959 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16960
16961         * integrate.c (copy_insn_list): handle
16962         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
16963         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
16964         identically as to CODE_LABEL.
16965
16966         * fold-const (fold): Convert A/B/C to A/(B*C) and
16967         A/(B/C) to (A/B)*C
16968
16969         * except.c (connect_post_landing_pads): Delete the RESX insns.
16970
16971 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
16972
16973         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
16974
16975         * config/mips/mips.md (nmadd/nmsub): Use macro.
16976
16977 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
16978
16979         * cppinit.c (remove_dup_dir): Make static.
16980         (remove_dup_dirs): Make static. Only warn about preempting a
16981         system directory with a non-system directory.
16982
16983 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16984
16985         * ifcvt.c (noce_try_store_flag_constants): Correct order
16986         of parameters to trunc_int_for_mode.
16987
16988 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
16989
16990         * reorg.c (fill_simple_delay_slots): If an instruction might throw
16991         an exception that will be caught within this function, do not fill
16992         its delay slot with any subsequent instruction.
16993
16994 2001-07-19  Steve Ellcey <sje@cup.hp.com>
16995
16996         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
16997         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
16998         pointer extension instruction.
16999         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
17000         * simplify-rtx.c (simplify_unary_operation) Likewise.
17001         * explow.c (convert_memory_address) Check value of
17002         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
17003         less than zero.
17004         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
17005         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
17006         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
17007         Add Multilib Support.
17008         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
17009         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
17010         Add Multilib Support.
17011         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
17012         support.
17013         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
17014         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
17015         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
17016
17017 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
17018
17019         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
17020         old and new operands in `<', `3' and `b'.
17021
17022 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17023
17024         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
17025         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
17026         (toplev.o): Don't depend on xcoffout.h.
17027         * c-decl.c: Include debug.h
17028         (duplicate_decls): Use debug hook.
17029         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
17030         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17031         (dbxout_types): Remove.
17032         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
17033         * debug.c (do_nothing_debug_hooks): Update.
17034         (debug_true_tree, debug_nothing_rtx): New.
17035         * debug.h (struct rtx_def): New.
17036         (struct gcc_debug_hooks): New hooks ignore_block,
17037         outlining_inline_function and label.
17038         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
17039         dwarf2out_frame_finish): New.
17040         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
17041         Make static, update prototype.
17042         (dwarf2_debug_hooks): Update.
17043         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
17044         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
17045         * dwarfout.c (dwarf_debug_hooks): Update.
17046         * emit-rtl.c: Include debug.h.
17047         (remove_unnecessary_notes): Use debug hook.
17048         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
17049         (final_scan_insn): Use debug hook.
17050         * integrate.c (output_inline_function): Use debug hook.
17051         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
17052         (sdb_debug_hooks): Update.
17053         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
17054         * toplev.c: Don't include xcoffout.h.
17055         (note_outlining_of_inline_function, debug_ignore_block): Remove.
17056         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
17057         Remove.
17058         * tree.h (dwarf2out_do_frame): Remove.
17059
17060 2001-07-19  Catherine Moore  <clm@cygnus.com>
17061
17062         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
17063
17064 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
17065
17066         * reload1.c (eliminate_regs_in_insn): When updating a set
17067         to the frame pointer to the hardware frame pointer, perform
17068         the update always not just when REPLACE is set.
17069
17070         * reload1.c (choose_reload_regs): Don't inherit a reload
17071         that crosses multiple registers if registers past the first
17072         don't fit in the desired class.
17073
17074         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
17075         when negating constants.
17076
17077 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
17078
17079         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
17080         * doc/tree.texi: Ditto.
17081
17082 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
17083             Jakub Jelinek  <jakub@redhat.com>
17084
17085         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
17086         (extract_cie_info): Handle "eh" augmentation properly,
17087         remember eh_ptr.
17088         (struct frame_state, __frame_state_for): New.
17089
17090 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17091
17092         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
17093         HANDLE_SYSV_PRAGMA): Define.
17094         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
17095         previous args.
17096         (copy_object): Caller changed.
17097
17098 2001-07-19  Andreas Schwab  <schwab@suse.de>
17099
17100         * configure.in (assembler dwarf2 debug_line support): Define nop
17101         insn for m68k.
17102         * configure: Regenerated.
17103
17104 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17105
17106         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
17107         dwarfout.h.
17108         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
17109         to conditionally compiled block.
17110         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17111         * dbxout.h (dbxout_function): Remove.
17112         * debug.c (do_nothing_debug_hooks): Update.
17113         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
17114         global_decl, deferred_inline_function.
17115         * dwarf2out.c (dwarf2_debug_hooks): Update.
17116         (dwarf2out_global_decl): New.
17117         * dwarfout.c: Don't include dwarfout.h.
17118         (dwarfout_global_decl, dwarfout_function_decl,
17119         dwarfout_deferred_inline_function): New.
17120         (dwarf_debug_hooks): Update.
17121         * dwarfout.h: Remove.
17122         * final.c: Don't include dwarfout.h.
17123         * sdbout.c (sdbout_global_decl): New.
17124         (sdbout_debug_hooks): Update.
17125         * toplev.c: Don't include dwarfout.h.
17126         (check_global_declarations, rest_of_compilation): Use new debug hooks.
17127         (note_deferral_of_defined_inline_function): Remove.
17128         * toplev.h (note_deferral_of_defined_inline_function): Remove.
17129         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
17130         * ch/lex.c: Don't include dwarfout.h.
17131         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
17132         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
17133         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
17134         * cp/optimize.c: Include debug.h.
17135         (maybe_clone_body): Use debug hook.
17136         * cp/semantics.c: Include debug.h.
17137         (expand_body): Use debug hook.
17138         * po/POTFILES.in: Remove dwarfout.h.
17139
17140 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17141
17142         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
17143         * c-parse.in (yyerror, _yylex): Similarly.
17144         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
17145         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
17146         Update comments.
17147         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
17148         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
17149
17150 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
17151
17152         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
17153         in-class declaration at -g1.  Fixes c++/2814.
17154
17155 2001-07-18  Richard Henderson  <rth@redhat.com>
17156
17157         * doc/md.texi (reload_in/out): Document restrictions in predicates
17158         and constraints for these patterns.  Document empty string matching
17159         ALL_REGS.
17160
17161 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17162
17163         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
17164
17165 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
17166
17167         * cse.c: Undo my previous patch.
17168
17169 2001-07-18  Tom Tromey  <tromey@redhat.com>
17170
17171         For PR java/2812:
17172         * configure: Rebuilt.
17173         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
17174         instead.
17175         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
17176
17177 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
17178                                 Jan Hubicka  <jh@suse.cz>
17179
17180         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
17181         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
17182         * jump.c (mark_jump_label): Do not forward branches.
17183
17184 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
17185
17186         * cse.c (delete_trivially_dead_insns): Delete the libcall block
17187         when return value is unused.
17188
17189 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17190
17191         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
17192
17193 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
17194
17195         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
17196         on error.  We can't blindly return the result of
17197         pthread_mutex_trylock because it returns a positive number on
17198         error, while we must return -1 on error.
17199         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
17200         fixes.
17201         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
17202
17203 2001-07-18  Andreas Jaeger  <aj@suse.de>
17204
17205         * integrate.c (output_inline_function): Correct type of debug_hooks.
17206
17207 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
17208
17209         * combine.c (combine_simplify_rtx): DIV can be treated
17210         associatively for floats if unsafe math optimisations are enabled.
17211
17212 2001-07-17  Richard Henderson  <rth@redhat.com>
17213
17214         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
17215
17216 2001-07-17  Richard Henderson  <rth@redhat.com>
17217
17218         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
17219         don't force the function address into a register.
17220         (expand_call, emit_library_call_value_1): Update callers.
17221         * builtins.c (expand_builtin_apply): Likewise.
17222         * expr.h (prepare_call_address): Update decl.
17223
17224 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
17225
17226         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
17227         config directory.
17228         * config/i386/chorus.h: Move up.
17229         * config/sparc/chorus.h: Likewise.
17230         * config/rs6000/chorus.h: Likewise.
17231         * config/chorus.h: Moved here.
17232
17233 2001-07-17  Andreas Schwab  <schwab@suse.de>
17234
17235         * configure.in  (assembler eh_frame optimization): Handle big
17236         endian.
17237         * configure: Regenerated.
17238
17239 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
17240
17241         * expr.c (epxand_expr): Convert divisions into multiplications by
17242         reciprocals if -ffast-math.
17243
17244 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
17245
17246         * dbxout.c (dbxout_really_begin_function): Rename to
17247         dbxout_begin_function.
17248         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17249         (dbxout_begin_function): Remove.
17250         (dbxout_function): Update.
17251         (dbxout_source_line): Update prototype.
17252         * dbxout.h (dbxout_begin_function): Remove.
17253         * debug.c (do_nothing_debug_hooks): Update.
17254         (debug_nothing_tree): Update.
17255         (debug_nothing_charstar_rtx): Remove.
17256         * debug.h (union tree_node): Declare.
17257         (struct rtx_def): Remove.
17258         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
17259         begin_function.  Change source_line prototype.
17260         (debug_nothing_tree): New.
17261         (debug_nothing_charstar_rtx): Delete.
17262         (dwarf2out_begin_prologue): Moved from ...
17263         * tree.h: ... here.
17264         * dwarf2out.c (dwarf2_debug_hooks): Update.
17265         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
17266         debug info, call dwarf2out_source_line.
17267         (dwarf2out_souce_line): Update prototype.
17268         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
17269         Change prototype, make static.
17270         (dwarfout_source_line): Update prototype.
17271         (dwarf_debug_hooks): Update.
17272         * dwarfout.h (dwarfout_begin_function): Remove.
17273         * final.c (final_start_function, final_scan_insn): Use appropriate
17274         debug hooks, update to use notice_source_line.
17275         (output_source_line): Rename notice_source_line.  Don't call the
17276         source_line debug hook.
17277         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
17278         make static, update prototype.
17279         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
17280         prototype.
17281         (sdbout_end_prologue): New.
17282         (sdbout_source_line): Update prototype.
17283         (sdbout_debug_hooks): Update.
17284         (sdbout_symbol): Remove unused var.
17285         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
17286         Delete.
17287         * varasm.c: Include debug.h.
17288         (assemble_start_function): Use begin_function debug_hook.
17289         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17290         update with prototype.
17291         (xcoffout_source_line): Update prototype.
17292         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17293         update prototype.
17294         (xcoffout_source_line): Update prototype.
17295
17296 2001-07-17  Richard Henderson  <rth@redhat.com>
17297
17298         * c-typeck.c (build_binary_op): Do not shorten unsigned
17299         right shift after sign extension.
17300
17301 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
17302
17303         * combine.c (combine_simplify_rtx): Attempt to simplify
17304         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
17305
17306         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
17307         (simplify_binary_operation, simplify_unary_operation,
17308          simplify_relational_operation): Use it.
17309
17310         * combine.c (combine_simplify_rtx): Don't do associative law
17311         on divisions; allow associative law on floats.
17312
17313 2001-07-17  H.J. Lu <hjl@gnu.org>
17314             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17315
17316         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
17317         ASM_OUTPUT_WEAK_ALIAS are defined.
17318         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
17319         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
17320         Moved ...
17321         * config/mips/iris5.h: ... here.
17322         (HANDLE_SYSV_PRAGMA): Defined as 1.
17323         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
17324         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
17325         symbol.
17326
17327 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
17328
17329         * c-parse.in (all_prefix_attributes): New variable.
17330         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
17331         (maybe_resetattrs): New production.
17332         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
17333         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
17334         notype_initdcl, nested_function, notype_nested_function,
17335         component_decl, components, components_notype,
17336         component_declarator, component_notype_declarator,
17337         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
17338         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
17339         after a comma being applied to more than one declarator.
17340         * doc/extend.texi (Attribute Syntax): Update.  Remove
17341         documentation of bugs that are no longer present.
17342
17343 2001-07-13  Eric Christopher  <echristo@redhat.com>
17344
17345         * config/mips/mips.h: Change TUNE_MIPS* options to use
17346         mips_tune.
17347         (EXTRA_SPECS): Add cc1_cpu_spec.
17348         * config/mips/mips.md (muldf3): Fix typo.
17349
17350 2001-07-16  Richard Henderson  <rth@redhat.com>
17351
17352         * config/m68k/m68k.c: Include expr.h and reload.h.
17353         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
17354         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
17355
17356 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17357             Richard Henderson  <rth@redhat.com>
17358
17359         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
17360         (insn_live_p): Fix fall off end of function.
17361         (dead_libcall_p): Remove COUNTS argument; update callers.
17362         (delete_trivially_dead_insns): Remove unused variables.
17363
17364 2001-07-17  Andreas Jaeger  <aj@suse.de>
17365
17366         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
17367         x86-64 pic support.
17368
17369         * lcm.c (optimize_mode_switching): Avoid warning for unused
17370         variable if !NORMAL_MODE.
17371
17372         * flow.c (try_crossjump_to_edge): Remove unused variable.
17373
17374 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17375
17376         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
17377         atexit declaration in stdlib.h.
17378
17379 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
17380
17381         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
17382
17383 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17384
17385         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
17386         * except.c (finish_eh_generation): Update call of cleanup_cfg;
17387         do rebuild_jump_labels instead of jump_optimize
17388         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
17389         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
17390         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
17391
17392         * flow.c: Include timevar.h
17393         (find_basic_block): Push/pop timevar;
17394         (cleanup_cfg): Likewise.
17395         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
17396         * Makefile: Add dependencies on timevar.h
17397
17398         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
17399         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
17400
17401         * rtl.h (delete_trivially_dead_insns): Add new parameter.
17402         * toplev.c (rest_of_compilation): Update calls.
17403         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
17404         (delete_trivially_dead_insns): ... here; accept new argument
17405         preserve_basic_blocks; preserve basic blocks if set.
17406
17407         * reg-stack.c (stack_regs_mentioned): Return 0 if
17408         stack_regs_mentioned_data is not initialized.
17409         (reg_to_stack): Make stack_regs_mentioned survive after the
17410         reg-stack is completted; do not call cleanup_cfg.
17411         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
17412         make cleanup_cfg after bb-reorder to output to debug file.
17413
17414 2001-07-16  Richard Henderson  <rth@redhat.com>
17415
17416         * regclass.c (init_reg_sets): Use only 32 bits per initializer
17417         from int_reg_class_contents.
17418
17419 2001-07-16  Richard Henderson  <rth@redhat.com>
17420
17421         * hard-reg-set.h (regs_invalidated_by_call): Declare.
17422         * regclass.c (regs_invalidated_by_call): Move from cse.c.
17423         (init_reg_sets_1): Move initialization from cse_main.
17424         * cse.c (regs_invalidated_by_call): Move to regclass.c.
17425         (cse_main): Move its initialization also.
17426         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
17427         * flow.c (propagate_one_insn): Likewise.
17428         * gcse.c (compute_hash_table): Likewise.
17429         (compute_kill_rd, compute_store_table): Likewise.
17430         * sched-deps.c (sched_analyze_1): Likewise.
17431
17432 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
17433
17434         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
17435         gen_rtx_SET.
17436
17437 2001-07-16  Steve Ellcey <sje@cup.hp.com>
17438
17439         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
17440         in if statement so we don't access undefined memory.
17441
17442 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17443
17444         * gcse.c: Update comment at top.
17445         Update comment on mem handling.
17446         mem_last_set, mem_first_set, mem_set_in_block: gone.
17447         Declaration of reg_set_info: gone.
17448         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
17449         pointless with load_killed_in_block_p (they are *more*
17450         conservative then it, not less, and less accurate).
17451         (oprs_not_set_p): Ditto.
17452         (alloc_gcse_mem): Don't allocate mem_set_in_block
17453         (free_gcse_mem): Don't free it, either.
17454         (record_last_mem_set_info): Update comment in front, remove
17455         mem_*set_* stuff. Note the reason we don't handle stores directly
17456         here.
17457         (compute_hash_table): Update comments to reflect reality. Remove
17458         mem_*set_* references.
17459         (reset_opr_set_tables): Remove mem_*set_* references.
17460         (mark_call): Ditto.
17461         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
17462         (mark_clobber): Ditto (on both parts, we double set here too).
17463         (expr_killed_p): Remove mem_set_in_block test.
17464         (compute_transp): Remove mem_set_in_block test.
17465
17466         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
17467         of edge, and removal of phi alternative to dump file.
17468         (ssa_ccp_substitute_constants): Add note about register now being
17469         constant, and which uses were replaced in what insns to dump file.
17470
17471 2001-07-16  Andreas Jaeger  <aj@suse.de>
17472
17473         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
17474         variables of type HOST_WIDEST_INT.
17475
17476         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
17477         (__bb_exit_func): Correct type of count_max to avoid overflow.
17478         (num_digits): Handle long long argument.
17479
17480         * combine.c (gen_lowpart_for_combine): Remove unused variable.
17481
17482 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
17483
17484         * output.h (sdb_begin_function_line): Restore as an extern
17485         variable.
17486         * sdbout.c (sdb_begin_function_line): Make extern.
17487
17488 2001-07-15  Richard Henderson  <rth@redhat.com>
17489
17490         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
17491         * genrecog.c (maybe_both_true_mode): New.
17492         (maybe_both_true_2): Use it.
17493         (write_switch): Don't put Pmode in a switch.
17494         * rtl.c (mode arrays): Don't explicitly size them.
17495
17496 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
17497
17498         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
17499         handling; move unconditional splitting before mode switching.
17500
17501         * i386.md (type): Add fistp type.
17502         (i387, length_attr, scheduling definitions): Handle this type.
17503         (fix_trunc?f?i2): Revamp to use mode switching.
17504         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
17505         * i386.h (fp_cw_mode): New enum
17506         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
17507         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
17508
17509 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17510
17511         * Makefile.in (integrate.o): Add debug.h.
17512         * integrate.c (debug.h): Add.
17513         (output_inline_function): Save, reset, and restore debug_hooks.
17514
17515 2001-07-15  Richard Henderson  <rth@redhat.com>
17516
17517         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
17518         instead of COMPARE for the EQUIV expression.
17519
17520 2001-07-15  Richard Henderson  <rth@redhat.com>
17521
17522         * flow.c (redirect_edge_and_branch_force): Initialize
17523         global_live_at_start and global_live_at_end.
17524         (allocate_bb_life_data): Export.
17525         * basic-block.h (allocate_bb_life_data): Declare.
17526         * toplev.c (rest_of_compilation): Call it.
17527
17528 2001-07-15  Richard Henderson  <rth@redhat.com>
17529
17530         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
17531         (alpha_tablejump_best_label): New.
17532         * config/alpha/alpha-protos.h: Declare them.
17533         * config/alpha/alpha.md: Use braced strings for code blocks.
17534         (tablejump_osf): Break out add with r29.
17535         (tablejump_osf_internal): Remove.
17536         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
17537         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
17538
17539 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
17540
17541         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
17542         of the movable.
17543
17544         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
17545
17546         * i386-protos.h (ix86_split_fp_branch): Update prototype.
17547         (ix86_fp_jump_nontrivial_p): New.
17548         * i386.md (fp_jcc_?): Update call of split_fp_branch;
17549         use ix86_fp_jump_nontrivial_p.
17550         * i386.c (ix86_fp_jump_nontrivial_p): New.
17551         (ix86_split_fp_branch): Accept code instead of rtx.
17552         (ix86_expand_compare): Expand comparison early in case
17553         doing so is resonably cheap.
17554
17555 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
17556
17557         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
17558         not 'machine'.
17559         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
17560         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
17561
17562 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
17563
17564         * dbxout.c (dbxout_source_line): Make static, update prototype.
17565         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
17566         (dbxout_init, dbxout_finish, dbxout_source_line,
17567         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
17568         * dbxout.h (dbxout_source_line): Delete.
17569         * debug.c (debug_nothing_file, debug_nothing_file_int,
17570         debug_nothing_file_charstar_rtx): New.
17571         (do_nothing_debug_hooks): Update.
17572         (debug_nothing_void, debug_nothing_charstar_rtx,
17573         dwarf2out_end_epilogue): New.
17574         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17575         * debug.h (struct rtx_def): Declare.
17576         (gcc_debug_hooks): New hooks source_line, end_epilogue
17577         and end_function.
17578         (debug_nothing_void, debug_nothing_charstar_rtx,
17579         dwarf2out_end_epilogue): New.
17580         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17581         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
17582         (dwarf2_debug_hooks): Update.
17583         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
17584         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
17585         * dwarf2out.h (dwarf2out_source_line): Remove.
17586         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
17587         Make static, update prototype.
17588         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
17589         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
17590         (dwarf_debug_hooks): Update.
17591         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
17592         dwarfout_end_function): Remove.
17593         * final.c (profile_function): Use debug hooks for ending functions
17594         and epilogues.
17595         (output_source_line, final_end_function): Update prototype,
17596         use debug hooks.
17597         (final_start_function, final_scan_insn): Update.
17598         * output.h (sdb_begin_function_line): Remove.
17599         (final_end_function): Update prototype.
17600         * sdbout.c (sdb_begin_function_line): Make static.
17601         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
17602         (sdbout_source_line): New.
17603         (sdbout_end_epilogue, sdbout_end_function): Make static, update
17604         prototypes.
17605         (sdb_debug_hooks): Update.
17606         (sdbout_init, sdbout_source_line,
17607         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
17608         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
17609         * toplev.c (compile_file, rest_of_compilation): Update.
17610         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
17611         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
17612         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
17613         Update for prototype changes.
17614         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
17615         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
17616
17617 2001-07-15  Richard Henderson  <rth@redhat.com>
17618
17619         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
17620         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
17621         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
17622         * config/alpha/alpha.c: Likewise.
17623         * config/alpha/alpha.md: Likewise.
17624         * config/alpha/alpha32.h: Likewise.
17625         * config/alpha/vms.h: Likewise.
17626         (OPEN_VMS): Remove.
17627
17628 2001-07-14  Richard Henderson  <rth@redhat.com>
17629
17630         * config/alpha/alpha.md: Use define_constants for unspec values.
17631         Substitute throughout.
17632
17633 2001-07-14  Tim Josling  <tej@melbpc.org.au>
17634
17635         * tree.def (EXPON_EXPR) remove. Never supported anyway.
17636
17637 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17638
17639         * pa.md: Remove unused constraints from define_split's.
17640
17641 2001-04-14  Richard Henderson  <rth@redhat.com>
17642
17643         * ifcvt.c (find_cond_trap): Test for exit block.
17644
17645 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
17646
17647         Re-install recently reverted patch.
17648         * emit-rtl.c (try_split): Update mark_jump_label call.
17649         * flow.c (find_sub_basic_blocks): Likewise.
17650         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17651         jump_back_p): Kill.
17652         (mark_all_labels): Kill second parameter.
17653         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17654         (rebuild_jump_labels, jump_optimize_minimal): Update call
17655         of jump_optimize_1.
17656         (jump_optimize_1): Kill crossjumping code.
17657         (mark_jump_label): Kill cross_jump parameter.
17658         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17659         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17660         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17661          splitting.
17662         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17663         DFI_bpro.
17664         (dump_file_info): Likewise.
17665         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17666         reorganize passes to do reg-stack first, bb-reorder second.
17667         * invoke.texi (-d letters doc): Remove the jump2 pass.
17668
17669 2001-07-14  Richard Henderson  <rth@redhat.com>
17670
17671         * ifcvt.c (find_cond_trap): New.
17672         (find_if_header): Call it.
17673         (merge_if_block): Relax existing jump sanity check.
17674         * jump.c (jump_optimize_1): Remove conditional trap handling.
17675
17676 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
17677
17678         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
17679         millicode.
17680         (insn_refs_are_delayed): Correct comment.
17681         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
17682         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
17683         instead of r31.  Make associated insn !TARGET_64BIT, and
17684         provide an additional 64-bit insn that clobbers r2.
17685         (divsi3): Likewise.
17686         (udivsi3): Likewise.
17687         (modsi3): Likewise.
17688         (umodsi3): Likewise.
17689
17690 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
17691
17692         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
17693
17694         * flow.c (redirect_edge_and_branch_force, split_edge,
17695         try_crossjump_to_edge): Use set_block_for_new_insns.
17696         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
17697
17698 2001-07-13  H.J. Lu  (hjl@gnu.org)
17699
17700         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
17701         the correct patch.
17702
17703 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17704
17705         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
17706
17707 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
17708
17709         * c-common.c (decl_attributes): Take a pointer to the node to
17710         which attributes are to be attached, and a flags argument.
17711         * c-common.h (enum attribute_flags): New.
17712         (decl_attributes): Update prototype.
17713         * c-decl.c (start_decl, push_parm_decl, finish_struct,
17714         finish_enum, start_function): Update calls to decl_attributes.
17715         * c-parse.in (component_declarator, component_notype_declarator,
17716         label): Update calls to decl_attributes.
17717
17718 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
17719
17720         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
17721         * config/avr/avr.c (legitimate_address_p): Return value changed
17722         from letter to register classes. For better debugging.
17723
17724 2001-07-13  Kazu Hirata  <kazu@hxi.com>
17725
17726         * jump.c (reversed_comparison_code_parts): Fix comment typos.
17727
17728 2001-07-13  H.J. Lu  (hjl@gnu.org)
17729
17730         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
17731
17732 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
17733
17734         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
17735         correctly for shared configurations.
17736         * config/t-libgcc-pic:  New.
17737         * config/{i386,m68k,sparc}/t-openbsd:  New.
17738         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
17739         Support -shared.  Support debugging libraries with -g.
17740         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
17741         frame information does not emit pointer diffs.
17742         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
17743         emit pointer diffs.
17744
17745 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17746
17747         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
17748
17749 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
17750
17751         * combine.c (try_combine): Ensure const_int pow2 is positive.
17752
17753 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
17754
17755         * config.gcc: Add configuration for s/390.
17756         * config/s390/s390.c: New. Subroutines for code generation.
17757         * config/s390/s390.h: New. Definitions for s/390.
17758         * config/s390/s390-protos.h: New. Prototypes.
17759         * config/s390/linux.h: New. Definitions for linux for s/390.
17760         * config/s390/linux64.h: New. Definitions for linux for zSeries.
17761         * config/s390/t-linux: New. Makefile fragment.
17762         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
17763         * config/s390/fixdfdi.h: New. Fix L_fix*di.
17764
17765 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
17766
17767         * emit-rtl.c (try_split): Update mark_jump_label call.
17768         * flow.c (find_sub_basic_blocks): Likewise.
17769         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17770         jump_back_p): Kill.
17771         (mark_all_labels): Kill second parameter.
17772         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17773         (rebuild_jump_labels, jump_optimize_minimal): Update call
17774         of jump_optimize_1.
17775         (jump_optimize_1): Kill crossjumping code.
17776         (mark_jump_label): Kill cross_jump parameter.
17777         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17778         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17779         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17780          splitting.
17781         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17782         DFI_bpro.
17783         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17784         reorganize passes to do reg-stack first, bb-reorder second.
17785         * invoke.texi (-d letters doc): Remove the jump2 pass.
17786
17787 2001-07-12  Steve Ellcey <sje@cup.hp.com>
17788
17789         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
17790
17791 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17792
17793         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
17794         basic blocks.
17795         (verify_flow_info): Make diagnostics prettier.
17796
17797 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
17798
17799         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
17800
17801         * flow.c (outgoing_edges_match): Return early if condition reversal
17802         failed.
17803
17804 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
17805
17806         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
17807         (mips_move_2words): When splitting a move into two instructions,
17808         prefix the second address operand with '%D'.
17809
17810 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
17811
17812         * Makefile.in (final.o): Depend on debug.h.
17813         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
17814         (dbx_debug_hooks): Add new hooks.
17815         (xcoff_debug_hooks): New.
17816         * debug.c (debug_nothing_file_int_int): New.
17817         (do_nothing_debug_hooks): Update.
17818         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
17819         (debug_nothing_file_int_int): New.
17820         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
17821         static, update prototype.
17822         (dwarf2_debug_hooks): Update.
17823         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
17824         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
17825         static, update prototype.
17826         (dwarf_debug_hooks): Update.
17827         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
17828         * final.c: Include debug.h.
17829         (final_scan_insn): Use debug hooks when beginning and ending blocks.
17830         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
17831         static, update prototype.
17832         (sdb_debug_hooks): Update.
17833         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
17834         * toplev.c: Distinguish between xcoff and dbx.
17835
17836         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
17837         Call all debug hooks, not just dwarf ones.
17838
17839 2001-07-11  Timothy Wall  <twall@redhat.com>
17840
17841         * config.gcc: Add configuration for AIX5/IA64.
17842         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
17843         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
17844         support prefix/suffix code.
17845         * config/ia64/t-aix: New.  Makefile fragment.
17846         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
17847
17848 2001-07-11  Kazu Hirata  <kazu@hxi.com>
17849
17850         * recog.c (validate_change): Fix a comment typo.
17851
17852 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
17853
17854         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
17855         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
17856         hooks directly.
17857         * dbxout.c (dbx_debug_hooks): Add new hooks.
17858         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
17859         make static.
17860         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
17861         make static.
17862         * dbxout.h (dbxout_start_new_source_file,
17863         dbxout_resume_previous_source_file): Delete.
17864         * debug.c (do_nothing_debug_hooks): Add new hooks.
17865         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17866         (debug_nothing_int_charstar, debug_nothing_int): New.
17867         * debug.h (gcc_debug_hooks): New hooks define, undef,
17868         start_source_file and end_source_file.
17869         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17870         (debug_nothing_int_charstar, debug_nothing_int): New.
17871         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
17872         the conditionally compiled section.
17873         (dwarf2out_start_source_file, dwarf2out_end_source_file,
17874         dwarf2out_define, dwarf2out_undef): Make static.
17875         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
17876         dwarf2out_define, dwarf2out_undef): Remove.
17877         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
17878         (dwarfout_start_source_file, dwarfout_end_source_file,
17879         dwarfout_define, dwarfout_undef): Make static.
17880         (dwarfout_start_source_file_check,
17881         dwarfout_end_source_file_check): New.
17882         (dwarfout_define, dwarfout_finish): Update.
17883         * dwarfout.h (dwarfout_start_new_source_file,
17884         dwarfout_resume_previous_source_file, dwarfout_define,
17885         dwarfout_undef): Remove.
17886         * sdbout.c (sdb_debug_hooks): Add new hooks.
17887         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
17888         make static.
17889         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
17890         make static, take an arg.
17891         * sdbout.h (sdbout_start_new_source_file,
17892         sdbout_resume_previous_source_file): Delete.
17893         * toplev.c (debug_start_source_file, debug_end_source_file,
17894         debug_define, debug_undef): Delete.
17895         * toplev.h (debug_start_source_file, debug_end_source_file,
17896         debug_define, debug_undef): Delete.
17897
17898         * java/jcf-parse.c: Include debug.h.
17899         (parse_class_file): Update to use debug hooks directly.
17900         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
17901
17902 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17903
17904         * alias.c (set_mem_alias_set): New function.
17905         * rtl.h (set_mem_alias_set): Declare it.
17906         * builtins.c (expand_builtin_return_addr): Call it instead of
17907         using MEM_ALIAS_SET accessor.
17908         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
17909         (get_memory_rtx, expand_builtin_va_arg): Likewise.
17910         (expand_builtin_va_copy):Likewise.
17911         * caller-save.c (setup_save_areas): Likewise.
17912         * calls.c (compute_argument_addresses): Likewise.
17913         * explow.c (set_mem_attributes): Likewise.
17914         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
17915         (expand_assignment, store_constructor_field, store_field): Likewise.
17916         (expand_expr_unaligned): Likewise.
17917         * function.c (assign_stack_temp_for_type): Likewise.
17918         (put_reg_into_stack, gen_mem_addressof): Likewise.
17919         * ifcvt.c (noce_try_cmove_arith): Likewise.
17920         * reload1.c (reload, alter_reg): Likewise.
17921         * config/alpha/alpha.c (get_aligned_mem): Likewise.
17922         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
17923         (alpha_expand_unaligned_store): Likewise
17924         (alpha_expand_unaligned_load_words): Likewise.
17925         (alpha_expand_unaligned_store_words): Likewise.
17926         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
17927         (alpha_expand_epilogue): Likewise.
17928         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
17929         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
17930         * config/i386/i386.c (legitimize_pic_address): Likewise.
17931         * config/i960/i960.c (setup_incoming_varargs): Likewise.
17932         * config/ia64/ia64.c (spill_restore_mem): Likewise.
17933         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
17934         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
17935         * config/mips/mips.c (mips_va_arg): Likewise.
17936         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
17937         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
17938         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
17939         (setup_incoming_varargs, rs6000_va_arg): Likewise.
17940         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
17941         (rs6000_emit_epilogue): Likewise.
17942         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
17943         * config/sparc/sparc.c (sparc_va_arg): Likewise.
17944         * config/v850/v850.c (v850_va_arg): Likewise.
17945
17946 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
17947
17948         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
17949         when fallthru edge is present.
17950         (mege_blocks): Handle case where creation of jump insn
17951         is required.
17952
17953         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
17954         CLEANUP_POST_REGSTACK): New constants.
17955         * except.c (finish_eh_generation): Update call of cleanup_cfg,
17956         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
17957         * output.h (cleanup_cfg): Update prototype.
17958         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
17959         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
17960         cleanup_cfg call; kill missleading comment.
17961         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
17962         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
17963         parameter; control optimizations performed using it.
17964         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
17965         try_crossjump_bb): New functions.
17966
17967 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17968
17969         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
17970         extern.
17971         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
17972         pa_output_function_prologue.
17973         * pa-protos.h (pa_output_function_prologue): New prototype.
17974
17975 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17976
17977         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
17978         and low to get correct sign extension in low+high test.
17979
17980 2001-07-11  Janis Johnson <janis@us.ibm.com>
17981
17982         * gcov.c (arcdata): Use gcov_type to fix branch percentage
17983         for large hit count.
17984
17985         * profile.c (branch_prob): Fix .bbg info for computed gotos
17986         and C++ EH code.
17987
17988 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
17989
17990         * stmt.c (parse_output_constraint): New function, split out
17991         from ...
17992         (expand_asm_operands): ... here.  Use parse_output_constraint.
17993         * tree.h (parse_output_constraint): Declare it.
17994
17995 2001-07-11  Richard Henderson  <rth@redhat.com>
17996
17997         * bitmap.c: Comment some functions; fiddle whitespace.
17998         (bitmap_free): Don't export.
17999         (bitmap_element_allocate): Use memset.
18000         * bitmap.h (bitmap_free): Don't declare.
18001
18002 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
18003
18004         * gcse.c, lcm.c, sched-deps.c:
18005         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
18006
18007         * flow.c (flow_loops_find): Free dom if we found no loops, since
18008         we aren't going to save it.
18009
18010         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
18011         done.
18012
18013 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
18014
18015         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
18016
18017 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18018
18019         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
18020         #ifndef DWARF2_DEBUGGING_INFO.
18021
18022 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18023
18024         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
18025
18026 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18027
18028         * config/mips/mips.c (gen_int_relational): Tell the caller not to
18029         reverse a branch if a NE comparison is implemented with GTU.
18030
18031 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18032             H.J. Lu  <hjl@gnu.org>
18033
18034         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
18035         constant addresses.
18036         (call_internal2): Likewise.
18037         (call_value_internal1): Likewise.
18038         (call_value_internal2): Likewise.
18039         (call_value_multiple_internal1): Likewise.
18040         (call_value_multiple_internal2): Likewise.
18041
18042 2001-07-10  Kazu Hirata  <kazu@hxi.com>
18043
18044         * calls.c (emit_library_call_value_1): Fix a comment typo.
18045         * dwarf2out.c (mem_loc_descriptor): Likewise.
18046         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
18047
18048 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
18049
18050         * simplify-rtx.c (simplify_subreg): Fix typo in comment
18051
18052 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18053
18054         * recog.c (offsettable_address_p): Handle LO_SUM case.
18055         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
18056         instead of plus_constant.
18057
18058 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18059
18060         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
18061         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
18062
18063 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18064
18065         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
18066         adjust_address_nv instead of plus_constant.
18067
18068 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
18069
18070         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
18071         dwarf2out.o): Depend on debug.h, wrap long lines.
18072         * dbxout.c: Include debug.h.
18073         (dbx_debug_hooks): New.
18074         (dbxout_init): Make static, take just 2 args.
18075         (dbxout_finish): Make static.
18076         * dbxout.h (dbxout_init, dbxout_finish): Delete.
18077         * debug.c: New file.
18078         * debug.h: New file.
18079         * dwarf2out.c: Include debug.h.
18080         (dwarf2_debug_hooks): New.
18081         (dwarf2out_init): Make static.
18082         (dwarf2out_finish): Make static, take 2 args.
18083         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
18084         * dwarfout.c: Include debug.h.
18085         (dwarf_debug_hooks): New.
18086         (dwarfout_init): Make static.
18087         (dwarfout_finish): Make static, take 2 args.
18088         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
18089         * sdbout.c: Include debug.h.
18090         (sdb_debug_hooks): New.
18091         (sdbout_init): Make static, take 2 args.
18092         * sdbout.h (sdbout_init): Delete.
18093         * toplev.c: Include debug.h.
18094         (debug_hooks): New.
18095         (compile_file): Set deubg_hooks based on command line options.
18096         Use the hooks unconditionally rather than conditional compilation.
18097
18098 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
18099
18100         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
18101         first_insn_after_basic_block_note instead.
18102
18103         * df.c (df_bb_refs_unlink): #if 0 out for now.
18104
18105 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
18106
18107         * ssa.h: Add prototype for ssa_const_prop
18108         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
18109         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
18110         (ssa_fast_dce): Remove unused variable
18111
18112 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
18113
18114         * diagnostic.c (finish_diagnostic): Rename to
18115         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
18116         calls thourghout.
18117
18118 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
18119
18120         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
18121         .loc support.
18122
18123         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
18124         (dump_file): Only pad the demangled name with spaces if the
18125         mangled name was padded with spaces.
18126
18127 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
18128
18129         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
18130         edge detection.
18131
18132 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18133
18134         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
18135         extraction if no direct load if either EXPAND_CONST_ADDRESS or
18136         EXPAND_INITIALIZER.
18137
18138         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
18139         whether can put offset inside LO_SUM to check mode alignment, not size.
18140
18141 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
18142
18143         * doc/tm.texi (Misc): Fix thinko.
18144
18145 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
18146
18147         * regmove.c (replace_in_call_usage): Fix warnings.
18148         * sched-deps.c (add_dependence): Fix warnings.
18149         * simplify-rtx.c (simplify_subreg): Likewise.
18150         Return NULL_RTX instead of NULL.
18151
18152         * reg-stack.c (emit_swap_insn): Eliminate warnings.
18153         (subst_asm_stack_regs): Likewise.
18154
18155         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
18156         warnings.
18157
18158         * dwarf2out.c (output_call_frame_info): Declare i as int.
18159         (build_abbrev_table): Declare n_alloc as int.
18160         (dwarf2out_finish): Initialize die.
18161         * except.c: Declare sjlj_funcdef_number as unsigned.
18162         (connect_post_landing_pads): Declare j as unsigned.
18163         (convert_to_eh_region_ranges): Initialize call_site.
18164         (output_function_exception_table): Initialize tt_format_size.
18165         * expr.c (move_by_pieces_1): Initialize to1.
18166         (store_constructor): Initialize minelt and maxelt.
18167         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
18168         * function.c (instantiate_decls): Avoid signed/unsigned warning.
18169
18170         * c-decl.c (combine_parm_decls): Unused, remove.
18171         * c-tree.h: Remove prototype for combine_parm_decls.
18172
18173         * reload.c (push_reload): Fix warning.
18174         (regno_clobbered_p): Likewise.
18175         * reload1.c (replace_pseudos_in_call_usage): Likewise.
18176         (reload_combine): Likewise.
18177
18178         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
18179         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
18180         warnings.
18181         * bitmap.c (bitmap_operation): Change user.
18182         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
18183
18184 2001-07-10  Eric Christopher  <echristo@redhat.com>
18185
18186         * config/mips/mips.c (override_options): Fix typo.
18187
18188 2001-07-09  Stan Shebs  <shebs@apple.com>
18189
18190         * target.h (struct gcc_target): New fields init_builtins and
18191         expand_builtin.
18192         * target-def.h (TARGET_INIT_BUILTINS): New macro.
18193         (TARGET_EXPAND_BUILTIN): New macro.
18194         (TARGET_INITIALIZER): Add them.
18195         * builtins.c: Include target.h.
18196         (expand_builtin): Use targetm.expand_builtin.
18197         (default_init_builtins): New function.
18198         (default_expand_builtin): New function.
18199         * expr.h (default_init_builtins): Declare.
18200         (default_expand_builtin): Declare.
18201         * c-common.c (c_common_nodes_and_builtins): Use
18202         targetm.init_builtins.
18203         * defaults.h (MD_INIT_BUILTINS): Remove.
18204         * Makefile.in (builtins.o): Depend on target.h.
18205
18206         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
18207         (TARGET_EXPAND_BUILTIN): Define.
18208         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
18209         (MD_EXPAND_BUILTIN): Remove.
18210
18211         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
18212         (TARGET_EXPAND_BUILTIN): Define.
18213         (c4x_init_builtins): Make endlink arg a local.
18214         (c4x_print_operand): Fix typos in adjust_address usages.
18215         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
18216         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
18217         (MD_EXPAND_BUILTIN): Remove.
18218
18219         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
18220         (TARGET_EXPAND_BUILTIN): Define.
18221         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
18222         (ix86_init_builtins): Call new function only if TARGET_MMX.
18223         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
18224         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
18225         (MD_EXPAND_BUILTIN): Remove.
18226
18227         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
18228         (TARGET_EXPAND_BUILTIN): Define.
18229         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
18230         (MD_EXPAND_BUILTIN): Remove.
18231
18232         * doc/tm.texi: Document these changes.
18233
18234 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
18235
18236         * basic-block.h (tree_node): Forward declare if needed.
18237         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
18238         (BLOCK_HEAD_TREE): Define.
18239         (BLOCK_END_TREE): Define.
18240         (struct loops): Rename field 'tree' to 'tree_root'.
18241         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
18242         'end_tree'.
18243         (flow_loops_tree_build): Rename reference to field 'tree' to
18244         'tree_root'.
18245         (flow_loops_level_compute): Ditto.
18246         * predict.c (estimate_bb_frequencies): Ditto.
18247         * tree.h (struct tree_common): Add field 'aux'.
18248
18249 2001-07-09  Stan Shebs  <shebs@apple.com>
18250
18251         * config/darwin.c (darwin_encode_section_info): Don't mark any
18252         DECL_EXTERNAL node as defined.
18253
18254 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18255
18256         * pa.c (pa_init_machine_status, pa_mark_machine_status,
18257         pa_free_machine_status, hppa_init_pic_save): Delete.
18258         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
18259         (hppa_profile_hook): Use hppa_pic_save_rtx.
18260         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
18261         hppa_init_pic_save): Delete.
18262         (hppa_pic_save_rtx): Declare.
18263         * pa.md (call, call_value, sibcall, sibcall_value,
18264         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
18265
18266 2001-07-09  Kazu Hirata  <kazu@hxi.com>
18267
18268         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
18269         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
18270
18271 2001-07-09  Andreas Jaeger  <aj@suse.de>
18272
18273         * output.h: Add declaration of final_forward_branch_p.
18274
18275         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
18276
18277         * varray.c: Include errors.h for internal_error and trim_filename
18278         declarations.
18279
18280         * Makefile.in (varray.o): Add errors.h.
18281
18282 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
18283
18284         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
18285         * optabs.c (have_add2_insn): Check whether the add insn chosen
18286         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
18287         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
18288
18289 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
18290
18291         * Makefile.in (OBJS): Add ssa-ccp.o
18292         (ssa-ccp.o): Add dependencies.
18293         * toplev.c (DFI_ssa_ccp): New dump file enum.
18294         (dump_file): Add entry for dumping after SSA CCP.
18295         (flag_ssa_ccp): New flag variable.
18296         (f_options): Add -fssa-ccp.
18297         (rest_of_compilation): Run SSA CCP if requested.
18298         * timevar.def (TV_SSA_CCP): New timevar.
18299         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
18300         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
18301         Fix minor typo in SSA DCE documentation.
18302         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
18303         Add documentation for new dump option.  Renumber dump files
18304         appropriately.
18305
18306 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18307
18308         * emit-rtl.c (gen_highpart_mode): New.
18309         * rtl.h (gen_highpart_mode): Declare.
18310         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
18311         operand can be VOIDmode constant.
18312
18313 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
18314
18315         * flow.c (redirect_edge_and_branch_force): New.
18316         (can_fallthru): Ensure that basic blocks are succeeding.
18317         (try_optimize_cfg): Do not delete basic block if it is the last one.
18318
18319         * flow.c (try_redirect_by_replacing_jump): Do not remove
18320         jumps with side effects, unlink chain on fallthru edge;
18321         set block for new jump instruction; avoid basic block to
18322         over by line number note.
18323
18324         * flow.c (try_simplify_condjump): Verify that the condjump
18325         is not always falling through.
18326
18327         Re-install patch:
18328         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18329
18330         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18331         (try_redirect_by_replacing_jump): Update properly the count
18332         and frequency information.
18333
18334 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18335
18336         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
18337         address that is a LO_SUM specially.
18338         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
18339
18340         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
18341
18342         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
18343         (operand_subword): Use them.
18344         (change_address_1): Renamed from change_address; new arg VALIDATE.
18345         * expr.h: Reflect above changes; change_address now macro.
18346         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
18347         making MEM.
18348         * cselib.c (add_mem_for_addr): Likewise.
18349         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
18350         * regmove.c (try_apply_stack_adjustment): Likewise.
18351         * reload.c (push_reload, make_memloc): Likewise.
18352         * reload1.c (eliminate_regs): Likewise.
18353         * simplify-rtx.c (simplify_replace_rtx): Likewise.
18354         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
18355         adjust_addess.
18356         * combine.c (make_extraction, simplify_shift_const): Likewise.
18357         (gen_lowpart_for_combine): Likewise.
18358         * cse.c (gen_lowpart_if_possible): Likewise.
18359         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
18360         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
18361         * optabs.c (gen_move_insn): Likewise.
18362         * reload1.c (alter_reg): Likewise.
18363         * simplify-rtx.c (simplify_subreg): Likewise.
18364         * stmt.c (expand_anon_union_decl): Likewise.
18365         * recog.c (validate_replace_rtx_1): Likewise.
18366         (expr.h): Include.
18367         * Makefile.in (recog.o): Add $(EXPR_H).
18368         * explow.c (stabilize): Call replace_equiv_address.
18369         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
18370         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
18371
18372 2001-07-03  Andrew Haley  <aph@redhat.com>
18373
18374         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
18375         the mode of the memory location.
18376
18377 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
18378
18379         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
18380
18381 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
18382
18383         * final.c (output_addr_const): Use target opening and
18384         closing parentheses.
18385         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
18386         defaults, add to TARGET_ASM_OUT.
18387         * target.h (struct gcc_target): Add open_paren and close_paren.
18388         * doc/md.texi: Update.
18389         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
18390         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
18391         TARGET_ASM_CLOSE_PAREN.
18392         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18393         Override.
18394         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18395         Override.
18396         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
18397         * config/a29k/a29k.h: Similarly.
18398         * config/alpha/alpha.h: Similarly.
18399         * config/arc/arc.h: Similarly.
18400         * config/arm/aof.h: Similarly.
18401         * config/arm/aout.h: Similarly.
18402         * config/avr/avr.h: Similarly.
18403         * config/c4x/c4x.h: Similarly.
18404         * config/clipper/clipper.h: Similarly.
18405         * config/convex/convex.h: Similarly.
18406         * config/d30v/d30v.h: Similarly.
18407         * config/dsp16xx/dsp16xx.h: Similarly.
18408         * config/elxsi/elxsi.h: Similarly.
18409         * config/fr30/fr30.h: Similarly.
18410         * config/h8300/h8300.h: Similarly.
18411         * config/i370/i370.h: Similarly.
18412         * config/i386/i386.h: Similarly.
18413         * config/i860/i860.h: Similarly.
18414         * config/i960/i960.h: Similarly.
18415         * config/ia64/ia64.h: Similarly.
18416         * config/m32r/m32r.h: Similarly.
18417         * config/m68hc11/m68hc11.h: Similarly.
18418         * config/m68k/m68k.h: Similarly.
18419         * config/m88k/m88k.h: Similarly.
18420         * config/mcore/mcore.h: Similarly.
18421         * config/mips/mips.h: Similarly.
18422         * config/mn10200/mn10200.h: Similarly.
18423         * config/mn10300/mn10300.h: Similarly.
18424         * config/ns32k/ns32k.h: Similarly.
18425         * config/pa/pa.h: Similarly.
18426         * config/pdp11/pdp11.h: Similarly.
18427         * config/pj/pj.h: Similarly.
18428         * config/romp/romp.h: Similarly.
18429         * config/rs6000/rs6000.h: Similarly.
18430         * config/sh/sh.h: Similarly.
18431         * config/sparc/sparc.h: Similarly.
18432         * config/v850/v850.h: Similarly.
18433         * config/vax/vax.h: Similarly.
18434         * config/we32k/we32k.h: Similarly.
18435
18436 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
18437
18438         * doc/c-tree.texi: Document representation of attributes.
18439
18440 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18441
18442         * doc/tm.texi: Update some places for the rename of target to
18443         targetm.  Fix typo.
18444
18445 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18446
18447         * target.h (struct gcc_target): Add insert_attributes.
18448         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
18449         (TARGET_INITIALIZER): Update.
18450         * tree.c, tree.h (default_insert_attributes): New function.
18451         Update comments on other default functions to refer to targetm,
18452         not target.
18453         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
18454         TARGET_INSERT_ATTRIBUTES.
18455         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
18456         * c-common.c (decl_attributes): Use targetm.insert_attributes.
18457         Don't use PRAGMA_INSERT_ATTRIBUTES.
18458         * Makefile.in (c-common.o): Depend on $(TARGET_H).
18459         * c-decl.c (start_decl, start_function): Don't call
18460         SET_DEFAULT_DECL_ATTRIBUTES.
18461         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18462         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
18463         declare.
18464         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
18465         (c4x_check_attribute): Avoid modifying attribute list itself.
18466         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
18467         Make static.
18468         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
18469         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
18470         declare.
18471         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
18472         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
18473         Make static.
18474         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18475         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
18476         declare.
18477         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
18478         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
18479         Adjust parameters.  Make static.
18480
18481 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18482
18483         * c-common.c (decl_attributes): Only take a single attributes
18484         parameter.
18485         * c-common.h (decl_attributes): Update prototype.
18486         * c-decl.c (start_decl, start_function): Only take a single
18487         attributes parameter.  Update calls to decl_attributes.
18488         (finish_struct, finish_enum): Update calls to decl_attributes.
18489         (push_parm_decl): Expect unified list of attributes.  Update call
18490         to decl_attributes.
18491         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
18492         notype_nested_function, component_declarator,
18493         component_notype_declarator, label): Update calls to
18494         decl_attributes.
18495         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
18496         lists that are passed to push_parm_decl.
18497         * c-tree.h (start_function, start_decl): Update prototypes.
18498         * config/sh/sh-protos.h, config/sh/sh.c
18499         (sh_pragma_insert_attributes): Only take a single attributes
18500         parameter.
18501         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
18502         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
18503         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
18504         build_module_descriptor, generate_static_references,
18505         generate_strings, build_selector_translation_table,
18506         generate_descriptor_table, generate_protocols,
18507         generate_ivars_list, generate_dispatch_table,
18508         generate_protocol_list, generate_category,
18509         generate_shared_structures, really_start_method, add_objc_decls,
18510         generate_classref_translation_entry): Update calls to start_decl
18511         and start_function.
18512         (build_tmp_function_decl, start_method_def): Unify attribute lists
18513         that are passed to push_parm_decl.
18514
18515 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
18516
18517         * final.c (no_asm_to_stream): New.
18518         (final_scan_insn): Use target structures for prologue ends
18519         and epilogue starts.
18520         * output.h (no_asm_to_stream): New.
18521         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
18522         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
18523         (TARGET_ASM_OUT): Update.
18524         * target.h (struct gcc_target): New members function_end_prologue
18525         and function_begin_epilogue.
18526         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
18527         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
18528         * config/alpha/alpha.c (output_end_prologue): Rename to
18529         alpha_output_function_end_prologue.  Use in target struct
18530         and make static.
18531         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
18532         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
18533         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
18534         ia64_output_function_end_prologue.  Use in target struct
18535         and make static.
18536         (ia64_function_prologue, ia64_funciton_epilogue): Rename
18537         mistyped prototypes.
18538         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
18539         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
18540         Delete.
18541         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
18542         an use in target struct, make static.
18543         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
18544         Delete.
18545
18546 2001-07-08  Richard Henderson  <rth@redhat.com>
18547
18548         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
18549
18550 2001-07-08  Richard Henderson  <rth@redhat.com>
18551
18552         * config/i386/i386.md: Remove constraints strings from define_split
18553         and define_peephole2 patterns.
18554         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
18555         (eh_return): Use them.
18556
18557 2001-07-08  Richard Henderson  <rth@redhat.com>
18558
18559         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
18560         Document MD_FALLBACK_FRAME_STATE_FOR.
18561
18562 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18563
18564         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
18565         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
18566         elimination.
18567         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
18568
18569 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
18570
18571         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
18572         of the label inside NAME as opposed to just the end of NAME.
18573
18574 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
18575
18576         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
18577         * config/alpha/alpha.c (alpha_init_machine_status,
18578         alpha_mark_machine_status, alpha_free_machine_status): Delete.
18579         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
18580         (vms_valid_decl_attribute_p): Make static, conditionally compile.
18581         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
18582
18583 2001-07-06  Stan Shebs  <shebs@apple.com>
18584
18585         * target.h (targetm): Rename global from "target", so as not to
18586         conflict with local variables.
18587         * c-decl.c: Ditto.
18588         * c-typeck.c: Ditto.
18589         * final.c: Ditto.
18590         * tree.c: Ditto.
18591         * cp/decl.c: Ditto.
18592         * cp/decl2.c: Ditto.
18593         * cp/typeck.c: Ditto.
18594         * 1750a/1750a.c: Ditto.
18595         * a29k/a29k.c: Ditto.
18596         * arc/arc.c: Ditto.
18597         * arm/arm.c: Ditto.
18598         * avr/avr.c: Ditto.
18599         * clipper/clipper.c: Ditto.
18600         * convex/convex.c: Ditto.
18601         * d30v/d30v.c: Ditto.
18602         * dsp16xx/dsp16xx.c: Ditto.
18603         * elxsi/elxsi.c: Ditto.
18604         * fr30/fr30.c: Ditto.
18605         * h8300/h8300.c: Ditto.
18606         * i370/i370.c: Ditto.
18607         * i386/i386.c: Ditto.
18608         * i860/i860.c: Ditto.
18609         * i960/i960.c: Ditto.
18610         * ia64/ia64.c: Ditto.
18611         * m32r/m32r.c: Ditto.
18612         * m68hc11/m68hc11.c: Ditto.
18613         * m68k/m68k.c: Ditto.
18614         * m88k/m88k.c: Ditto.
18615         * mips/mips.c: Ditto.
18616         * ns32k/ns32k.c: Ditto.
18617         * pa/pa.c: Ditto.
18618         * pdp11/pdp11.c: Ditto.
18619         * romp/romp.c: Ditto.
18620         * rs6000/rs6000.c: Ditto.
18621         * sh/sh.c: Ditto.
18622         * sparc/sparc.c: Ditto.
18623         * vax/vax.c: Ditto.
18624         * we32k/we32k.c: Ditto.
18625         * doc/tm.texi: Update the manual to match.
18626
18627 2001-07-06  Richard Henderson  <rth@redhat.com>
18628
18629         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
18630         DWARF2_UNWIND_INFO not just whether it is defined.
18631
18632 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
18633
18634         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
18635         call to simplify_binary_operation returns a new pattern.
18636
18637 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18638
18639         * glimits.h (__SHRT_MAX__): New.
18640         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
18641         (SHRT_MAX): Define in terms of __SHRT_MAX__.
18642
18643 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
18644
18645         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
18646         avoid warnings.
18647
18648 2001-07-06  Richard Henderson  <rth@redhat.com>
18649
18650         * bitmap.c (bitmap_release_memory): Move adjacent to the
18651         allocation functions.
18652         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
18653         the implementation.  Binary search for the set bit.
18654         (bitmap_union_of_diff): Allocate the temporary on the stack
18655         instead of using xmalloc.
18656
18657 2001-07-06  Richard Henderson  <rth@redhat.com>
18658
18659         * genrecog.c (validate_pattern): Warn for constraints in
18660         define_{expand,split,peephole2}.  Remove strict_low_part
18661         before looking up match_dup.
18662
18663 2001-07-06  DJ Delorie  <dj@redhat.com>
18664
18665         * doc/gcc.texi (Makefile): Rename to be a more general purpose
18666         chapter about various build hints and history.  Add section
18667         talking about the various types of native and cross builds.
18668
18669 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
18670
18671         * Makefile.in (final.o): Depend on target.h.
18672         * final.c: Include target.h.
18673         (default_function_pro_epilogue): New.
18674         (final_start_function): Use target structure for function prologues.
18675         (final_end_function): Use target structure for function epilogues.
18676         * fold-const.c (real_hex_to_f): Constify s and p.
18677         * output.h (default_function_pro_epilogue): New.
18678         * real.h (real_hex_to_f): Update prototype.
18679         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
18680         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
18681         (TARGET_INITIALIZER): Update.
18682         * target.h (gcc_target): Add struct asm_out.
18683         * doc/tm.texi: Update.
18684
18685 config:
18686         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
18687         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
18688         in cpu/cpu.c, or rename old functions consistently.  Take
18689         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
18690         redundant macros and prototypes.  Make new functions static.
18691
18692         * 1750a/1750a.c: Similarly.
18693         * 1750a/1750a.h: Similarly.
18694         * a29k/a29k-protos.h: Similarly.
18695         * a29k/a29k.c: Similarly.
18696         * a29k/a29k.h: Similarly.
18697         * arc/arc-protos.h: Similarly.
18698         * arc/arc.c: Similarly.
18699         * arc/arc.h: Similarly.
18700         * arm/arm-protos.h: Similarly.
18701         * arm/arm.c: Similarly.
18702         * arm/arm.h: Similarly.
18703         * avr/avr-protos.h: Similarly.
18704         * avr/avr.c: Similarly.
18705         * avr/avr.h: Similarly.
18706         * clipper/clipper-protos.h: Similarly.
18707         * clipper/clipper.c: Similarly.
18708         * clipper/clipper.h: Similarly.
18709         * convex/convex.c: Similarly.
18710         * convex/convex.h: Similarly.
18711         * d30v/d30v-protos.h: Similarly.
18712         * d30v/d30v.c: Similarly.
18713         * d30v/d30v.h: Similarly.
18714         * d30v/d30v.md: Similarly.
18715         * dsp16xx/dsp16xx-protos.h: Similarly.
18716         * dsp16xx/dsp16xx.c: Similarly.
18717         * dsp16xx/dsp16xx.h: Similarly.
18718         * elxsi/elxsi.c: Similarly.
18719         * elxsi/elxsi.h: Similarly.
18720         * fr30/fr30.c: Similarly.
18721         * fr30/fr30.md: Similarly.
18722         * h8300/h8300-protos.h: Similarly.
18723         * h8300/h8300.c: Similarly.
18724         * h8300/h8300.h: Similarly.
18725         * i370/i370-protos.h: Similarly.
18726         * i370/i370.c: Similarly.
18727         * i370/i370.h: Similarly.
18728         * i386/i386.c: Similarly.
18729         * i386/osf1elf.h: Similarly.
18730         * i386/osfrose.h: Similarly.
18731         * i860/i860-protos.h: Similarly.
18732         * i860/i860.c: Similarly.
18733         * i860/i860.h: Similarly.
18734         * i960/i960-protos.h: Similarly.
18735         * i960/i960.c: Similarly.
18736         * i960/i960.h: Similarly.
18737         * ia64/ia64-protos.h: Similarly.
18738         * ia64/ia64.c: Similarly.
18739         * ia64/ia64.h: Similarly.
18740         * m32r/m32r-protos.h: Similarly.
18741         * m32r/m32r.c: Similarly.
18742         * m32r/m32r.h: Similarly.
18743         * m68hc11/m68hc11-protos.h: Similarly.
18744         * m68hc11/m68hc11.c: Similarly.
18745         * m68hc11/m68hc11.h: Similarly.
18746         * m68k/crds.h: Similarly.
18747         * m68k/dpx2.h: Similarly.
18748         * m68k/m68k-protos.h: Similarly.
18749         * m68k/m68k.c: Similarly.
18750         * m68k/m68k.h: Similarly.
18751         * m68k/news.h: Similarly.
18752         * m88k/m88k-protos.h: Similarly.
18753         * m88k/m88k.c: Similarly.
18754         * m88k/m88k.h: Similarly.
18755         * mips/mips-protos.h: Similarly.
18756         * mips/mips.c: Similarly.
18757         * mips/mips.h: Similarly.
18758         * ns32k/merlin.h: Similarly.
18759         * ns32k/ns32k.c: Similarly.
18760         * ns32k/ns32k.h: Similarly.
18761         * ns32k/tek6000.h: Similarly.
18762         * pa/pa-protos.h: Similarly.
18763         * pa/pa.c: Similarly.
18764         * pa/pa.h: Similarly.
18765         * pdp11/2bsd.h: Similarly.
18766         * pdp11/pdp11-protos.h: Similarly.
18767         * pdp11/pdp11.c: Similarly.
18768         * pdp11/pdp11.h: Similarly.
18769         * romp/romp-protos.h: Similarly.
18770         * romp/romp.c: Similarly.
18771         * romp/romp.h: Similarly.
18772         * rs6000/rs6000-protos.h: Similarly.
18773         * rs6000/rs6000.c: Similarly.
18774         * rs6000/rs6000.h: Similarly.
18775         * rs6000/sysv4.h: Similarly.
18776         * sh/sh-protos.h: Similarly.
18777         * sh/sh.c: Similarly.
18778         * sh/sh.h: Similarly.
18779         * sparc/sparc-protos.h: Similarly.
18780         * sparc/sparc.c: Similarly.
18781         * sparc/sparc.h: Similarly.
18782         * vax/vax.c: Similarly.
18783         * vax/vax.h: Similarly.
18784         * vax/vms.h: Similarly.
18785         * we32k/we32k.c: Similarly.
18786         * we32k/we32k.h: Similarly.
18787
18788 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
18789
18790         * basic-block.h (first_insn_after_basic_block_note): Declare.
18791         * flow.c (first_insn_after_basic_block_note): Define.  Moved
18792         from...
18793         * ssa.c (first_insn_after_basic_block_note): Remove.
18794         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
18795         necessary.
18796         (ssa_eliminate_dead_code): Properly update the CFG and PHI
18797         nodes when we find a dead conditional branch.  Insert BARRIERs
18798         after any blocks with no successors, but which do not have
18799         any BARRIERs.
18800
18801 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
18802
18803         * varray.c (varray_check_failed): Use internal_error.
18804
18805 2001-07-05  Andrew Haley  <aph@redhat.com>
18806
18807         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
18808         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
18809         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
18810
18811 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
18812
18813         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
18814         reference if the target constant is also a SYMBOL_REF.
18815
18816 2001-07-05  Eric Christopher  <echristo@redhat.com>
18817
18818         * config/mips/mips.h (MASK_MIPS3900): Remove.
18819         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
18820         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
18821         (TARGET_MIPS3900): Change to use mips_arch.
18822         (TARGET_MIPS4000): New.
18823         (TARGET_MIPS4100): New.
18824         (TARGET_MIPS4300): New.
18825         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
18826         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
18827         for -mipsX.
18828         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
18829         (ISA_HAS_BRANCHLIKELY): To here.
18830         (CC1_CPU_SPEC):  New.
18831         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
18832         (mips_arch_string): Declare.
18833         (mips_arch): Declare.
18834         (TARGET_OPTIONS): Add -march and -mtune.
18835
18836         * config/mips/mips.c (mips_arch_string): New.
18837         (mips_arch): New.
18838         (override_options): Handle -march for codegen and -mtune
18839         for scheduling. Use mips_arch. Move tx39 target default here.
18840         (mips_parse_cpu): Move error message to override_options.
18841
18842         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
18843
18844         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
18845
18846         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
18847         (MIPS Options): Ditto.  Change mcpu entry to historical text.
18848
18849 2001-07-05  H.J. Lu  (hjl@gnu.org)
18850
18851         * config/mips/mips.c (mips_parse_cpu): New function to parse
18852         -march=*/-mcpu=*.
18853
18854 2001-07-05  Jim Wilson  <wilson@redhat.com>
18855
18856         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
18857         * config/ia64/t-ia64: Likewise.
18858         (LIB1ASMFUNCS): Update comment.
18859
18860 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
18861
18862         * doc/install.texi (Install GCC: Binaries): Fix typo.
18863
18864 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18865
18866         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
18867         reference using the stack pointer, adjust it since we push Y
18868         temporarily.
18869         ("*ashrsi3"): Likewise.
18870         ("*lshrsi3"): Likewise.
18871
18872 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18873
18874         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
18875         when -fomit-frame-pointer is used.
18876
18877 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
18878
18879         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
18880         (try_redirect_by_replacing_jump): Reverse updating properly the
18881         count and frequency information.  Reverse removing cc0 setter.
18882         (forwarder_block_p): Reverse fixing for fallthru blocks.
18883
18884 2001-07-05  DJ Delorie  <dj@redhat.com>
18885
18886         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
18887         (translate_options): If the above is defined, use it to map
18888         given options to new options.
18889         * doc/tm.texi: Document it.
18890
18891 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
18892             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18893
18894         * doc/invoke.texi (Optimize Options): Document that -fgcse may
18895         cause programs using computed gotos to run more slowly.
18896
18897 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18898
18899         * doc/install.texi (Specific): Markup, spelling and typo fixes.
18900         Fixed sorting.
18901         Consistently require binutils 2.11.2, not prereleases.
18902         (Specific, decstation-*): Canonicalize as mips-dec-*.
18903         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
18904         always necessary.
18905         (Specific, m68k-altos): Removed reference to README.altos, deleted.
18906         (Specific, mips-*): Reword MIPS C compiler requirements.
18907         (Specific, powerpc*-*-*): New, mention --with-cpu once.
18908         (Specific, sunv5): Removed, obsolete.
18909
18910 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
18911
18912         * dwarf2out.c (output_loc_list): Use an all ones mask for
18913         .text asm output and don't rely on long long
18914         literals. Reformat some long lines.
18915
18916 2001-07-05  Andreas Jaeger  <aj@suse.de>
18917
18918         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
18919         section.
18920
18921 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18922
18923         * dwarf2out.c (dwarf2out_define): Update comment.
18924         (dwarf2out_undef): Ditto.
18925         (dwarf2out_start_source_file): Ditto.
18926         (dwarf2out_end_source_file): Ditto.
18927         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
18928         since we never call the start/end debug hook for the primary file.
18929
18930 2001-07-04  Kazu Hirata  <kazu@hxi.com>
18931
18932         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
18933         from shll.
18934
18935 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18936
18937         * cppinit.c (remove_dup_dirs): Inform if a system include
18938         directory is being reordered.
18939         * doc/invoke.texi (Directory Options): GCC warns if you hide a
18940         system include.
18941         * doc/cpp.texi (Search Paths): Likewise.
18942         * doc/gcc.texi (Interoperation): Remove information about
18943         -I/usr/include.
18944
18945 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18946
18947         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
18948         (VARRAY_TOP_CHAR_PTR): Likewise.
18949
18950 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18951
18952         * gcc.c (process_command): Don't assign elements of a const char*.
18953
18954 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18955
18956         * emit-rtl.c (change_address): Don't abort if invalid address while
18957         reload is in progress.
18958
18959 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18960
18961         * c-lex.c (cb_file_change): Pass line number to
18962         debug_start_source_file.
18963         (cb_undefine): Pass correct line number to debug_undef.
18964
18965         * toplev.c (debug_start_source_file): Add line number to
18966         parameters. Pass it along to dwarf2out_start_source_file.
18967         (decode_g_option): Stop resetting debug level back to normal when
18968         we change debug formats, unless the current level is
18969         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
18970         3).
18971
18972         * toplev.h (debug_start_source_file): Add line number to
18973         parameters.
18974
18975         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
18976         parameters.
18977
18978         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
18979         parameters.
18980         Output debug_macinfo data for starting file if requested.
18981         (dwarf2out_end_source_file): Output debug_macinfo data for ending
18982         file if requested.
18983         (dwarf2out_define): Output debug_macinfo data for defining a macro
18984         if requested.
18985         (dwarf2out_undef): Output debug_macinfo data for undefining a
18986         macro if requested.
18987         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
18988         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
18989         (macinfo_section_label): New. DWARF2 macro info section label.
18990         (dwarf2out_init): If we want macro info, output the start label
18991         for the section.
18992         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
18993         attribute to the compilation unit die pointing to the macro info.
18994
18995 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18996
18997         * dwarf2out.c (new_loc_list): Move to inside #ifdef
18998         DWARF2_DEBUGGING_INFO.
18999         (add_loc_descr_to_loc_list): Ditto.
19000         (output_loc_list): Ditto.
19001         Also, fix thinko in curr not being initialized.
19002         (gen_internal_sym): Ditto.
19003
19004 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19005
19006         * emit-rtl.c (replace_equiv_address): New function.
19007         * expr.h (replace_equiv_address): New declaration.
19008         * explow.c (validize_mem): Call it instead of change_address and
19009         also call if -fforce-addr and address is constant.
19010         * expr.c: Replace more calls to change_address with adjust_address
19011         and/or replace_equiv_address or to validize_mem.
19012         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
19013         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
19014         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
19015         * config/i370/i370.md, config/i860/i860.md: Likewise.
19016         * config/i960/i960.md, config/mips/mips.c: Likewise.
19017         * config/mips/mips.md, config/pa/pa.md: Likewise.
19018         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
19019         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
19020
19021 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19022
19023         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
19024
19025         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
19026         function.
19027
19028 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
19029
19030         * doc/include: New directory.
19031         * doc/fdl.texi: Move to doc/include/fdl.texi.
19032         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
19033         * doc/include/funding.texi, doc/include/gpl.texi: New files.
19034         * doc/gcc.texi: Use funding.texi and gpl.texi.
19035         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
19036         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
19037         Update dependencies and use -I $(docdir)/include.
19038
19039 2001-07-04  Anthony Green  <green@redhat.com>
19040
19041         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
19042
19043 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19044
19045         * doc/install.texi (sparc64-*-*): Remove garbage.
19046
19047 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
19048
19049         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
19050         Fix typo in last change to use adjust_address.
19051
19052 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19053
19054         * doc/install.texi (Specific): Update information for *-*-solaris*.
19055
19056 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19057
19058         * explow.c (plus_constant_wide): Reinitialize Y for restart.
19059
19060 2001-07-03  Stan Shebs  <shebs@apple.com>
19061
19062         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
19063         case for flag_no_mach_text_sections.
19064         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
19065         * config/darwin.c (flag_no_mach_text_sections): Remove.
19066         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
19067
19068 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19069
19070         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
19071         and avoid checking for constant as first operand.
19072         * recog.c (find_constant_term_loc): No longer static.
19073         (adj_offettable_operand): Delete.
19074         * rtl.h (adj_offsettable_operand): Delete declaration.
19075         (find_constant_term): Add declaration.
19076         * caller-save.c: Replace calls to adj_offsettable_operand with calls
19077         to adjust_address.
19078         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
19079         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
19080         * config/i386/i386.c, config/i386/i386.md: Likewise.
19081         * config/i860/i860.c, config/i960/i960.c: Likewise.
19082         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
19083         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
19084         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
19085         * config/mips/mips.c, config/mips/mips.md: Likewise.
19086         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
19087         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
19088         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
19089         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
19090         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
19091         * config/ns32k/ns32k.md: Likewise.
19092
19093 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
19094
19095         * rtl.c (copy_rtx): Handle 'T' format letter.
19096         * gensupport.c (collect_insn_data): Likewise.
19097         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
19098
19099 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
19100
19101         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
19102         -B option.  Use 'dir' not 'foo' as example directory name.
19103
19104 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19105
19106         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
19107         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
19108
19109 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
19110
19111         * doc/cppinternals.texi: Improve formatting and logical markup.
19112
19113 2001-07-03  Andreas Jaeger  <aj@suse.de>
19114
19115         * Makefile.in (insn-recog.o): Add dependency on reload.h.
19116
19117         * genrecog.c (write_header): Include reload.h for prototypes in
19118         insn-recog.c.
19119
19120 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
19121
19122 config:
19123         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
19124         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
19125         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
19126         i386_pe_valid_type_attribute_p): Add.
19127         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
19128         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
19129
19130 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19131
19132         * explow.c (plus_constant_wide, case LO_SUM): New case.
19133         (plus_constant_for_output_wide): Delete.
19134         * rtl.h (plus_constant_for_output): Delete.
19135         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
19136         instead of plus_constant_for_output.
19137         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
19138         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
19139         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
19140         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
19141         * config/sparc/sparc.md: Likewise.
19142         Convert some change_address calls to adjust_address.
19143
19144 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
19145
19146         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
19147         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
19148         documentation of -std and -Wwrite-strings.
19149
19150 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
19151
19152         * cse.c (canon_hash): Don't register registers in very small
19153         register classes, as extending their lifetime might cause
19154         reload to fail.
19155
19156 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
19157
19158         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
19159
19160         * flow.c (forwarder_block_p): Fix for fallthru blocks.
19161         (try_redirect_by_replacing_jump): Update properly the count
19162         and frequency information.
19163
19164 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
19165
19166         * toplev.c (dump_file_index): Move SSA dumps just after first
19167         jump dump.
19168         (dump_file): Corresponding changes.
19169         (rest_of_compilation): Move SSA path to just after the first
19170         jump pass.
19171         * doc/gcc.texi (Passes): Update due to movement of SSA path.
19172         * doc/invoke.texi: Update dump file #s as they were completely
19173         out of date with reality.
19174
19175 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
19176
19177         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
19178
19179         * expr.c (emit_move_insn_1): Deal with non-default
19180         STACK_PUSH_CODE.
19181
19182         * expr.c (emit_single_push_insn): Fix warning.
19183
19184 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
19185
19186         * expr.c (emit_move_insn_1): Avoid modifying
19187         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
19188
19189 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19190
19191         * emit-rtl.c (adjust_address): New function.
19192         * expr.h (adjust_address): Add declaration.
19193         * builtins.c: Replace some calls to change_address with calls to it
19194         or to validize_mem.
19195         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
19196         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
19197         * config/arm/arm.c, config/convex/convex.c: Likewise.
19198         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
19199         * config/i386/i386.c, config/i386/i386.md: Likewise.
19200         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
19201         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
19202         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
19203         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
19204         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
19205
19206 2001-07-02  Jim Wilson  <wilson@redhat.com>
19207
19208         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
19209
19210 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
19211
19212         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
19213         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
19214
19215 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
19216
19217         * cppinit.c (lang_defaults): New table.
19218         (set_lang): Just read from lang_defaults into the live options
19219         structure.
19220
19221 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
19222
19223         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
19224         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
19225         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
19226
19227 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19228
19229         * doc/install.texi: Various spelling and markup fixes.
19230         (Installing GCC): Component specific installation instructions are
19231         gone.
19232         Fix reference.
19233         Warn about removing old install dir in the presence of shared libs.
19234         (Configuration): Invoke with options target to match configure
19235         --help.
19236         Consistently refer to gas, gld pathnames.
19237         Invert --enable-multilib documentation.
19238         Remove references to old compiler versions.
19239
19240 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19241
19242         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
19243
19244 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19245
19246         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
19247         section.
19248         (Specific, mips*-sgi-irix5): Note IDO download.
19249         Reworded MIPS C hints.
19250         Use GNU as instead of GAS.
19251         Markup fixes.
19252         Removed SGI Freeware reference, IRIX 6 only.
19253         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
19254         Note N64 library requirement/workaround.
19255         Update O32 hints.
19256         Complete list of structure passing bug victims.
19257
19258 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19259
19260         * doc/install.texi: Remove CVS Id.
19261
19262 2001-07-02  Andreas Jaeger  <aj@suse.de>
19263
19264         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
19265         (find_inherently_necessary): Remove unused variable.
19266
19267 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
19268
19269         * c-common.h (TDI_inlined): New ast dump phase.
19270         (dump_flag_name): New function.
19271         * c-dump.c (dump_files): Add inlined phase.
19272         (dump_flag_name): Define.
19273         * doc/invoke.texi (-fdump-ast-inlined): Document.
19274
19275 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19276
19277         * stor-layout.c (layout_decl): Revert change to handling of alignment
19278         in packed types.
19279
19280 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19281
19282         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
19283         for FIELD_DECL.
19284
19285 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
19286
19287         * doc/tm.texi (FUNCTION_ARG): Document that the last call
19288         is special.
19289
19290 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
19291
19292         * tlink.c (recompile_files): Remove COMPILER_PATH and
19293         LIBRARY_PATH from the environment.
19294
19295 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
19296
19297         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
19298         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
19299         enumerators.
19300         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
19301
19302         * c-parse.in (OBJC_STRING): Kill.
19303         (objc_string): Decompose to [objc_string] '@' STRING.
19304         (reswords): Take the leading '@' off all the Objective C keywords.
19305         (objc_rid_sans_at): Kill.
19306         (init_reswords): Don't initialize it.
19307         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
19308         (_yylex): Kill reconsider label.  Look ahead one token after
19309         an '@'; if we get an identifier, check whether it's an
19310         Objective C @-keyword.  If so, return the keyword.  Otherwise,
19311         put back the token and return the '@' as a terminal.
19312
19313         * cpplib.c (lex_macro_node): Remove unnecessary check for
19314         leading '@' on identifier.  Clarify control flow and commentary.
19315
19316 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19317
19318         * cse.c (new_label_ref): Variable deleted.
19319         (insert): Remove set of new_label_ref.
19320         (check_for_label_ref): New function.
19321         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
19322
19323 See ChangeLog.5 for earlier changes.