config.gcc (ia64-*-*): Set extra_headers.
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2
3         * config.gcc (ia64-*-*): Set extra_headers.
4         (alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
5         * config/alpha/t-osf: Remove.
6         * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
7
8 2002-01-02  David Edelsohn  <edelsohn@gnu.org>
9
10         * config/rs6000/t-aix43: Revert previous change.
11
12 2002-01-02  Jason Merrill  <jason@redhat.com>
13
14         * c-decl.c (c_expand_body): Call outlining_inline_function when
15         emitting an inline function out of line.
16
17 2002-01-02  Richard Henderson  <rth@redhat.com>
18
19         * dwarf2out.c (limbo_die_node): Add created_for member.
20         (new_die): New argument created_for.  Update all callers.
21         (mark_limbo_die_list): New.
22         (dwarf2out_init): Register limbo_die_list as a root.
23         (dwarf2out_finish): Force insert limbo dies into their function
24         context.
25
26 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
27
28         PR c++/5089
29         * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
30
31 2002-01-02  Kazu Hirata  <kazu@hxi.com>
32
33         * config/h8300/fixunssfsi.c: Update copyright.
34         Fix comment typos.
35         Fix formatting.
36         * config/h8300/h8300.c: Update copyright.
37         Eliminate warnings.
38
39 2002-01-02  Kazu Hirata  <kazu@hxi.com>
40
41         * config/romp/romp.c: Fix comment formatting.
42         * config/romp/romp.h: Likewise.
43         * config/romp/romp.md: Likewise.
44         * config/s390/s390.c: Likewise.
45         * config/stormy16/stormy16.c: Likewise.
46         * config/stormy16/stormy16.h: Likewise.
47
48 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
49
50         * c-common.h (genrtl_expr_stmt_value): Declare.
51         * c-semantics.c (genrtl_goto_stmt): Redirect to...
52         (genrtl_goto_stmt_value): ... this new function.  Pass new
53         argument down to expand_expr_stmt_value, taking
54         TREE_ADDRESSABLE into account.
55         * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
56         STMT_EXPR as addressable, i.e., one whose result we want.
57         * expr.c (expand_expr): Don't save expression statement value
58         of labeled_blocks or loop_exprs.
59         * stmt.c (expand_expr_stmt): Redirect to...
60         (expand_expr_stmt_value): ... this new function.  Use new
61         argument to tell whether to save expression value.
62         (expand_end_stmt_expr): Reset last_expr_type and
63         last_expr_value if we don't have either.
64         * tree-inline.c (declare_return_variable): Mark its use
65         statement as addressable.
66         * tree.h: Document new use of TREE_ADDRESSABLE.
67         (expand_expr_stmt_value): Declare.
68
69 2002-01-01  Tom Rix  <trix@redhat.com>
70
71         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
72         rs6000_emit_allocate_stack.
73
74 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
75
76         * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
77         ${srcdir}/ginclude/ to every entry in extra_headers.
78         * configure: Regenerate.
79         * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
80         * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
81         * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
82         * ginclude/proto.h: Rename to config/convex/proto.h.
83
84 Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
85
86         * attribs.c (handle_vector_size_attribute): Use host_integerp
87         and tree_int_cst; remove warnings.
88         * caller-save.c (insert_restore): Add cast to get rid of warning.
89         (insert_save): Likewise.
90         * emit-rtl.c (adjust_address_1, offset_address): Likewise.
91         * regmove.c (find_matches): Add temporary var to kill a warning.
92
93 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
94
95         * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
96         LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
97         * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
98         (vms-dwarf2eh.o): Add Makefile rule.
99         * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
100         * config/alpha/vms-dwarf2eh.asm: New file.
101
102         * gcc.c (delete_if_ordinary): Delete all versions.
103
104 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
105
106         * config/mmix/mmix.md: Update FIXME to not mention
107         define_constants.
108         (MMIX_rJ_REGNUM): New define_constants constant.
109         ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
110         "*movdicc_real"): Adjust contraints formatting.
111         ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
112         for branch prediction.
113         ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
114         output template.
115         ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
116         "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
117         number.  Delete related FIXMEs.
118         * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
119         from number to MMIX_rJ_REGNUM.
120         (TARGET_MASK_BRANCH_PREDICT): New.
121         (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
122         (TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
123         value.  Add -mbranch-predict and -mno-branch-predict.
124         (TARGET_VERSION): Drop date.
125         (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
126         * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
127         for finding out global symbols.
128         (mmix_asm_output_labelref): Revert condition for global symbol.
129         (mmix_print_operand): <case '+'>: Emit P for a likely branch.
130         (mmix_print_operand_punct_valid_p): A '+' is valid.
131
132 2001-12-31  Richard Henderson  <rth@redhat.com>
133
134         * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS.
135
136 2001-12-31  Richard Henderson  <rth@redhat.com>
137
138         * regrename.c (build_def_use): Don't rename asm operands that
139         were originally hard registers. 
140         (copyprop_hardreg_forward_1): Likewise.
141         (find_oldest_value_reg): Copy ORIGINAL_REGNO from source.
142         * varasm.c (make_decl_rtl): Use gen_rtx_raw_REG.  Set ORIGINAL_REGNO.
143
144 2001-12-31  Douglas B Rupp  <rupp@gnat.com>
145
146         * config/alpha/vms.h (HAS_INIT_SECTION, NEED_ATEXIT): Remove.
147         (NAME__MAIN, SYMBOL__MAIN): Define.
148
149 2001-12-31  Richard Henderson  <rth@redhat.com>
150
151         * cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL
152         before decrementing LABEL_NUSES from a jump table.
153
154         * final.c (alter_subreg): Assign REGNO after changing the rtx code.
155
156         * config/alpha/alpha.c (reg_no_subreg_operand): Reject all
157         non-registers.
158
159 2001-12-31  Graham Stott  <grahams@redhat.com>
160
161         * halfpic.h: Remove foward defs of tree_node and rtx_def.
162
163         * toplev.h: Remove forward def of tree_node, rtx_def.
164
165         * except.h: Remove forward def of tree_node, rtx_def and
166         define of tree, rtx. Also remove undefs.
167
168         * basic-block.h: Remove forward def of tree_node and
169         define of tree.
170
171 2001-12-30  Richard Henderson  <rth@redhat.com>
172
173         * cfglayout.c (scope_def, scope_forest_info, forest,
174         relate_bbs_with_scopes, make_new_scope, build_scope_forest,
175         remove_scope_notes, insert_intra_before_1, insert_intra_1,
176         insert_intra_bb_scope_notes, insert_inter_bb_scope_notes,
177         rebuild_scope_notes, free_scope_forest_1, dump_scope_forest,
178         dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove.
179         (fixup_reorder_chain): Don't set scope for bb.
180         (insn_scopes, scope_to_insns_initialize, set_block_levels,
181         change_scope, scope_to_insns_finalize): New.
182         (cfg_layout_initialize, cfg_layout_finalize): Update to match.
183         * cfglayout.h (scope_def, scope): Remove.
184         (reorder_block_def): Remove scope member.
185         (scope_to_insns_initialize, scope_to_insns_finalize): Declare.
186         * haifa-sched.c: Revert reemit_other_notes change.
187         * sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes.
188         Use scope_to_insns_initialize and scope_to_insns_finalize.
189         * sched-rgn.c (schedule_insns): Likewise.
190
191 2001-12-31  Graham Stott  <grahams@redhat.com>
192
193         * c-lex.c: Include tree.h before expr.h
194
195         * c-typeck.c: Include rtl.h earlier.
196
197         * tree.h (STRIP_NOPS): Remove extraneous semicolon.
198         (STRIP_SIGN_NOPS): Likewise.
199         (STRIP_TYPE_NOPS): Likewise.
200         (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): Add Parenthesis around
201         macro paramater.
202
203         * final.c (struct bb_list): Delete.
204         (struct bb_str): Likewise.
205
206        * cfgloop.c (flow_loop_entry_edges_find): Fix typo.
207         (flow_loop_exit_edges_find): Likewise.
208
209         * gcse.c (gcse_main): Fix typos.
210         (alloc_gcse_mem): Likewise.
211
212         * function.h: Remove undefs for rtx and tree.
213
214 2001-12-30  Richard Henderson  <rth@redhat.com>
215
216         * loop.c (check_dbra_loop): Fix last change: examine both
217         has_multiple_exit_targets and exit_count.
218
219 2001-12-30  Richard Henderson  <rth@redhat.com>
220
221         * integrate.c (copy_rtx_and_substitute): Fix error last change:
222         we need to unconditionally create a new mem.
223
224 2001-12-30  Hans-Peter Nilsson  <hp@bitrange.com>
225
226         * config/mmix/mmix.md ("*call_real"): Fix typo in comment.
227         * config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT
228         to mmix_extra_constraint.
229         * config/mmix/mmix.c (mmix_secondary_reload_class): Only handle
230         non-global register classes.  Mark now unused parameters as such.
231         (mmix_extra_constraint, 'U'): Use new parameter strict and call
232         calling memory_operand_p or strict_memory_address_p, not
233         address_operand.
234         * config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter.
235
236 2001-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
237
238         * unroll.c: Move include files above first use of `const'.
239
240 2001-12-30  Jakub Jelinek  <jakub@redhat.com>
241
242         * cfgrtl.c (try_redirect_by_replacing_jump): Allow redirect_jump
243         to fail if target is EXIT_BLOCK_PTR, die otherwise.
244         (redirect_edge_and_branch): Likewise.
245         * cfgcleanup.c (try_forward_edge): Don't force jump redirecting
246         if target is EXIT_BLOCK_PTR.
247
248 2001-12-29  David Edelsohn  <edelsohn@gnu.org>
249
250         * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
251         gcc invoked with -shared.
252
253 2001-12-29  Graham Stott  <grahams@redhat.com>
254
255         * config/i386/i386.c (ix86_asm_dialect): Fix enum type.
256
257         (override_options): Delete abs macro unused. 
258
259         (output_pic_addr_const): Use ASM_ATT/ASM_INTEL enumerations
260         when testing ASSEMBLER_DIALECT.
261
262         (print_reg): Likewise.
263         (print_operand): Likewise.
264         (print_operand_address): Likewise.
265         (print_operand): abort if ASSEMBLER_DIALECT is unknown dialect.
266
267         * config/i386/i386.h (ix86_asm_dialect): Fix enum type.
268
269         (FIND_BASE_TERM): Fix typo.
270
271 Sat Dec 29 15:48:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
272
273         * expr.c (store_field): Use adjust_address, not PUT_MODE.
274         (expand_expr, case VIEW_CONVERT_EXPR): Likewise.
275         * reload1.c (eliminate_regs, case SUBREG): Likewise, but use
276         adjust_address_nv.
277         * varasm.c (make_decl_rtl): Likewise.
278         * integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use
279         replace_equiv_address_nv.
280
281         * varasm.c (decode_addr_const, case INTEGER_CST): Call
282         output_constant_def instead of looking at TREE_CST_RTL.
283
284         * expr.c (convert_move): If -fforce-mem, force FROM to not be memory.
285
286         * stor-layout.c (layout_decl): Don't misalign field of variable size
287         for packed record.
288
289         * dwarf2out.c (compute_section_prefix): Avoid cast warning.
290         (gen_decl_die): Only check DECL_IGNORED_P on decls.
291         (dwarf2out_decl): Check for DECL_IGNORED_P only when needed.
292
293 2001-12-29  Jakub Jelinek  <jakub@redhat.com>
294
295         * cfglayout.c (insert_intra_before_1): New.
296         (insert_inter_bb_scope_notes): Emit sibling block notes which don't
297         span multiple basic blocks.
298
299 2001-12-29  Richard Henderson  <rth@redhat.com>
300
301         * loop.c (prescan_loop): Set has_multiple_exit_targets for exception
302         edges.  Rearrange jump interpretation code to use pc_set.
303         (check_dbra_loop): Examine has_multiple_exit_targets not exit_count.
304
305         * sched-deps.c (sched_analyze_insn): Set scheduling barrier for
306         all insns that can throw, not just if flag_non_call_exceptions.
307
308 2001-12-29  Stan Shebs  <shebs@apple.com>
309
310         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove.
311         (default_constant_string_class_name): New global.
312         (objc_init): Set it.
313         (synth_module_prologue): Use it.
314
315         * objc/objc-act.c: Apply various cosmetic and formatting changes.
316
317 2001-12-29  Kazu Hirata  <kazu@hxi.com>
318
319         * config/rs6000/darwin-tramp.asm: Fix comment formatting.
320         * config/rs6000/freebsd.h: Likewise.
321         * config/rs6000/rs6000.c: Likewise.
322         * config/sh/sh.c: Likewise.
323         * config/sh/sh.h: Likewise.
324
325 2001-12-28  Stan Shebs  <shebs@apple.com>
326
327         * objc/objc-act.c (build_module_descriptor): Make sure the init
328         function is not deferred.
329         (build_dispatch_table_initializer): Compute the method encoding if
330         not already done.
331
332 2001-12-28  Kazu Hirata  <kazu@hxi.com>
333
334         * doc/md.texi: Add @findex define_insn_and_split.
335
336 2001-12-28  Hans Bohem  <hans_boehm@hp.com>
337
338         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
339         * config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp,
340         bsp setup.  Set pri_unat_loc to something reasonable.
341         (uw_install_context): Add missing cast.
342         (unw_access_gr): Fix off-by-1 indexing error.
343
344 2001-12-28  Kazu Hirata  <kazu@hxi.com>
345
346         * except.c: Fix comment formatting.
347         * flags.h: Likewise.
348         * flow.c: Likewise.
349         * predict.c: Likewise.
350         * simplify-rtx.c: Likewise.
351         * system.h: Likewise.
352         * vmsdbg.h: Likewise.
353         * vmsdbgout.c: Likewise.
354
355 2001-12-28  Kazu Hirata  <kazu@hxi.com>
356
357         * config/h8300/h8300.md: Fix formatting.
358
359 2001-12-28  Geoff Keating  <geoffk@redhat.com>
360
361         * varasm.c (record_constant_1): Correct parameter to recursive
362         call in default case.
363
364 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
365
366         * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT,
367         ASM_OUTPUT_DWARF_PCREL): Define.
368         * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
369         * configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports
370         .uaword %r_disp32() and linker handles it correctly.
371         * configure, config.in: Rebuilt.
372
373 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
374
375         * c-typeck.c (store_init_value): If initializing object with array
376         type of unknown size by a compound literal, set object's size from
377         compound literal size.
378         * doc/extend.texi (Compound Literals): Adjust documentation.
379
380 2001-12-28  Richard Henderson  <rth@redhat.com>
381
382         * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
383         (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
384         (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
385         * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
386         INTEL_EXTENDED_IEEE_FORMAT.
387
388 2001-12-27  Geoff Keating  <geoffk@redhat.com>
389
390         * combine.c (try_combine): Mask off sign bits when combining
391         stores to the low and high parts of a two-word value.
392
393         * expr.c (expand_expr): Don't mark memory for non-constants as
394         constant.
395
396 Thu Dec 27 20:39:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
397
398         * integrate.c (copy_rtx_and_substitute, case MEM): If inlining
399         and not for LHS, clear RTX_UNCHANGING_P.
400
401 2001-12-28  Philipp Thomas  <pthomas@suse.de>
402
403         * cppfiles.c (stack_include_file): Don't translate <stdin>.
404
405 2001-12-27  Roger Sayle <roger@eyesopen.com>
406
407         * builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
408         when all arguments are known constant.  Fixes PR opt/3508.
409
410 2001-12-27  Kazu Hirata  <kazu@hxi.com>
411
412         * config/h8300/h8300.md (two anonymous patterns): Remove.
413
414 2001-12-27  Richard Henderson  <rth@redhat.com>
415
416         * haifa-sched.c (reemit_other_notes): New.
417         (schedule_block): Use it.
418         * sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
419         * sched-rgn.c (schedule_insns): Likewise.
420         * cfglayout.c (remove_scope_notes): Handle removing note at
421         the end of the insn chain.
422         * function.c (debug_find_var_in_block_tree): New.
423
424 2001-12-27  Alan Modra  <amodra@bigpond.net.au>
425             David Edelsohn  <edelsohn@gnu.org>
426
427         * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
428
429 2001-12-27  Jakub Jelinek  <jakub@redhat.com>
430
431         * toplev.c (independent_decode_option): Re-add -aux-info option
432         handling.
433
434 Thu Dec 27 09:50:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
435
436         * integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
437         if special value.
438
439 2001-12-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
440
441         * collect2.c (is_ctor_dtor): Const-ify.
442         * m88k-protos.h (output_file_start): Likewise.
443         * m88k.c (m88k_lang_independent_options, output_options,
444         output_file_start): Likewise.
445         * fix-header.c (files_to_ignore, std_include_entry, include_entry,
446         std_include_table, main): Likewise.
447         * protoize.c (longopts): Likewise.
448         * regclass.c (int_reg_class_contents): Likewise.
449         * toplev.c (dump_file, f_options, W_options): Make static.
450         (lang_independent_options, f_options, W_options): Const-ify.
451         * tree-dump.c (dump_file_info): Likewise.
452         * unroll.c (_factor): Make static.
453
454 Wed Dec 26 17:55:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
455
456         * config/alpha/alpha.c (alpha_align_insns): Remove warning.
457
458         * config/sparc/sparc.md (call struct patterns): Show starting
459         at two words long.
460
461 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
462
463         * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
464         * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
465
466 2001-12-26  DJ Delorie  <dj@redhat.com>
467
468         * function.c (expand_main_function): Make sure stack adjustments
469         happen before sjlj exception setup.
470
471 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
472
473         * rs6000.md (indirect_jump): Prefer CTR over LR.
474         * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
475
476 Tue Dec 25 12:04:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
477
478         * dwarf2out.c: Reformatting and minor code rearrangement.
479
480 2001-12-24  Douglas B. Rupp (rupp@gnat.com)
481
482         * configure.in (quoted_stage_prefix_set_by_configure): Generate.
483         * configure: Regenerated.
484         * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
485         quoted_stage_prefix_set_by_configure.
486
487 Mon Dec 24 10:24:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
488
489         * rtl.h (in_expr_list_p): New declaration.
490         * rtlanal.c (in_expr_list_p): New function.
491         * cfgcleanup.c: Reformatting and minor code rearrangement.
492         * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
493
494 2001-12-23  Richard Henderson  <rth@redhat.com>
495
496         PR c/5163:
497         * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
498         we have a function body associated.  Minor cleanups.
499         (grokdeclarator): Do not set DECL_INLINE without a function body.
500
501 2001-12-23  Richard Henderson  <rth@redhat.com>
502
503         * stmt.c (resolve_operand_names): Handle operand modifiers.
504
505 2001-12-23  Richard Henderson  <rth@redhat.com>
506
507         * stmt.c (parse_input_constraint): Break out from ...
508         (expand_asm_operands): ... here.  Loop over the operands twice,
509         the first time only calling mark_addressable.  Correct and simplify
510         the conditions for spilling an output operand to memory.
511
512 2001-12-23  Richard Henderson  <rth@redhat.com>
513
514         * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
515
516         * config/alpha/alpha.md (UNSPEC_SIBCALL): New.
517         (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
518         (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
519
520 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
521
522         * c-typeck.c (c_start_case): Don't strip conversions from the
523         controlling expression.  Partially fixes PR c/2454.
524
525 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
526
527         * Makefile.in (USER_H): Remove proto.h.
528         * config.gcc (c*-convex-*): Set extra_headers=proto.h.
529
530 2001-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
531
532         * arc.c (arc_hard_regno_mode_ok): Const-ify.
533         * arc.h (arc_hard_regno_mode_ok): Likewise.
534         * i386.c (x86_64_reg_class_name): Make static.
535         * m68k.c (regno_reg_class): Const-ify.
536         * m68k.h (regno_reg_class): Likewise.
537         * mcore.c (reg_class_from_letter): Likewise.
538         * mcore.h (reg_class_from_letter): Likewise.
539         * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
540         ext_shift_insns, ext_shift_amounts): Likewise.
541         * sh.h (reg_class_from_letter): Likewise.
542         * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
543         hard_64bit_mode_classes): Likewise.
544         * sparc.h (hard_regno_mode_classes): Likewise.
545
546         * gcc.c (modify_target): Make static.
547         * gengenrtl.c (defs, formats): Likewise.
548         * reload1.c (elim_table_1, init_elim_table): Const-ify.
549         * tradcpp.c (directive, directive_table, handle_directive,
550         skip_if_group, run_directive): Likewise.
551
552 2001-12-23  Richard Henderson  <rth@redhat.com>
553
554         * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
555         an invalid result register; do end the sequence properly.
556         (emit_library_call_value_1): Likewise.
557
558 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
559
560         * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
561
562         * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
563
564         * config/rs6000/rs6000.c: Clean up some spacing and indentation.
565         (altivec_init_builtins): Add tree types for builtins with 4 bit
566         literals.
567         (bdesc_3arg): Add vsldoi variants.
568
569 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
570
571         * 1750a.h (datalbl, jmplbl): Declare array size explicitly.
572         * a29k.h (a29k_debug_reg_map): Likewise.
573         * arc.h (arc_regno_reg_class): Likewise.
574         * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
575         * convex.h (regno_reg_class, reg_class_from_letter): Likewise.
576         * d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
577         * i386.h (regclass_map): Likewise.
578         * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
579         * mcore.h (regno_reg_class): Likewise.
580         * mips.h (mips_print_operand_punct, mips_char_to_class):
581         Likewise.
582         * ns32k.h (regclass_map): Likewise.
583         * pj.h (pj_debugreg_renumber_vec): Likewise.
584         * s390.h (regclass_map): Likewise.
585         * sh.h (regno_reg_class): Likewise.
586         * sparc.h (sparc_regno_reg_class): Likewise.
587
588         * hard-reg-set.h (reg_class_contents): Likewise.
589         * machmode.h (class_narrowest_mode): Likewise.
590
591 2001-12-22  David Edelsohn  <edelsohn@gnu.org>
592
593         * loop.c (scan_loop, move_movables, count_one_set): Do not
594         overlook hard registers when computing statistics.
595
596 Sun Dec 23 00:49:37 CET 2001  Jan Hubicka  <jh@suse.cz>
597
598         * calls.c (ECF_LIBCALL_BLOCK): New constant.
599         (emit_call_1, initialize_argument_information,
600         precompute_arguments, expand_call,
601         emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
602         instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
603
604 2001-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
605
606         * config.gcc (extra_headers): Move settings to math-68881.h and
607         ppc-asm.h to common code for CPU types.  Use math-68881.h on all
608         m68k targets.
609         (header_files): Remove unused setting.
610
611 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
612
613         * elxsi.c: Include "hard-reg-set.h" and/or don't declare
614         `call_used_regs' explicitly.
615         * i860.c: Likewise.
616         * m68k.c: Likewise.
617         * ns32k.c: Likewise.
618         * pa.c: Likewise.
619         * vax.c: Likewise.
620         * we32k.c: Likewise.
621
622 Fri Dec 21 23:30:14 CET 2001  Jan Hubicka  <jh@suse.cz>
623
624         * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
625         (TARGET_CPU_DEFAULT_*): Renumber.
626
627 Sat Dec 22 12:20:20 EST 2001  John Wehle  (john@feith.com)
628
629         * rtl.h (subreg_lsb): Declare.
630         * rtlanal.c (subreg_lsb): Implement.
631
632 Sat Dec 22 08:59:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
633
634         * predict.c: Reformatting and minor cleanups.
635         * cfg.c, cfganal.c, cfgbuild.c: Likewise.
636
637         * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
638         SAVE_EXPR.
639         * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
640         (put_addressof_into_stack): Clarify code in setting of used_p.
641
642         * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
643         (expand_call): Delete from here.
644         Do pending stack adjustments if ECF_SP_DEPRESSED.
645
646         * dwarf2out.c (save_rtx): Deleted.
647         (mem_loc_descriptor): Do equivalent operation.
648         (add_const_value_attribute, case CONST): Likewise.
649         (add_name_and_src_coords_attributes): Likewise.
650
651 2001-12-21  Kazu Hirata  <kazu@hxi.com>
652
653         * config/h8300/h8300.h: Fix comment formatting.
654
655 Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
656
657         * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
658         (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
659
660 2001-12-21  Robert Lipe  <robertlipe@usa.net>
661
662          * system.h (PREFETCH): Explictly undefine.
663
664 2001-12-21  Richard Henderson  <rth@redhat.com>
665
666         * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
667         (RESTORE_WARN_FLAGS): Restore it.
668         (extension): Zero warn_traditional.
669
670 2001-12-21  Kazu Hirata  <kazu@hxi.com>
671
672         * doc/passes.texi: Fix a typo.
673
674 2001-12-21  Kazu Hirata  <kazu@hxi.com>
675
676         * config/h8300/h8300.h: Fix a comment typo.
677
678 2001-12-21  Jakub Jelinek  <jakub@redhat.com>
679
680         * combine.c (nonzero_bits): If using reg_nonzero_bits,
681         we don't know anything about bits outside of X mode.
682         (num_sign_bit_copies): Likewise.
683
684 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
685
686         * config/arm/arm.md (prefetch): Use 'a' operand code.
687
688 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
689
690         * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
691         subshells.
692         * configure.in: Likewise for perl Pod::Man.
693
694         * configure: Regenerated.
695
696 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
697
698         * builtin-attrs.def (__builtin_printf_unlocked,
699         __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
700         Mark with the __printf__ attribute.
701         
702         * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
703         and set the replacement function depending on it.
704         (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
705         Handle BUILT_IN_*_UNLOCKED when optimizing.
706         
707         * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
708         DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
709         Declare the "unlocked" stdio functions.
710         
711         * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
712         Add an `unlocked' parameter and set the replacement function
713         depending on it.
714         (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
715         BUILT_IN_FPRINTF_UNLOCKED.
716
717         * doc/extend.texi (printf_unlocked, fprintf_unlocked,
718         fputs_unlocked): Document.
719
720 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
721
722         * cfgloop.c (flow_loops_find): Use the information of the depth
723         first search order of the CFG correctly when finding natural loops.
724
725 2001-12-20  Richard Henderson  <rth@redhat.com>
726
727         * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
728
729 2001-12-20  Richard Henderson  <rth@redhat.com>
730
731         * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
732         * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
733         operand into $27.
734
735 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
736
737         * configure.in (all_headers, all_lib2funcs): Remove.
738         * configure: Regenerate.
739         * Makefile.in (LANG_EXTRA_HEADERS): Remove.
740         (USER_H): Don't include $(LANG_EXTRA_HEADERS).
741         * config/alpha/t-interix (USER_H): Don't include
742         $(LANG_EXTRA_HEADERS).
743         * config/i386/t-interix: Likewise.
744         * config/t-openbsd: Likewise.
745
746 2001-12-20  Andreas Jaeger  <aj@suse.de>
747
748         * libgcc2.c (__bb_exit_func): Remove unused variable.
749         (num_digits): Remove unused function.
750
751 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
752
753         * config/arm/arm.c (arm_output_epilogue): Changed IP restore
754         to use ldmfd instead of ldmea.
755         * config/arm/arm.c (arm_compute_initial_elimination_offset):
756         Modified to reflect behavior of arm_expand_prologue when generating
757         interrupt handlers
758
759 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
760
761         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
762         function. Compute which of registers r0 through r12 should be
763         saved onto the stack during a function's prologue.
764         (arm_compute_save_reg_mask): Use
765         arm_compute_save_reg0_reg12_mask.
766         (arm_compute_initial_elimination_offset): Use
767         arm_compute_save_reg0_reg12_mask.
768
769         (arm_expand_prologue): Do not mark as save of the IP register
770         for an interrupt handler as being part of the frame creation
771         code.
772
773 2001-12-20  Richard Henderson  <rth@redhat.com>
774
775         * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
776         to emit floating point values.
777         (assemble_real_1): Remove.
778
779         * 1750a/1750a.c (real_value_to_target_single): New.
780         (real_value_to_target_double): New.
781         * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
782         (REAL_VALUE_TO_TARGET_SINGLE): New.
783         (REAL_VALUE_TO_TARGET_DOUBLE): New.
784         * 1750a/1750a-protos.h: Update.
785
786         * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
787         alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
788         avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
789         d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
790         fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
791         i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
792         i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
793         i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
794         m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
795         m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
796         m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
797         m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
798         mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
799         mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
800         ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
801         romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
802         sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
803         vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
804         ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
805         ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
806         associated support routines.
807
808 Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
809
810         * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
811         if one of block does not contain jump.
812         (outgoing_edge_math): Revert last path; require edges to be noncomplex
813         nonfake to match single exit edge; require conditional jumps to not
814         have side effect.
815
816 2001-12-20  Turly O'Connor  <turly@apple.com>
817
818         * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
819         "recog_operand" to "recog_data.operand".
820         * rtl.def: Likewise.
821
822 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
823
824         * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
825         narrower mode than op0, only return the bits in DIV's mode.
826
827 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
828
829         * combine.c (distribute_notes): Avoid adding REG_LABEL notes
830         to JUMP_INSNs with JUMP_LABEL.
831
832 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
833
834         * doc/install.texi: Add documentation for --enable-altivec.
835
836         * config.gcc: Add support for --enable-altivec.
837
838         * config/rs6000/altivec.h: New.
839
840         * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
841         Define.  Fix typo.
842
843         * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
844         unspec_volatile.
845         (generate_set_vrsave): Generate the unspec here instead of calling
846         an .md pattern.
847         (generate_set_vrsave): Use gen_rtvec.
848         (rs6000_emit_prologue): Replace call to gen_get_vrsave with
849         gen_rtx_SET.
850
851         * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
852         for setting special registers.
853         ("*set_vrsave_internal"): Use unspec_volatile.
854         ("set_vrsave"): Remove.
855         ("get_vrsave"): Remove.
856
857         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
858         SPECIAL_REGS.
859
860 2001-12-19  Bruce Korb  <bkorb@gnu.org>
861
862         * gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
863         (strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
864         * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
865         * gcc/fixinc/base/...: adjust for changes in fixes
866
867 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
868
869         * po/gcc.pot: Regenerate.
870
871         * configure.in (all_diff_excludes, diff_excludes): Remove.
872         * configure: Regenerate.
873         * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
874         * objc/config-lang.in (diff_excludes): Remove.
875
876 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
877
878         * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
879         the destination register as a parameter to mems_ok_for_ldd_peep.
880         For store peepholes pass NULL_RTX.  Move all volatile checks ...
881         * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
882         register parameter, check it's not the same as base for an address.
883         * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
884
885 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
886
887         * config/ia64/ia64.c (ia64_single_set): Return first set for
888         prologue_allocate_stack and epilogue_deallocate_stack instructions.
889
890 2001-12-19  Dale Johannesen  <dalej@apple.com>
891
892          * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
893          redefine in terms of rs6000_legitimize_reload_address().
894          * config/rs6000/rs6000-protos.h: Add this function.
895          * config/rs6000/rs6000.c: Add this function.  Includes
896          handling for Darwin FP constants.
897
898 Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
899
900         * config/pa/t-hpux-shlib: New file.
901         * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
902         for 32bit hpux10 & hpux11 configurations.
903
904 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
905
906         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
907         -mno-fpu onto gas unless -mhard-float is specified.
908         (MULTILIB_DEFAULTS): Include msoft-float.
909
910         * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
911
912         * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
913         * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
914
915 Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
916
917         * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
918         descriptor output.
919
920 2001-12-18  Stan Shebs  <shebs@apple.com>
921
922         * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
923
924 Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
925
926         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
927         on an INTEGER_CST.
928
929 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
930
931         * rs6000.c (rs6000_override_options): Only use DI ops when
932         TARGET_64BIT.  Fix typo.
933
934 Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
935
936         * att.h (ASM_FILE_START): Use asm_dialect.
937         * linux.h (ASM_FILE_START): Likewise.
938         * gas.h (ASM_FILE_START): Likewise.
939         * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
940         ix86_asm_string, ix86_asm_dialect): New.
941         (override_options): Set asm_dialect.
942         * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
943         MASK_DEBUG_ADDR): Kill.
944         (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
945         (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
946         (ASSEMBLER_DIALECT): Use asm_dialect.
947         (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
948         remove debug-addr and debug-arg.
949         (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
950         (asm_dialect): New enum.
951         (ix86_debug_arg_string, ix86_debug_addr_string,
952         ix86_asm_string, ix86_asm_dialect): Declare.
953         * invoke.texi (-mintel-syntax): Remove.
954         (-masm): Document.
955
956 Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
957
958         * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
959
960 2001-12-18  Jason Merrill  <jason@redhat.com>
961
962         C++ ABI change: destroy value arguments in caller.
963         * calls.c (initialize_argument_information): Pass the address of
964         the TARGET_EXPR temporary rather than storing it into another.
965
966 Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
967
968         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
969         * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
970
971 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
972
973         * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
974         * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
975         * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
976         (CC1_SPEC): Don't default to -gstabs+ if -m32.
977
978 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
979
980         * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
981
982 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
983
984         * po/gcc.pot: Regenerate.
985
986 2001-12-18  Kazu Hirata  <kazu@hxi.com>
987
988         * config/h8300/h8300.c: Fix comment typos.
989         * config/h8300/h8300.h: Fix comment formatting.
990
991 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
992
993         * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
994         mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
995         declaration to NUM_MACHINE_MODES.
996         (mode_size, mode_unit_size): Set array type to unsigned char.
997         (mode_bitsize): Set array type to unsigned short.
998
999         * rtl.c (rtx_length): Set array type to unsigned char.
1000         (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
1001         NUM_RTX_CODE.
1002         (mode_bitsize): Set array type to unsigned short.
1003         (mode_size, mode_unit_size): Set array type to unsigned char.
1004         (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
1005         mode_wider_mode, mode_mask_array): Set array size to
1006         NUM_MACHINE_MODES.
1007
1008         * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
1009         size in declaration to NUM_RTX_CODE.
1010
1011 2001-12-17  Richard Henderson  <rth@redhat.com>
1012
1013         * config/alpha/alpha.md (unop): Encode RB as $sp.
1014
1015 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1016
1017         * Makefile.in: Update dependencies.
1018         * c-lang.c: Remove unnecessary includes.
1019         (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
1020         c-objc-common.c.
1021         (finish_file): Move body to c_common_finish_file.
1022         * c-objc-common.c: Include varray.h and ggc.h.
1023         (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
1024         expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
1025         (c_objc_common_init): Initialize deferred function array.
1026         * c-tree.h (c_objc_common_finish_file,
1027         static_ctors, static_dtors): New.
1028 objc:
1029         * Make-lang.in: Update dependencies.
1030         * objc/objc-act.c: Don't include varray.h.
1031         (defer_fn, deferred_fns): Move to c-objc-common.c.
1032         (objc_init): Similarly for initialization of it.
1033         (finish_file): Move some to c-objc-common.c, use
1034         c_objc_common_finish_file.
1035
1036 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
1037
1038         * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
1039
1040 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1041
1042         * doc/cppinternals.texi: Update.
1043
1044 Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
1045
1046         * expmed.c (emit_store_flag): Extract updated comparison code
1047         from the return value of compare_from_rtx.
1048         * expr.c (do_store_flag): Similarly.
1049
1050 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
1051
1052         * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
1053         preference to BASE_REG_CLASS.
1054         * recog.c (preprocess_constraints): Ditto.
1055         * regclass.c (record_operand_costs, scan_one_insn, regclass,
1056         record_reg_classes, record_address_regs): Ditto.
1057         * regrename.c (scan_rtx_address, scan_rtx,
1058         replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
1059         * reload.c (find_reloads, find_reloads_address,
1060         find_reloads_address_1): Ditto.
1061         * reload1.c (maybe_fix_stack_asms): Ditto.
1062         * defaults.h (MODE_BASE_REG_CLASS): Provide default
1063         definition.
1064         * doc/tm.texi: Document MODE_BASE_REG_CLASS.
1065
1066         * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
1067
1068 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
1069
1070         * doc/install.texi2html: Use -I $SOURCEDIR.
1071
1072         Separate user and internals manuals.
1073         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
1074         dependencies.
1075         ($(docdir)/gccint.info, gccint.dvi): New targets.
1076         (maintainer-clean, install-info, uninstall): Update.
1077         * doc/.cvsignore: Add gccint.info*.
1078         * doc/include/gcc-common.texi: New file.
1079         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
1080         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
1081         is defined.
1082         * doc/gccint.texi: New file.
1083         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
1084         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
1085         Update for separate user and internals manuals.
1086
1087 2001-12-17  Dale Johannesen  <dalej@apple.com>
1088
1089          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
1090          ASM_CPU_SPEC: Ditto.
1091          RTX_COSTS: Fix timing info for 7450 multiply.
1092          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
1093          Allow floats to be kept in int regs in movsf_low,
1094          movsf_low_st (Darwin only)
1095
1096 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
1097
1098         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
1099         parallel.
1100         (is_gpr_return_reg): New.
1101         (rs6000_emit_prologue): Call generate_set_vrsave with additional
1102         argument.  Save only registers in the mask.  Attach
1103         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
1104         rs6000_frame_related when saving VRSAVE.
1105         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
1106         argument.  Restore only registers in the mask.  Restore altivec
1107         registers after we restore CR.
1108         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
1109         sets instead of clobbers for call saved registers.
1110         (altivec_frame_fixup): New.
1111
1112 2001-12-17  Richard Henderson  <rth@redhat.com>
1113
1114         * config/sparc/sparc.md (movdi_zero): Remove.
1115         (movdi_insn_sp32_v9): New.
1116
1117 2001-12-17  Richard Henderson  <rth@redhat.com>
1118
1119         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
1120         a single outgoing edge too.
1121
1122 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
1123
1124         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
1125         edges resulting from computed jump
1126
1127 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
1128
1129         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
1130         * basic-block.h (CLEANUP_THREADING): New constant.
1131         * cfgcleanup.c: Include cselib.h
1132         (thread_jump, mark_effect): New functions.
1133         (try_forward_edges): Do jump threading when asked for.
1134         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
1135         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
1136         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
1137         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
1138         CLEANUP_THREAD instead.
1139
1140 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1141
1142         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
1143
1144 2001-12-17  Tom Rix  <trix@redhat.com>
1145
1146         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
1147         of bytes.
1148
1149 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
1150
1151         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
1152         asm_out.integer): New fields.
1153         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
1154         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
1155         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
1156         the individual initialisers together.
1157         (TARGET_ASM_OUT): Add the new initialisers.
1158         * output.h (assemble_integer): Return bool.
1159         (integer_asm_op): Declare.
1160         (default_assemble_integer): Declare.
1161         (assemble_aligned_integer): New interface to assemble_integer.
1162         * varasm.c (integer_asm_op): New function to select pseudo-op.
1163         (default_assemble_integer): Default implementation of asm_out.integer.
1164         (assemble_integer): Use the new target hook.  Split objects into
1165         words or bytes if the target hook fails.  Return bool.
1166         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
1167         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
1168         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1169         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
1170         Document new target hooks.
1171
1172         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
1173         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
1174         (dw2_assemble_integer): New.
1175         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
1176         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
1177         dw2_asm_output_encoded_addr_rtx): Use it.
1178         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
1179         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
1180         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
1181         if it returns NULL.
1182         * dwarf2asm.h (dw2_assemble_integer): Declare.
1183         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
1184         default implementation of most macros.
1185         (output_unsigned_leb128): Use dw2_asm_output_data.
1186         (output_signed_leb128, dwarfout_source_line): Likewise.
1187         (output_reg_number): Use dw2_assemble_integer.
1188         (generate_macinfo_entry): Separate the type and offset arguments.
1189         Use assemble_integer to write the value.
1190         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
1191         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
1192         * final.c (output_addr_const): Don't put brackets round a subtracted
1193         symbol value or ".".
1194         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
1195
1196         * config/1750a/1750a.c (assemble_integer_1750a): New,
1197         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
1198         * config/arc/arc.c (arc_assemble_integer): New.
1199         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1200         * config/arm/arm.c (arm_poke_function_name): Likewise.
1201         (arm_assemble_integer): New, extracted from...
1202         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
1203         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
1204         (ARM_FUNCTION_PROFILER): Likewise.
1205         * config/avr/avr-protos.h (asm_output_byte): Remove.
1206         (asm_output_char, asm_output_short): Remove.
1207         * config/avr/avr.c (avr_assemble_integer): New.
1208         (asm_output_byte, asm_output_char, asm_output_short): Remove.
1209         * config/clipper/clipper.h (ASM_LONG): Remove.
1210         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
1211         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
1212         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
1213         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
1214         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
1215         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
1216         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1217         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
1218         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
1219         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
1220         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1221         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
1222         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
1223         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
1224         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
1225         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1226         (ASM_SHORT, ASM_LONG): Undefine.
1227         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1228         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
1229         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1230         * config/ia64/ia64.c (ia64_assemble_integer): New.
1231         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
1232         (ASM_OUTPUT_DWARF_PCREL): Likewise.
1233         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1234         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
1235         (ASM_SHORT, ASM_LONG): Remove.
1236         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
1237         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
1238         macros, the allowed values for INT_OP_GROUP.
1239         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
1240         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
1241         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
1242         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
1243         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1244         * config/m68k/dpx2.h (ASM_LONG): Undefine.
1245         (INT_OP_GROUP): Define to INT_OP_DC.
1246         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
1247         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1248         * config/m68k/lynx.h (ASM_LONG): Undefine.
1249         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
1250         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1251         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1252         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
1253         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
1254         for GAS and INT_OP_NO_DOT otherwise.
1255         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
1256         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1257         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
1258         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1259         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
1260         (INT_OP_GROUP): Define to INT_OP_STANDARD.
1261         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1262         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
1263         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
1264         * config/m68k/tower-as.h (ASM_LONG): Remove.
1265         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1266         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
1267         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1268         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
1269         * config/mips/iris5.h (TARGET_IRIX5): Define.
1270         * config/mips/mips.c (mips_assemble_integer): New.
1271         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
1272         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
1273         * config/mmix/mmix.c (mmix_assemble_integer): New.
1274         (mmix_asm_output_double_int): Remove.
1275         (mmix_print_operand): Call mmix_output_octa directly.
1276         * config/mmix/mmix.h (ASM_LONG): Remove.
1277         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1278         * config/pa/pa.c (pa_assemble_integer): New.
1279         (pa_override_options): Only use aligned DI ops on 64-bit targets.
1280         Only use the unaligned ops if TARGET_GAS.
1281         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
1282         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
1283         * config/pj/pj.h (ASM_LONG): Undefine.
1284         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
1285         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
1286         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
1287         and in_toc_section() rather than the in_section variable.
1288         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
1289         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
1290         (RELOCATABLE_NEEDS_FIXUP): Define.
1291         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
1292         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
1293         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
1294         to get the word directive.
1295         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1296         * config/s390/s390.c (s390_assemble_integer): New.
1297         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
1298         integer_asm_op to get the word directive.
1299         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
1300         * config/sparc/sparc-protos.h (output_double_int): Remove.
1301         * config/sparc/sparc.c (output_double_int): Move to...
1302         (sparc_assemble_integer): ...this new function.
1303         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
1304         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
1305         * config/sparc/sysv4.h (ASM_LONG): Remove.
1306         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
1307         ASM_LONG.
1308         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
1309         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
1310
1311         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
1312         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
1313         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
1314         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
1315         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
1316         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
1317         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1318         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
1319         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
1320         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
1321         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
1322         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
1323         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
1324         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
1325         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
1326         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
1327         appropriate.
1328
1329         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
1330         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
1331         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
1332         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
1333         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
1334         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
1335         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
1336         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
1337         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
1338         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
1339         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
1340         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
1341         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
1342         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
1343         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
1344         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
1345         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
1346         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
1347         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
1348         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
1349         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
1350         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
1351         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
1352         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
1353         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1354         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
1355
1356 2001-12-17  Stan Shebs  <shebs@apple.com>
1357
1358         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
1359         (STACK_BOUNDARY): Remove definition.
1360         (CPP_PREDEFINES): Define __POWERPC__.
1361
1362 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1363
1364         * doc/c-tree.texi (Trees): Only refer to GCC.
1365
1366 2001-12-17  Andreas Jaeger  <aj@suse.de>
1367
1368         * c-common.def: Fix typo in comment.
1369
1370 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
1371
1372         * config.gcc (sparc64-*-freebsd*): Add target.
1373         * config/sparc/freebsd.h: New file.
1374         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
1375         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
1376         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
1377
1378 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1379
1380         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
1381         PLUS operands into registers for altivec mode.
1382
1383 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1384
1385         * builtins.c (apply_args_size): Change regno to unsigned.
1386
1387 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1388
1389         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
1390         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
1391
1392 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
1393
1394         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
1395         gettext on argument before printing.
1396
1397         * fold-const.c (negate_expr): Always call fold on new
1398         NEGATE_EXPR.
1399
1400 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
1401
1402         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
1403         a DECL directly.
1404         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
1405         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
1406         * c-decl.c (build_compound_literal): Put the decl inside a
1407         DECL_STMT.
1408         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
1409         Fixes PR c/5105.
1410
1411 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1412
1413         * config.gcc: Add powerpc-*-eabisimaltivec*.
1414
1415 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1416
1417         * c-common.c, c-common.h (back_end_hook): Remove.
1418         * c-lang.c (finish_file): Remove back_end_hook.
1419
1420 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1421
1422         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
1423         last change.
1424
1425 2001-12-16  Richard Henderson  <rth@redhat.com>
1426
1427         * toplev.c (parse_options_and_default_flags): Don't enable
1428         flag_cprop_registers at -O1.
1429
1430 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1431
1432         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
1433         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
1434         * avr.h (reg_class): Likewise.
1435         * avr.md: Likewise.
1436         * mcore.c (try_constant_tricks, mcore_byte_offset,
1437         mcore_halfword_offset): Likewise.
1438         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
1439         * v850.c (not_power_of_two_operand): Likewise.
1440
1441         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
1442         warnings.
1443         * convex.h (ASM_OUTPUT_ASCII): Likewise.
1444         * i370.h (ASM_OUTPUT_ASCII): Likewise.
1445         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
1446         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
1447         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
1448         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
1449         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
1450         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
1451         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
1452         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
1453         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
1454         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
1455         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
1456         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
1457         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
1458         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1459         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
1460         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
1461         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
1462         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
1463         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
1464         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
1465         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
1466         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
1467         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
1468         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
1469
1470         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
1471         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
1472         * psos.h (CPP_PREDEFINES): Likewise.
1473         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
1474         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
1475         ASM_OUTPUT_EXTERNAL): Likewise.
1476         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1477         Likewise.
1478         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
1479         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1480         Likewise.
1481         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
1482
1483         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
1484         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
1485         * fold-const.c (real_hex_to_f): Use hex_value.
1486         * real.c (asctoeg): Use hex_value & ISXDIGIT.
1487         * toplev.c (toplev_main): Call hex_init.
1488         * tradcpp.c (main): Call hex_init.
1489
1490         * nextstep-protos.h: New file.
1491         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
1492         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
1493         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
1494         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
1495         handle_pragma): Move prototypes to nextstep-protos.h.
1496         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
1497         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
1498
1499 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1500
1501         PR other/3725
1502         * configure.in: Add AC_SUBST(target_alias).
1503         * configure: Regenerated.
1504
1505 2001-12-15  Richard Henderson  <rth@redhat.com>
1506
1507         * config/alpha/alpha.md (sibcall_osf_1_er): New.
1508         (sibcall_value_osf_1_er): New.
1509
1510 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
1511
1512         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
1513         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
1514         addrs; eliminate restriction of only using fp and sp as base
1515         registers.
1516         * config/sparc/sparc-protos.h: Update.
1517         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
1518         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
1519         from old define_peepholes.
1520         Convert all the ldd/std peepholes to peephole2.
1521
1522 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1523
1524         * s390.md (prologue, epilogue, *return_si, *return_di): New.
1525         s390.c (find_unused_clobbered_reg, s390_frame_info,
1526         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
1527         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
1528         s390.c (s390_arg_frame_offset): Use s390_frame_info.
1529         (leaf_function_flag, cur_is_leaf_function,
1530         save_fprs, restore_fprs, force_const_mem_late): Remove.
1531         (s390_function_prologue, s390_function_epilogue): Mostly remove.
1532         s390.md (lit): New.  Uses ...
1533         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
1534         s390-protos.h (s390_output_constant_pool): Declare.
1535         s390.md (load_multiple, store_multiple): Allow use after reload.
1536         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
1537         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
1538         s390.h (CALL_REALLY_USED_REGISTERS): Define.
1539         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
1540         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
1541         s390.c (s390_sr_alias_set): New global variable, initialized ...
1542         (override_options): ... here.  New.
1543         s390-protos.h (override_options): Declare.
1544         s390.h (OVERRIDE_OPTIONS): Call it.
1545         s390.c (s390_function_profiler): New.
1546         s390-protos.h (s390_function_profiler): Declare.
1547         s390.h (FUNCTION_PROFILER): Call it.
1548         s390.c (s390_profile): Remove.
1549
1550         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
1551         (addr_generation_dependency_p): Consider literal pool register loads.
1552         (s390_adjust_priority): Do not schedule load_multiple.
1553         s390.md (attribute "type"): Define some additional types.
1554         (function_unit "integer"): Adapt.
1555         (many insns): Adapt "type" attribute setting.
1556
1557         * s390.c (general_s_operand, s_imm_operand): New.
1558         (s_operand): Remove old definition, call general_s_operand instead.
1559         s390-protos.h (s_imm_operand): Declare.
1560         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
1561         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
1562         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
1563         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
1564         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
1565         s390.md (many insns): Rework insn predicates.
1566
1567         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
1568         non-symbolic constants.  Reload will force them because of ...
1569         (s390_preferred_reload_class): ... this.  New.
1570         s390-protos.h (s390_preferred_reload_class): Declare.
1571         s390.h (PREFERRED_RELOAD_CLASS): Call it.
1572         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
1573         *reload_la_31 splitters): Handle constants after reload.
1574         (many insns): no longer force all constants immediately.
1575         s390.c (legitimate_reload_constant_p): New helper routine.
1576         s390-protos.h (legitimate_reload_constant_p): Declare.
1577         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
1578
1579         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
1580         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
1581         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
1582         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
1583         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
1584         (DWARF_FRAME_REGISTERS): Define.
1585         s390.c (regclass_map): Add virtual frame pointer.
1586         (legitimate_la_operand_p): Allow use of virtual frame pointer.
1587         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
1588         (addaddr, addsi_64): Delete.
1589
1590         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
1591         floating point registers.
1592         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
1593         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
1594         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
1595
1596         * s390.md (movti): Replace multi-insn output with splitters.
1597         (movdi_31, movdf_31): Likewise.
1598         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
1599         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
1600         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
1601         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
1602         (movsf_64, movsf_31): Remove, replace by ...
1603         (movsf): ... this.
1604         (movqi_64): Use lhi instead of llill.
1605         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
1606
1607         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
1608         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
1609         extendqihi2 and associated splitters): Reworked.
1610         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
1611         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
1612         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
1613         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
1614         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
1615         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
1616         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
1617         and associated splitters): Likewise.
1618         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
1619         and associated splitters): New.
1620         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
1621         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
1622         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
1623         s390.h (PROMOTE_PROTOTYPES): Remove.
1624         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
1625
1626         * s390.md (muldi3): Delete, use instead ...
1627         (mulsidi3): ... this.
1628         (*muldi3_64): Rename to muldi3.
1629         (mulsi_6432): Fix template.
1630         (divdi3, moddi3): Delete, replace by ...
1631         (divmoddi4): ... this.
1632         (divmodtidi3): Fix template.
1633         (divmodtisi3): New.
1634         (udivdi3, umoddi3): Delete, replace by ...
1635         (udivmoddi4): ... this.
1636         (udivmodtidi3): Fix template.
1637         (divsi3, modsi3): Delete, replace by ...
1638         (divmodsi4): ... this.
1639         (divmoddisi3): Fix template.
1640         (udivsi3, umodsi3): Adapt.
1641
1642         * s390.md (anddi3): Remove SS alternative, use instead ...
1643         (anddi3_ss, anddi3_ss_inv): ... these.
1644         (anddi3_ni): New.
1645         (andsi3*, andhi3*, andqi3*): Likewise.
1646         (iordi3): Remove SS alternative, use instead ...
1647         (iordi3_ss, iordi3_ss_inv): ... these.
1648         (iordi3_oi): New.
1649         (iorsi3*, iorhi3*, iorqi3*): Likewise.
1650         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
1651         (xordi3): Remove SS alternative, use instead ...
1652         (xordi3_ss, xordi3_ss_inv): ... these.
1653         (xordi3_oi): New.
1654         (xorsi3*, xorhi3*, xorqi3*): Likewise.
1655         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
1656         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
1657         Expand to XOR with -1.
1658         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
1659         (cmpdi_tm): Delete, replace by ...
1660         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
1661         (cmpsi_cct): Delete, replace by ...
1662         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
1663         (cmpdi_tm2, cmpsi_tm2): Improve.
1664         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
1665         s390.c (s390_single_hi, s390_extract_hi,
1666         s390_single_qi, s390_extract_qi): New helper routines.
1667         s390-protos.h (s390_single_hi, s390_extract_hi,
1668         s390_single_qi, s390_extract_qi): Declare.
1669         s390.c (tmxx_operand, const1_operand): Remove.
1670         s390-protos.h (tmxx_operand, const1_operand): Likewise.
1671         s390.h (PREDICATE_CODES): Likewise.
1672
1673         * s390.md (sqrtdf2, sqrtsf2): New.
1674
1675         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
1676         (check_and_change_labels): Remove section-change special case.
1677
1678         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
1679         in leaf functions.  Needs ...
1680         (DYNAMIC_CHAIN_RTX):  ... this.  New.
1681
1682         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
1683
1684         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
1685         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
1686         input operands using a match_dup clause.
1687         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
1688
1689         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
1690         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
1691
1692         * s390.md (floatsidf2_ibm): Use correct operand.
1693
1694         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
1695         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
1696         non-portable constants.
1697         s390.c (s390_gen_rtx_const_DI): New helper routine.
1698         s390-protos.h (s390_gen_rtx_const_DI): Declare.
1699
1700         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
1701
1702         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
1703         ASM_OUTPUT_BYTE): Clean up assembly output.
1704         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
1705         (ASM_OUTPUT_ASCII): Remove.
1706
1707         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
1708
1709 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
1710
1711         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
1712         before including unwind-dw2-fde.c, if we are not using the
1713         special code in this file.
1714
1715 2001-12-15  Richard Henderson  <rth@redhat.com>
1716
1717         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
1718         MASK_EXPLICIT_RELOCS if the assembler supports it.
1719         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
1720         * configure, config.in: Rebuild.
1721
1722 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1723
1724         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
1725         for rounded_stack_size.
1726
1727 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1728
1729         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
1730         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
1731         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
1732         "bit-field" spellings in messages.
1733         * po/gcc.pot: Regenerate.
1734
1735 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1736
1737         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
1738         American spelling in messages.
1739         * po/gcc.pot: Regenerate.
1740
1741 2001-12-15  Kazu Hirata  <kazu@hxi.com>
1742
1743         * config/h8300/h8300.md: Adjust whitespacing.  Remove
1744         constraints from expanders.  Replace \@ with @.
1745
1746 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
1747
1748         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
1749
1750 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1751
1752         * regrename.c (copyprop_hardreg_forward): Do not keep register
1753         value data live across abnormal call or eh egdes.
1754
1755 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1756
1757         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
1758         BIGGEST_ALIGNMENT for 0.
1759
1760 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
1761
1762         * predict.def (PRED_NORETURN): Make probabilities match reality.
1763         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
1764         Likewise.
1765
1766 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
1767
1768         * configure.in: Check for ld.
1769         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
1770         * configure, config.in: Rebuilt.
1771         * config.gcc: Add crtbeginT.o to extra_parts where needed.
1772         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
1773         frame unwinding on Linux.
1774         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
1775         frame unwinding.
1776         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1777         (LINK_EH_SPEC): Define.
1778         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1779         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
1780         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
1781         iterate further if pc falls into current library, but fde was not
1782         found.
1783         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
1784         if using glibc.
1785         (LINK_EH_SPEC): Define.
1786         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
1787         Use crtbeginT.o for -static.
1788         (LINK_EH_SPEC): Define.
1789         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1790         * Makefile.in (crtbeginT.o): Add rule.
1791         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
1792         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
1793         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
1794         If none of the above switches are passed, use -lgcc -lgcc_eh.
1795         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
1796         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
1797         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
1798         * unwind-dw2-fde.c: Don't include any headers if this file
1799         is included from other .c file.
1800         * unwind-dw2-fde-glibc.c: New file.
1801         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
1802         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
1803
1804 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1805
1806         * builtins.c (expand_builtin_memcmp): Mark parameter with
1807         ATTRIBUTE_UNUSED.
1808         * cfgcleanup.c (insns_match_p): Likewise.
1809         * regrename.c (mode_change_ok): Likewise.
1810         * gcc.c (execute): Const-ify.
1811
1812 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
1813
1814         * c-parse.in (typename): Do not split attributes.
1815         Remove unsupported attributes warning.
1816
1817         * c-decl.c (groktypename): Apply attributes.
1818
1819 2001-12-14  Richard Henderson  <rth@redhat.com>
1820
1821         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
1822         initialization as possibly dead.
1823
1824 2001-12-14  Richard Henderson  <rth@redhat.com>
1825
1826         * regrename.c (mode_change_ok): New.
1827         (find_oldest_value_reg): Use it.
1828
1829 2001-12-14  Richard Henderson  <rth@redhat.com>
1830
1831         * regrename.c (struct value_data): Add max_value_regs.
1832         (init_value_data): Initialize it.
1833         (kill_value): Kill values that overlap the dying register.
1834         (set_value_regno): New.
1835         (kill_set_value, kill_autoinc_value, copy_value): Use it.
1836         (copyprop_hardreg_forward_1): Kill earlyclobber operands
1837         before looking at inputs.
1838
1839 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
1840
1841         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
1842         DECL_WEAK for function descriptors.
1843         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
1844         weak support present.
1845         (ASM_WEAKEN_LABEL): Same.
1846
1847 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1848
1849         * config/h8300/h8300.md (anonymous pattern): Add a missing
1850         mode.
1851
1852 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1853
1854         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
1855         comment typo.
1856
1857 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1858
1859         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
1860         Remove the initialization requierment.
1861         (h8300_handle_tiny_data_attribute): Likewise.
1862
1863 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1864
1865         * config/h8300/h8300.md (udivqi3): Remove.
1866         (divqi3): Likewise.
1867         (udivhi3): Likewise.
1868         (divhi3): Likewise.
1869         (umodqi3): Likewise.
1870         (modqi3): Likewise.
1871         (umodhi3): Likewise.
1872         (modhi3): Likewise.
1873         (udivmodqi3): New.
1874         (divmodqi3): Likewise.
1875         (udivmodhi3): Likewise.
1876         (divmodhi3): Likewise.
1877
1878 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
1879
1880         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
1881         by active_insn_p; count conditional jump as instruction.
1882
1883 2001-12-14  DJ Delorie  <dj@redhat.com>
1884             Danny Smith  <dannysmith@users.sourceforge.net>
1885
1886         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
1887         at SYM_NAME[0] or SYM_NAME[3].
1888         (STRIP_NAME_ENCODING): Don't check for leading '*'.
1889
1890 2001-12-14  Ira Ruben   <ira@apple.com>
1891
1892         Add -### option (displays driver-generated commands without
1893         executing and quotes all arguments).
1894         * doc/invoke.texi: Add -###.
1895         * gcc.c (verbose_only_flag) - New flag.
1896         * (execute): If -### write quoted arguments and return.
1897         * (display_help): Print meaning of -###.
1898         * (process_command): Handle -###.
1899
1900 2001-12-14  Ira Ruben   <ira@apple.com>
1901
1902         Fix to no allow -save-temps to clobber user's source file.
1903         * gcc.c: Add static globals input_stat and input_stat_set.
1904         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
1905         set, check that user's input file is not overwritten.
1906         (set_input): Reset input_stat_set for each new file.
1907
1908 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
1909
1910         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
1911
1912 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
1913
1914         * combine.c (record_dead_and_set_regs): Use
1915         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
1916
1917 2001-12-14  Roger Sayle <roger@eyesopen.com>
1918
1919         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
1920         __builtin_fsqrt to __builtin_sqrt.
1921
1922         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
1923         * doc/extend.texi: Simplify documentation to match patch.
1924
1925 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
1926
1927         * config.gcc: Revamp target_cpu_default2 to strings;
1928         support new x86 variants.
1929         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
1930         properly; set prefetch_sse.
1931         * i386.h (x86_prefetch_sse): Declare.
1932         (TARGET_PREFETCH_SSE): New.
1933         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
1934         (TARGET_CPU_DEFAULT_*): New.
1935
1936 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
1937                               Jan Hubicka  <jh@suse.cz>
1938
1939         * config/i386/i386.h (struct processor_costs): Add new members
1940           prefetch_block and simultaneous_prefetches.
1941           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
1942         * config/i386/i386.c (processor_costs structs): Add values for
1943           prefetch_block and simultaneous_prefetches.
1944         * config/i386/i386.md (unspec values): Remove values for prefetch
1945           operations, which now use the PREFETCH rtx code.
1946           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
1947           unified prefetch support.
1948
1949 2001-12-14  Jason Merrill  <jason@redhat.com>
1950
1951         * diagnostic.c (sorry): Increment sorrycount before saving the
1952         buffer state.
1953
1954 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
1955
1956         * i386.md (sqrt?f): Fix conditionals.
1957
1958 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
1959
1960         * config.gcc (alpha64-dec-*vms*): New case.
1961         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
1962         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
1963         * config/alpha/xm-vms64.h: Likewise.
1964
1965         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
1966         (alpha_write_linkage): Test for null alpha_links.
1967         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
1968         (vms_section_type_flags, vms_asm_named_section): Handle them.
1969
1970 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
1971
1972         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
1973         (override_option): Set ix86_fpmath.
1974         * i386.h (MASK_MIX_SSE_I387): Remove.
1975         (TARGET_SSE_MATH): New.
1976         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
1977         (TARGET_SWITCHES): Remove "mix-sse-i387".
1978         (fpmath_unit): New enum.
1979         (ix86_fpmath, ix86_fpmath_string): Declare.
1980         * i386.md (swapsf): Fix condition.
1981         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
1982         (fp_?f_*_nosse): New.
1983         (fp_*): Use TARGET_SSE_MATH.
1984         * invoke.texi (-mfpmath): Document.
1985         (-msse2): Add.
1986
1987 2001-12-14  Jason Merrill  <jason@redhat.com>
1988
1989         * dwarf2out.c (output_die): Print the string in the comment for
1990         a DW_FORM_strp.
1991
1992 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
1993
1994         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
1995         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
1996         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1997         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
1998
1999 2001-12-13  Richard Henderson  <rth@redhat.com>
2000
2001         * regrename.c (kill_value_regno): Simplify chain removal.
2002         (kill_value): Kill all of HARD_REGNO_NREGS.
2003         (kill_set_value): Use kill_value not kill_value_regno.
2004         (kill_autoinc_value): Likewise.
2005         (copyprop_hardreg_forward): Don't collect refresh_blocks.
2006         Call delete_noop_moves.
2007
2008 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
2009
2010         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
2011         for the mode attribute.
2012         (handle_mode_attribute): Handle types, not decls.
2013
2014 2001-12-13  Jason Merrill  <jason@redhat.com>
2015
2016         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
2017
2018 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
2019
2020         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
2021         constraint to base register.
2022         (eh_set_lr_si): Same.
2023
2024 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
2025
2026         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
2027         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
2028         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
2029
2030 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2031
2032         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
2033         warning and reformat comments.
2034         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
2035         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
2036         if overflow.
2037
2038 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
2039
2040         * config/rs6000/rs6000.c (rs6000_override_options): Add
2041         SUBSUBTARGET_OVERRIDE_OPTIONS.
2042
2043         * config/rs6000/eabialtivec.h: New file.
2044
2045         * config/rs6000/linuxaltivec.h: New file.
2046
2047         * config.gcc: Add powerpc-*-eabialtivec and
2048         powerpc-*-linux-gnualtivec.
2049
2050 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2051
2052         * toplev.c (process_options, parse_options_and_default_flags):
2053         Set flag_no_inline before the post_options hook.
2054
2055 2001-12-13  Richard Henderson  <rth@redhat.com>
2056
2057         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
2058         is false.
2059
2060 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
2061
2062         * collect2.c (COLLECT_SHARED_INIT_FUNC)
2063         (COLLECT_SHARD_FINI_FUNC): Define default values.
2064         (write_c_file_stat): Use them to call construtor and destructor
2065         functions in shared libraries.
2066         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
2067         (COLLECT_SHARD_FINI_FUNC): Document them.
2068         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
2069         (COLLECT_SHARD_FINI_FUNC): Define.
2070
2071         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
2072         shared library.  Pass -shared through to the linker.
2073         * config/arm/netbsd.h (LINK_SPEC): Likewise.
2074
2075         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
2076         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
2077         (SHLIB_INSTALL): Define.
2078
2079 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
2080
2081         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
2082         the same way as we handle SYMBOL_REFS.
2083
2084 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2085
2086         * loop.c (remove_constant_addition): Fix prototype and whitespace.
2087         (emit_prefetch_instructions): Remove warnings and whitespace
2088         changes.
2089
2090 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
2091
2092         * config/alpha/vms-cc.c (preprocess_args): Fix forward
2093         declaration.
2094
2095 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
2096
2097         * predict.c (estimate_probability): Reorganize opcode heuristics.
2098         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
2099         PRED_FPOPCODE): New.
2100
2101         * i386.c (override_options): Recognize various CPU variants and set
2102         SSE/MMX/3dNOW flags accordingly.
2103         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
2104         MASK_3DNOW_A_SET): New.
2105         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
2106         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
2107         (MASK_*): Renumber.
2108         (TARGET_FLAGS): Use new masks.
2109         (CPP_CPU_SPECS): Recognize new CPU variants.
2110         * invoke.texi (-mcpu): Update documentation.
2111
2112         * flags.h (flag_prefetch_loop_arrays): Declare.
2113         * loop.h (LOOP_PREFETCH): Define new constant.
2114         * loop.c (strength_reduce): Call emit_prefetch_instructions.
2115         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
2116         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
2117         constants.
2118         (check_store_data): New structure.
2119         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
2120         New functions.
2121         * toplev.c: Include insn-flags.h.
2122         (flag_prefetch_loop_arrays): New global variable.
2123         (lang_independent_option): Add -fprefetch-loop-arrays.
2124         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
2125         is set.
2126         * Makefile.in (toplev.c): Depend on insn-flags.h.
2127         * invoke.texi (-fprefetch-loop-arrays): Document.
2128
2129         * predict.c (estimate_probability): Distribute the loop exit
2130         probability according to number of exit edges.
2131
2132         * cfgcleanup.c (insns_match_p): Break out from ...;
2133         (flow_find_cross_jump): ... here;
2134         (outgoing_edges_match): Add parameter MODE; attempt to match everything
2135         except for tablejumps.
2136         (try_crossjump_to_edge): Accept complex edges.
2137         (try_crossjump_bb): Likewise.
2138
2139 2001-11-29  Corey Minyard <minyard@acm.org>
2140
2141         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
2142         instead of plus_constant.
2143         * simplify-rtx.c (neg_const_int): New.
2144         (simplify_gen_binary, simplify_plus_minus): Use it.
2145
2146 2001-12-12  Roger Sayle  <roger@eyesopen.com>
2147
2148         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
2149         expand_builtin_strcpy): Additional arguments TARGET and MODE.
2150         (expand_builtin_bzero, expand_builtin_strcpy,
2151         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
2152         TARGET and MODE parameters to the above functions.
2153         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
2154         case where the LEN parameter is constant zero.
2155         (expand_builtin_memcmp): No longer conditional on
2156         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
2157         the cases where len is either constant zero or one.
2158         Optimize to call to memcpy, even if the memcpy isn't inlined.
2159         (expand_builtin_strncpy): Optimize to call memcpy, even if the
2160         memcpy isn't inlined.
2161         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
2162         to optimize to a call to memcmp.
2163         (expand_builtin): expand_builtin_memcmp can always be called,
2164         and pass the required parameters to expand_builtin_memcmp,
2165         expand_builtin_memset, expand_builtin_memcpy and
2166         expand_builtin_strcpy.
2167
2168 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
2169
2170         * config.gcc (arm-*-freebsd*): Add target.
2171         * config/arm/freebsd.h: New file.
2172         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
2173         (CPP_SPEC): #undef before defining.
2174         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
2175         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
2176         -Amachine=arm.
2177         * config/arm/linux-elf.h: Likewise.
2178         * config/arm/netbsd.h: Likewise.
2179         * config/arm/riscix.h: Likewise.
2180         * config/arm/riscix1-1.h: Likewise.
2181         * config/arm/semiaof.h: Likewise.
2182
2183 2001-12-12  Richard Henderson  <rth@redhat.com>
2184
2185         * regrename.c (copyprop_hardreg_forward): New optimization.
2186         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
2187         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
2188         replace_oldest_value_reg, replace_oldest_value_addr,
2189         replace_oldest_value_mem, copyprop_hardreg_forward_1,
2190         debug_value_data, validate_value_data): New.
2191         * rtl.h (copyprop_hardreg_forward): Declare.
2192         * toplev.c (flag_cprop_registers): New.
2193         (f_options): Add -fcprop-registers
2194         (rest_of_compilation): Invoke it.
2195         (parse_options_and_default_flags): Set it at -O1.
2196         * doc/invoke.texi: Document it.
2197
2198 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
2199
2200         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
2201         (DEBUG_RANGES_SECTION_LABEL): Define.
2202         (ranges_section_label): Add.
2203         (add_AT_range_list): New.
2204         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
2205         (output_loc_list): Location expression length is always 2-byte.
2206         (output_die): Handle dw_val_class_range_list.
2207         (gen_lexical_block_die): Call add_AT_range_list.
2208         (dwarf2out_init): Initialize ranges_section_label.
2209         (dwarf2out_finish): Emit ranges_section_label.
2210
2211 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
2212
2213         * c-typeck.c (digest_init): Allow initializing
2214         static storage duration objects with compound literals.
2215         * doc/extend.texi (Compound literals): Document the extension.
2216
2217 2001-12-12  Richard Henderson  <rth@redhat.com>
2218
2219         * emit-rtl.c (adjust_address_1): Always copy address to avoid
2220         shared rtl.
2221
2222 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
2223
2224         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
2225         to avoid overflow.
2226
2227 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
2228
2229         * cppfiles.c (read_include_file): Set buffer size properly when
2230         file is shorter than expected.
2231
2232 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2233
2234         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
2235         enumeral types - encode them using 'i'.
2236
2237 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
2238
2239         * doc/extend.texi (Deprecated Features): Deprecate implicit
2240         typename. Document that named return and initializer lists are now
2241         removed.
2242
2243 2001-12-11  Roger Sayle <roger@eyesopen.com>
2244
2245         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
2246         compiler warning about enumeration values not being handled.
2247
2248 2001-12-11  Momchil Velikov  <velco@fadata.bg>
2249
2250         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
2251         shifts.
2252
2253 2001-12-11  Richard Henderson  <rth@redhat.com>
2254
2255         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
2256         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
2257         * config/alpha/alpha.md (prefetch): New.
2258
2259 2001-12-11  Richard Henderson  <rth@redhat.com>
2260
2261         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
2262         if C has only low bits set and doesn't intersect with X or Y.
2263
2264 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
2265
2266         * basic-block.h (flow_preorder_transversal_compute): Declare.
2267         * cfganal.c (flow_preorder_transversal_compute): Implement.
2268
2269 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
2270
2271         * cfganal.c (flow_depth_first_order_compute): Always
2272         increment dfsnum.
2273
2274 2001-11-30 Alan Matsuoka <alanm@redhat.com>
2275
2276         * combine.c (combine_simplify_rtx) : Can't simplify
2277         cases that use mode class MODE_CC.
2278
2279 2001-12-11  Richard Henderson  <rth@redhat.com>
2280
2281         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
2282         which there is no divide expander.
2283
2284 2001-12-11  Richard Henderson  <rth@redhat.com>
2285
2286         * except.c (sjlj_find_directly_reachable_regions): Don't
2287         consider RNL_BLOCKED a directly reachable region.
2288         (sjlj_assign_call_site_values): Trust directly_reachable.
2289         (sjlj_emit_dispatch_table): Likewise.
2290
2291 2001-12-11  Richard Henderson  <rth@redhat.com>
2292
2293         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
2294         we represent the address load's dependency on the gp.
2295         (divmoddi_internal_er): Likewise.
2296         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
2297
2298 2001-12-11  Richard Henderson  <rth@redhat.com>
2299
2300         * emit-rtl.c (widen_memory_access): New.
2301         * expr.h (widen_memory_access): Declare it.
2302         * config/alpha/alpha.c (get_aligned_mem): Use it.
2303
2304 2001-12-11  Richard Henderson  <rth@redhat.com>
2305
2306         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
2307         simplification above out of range check.
2308
2309 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
2310
2311         * config/sparc/sparc.md (prefetch): New.
2312
2313 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2314
2315         * output.h (regno_uninitialized): Make argument unsigned.
2316
2317         * flow.c (regno_uninitialized): Make regno unsigned.
2318
2319 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2320
2321         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
2322         * config/cris/cris.h (ENDFILE_SPEC): Define.
2323         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
2324         * config/pa/elf.h: Likewise.
2325
2326 2001-12-11  Richard Henderson  <rth@redhat.com>
2327
2328         * objc/objc-act.c (build_string_class_template): New.
2329         (build_objc_string_object): Call it.
2330
2331 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
2332
2333         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2334         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2335         * calls.c (store_unaligned_arguments_into_pseudos): Check
2336         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
2337         are passed/returned.
2338         * expr.c (move_block_from_reg): Ditto.
2339         (move_block_from_reg): Ditto.
2340         (copy_blkmode_from_reg): Ditto.
2341         * stmt.c (expand_return): Ditto.
2342         * stor-layout.c (compute_record_mode): If
2343         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
2344         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
2345         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
2346         so that Structures of one field are still treated as structures.
2347         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
2348         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
2349         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
2350         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
2351         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
2352         to special case handling of structure padding.
2353
2354 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
2355
2356         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
2357         (may_trap_exp): Stores only are risk if they trap, too, not just
2358         if code == MEM.
2359
2360 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2361
2362         * flow.c (find_regno_partial): Indent properly.  Add a default to
2363         switch.
2364
2365 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2366
2367         * c-common.c (combine_strings): Complain if concatenating
2368         __FUNCTION__.
2369         * c-parse.in (yylexname): Flag artificial strings.
2370         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
2371 doc:
2372         * extend.texi: Update.
2373
2374 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2375
2376         * c-common.c (type_for_mode): Handle unsigned vectors.
2377         (type_for_mode): Remove redundant calls to TYPE_MODE.
2378
2379         * tree.c (make_vector): New.
2380         (build_common_tree_nodes_2): Use make_vector for vector types.
2381         Add unsigned vector types.
2382
2383         * tree.h (tree_index): Add unsigned types for vectors.
2384         (unsigned_V16QI_type_node): New.
2385         (unsigned_V4SI_type_node): New.
2386         (unsigned_V8QI_type_node): New.
2387         (unsigned_V8HI_type_node): New.
2388         (unsigned_V4HI_type_node): New.
2389         (unsigned_V2SI_type_node): New.
2390
2391 2001-12-11  Stan Shebs  <shebs@apple.com>
2392
2393         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
2394         test of class names.
2395
2396 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2397
2398         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
2399         cpu configuration headers.
2400         * config/h8300/elf.h: Include dbxelf.h.
2401         * config/m68k/linux.h: Likewise.
2402         * config/m68k/m68020-elf.h: Likewise.
2403         * config/m68k/m68kv4.h: Likewise.
2404         * config/sh/elf.h: Likewise.
2405         * config/m68k/m68kemb.h: Add comment about the its purpose.
2406
2407 2001-12-11  Richard Henderson  <rth@redhat.com>
2408
2409         * objc/objc-act.c (build_constructor): Cast initializer values
2410         to the proper field types.
2411
2412 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
2413
2414         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
2415
2416 2001-12-10  Roger Sayle <roger@eyesopen.com>
2417
2418         * builtins.c (expand_builtin): Use a switch statement to list
2419         those functions not expanded without optimizations, instead of a
2420         series of equality tests.
2421
2422 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2423
2424         * config/alpha/vms.h (LIB_SPEC): Define.
2425         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
2426
2427         * libgcc2.c (_bb): Remove ctime declaration.
2428
2429         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
2430         that works if LN_S = cp.
2431
2432         * config/alpha/x-vms (version): Change "." to "_".
2433
2434         * configure.in: Hardcode that vfork works on VMS host.
2435         * configure: Regenerated.
2436
2437 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
2438
2439         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
2440         unless do_obj true.
2441         (process_command): Modify calls to convert_filename.
2442
2443 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2444
2445         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
2446
2447 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
2448
2449         * combine.c (known_cond): Check mode of each operand to determine
2450         if COND is comparing floating point values.
2451
2452 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
2453
2454         * rs6000.h (processor_type): Add PPC405.
2455         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
2456         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
2457         rios1, rs64, and ppc630 processors.
2458         * rs6000.c (processor_target_table): Add PPC405.
2459
2460 2001-12-10  Richard Henderson  <rth@redhat.com>
2461
2462         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
2463         instead of hardcoding subregs into the _be and _le patterns.
2464
2465 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
2466
2467         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
2468
2469 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2470
2471         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
2472         what insn does.
2473
2474 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2475
2476         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
2477         copyright notice formerly conditioned on @ifinfo on @ifnottex
2478         instead.
2479
2480 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2481
2482         * vmsdbgout.c (lookup_filename): Remove warning.
2483
2484 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2485
2486         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
2487
2488         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
2489         (exeext, target_alias, prefix, local_prefix): Define.
2490         * config/alpha/x-vms (USE_COLLECT2): Make empty.
2491         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
2492         file specifications. Remove ".".
2493         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
2494         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
2495
2496 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
2497
2498         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
2499
2500 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
2501
2502         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
2503         Add rules for building [vp]crt0.o
2504         * config/alpha/vms.h (START_FILE_SPEC): Define.
2505         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
2506         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
2507         * doc/invoke.texi: Document special Alpha/VMS options.
2508
2509 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2510
2511         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
2512         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
2513         not GNUC.
2514
2515 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2516                           Douglas B. Rupp  <rupp@gnat.com>
2517
2518         * tree.c (append_random_char): Conditionalize INO for VMS.
2519
2520 2001-12-09  Richard Henderson  <rth@redhat.com>
2521
2522         * cfgcleanup.c (label_is_jump_target_p): New function.
2523         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
2524         target of a JUMP_INSN from the preceding block.
2525
2526 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
2527
2528         * vmsdbgout.c (lookup_filename): Assign null string instead
2529         of null pointer to fnam.
2530
2531 2001-12-09  Richard Henderson  <rth@redhat.com>
2532
2533         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
2534         immediately after a call; insert nops before a call.
2535
2536 2001-12-09  Richard Henderson  <rth@redhat.com>
2537
2538         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
2539         not FUNCTION_BOUNDARY.
2540         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
2541         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
2542         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
2543
2544 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
2545
2546         * config/mmix/mmix.c (mmix_function_block_profiler,
2547         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2548         unused functions.
2549         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
2550         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2551         prototypes.
2552
2553         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
2554         Delete obsoleted macros.
2555
2556 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2557
2558         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
2559         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
2560
2561         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
2562         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
2563         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
2564         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
2565         config/i370/i370.c, config/i386/i386.c,
2566         config/i386/i386-interix.h, config/i386/i386.md,
2567         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
2568         config/m32r/m32r-protos.h, config/mcore/mcore.h,
2569         config/rs6000/rs6000.h, config/sparc/linux64.h,
2570         config/sparc/sparc.c, config/v850/v850-protos.h,
2571         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
2572         spelling errors.
2573
2574 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
2575
2576         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
2577         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
2578
2579         * config/rs6000/rs6000.c: Ditto.
2580
2581         * config/rs6000/rs6000.md: Ditto.
2582
2583 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2584
2585         * 1750a.md: Add default case in switch.
2586         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2587         if-else statement.
2588         * dsp16xx.c (print_operand_address): Likewise.
2589         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
2590         * ia64.md: Add missing braces.
2591         * rs6000-protos.h (s8bit_cint_operand): Prototype.
2592         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2593         if-else statement.
2594         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
2595         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
2596         * dbxout.c (dbxout_source_file): Move a variable into the scope
2597         where it is used.
2598         * final.c (profile_function): Mark parameter with
2599         ATTRIBUTE_UNUSED.
2600         * genemit.c (gen_expand): Likewise for generated file.
2601         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
2602
2603         * vmsdbg.h: Delete spurious close-comment.
2604         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
2605         * vmsdbgout.c (write_modbeg): Define return type.
2606
2607         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
2608         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2609         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2610         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
2611         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
2612         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
2613         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
2614
2615 2001-12-08  Tom Rix  <trix@redhat.com>
2616
2617         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
2618         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
2619         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
2620         for powerpc64.
2621         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
2622         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
2623         * config/rs6000/rs6000.c (expand_block_move): Do not use
2624         gen_movstrsi_2reg and powerpc64.
2625
2626 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
2627
2628         * c-common.h (rid): Add RID_CHOOSE_EXPR and
2629         RID_TYPES_COMPATIBLE_P.
2630
2631         * c-parse.in (reswords): Add __builtin_choose_expr.
2632         Add __builtin_types_compatible_p.
2633         Add CHOOSE_EXPR token.
2634         Add TYPES_COMPATIBLE_P token.
2635         Add production for CHOOSE_EXPR.
2636         Add production for TYPES_COMPATIBLE_P.
2637
2638         * doc/extend.texi (__builtin_choose_expr): Add documentation.
2639         (__builtin_types_compatible_p): Likewise.
2640
2641 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
2642
2643         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2644         to unions.
2645
2646 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2647
2648         * c-parse.in: Take string literals in assembler constructs,
2649         not expressions.
2650         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
2651         check the strings are STRING_CSTs.
2652
2653 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2654
2655         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
2656         using combine_strings to do the concatenation.
2657         * c-parse.in: Replace uses of the string non-terminal with STRING.
2658         Don't attempt string concatenation.
2659         (OBJC_STRING): New terminal.
2660         (string): Remove non-terminal.
2661         (_yylex): Call combine_strings on function names.  Generate
2662         OBJC_STRING terminals; don't pass '@' on to yacc.
2663         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
2664         (build_asm_stmt): Similarly.
2665
2666 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2667
2668         * rtlanal.c (get_jump_table_offset): Delete unused variable.
2669
2670 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2671
2672         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
2673         (prefetch): Rewrite using PREFETCH RTL primitive.
2674         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
2675         * arm.c (arm_init_builtins): Don't initialize a builtin for
2676         __builtin_prefetch here.
2677         (arm_expand_builtin): Don't expand __builtin_prefetch here.
2678
2679 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2680
2681         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
2682         in test for a subreg.
2683
2684 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2685
2686         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
2687         strings.
2688
2689 2001-12-07  Richard Henderson  <rth@redhat.com>
2690
2691         * doc/extend.texi: Fix typo last change.
2692
2693         * c-decl.c (c_language): Remove duplicate.
2694
2695 2001-12-07  Dale Johannesen  <dalej@apple.com>
2696
2697         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
2698         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
2699         specific codegen, eliminate a register copy.
2700         (print_operand_address): Add support for Darwin's lo16(constant)
2701         syntax.
2702         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
2703         generation of addresses within very large data objects.
2704         (s8bit_cint_operand):  New.
2705         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
2706         Move "mtjmpr" to correct functional unit for 750/7400/7450.
2707         Add imul2 and imul3 insn types for multiplication by 16- and
2708         8-bit constants.
2709         Change tablejump patterns to strongly discourage using LR
2710         rather than CTR.
2711         Add %lo16 patterns for Darwin loads and stores.
2712
2713 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2714
2715         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
2716
2717 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
2718
2719         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
2720         with %sp because it can cause the delayed instruction to load
2721         below the stack.
2722
2723 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2724
2725         * alpha.c (alpha_expand_unaligned_store,
2726         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
2727         call to immed_double_const.
2728
2729 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
2730
2731         * doc/extend.texi (Variable Attributes): Document vector_size.
2732
2733         * attribs.c (c_common_attribute_table): Add vector_size.
2734         (handle_vector_size_attribute): New.
2735         (vector_size_helper): New.
2736         (decl_attributes): Relayout the decl after calculating attribs.
2737
2738 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2739
2740         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
2741         description for Trouble section.
2742         * doc/install-old.texi: Adjust for inclusion as chapter of new
2743         installation manual.
2744         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
2745         Adjust to include old installation chapter as chapter of new
2746         installation manual.
2747
2748 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
2749
2750         * rtl.h (get_jump_table_offset): Declare.
2751         * rtlanal.c (get_jump_table_offset): Implement.
2752
2753 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2754
2755         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
2756         Deleted; were used only by BB profiler code.
2757         (sbb_head, sbb_tail, sbb_label_num): Likewise.
2758         (end_final): Delete now-unused vars I, PTR, and SPTR.
2759
2760         * expr.c (store_field): Remove warning.
2761         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
2762         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
2763         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
2764         divisor constant power of 2.
2765         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
2766
2767 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2768
2769         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
2770         shifting.
2771
2772 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2773
2774         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
2775         (DWARF_FRAME_REGISTERS): Delete.
2776
2777 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
2778
2779         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
2780         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
2781         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
2782         with defaults for read prefetch with high degree of locality.
2783         * doc/extend.texi (__builtin_prefetch): Update documentation.
2784         * doc/md.texi (prefetch): Add documentation.
2785
2786 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2787
2788         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
2789         UNIX V5.1A stdio.h.
2790         * fixinc/fixincl.x: Regenerate.
2791         Fixes PR libf2c/4826.
2792
2793 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2794             Richard Henderson  <rth@redhat.com>
2795
2796         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
2797         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
2798
2799         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
2800         to PRE_GCC3_DWARF_FRAME_REGISTERS.
2801         (frame_state): Same.
2802         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
2803
2804 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2805
2806         * langhooks.c (lhd_staticp): Mark parameter with
2807         ATTRIBUTE_UNUSED.
2808
2809 2001-12-06  H.J. Lu <hjl@gnu.org>
2810
2811         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
2812         reduce noise.
2813         (.po.pox): Likewise.
2814         (o/$(PACKAGE).pot): Likewise.
2815
2816 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
2817
2818         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
2819         * tree-inline.c (expand_call_inline): ... here.
2820
2821 2001-12-06  H.J. Lu <hjl@gnu.org>
2822
2823         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
2824         (.po.pox): Likewise.
2825         (o/$(PACKAGE).pot): Likewise.
2826
2827 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
2828
2829         * config.gcc: Include dbxelf.h before elfos.h.
2830         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
2831
2832 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
2833
2834         * cppfiles.c (open_file): If we've opened a directory by
2835         mistake, close it.
2836         (find_include_file): Avoid turning / into // or // into ///.
2837
2838 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2839
2840         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
2841         (STRUCT_VALUE_REGNUM): Restore definition.
2842
2843 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
2844
2845         * flow.c (find_regno_partial): Return register, not the expression
2846         the register is in.
2847
2848 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2849
2850         * function.c (handle_epilogue_set): Check for FP setting case when
2851         SP is set from FP in same insn.
2852
2853 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2854
2855         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
2856         RTX when calling alter_subreg().
2857         (store_multiple_sequence): Pass pointer to RTX when calling
2858         alter_subreg().
2859
2860 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2861
2862         * function.c (assing_parms): Fix typo in last change.
2863         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
2864         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
2865         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
2866         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
2867
2868 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
2869
2870         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
2871         correct code selecting section.
2872
2873 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
2874
2875         * final.c (count_basic_block, add_bb, add_bb_string):
2876         Kill.
2877         (end_final, final_start_function, final, final_scan_insn,
2878         leaf_function_p): Kill BB profiler related code.
2879         * flags.h (profile_block_flag): Kill.
2880         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
2881         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
2882         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
2883         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
2884         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
2885         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
2886         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
2887         __bb_init_trace_func): Kill.
2888         * toplev.c (profile_block_flag): Kill.
2889         (indepdendent_decode_option, process_options): Kill -a related code.
2890         * alpha.c (direct_call_operand): Likewise.
2891         * arm.c (arm_expand_prologue, thumb_expand_prologue,
2892         thumb_expand_epilogue): Likewise.
2893         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
2894         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2895         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2896         MACHINE_STATE_RESTORE): Kill.
2897         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2898         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2899         MACHINE_STATE_RESTORE): Kill.
2900         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2901         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
2902         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
2903         code.
2904         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
2905         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2906         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2907         MACHINE_STATE_RESTORE): Kill.
2908         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2909         * i960.c (i960_output_function_prologue): Kill BB profiler related
2910         code.
2911         * ia64.c (ia64_compute_frame_size): Likewise.
2912         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2913         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2914         MACHINE_STATE_RESTORE): Kill.
2915         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
2916         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2917         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2918         MACHINE_STATE_RESTORE): Kill.
2919         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
2920         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2921         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2922         MACHINE_STATE_RESTORE): Kill.
2923         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
2924         Kill BB profiler related code.
2925         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2926         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2927         MACHINE_STATE_RESTORE): Kill.
2928         * mips.c (mips_expand_prologue): Kill BB profiler related code.
2929         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2930         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2931         MACHINE_STATE_RESTORE): Kill.
2932         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
2933         * s960.c (s390_function_prologue): Kill BB profiler related code.
2934         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2935         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2936         MACHINE_STATE_RESTORE): Kill.
2937         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2938         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2939         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2940         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2941         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
2942         sparc_nonflat_function_epilogue): Kill BB profiler related code.
2943         (sparc_function_block_profiler, sparc_block_profiler,
2944         sparc_function_block_profiler_exit): Kill.
2945         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
2946         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2947         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2948         MACHINE_STATE_RESTORE): Kill.
2949         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2950         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2951         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2952         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2953         MACHINE_STATE_RESTORE): Kill.
2954         * doc/invoke.texi: Kill documentation of -a and -ax.
2955         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2956         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2957         MACHINE_STATE_RESTORE): Kill.
2958
2959 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
2960
2961         * doc/rtl.texi: Use a table to display RTL format characters.
2962
2963 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
2964
2965         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
2966
2967 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2968
2969         * function.c (keep_stack_depressed): Check global_live_at_start
2970         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
2971
2972 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
2973
2974         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
2975         as set by the generic FreeBSD configure framework.
2976
2977 2001-12-04  Jason Merrill  <jason@redhat.com>
2978
2979         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2980         start_inlining, end_inlining.
2981         * tree-inline.c (expand_call_inline): Call them.
2982         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
2983         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
2984         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
2985         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
2986         (lhd_tree_inlining_end_inlining): New fn.
2987
2988 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2989
2990         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
2991         * c-common.h (shadow_warning): New.
2992         * c-decl.c: Include c-common.h.
2993         (warn_if_shadowing): New, broken out of pushdecl.
2994         (pushdecl): Use warn_if_shadowing.
2995         (store_parm_decls): Prevent duplicate -Wshadow warnings.
2996
2997 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
2998
2999         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
3000         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
3001         (LIB_SPEC): Remove.
3002
3003 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3004
3005         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
3006         (QUAL_UNION_TYPE): New type.
3007
3008         * varasm.c (output_constant, case ERROR_MARK): New case.
3009
3010         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
3011         (c_com): Delete its reference.
3012         * builtins.c: Delete memory checking code.
3013         * calls.c, expr.c, function.c, stmt.c: Likewise.
3014         * builtins.c (expand_builtin_arg_info): Remove reference to
3015         EXPAND_MEMORY_USE_* modifiers.
3016         * explow.c (expr_size): Likewise.
3017         * expr.c (expand_expr, expand_increment): Likewise.
3018         * expr.h (ARGS_SIZE_RTX): Likewise.
3019         * function.c (assign_parms, expand_pending_sizeso): Likewise.
3020         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
3021         * expr.c (in_check_memory_usage): Delete.
3022         (get_push_address, get_memory_usage_from_modifier): Delete.
3023         (expand_assigment): Use EXPAND_WRITE on destination.
3024         (expand_expr): Delete ro_modifier.
3025         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
3026         add EXPAND_WRITE.
3027         (memory_use_mode): Delete.
3028         * flags.h (flag_check_memory_usage): Deleted.
3029         (flag_prefix_function_name): Likewise.
3030         * function.c (expand_function_start): Don't set
3031         current_function_check_memory_usage.
3032         * function.h (check_memory_usage): Delete.
3033         * libfuncs.h, optabs.c: Delete chkr_* stuff.
3034         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
3035         EXPAND_WRITE.
3036         * toplev.c (flag_check_memory_usage): Deleted.
3037         (flag_prefix_function_name): Likewise.
3038         (f_options, process_options): Delete references to above.
3039         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
3040         * varasm.c (CHKR_PREFIX): Deleted.
3041         (make_decl_rtl): Remove flag_prefix_function_name handling.
3042         (assemble_name): Likewise.
3043         * doc/extend.texi: Remove no_check_memory_usage attribute.
3044         * doc/invoke.texi: Remove -fcheck-memory-usage
3045         and -fprefix-function-name.
3046
3047 2001-12-05  Andreas Schwab  <schwab@suse.de>
3048
3049         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
3050         from autoconf.
3051
3052 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
3053
3054         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
3055
3056 2001-12-05  William Cohen  <wcohen@redhat.com>
3057
3058         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
3059         instruction.
3060
3061 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
3062
3063         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
3064         builtins.
3065
3066         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
3067         better reflect reality (change from Apple's tree).
3068         Add more of altivec instructions.
3069         Add ftruncv4sf2 pattern.
3070         Remove more unspecs (vector merge instructions, etc).
3071
3072         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
3073         builtins.
3074         (bdesc_1arg): New, for 1 argument altivec builtins.
3075         (altivec_expand_builtin): Handle unary and ternary ops.
3076         (altivec_init_builtins): Ditto.
3077
3078 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3079
3080         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
3081         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
3082
3083 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3084
3085         * gcse.c (store_killed_in_insn): Consider pure calls
3086         as potential store killers in addition to normal calls.
3087
3088 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3089
3090         * expr.c (expand_expr): When checking promoted value, use
3091         DECL_MODE (exp) and not mode.
3092
3093 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3094
3095         * c-typeck.c (output_init_element): Call digest_init
3096         just once, not in each if branch and check its return value for
3097         error_mark_node.
3098
3099 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3100
3101         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
3102         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
3103         (finish_struct): Break the loop if n_incomplete went to 0.
3104         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
3105
3106 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
3107
3108         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
3109
3110 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3111                           Douglas B. Rupp  <rupp@gnat.com>
3112
3113         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
3114         * doc/invoke.texi: Add -gvms.
3115         * doc/passes.texi: Add mention of vmsdbgout.c.
3116         * doc/tm.texi: Document VMS debugging output.
3117
3118 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3119
3120         * function.h (tree, rtx): Remove no-longer-needed definitions.
3121
3122         * function.c (keep_stack_depressed): Refine check for register
3123         clobbered over call.
3124
3125         * expr.c (store_expr): When copying string constant into array,
3126         use functions that update memrefs instead of computations on
3127         addresses to better track MEMs.  Also properly handle 32/64 pointers.
3128         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
3129         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
3130
3131         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
3132         underneath COMPONENT_REFs.
3133         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
3134
3135 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3136
3137         * toplev.c (display_target_options): Don't print twice.
3138
3139 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
3140
3141         * emit-rtl.c (set_unique_reg_note): Don't set
3142         a REG_EQUAL or REG_EQUIV note if multiple sets
3143         are present.
3144
3145 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3146
3147         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
3148         CASE_DROPS_THROUGH.
3149
3150 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
3151
3152         * rtl.h (initialize_uninitialized_subregs): New prototype.
3153         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
3154         when optimization is on.
3155         * flow.c (find_regno_partial): Find subregs within an expression.
3156         (initialize_uninitialized_subregs): Initialize live on entry registers
3157         which are used in subreg expressions.
3158
3159 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
3160
3161         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
3162
3163 2001-12-04  DJ Delorie  <dj@redhat.com>
3164
3165         * fixinc/fixincl.c (initialize): Avoid problemsome macro
3166         parameter names (PR 3388).
3167
3168 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
3169
3170         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
3171         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
3172
3173 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3174
3175         * c-common.def (COMPOUND_LITERAL_EXPR): New.
3176         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
3177         (c_staticp): New function.
3178         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
3179         (c_staticp): Declare.
3180         * c-typeck.c (default_function_array_conversion, build_unary_op):
3181         Don't handle CONSTRUCTOR specially.
3182         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
3183         * c-decl.c (build_compound_literal): New function.
3184         * c-tree.h (build_compound_literal): Declare.
3185         * c-parse.in (primary): Use build_compound_literal.
3186         * c-lang.c (LANG_HOOKS_STATICP): Define.
3187         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
3188         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
3189         * doc/extend.texi: Update documentation of compound literals.
3190         Fixes PR c/4787.
3191
3192 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3193
3194         * langhooks.h (struct lang_hooks): Add staticp.
3195         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
3196         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
3197         * langhooks.c (lhd_staticp): New function.
3198         * tree.c (staticp): Call lang_hooks.staticp for language-specific
3199         tree codes.
3200
3201 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3202
3203         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
3204         * gcc.c (process_command): Ensure the cpp driver sees
3205         --help and --target-help, and that the help is printed
3206         exactly once.
3207
3208 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
3209
3210         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
3211
3212 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
3213
3214         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
3215         flag_strict_aliasing.  Use separate assignment statements.
3216
3217 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
3218
3219         * build-make, cross-make: Delete file.
3220         * configure.in: Set and substitute CROSS, ALL,
3221         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
3222         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
3223         whether build == host and host == target.  Do not
3224         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
3225         AC_SUBST cross_defines or extra_c_flags.
3226         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
3227         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
3228         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
3229         partially or completely with autoconf-substituted @variable@
3230         notation.
3231         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
3232         @build_overrides@, @extra_c_flags@, all.build, install-build,
3233         install-cross-rest, install-float-h-cross): Deleted.
3234         (install-normal): Rename to install.  Delete old "install"
3235         indirection rule.
3236
3237 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
3238
3239         * stmt.c (expand_return): Clear destination instead of clobbering it
3240         when setting a return value via bitsets.
3241
3242 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
3243
3244         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
3245         it has DECL_SAVED_TREE.
3246
3247         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
3248         is in a different binding level, get its abstract origin to be
3249         olddecl.
3250         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
3251         check earlier.
3252         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
3253         DECL_INITIAL is NULL.
3254
3255 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
3256
3257         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
3258         Return correct value if one of the subexpressions was optimized to
3259         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
3260         (and_reg_cond): Similarly.
3261
3262 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
3263
3264         * function.c (assign_parms): Set last_named only for last named
3265         argument.
3266
3267 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3268
3269         * doc/install.texi: Use the GFDL.  Include years from old install
3270         manual in copyright notice.  Include copyright and GFDL notice on
3271         HTML index page.  Include usual footer on testing.html.
3272         * doc/install.texi2html: Build gfdl.html.  Use -I
3273         $SOURCEDIR/include.
3274         * doc/include/fdl.texi: Adapt for use in the install manual.
3275
3276 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3277
3278         * doc/install.texi: Document that installed native compiler for
3279         building cross compilers should be GCC 2.95 or later.
3280
3281 2001-12-03  Eric Christopher  <echristo@redhat.com>
3282
3283         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
3284         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
3285         patterns.
3286
3287 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
3288
3289         * rtl.def (PREFETCH): New rtx code.
3290         * doc/rtl.texi (PREFETCH): Add documentation.
3291         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
3292         * rtlanal.c (reg_referenced_p): Ditto.
3293         * sched-vis.c (print_exp):  Ditto.
3294         * ssa-dce.c (find_inherently_necessary):  Ditto.
3295
3296         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
3297           (PREFETCH_BLOCK): Define.
3298         * config/ia64/ia64.md (itanium_class): Add lfetch.
3299           (prefetch, prefetch_internal): New.
3300
3301         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
3302         * builtins.def (BUILT_IN_PREFETCH): New.
3303         * builtins.c (expand_builtin_expect): New.
3304           (expand_builtin): Call it.
3305         * doc/extend.texi: Document __builtin_prefetch.
3306
3307         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
3308           conflicts with new generic prefetch functionality.
3309         * config/i386/i386.c (ix86_expand_builtin): Use new name for
3310           prefetch_sse.
3311
3312 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
3313
3314         * objc/Make-lang.in: Update copyright.
3315         (OBJC_OBJS): Add objc-lang.o.
3316         (objc-lang.o): New rule.
3317         * objc/config-lang.in: Fix file description and update
3318         copyright.
3319         * objc/objc-act.c: Do not include langhooks.h and
3320         langhooks-def.h
3321         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
3322         (objc_post_options): Move to objc-lang.c.
3323         (objc_init_options): Move to objc-lang.c.
3324         (objc_init): Make non-static.
3325         (objc_decode_option): Make non-static.
3326         (HASHFUNCTION): Remove macro.
3327         (hash_func): New function.
3328         (hash_enter): Replace HASHFUNCTION with hash_func.
3329         (hash_lookup): Replace HASHFUNCTION with hash_func.
3330         (maybe_objc_tree_codes): New function.
3331         (init_objc): Move ObjC tree code initialization to
3332         maybe_objc_tree_codes().
3333         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
3334         (objc_init): New public prototype.
3335         (objc_decode_option): New public prototype.
3336         (maybe_add_objc_tree_codes): New public prototype.
3337         * objc/objc-lang.c: New file.
3338         (lang_hooks): Moved from objc-act.c.
3339         (objc_post_options): Moved from objc-act.c.
3340         (objc_init_options): Moved from objc-act.c.
3341
3342 2001-12-03  Geoff Keating  <geoffk@redhat.com>
3343
3344         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
3345         of array elements.
3346
3347 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3348
3349         PR c/4988
3350         * gcc.c (process_command): Don't add a preprocessor option for
3351         --help and --target-help; cc1 is enough.
3352
3353 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3354
3355         * c-decl.c (grokdeclarator): Use ISO word.
3356         * cppinit.c: Remove leading capital from diagnostic messages, as
3357         per GNU coding standards.
3358         * emit-rtl.c: Similarly.
3359         * final.c: Similarly.
3360         * gcc.c: Similarly.
3361         * tradcpp.c: Similarly.
3362         * config/arm/arm.c: Similarly.
3363         * config/arm/arm.h: Similarly.
3364         * config/avr/avr.c: Similarly.
3365         * config/avr/avr.h: Similarly.
3366         * config/c4x/c4x.c: Similarly.
3367         * config/cris/cris.c: Similarly.
3368         * config/cris/cris.h: Similarly.
3369         * config/d30v/d30v.c: Similarly.
3370         * config/dsp16xx/dsp16xx.c: Similarly.
3371         * config/dsp16xx/dsp16xx.h: Similarly.
3372         * config/h8300/h8300.c: Similarly.
3373         * config/i386/i386.c: Similarly.
3374         * config/i386/xm-djgpp.h: Similarly.
3375         * config/i960/i960.h: Similarly.
3376         * config/m32r/m32r.c: Similarly.
3377         * config/m68hc11/m68hc11.c: Similarly.
3378         * config/m88k/m88k.c: Similarly.
3379         * config/m88k/m88k.h: Similarly.
3380         * config/mcore/mcore.c: Similarly.
3381         * config/mcore/mcore.h: Similarly.
3382         * config/mips/mips.c: Similarly.
3383         * config/mmix/mmix.c: Similarly.
3384         * config/pa/pa.c: Similarly.
3385         * config/rs6000/rs6000.c: Similarly.
3386         * config/rs6000/sysv4.h: Similarly.
3387         * config/s390/s390.c: Similarly.
3388         * config/sparc/sparc.c: Similarly.
3389         * config/v850/v850-c.c: Similarly.
3390         * config/v850/v850.c: Similarly.
3391
3392 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
3393
3394         * rs6000.h (RETURN_IN_MEMORY): Cast result of
3395         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
3396
3397 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
3398
3399         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
3400         bit twiddling constant.
3401
3402 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
3403
3404         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
3405         call purge_dead_edges after removing.
3406         (delete_null_pointer_checks): Do not handle delete_list.
3407
3408         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
3409         (count_basic_blocks): ... here.
3410         (find_basic_blocks, find_bb_boundaries): Cleanup.
3411
3412         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
3413         overflow for types greater then 2 * HOST_WIDE_INT.
3414
3415         * reload.c (find_reloads): Update the duplicates after swapingg.
3416
3417 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3418
3419         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
3420
3421 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
3422
3423         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
3424         MASK_LONG_DOUBLE_128): Delete.
3425         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
3426         TARGET_AIX_STRUCT_RET): New flags.
3427         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
3428         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
3429         and -m(no-)svr4-struct-return.
3430         (TARGET_OPTIONS): Add entry for -mlong-double-.
3431         (rs6000_long_double_size_string, rs6000_long_double_type_size,
3432         rs6000_altivec_abi): Declare.
3433         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
3434         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
3435         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
3436         structures of size <= 8 bytes in registers.
3437         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
3438
3439         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
3440         rs6000_long_double_type_size, rs6000_altivec_abi): New
3441         globals.
3442         (rs6000_override_options): Set rs6000_long_double_type_size
3443         from rs6000_long_double_size_string, if nonzero.  Set the
3444         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
3445         not already set.
3446         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
3447         target_flags bit.
3448         (rs6000_init_builtins): This hook now takes no arguments.
3449
3450         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
3451         DRAFT_V4_STRUCT_RET to 1.
3452
3453 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3454
3455         * c-typeck.c (really_start_incremental_init, push_init_level):
3456         Avoid constructor_max_index being other than an INTEGER_CST.
3457
3458 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3459
3460         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
3461         unsigned.
3462         (ASM_GENERATE_INTERNAL_LABEL): Same.
3463         (UNIQUE_SECTION): Fix typo.
3464
3465 2001-12-02  Richard Henderson  <rth@redhat.com>
3466
3467         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
3468
3469 2001-12-02  Richard Henderson  <rth@redhat.com>
3470
3471         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
3472         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
3473         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
3474         * expr.h, final.c, reload1.c: Adjust users.
3475
3476         * alias.c (nonoverlapping_component_refs_p): New.
3477         (decl_for_component_ref, adjust_offset_for_component_ref): New.
3478         (nonoverlapping_memrefs_p): Use them.
3479         * emit-rtl.c (component_ref_for_mem_expr): New.
3480         (set_mem_attributes): Use it.
3481         (set_mem_offset): New.
3482         * expr.c (expand_assignment): Call set_mem_attributes for
3483         inner references; adjust the memory offset as needed.
3484         * print-rtl.c (print_mem_expr): New.
3485         (print_rtx): Use it.
3486
3487 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
3488
3489         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
3490
3491         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
3492         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
3493         (ASM_SPEC): Don't redefine.
3494         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
3495         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
3496         * config/alpha/vms-dwarf2.asm: New file.
3497
3498         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
3499         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
3500         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
3501         (vmsdbgout_after_prologue): New declaration.
3502         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
3503         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
3504         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
3505         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
3506         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
3507         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
3508         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
3509         Test VMS_DEBUGGING_INFO.
3510         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
3511         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
3512         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
3513         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
3514         VMS_AND_DWARF2_DEBUG.
3515         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
3516         (decode_g_option): Add "vms" to debug_type_names.
3517         (process_options): Set vmsdbg_debug_hooks if -gvms.
3518         (lang_independent_init): Emit line number for VMS unless -g0.
3519         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
3520         * vmsdbg.h, vmsdbgout.c: New files.
3521
3522 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3523
3524         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
3525
3526 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3527
3528         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
3529         * dwarf2out.c (is_cxx): Prototype.
3530         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
3531         warning.
3532         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
3533
3534 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3535
3536         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
3537
3538 2001-12-02  Geoff Keating  <geoffk@redhat.com>
3539
3540         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
3541         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
3542         rather than simplify_subreg.  Check for volatile-ness.  Check that
3543         we're not splitting one slow operation into two slow operations.
3544
3545 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3546
3547         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
3548         before shifting.
3549
3550 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3551
3552         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
3553         capital from diagnostics.
3554         * c-lex.c (cb_file_change): Similarly.
3555         * c-parse.in : Similarly.
3556         * cfgrtl.c (verify_flow_info): Similarly.
3557         * collect2.c: Similarly.
3558         * cppfiles.c (find_include_file): Similarly.
3559         * cppinit.c (cpp_handle_option): Similarly.
3560         * cpplex.c (cpp_spell_token): Similarly.
3561         * cppmain.c (do_preprocessing): Similarly.
3562         * gcc.c (translate_options, process_command, do_spec1,
3563         main, pfatal_execute): Similarly.
3564         * genattr.c (main): Similarly.
3565         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
3566         write_test_expr, main): Similarly.
3567         * gencodes.c (main): Similarly.
3568         * genconfig.c (main): Similarly.
3569         * genconstants.c (main): Similarly.
3570         * genemit.c (main): Similarly.
3571         * genextract.c (main): Similarly.
3572         * genflags.c (main): Similarly.
3573         * genopinit.c (main): Similarly.
3574         * genoutput.c (process_template, main): Similarly.
3575         * genpeep.c (main): Similarly.
3576         * genrecog.c (main): Similarly.
3577         * gensupport.c (is_predicable, identify_predicable_attribute,
3578         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
3579         * ggc-page.c (alloc_anon): Similarly.
3580         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
3581         parse_begin, parse_bend, parse_def, parse_end, parse_file,
3582         parse_stabs_common, parse_stabs, write_varray, write_object,
3583         read_seek, copy_object, main, error): Similarly.
3584         * profile.c (compute_branch_probabilities): Similarly.
3585         * reg-stack.c (check_asm_stack_operands): Similarly.
3586         * reload.c (find_reloads): Similarly.
3587         * reload1.c (spill_failure, failed_reload): Similarly.
3588         * rtl-error.c (_fatal_insn_not_found): Similarly.
3589         * toplev.c (read_integral_parameter, crash_signal,
3590         decode_f_option, set_target_switch, parse_options_and_default_flags)
3591         : Similarly.
3592         * tradcif.y (parse_number, yylex): Similarly.
3593         * tradcpp.c (main, fancy_abort): Similarly.
3594         * tree.c (tree_check_failed): Similarly.
3595         * varray.c (varray_check_failed): Similarly.
3596         * xcoffout.c (xcoff_output_standard_types): Similarly.
3597 objc:
3598         * objc-act.c (get_object_ref, lookup_and_install_protocols,
3599         build_objc_string_object, objc_declare_alias, build_ivar_chain,
3600         finish_message_expr, build_protocol_expr, is_public,
3601         start_class): Similarly.
3602
3603 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3604
3605         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
3606         trailing period from diagnostics.
3607         * c-lex.c (cb_file_change): Similarly.
3608         * cppmacro.c (check_trad_stringification): Similarly.
3609         * gcc.c (do_spec_1): Similarly.
3610         * genattr.c (main): Similarly.
3611         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
3612         * gencodes.c (main): Similarly.
3613         * genconfig.c (main): Similarly.
3614         * genconstants.c (main): Similarly.
3615         * genemit.c (main): Similarly.
3616         * genextract.c (main): Similarly.
3617         * genopinit.c (main): Similarly.
3618         * genoutput.c (main): Similarly.
3619         * genpeep.c (main): Similarly.
3620         * genrecog.c (main): Similarly.
3621         * mips-tfile.c (add_file, error): Similarly.
3622         * profile.c (init_branch_prob): Similarly.
3623         * reload1.c (spill_failure): Similarly.
3624         * stmt.c (parse_output_constraint): Similarly.
3625         * varasm.c (assemble_variable): Similarly.
3626
3627 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3628
3629         * m68k.c (init_FPA_table): Provide static prototype.
3630         * mips/abi64.h (mips_function_value): Move prototype to ...
3631         * mips-protos.h (mips_function_value): ... here.
3632         * mips.c: Include halfpic.h.
3633         * output.h (rdata_section): Prototype.
3634
3635         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3636         * m88k.c (m88k_svr3_asm_out_constructor,
3637         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
3638         !OBJECT_FORMAT_ELF.
3639         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3640         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3641         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3642
3643 2001-12-01  Geoff Keating  <geoffk@redhat.com>
3644
3645         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
3646         LO_SUM addresses less than word size are not legitimate,
3647         because they lead to invalid SUBREGs.
3648         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
3649
3650 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
3651
3652         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
3653         while scanning for multiple back edges.
3654
3655 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3656
3657         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
3658         * config/rs6000/tramp.asm: Use it.
3659
3660 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
3661
3662         * gencheck.c, gengenrtl.c: Don't define xmalloc.
3663         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
3664         xmalloc.
3665
3666 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3667
3668         * pa.c (output_ascii): Cast `p' to unsigned char.
3669
3670 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3671
3672         * config/rs6000/rs6000.c (altivec_expand_builtin): add
3673         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
3674         *_16qi,_8hi, rename existing V4SI ones to *_4si.
3675         (altivec_init_builtins): Ditto.
3676         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
3677
3678         * config/rs6000/rs6000.md: Add attribute types vecsimple,
3679         veccomplex, vecfloat, and vecperm, for altivec instructions.
3680         Modify altivec patterns to use appropriate attribute type.
3681         Modify altivec patterns to match RTL operations where appropriate
3682         (IE no unspec where we can avoid it).
3683         Add vector unit scheduling for ppc7450.
3684         Rename patterns to what they are where appropriate
3685         (altivec_vaddfp->addv4sf3, etc)
3686
3687         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
3688         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
3689
3690         * config/rs6000/sysv4.h: Add -mcpu=7450.
3691
3692         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
3693         _builtin_altivec_ld_interal function.
3694
3695 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3696
3697         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
3698         strchr, strrchr, isascii, gettimeofday.
3699         * config.in, configure: Regenerate.
3700
3701 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3702
3703         * unroll.c (unroll_loop): Correct special exit cases.
3704
3705 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
3706
3707         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
3708         accept DFmode and DImode only.
3709
3710 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3711
3712         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
3713         (STACK_DYNAMIC_OFFSET): Same.
3714
3715 2001-11-30  Richard Henderson  <rth@redhat.com>
3716
3717         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
3718
3719 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3720
3721         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
3722         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
3723         the values in call_used_registers.
3724
3725 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
3726
3727         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
3728         gthr-single.
3729
3730 2001-11-30  Jason Merrill  <jason@redhat.com>
3731
3732         * dwarf2out.c (is_cxx): New fn.
3733         (add_data_member_location_attribute): Check it.
3734         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
3735
3736 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3737
3738         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
3739
3740 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3741
3742         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
3743         MODE_VECTOR_FLOAT as allowed.
3744
3745 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
3746
3747         Purge cruft now we have build libiberty.
3748
3749         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
3750         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
3751         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
3752         USE_HOST_STRSTR): Delete variables.
3753         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
3754         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
3755         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3756         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
3757         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
3758         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
3759         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
3760         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
3761         (HOST_LIBS): Ditto.
3762         (HOST_RTL): Remove hashtab.o safe-ctype.o.
3763         (OBJS): Remove splay-tree.o.
3764         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
3765         (distclean): No need to delete splay-tree.c obstack.c
3766         hashtab.c safe-ctype.c.
3767         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
3768         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
3769         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
3770         Delete.
3771         * configure.in: Don't use them.
3772         Set and substitute @FORBUILD@.
3773         * config.in, configure: Regenerate.
3774         * doprint.c: Move to libiberty/_doprnt.c.
3775         * doc/configterms.texi: Document that libiberty is now built
3776         up to three times.  Fix typo.
3777
3778 2001-11-30  Jason Merrill  <jason@redhat.com>
3779
3780         * dwarf2out.c (add_data_member_location_attribute): Do the
3781         right thing for virtual bases.
3782         * dbxout.c (dbxout_type): For a virtual base, print the offset
3783         within the vtable.
3784
3785 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3786
3787         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
3788
3789 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
3790
3791         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
3792         go in memory.
3793         Remove unused attribute for named.
3794
3795 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3796
3797         * genattrtab.c (attr_rtx_1): New function containing the
3798         majority of `attr_rtx'.  Move variable declarations into the
3799         scope where they are used.  Eliminate unnecessary gotos.
3800         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
3801         VA_FIXEDARG, and VA_CLOSE.
3802
3803 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
3804
3805         * config/cris/cris.c (cris_notice_update_cc): Check first
3806         destination also against overlap with cc_status.value2 and second
3807         destination against overlap with cc_status.value1.  For overlaps,
3808         clear overlapped value, don't just CC_STATUS_INIT.
3809
3810         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
3811         Fix typo in comment.
3812         (LINK_SPEC): Remove whitespace at end of line.
3813
3814 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3815
3816         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
3817
3818 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3819
3820         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
3821         macros for the supported debugging types.
3822
3823 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3824
3825         PR other/4932
3826         * config/i386/i386.c (print_operand):  Verify that the
3827           argument to %c is a constant and not a conditional which
3828           needs to be reversed.
3829
3830 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
3831
3832         * emit-rtl.c (gen_lowpart_common): Fix conversion of
3833         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
3834         of low part of those arrays for 32bit and 64bit hosts.
3835
3836 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3837
3838         * Makefile.in (insn-output.o): Depend on insn-codes.h.
3839
3840 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3841
3842         * configure.in (target_list): Add generated-manpages.
3843         * configure: Regenerate.
3844         * Makefile.in (generated-manpages): Depend on
3845         lang.generated-manpages.
3846         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
3847
3848 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
3849
3850         * config/arm/crti.asm (_init): Add .thumb_func if compiled
3851         with -mthumb.
3852         (_fini): Add .thumb_func if compiled with -mthumb.
3853
3854 2001-11-28  Eric Christopher  <echristo@redhat.com>
3855
3856         * config/mips/mips.c (override_options): Fix thinko in mips_tune
3857         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
3858
3859 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
3860
3861         * alpha.md (tablejump): Use pic_offset_table_rtx
3862         instead of gen_rtx_REG.
3863
3864 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
3865
3866         * expr.c (store_expr): When copying a string constant into an
3867         array, reset the known alignment of the MEM for the section to
3868         be cleared to BITS_PER_UNIT.
3869
3870 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3871
3872         * config/cris/cris.c: Remove whitespace at end of line.
3873
3874 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
3875
3876         * config.gcc (i[34567]86-*-interix3*): New case.
3877         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
3878         New files.
3879
3880 2001-11-28  Richard Henderson  <rth@redhat.com>
3881
3882         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
3883         symbolic_operand as the predicate.
3884
3885 2001-11-28  Richard Henderson  <rth@redhat.com>
3886
3887         * doloop.c (doloop_modify_runtime): Properly select induction
3888         variable; skip late entry test if biv initializer created by loop.
3889
3890 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3891
3892         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
3893         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
3894
3895         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
3896
3897         * tree.h: Add missing checks on some macros; make formatting more
3898         consistent.
3899
3900         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
3901         level; only add to pending_sizes if find it.
3902
3903         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
3904
3905         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
3906         Add casts to remove warnings.
3907
3908         * Makefile.in (OBJS): Sort alphabetically.
3909
3910         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
3911         Also minor cleanups.
3912
3913 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
3914
3915         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
3916         (FLAGS_TO_PASS): Add STAGE_PREFIX.
3917         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
3918         to STAGE_PREFIX.
3919
3920 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3921
3922         * cse.c (true_dependence_in_rtx): New function.
3923         (invalidate): Use it.
3924
3925         * c-common.h (GOTO_FAKE_P): New macro.
3926         * tree-inline.c (GOTO_FAKE_P): Set.
3927         * c-tree.texi (GOTO_FAKE_P): Document.
3928
3929         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
3930         containing pointers.
3931         (output_addressed_constants): Check for local/external relocations.
3932         * elfos.h (SELECT_SECTION): Classify data section.
3933         * tm.texi (SELECT_SECTION): Update documentation.
3934
3935         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
3936         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
3937
3938 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3939
3940         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3941         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
3942         OBJECT_FORMAT_ROSE.
3943
3944 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3945
3946         * config/cris/cris.c: Tweak spacing for prototypes.
3947         (LOSE_AND_RETURN): New macro.
3948         (cris_operand_lossage): New function.
3949         (cris_print_index, cris_print_base): Use cris_operand_lossage
3950         rather than fatal_insn.
3951         (cris_print_operand, cris_print_operand_address): Use
3952         LOSE_AND_RETURN rather than fatal_insn and internal_error.
3953         (cris_output_addr_const): Use LOSE_AND_RETURN and
3954         output_operand_lossage rather than fatal_insn and internal_error
3955         for valid but unexpected rtx expressions.
3956
3957         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
3958         for a SUBREG in src or dest, abort instead.
3959
3960 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3961
3962         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
3963         doc.
3964
3965 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
3966
3967         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
3968         preprocessor define.  If only DBX_DEBUGGING_INFO or only
3969         DWARF2_DEBUGGING_INFO is supported for the target, provide
3970         appropriate definitions.
3971
3972 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3973
3974         * Makefile.in: Update, and add c-objc-common.o dependencies.
3975         * c-lang.c: Remove unnecessary includes.
3976         (c_init): Move bulk of code to c_objc_common_init, and call it.
3977         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
3978         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
3979         c-objc-common.c.
3980         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
3981         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
3982         c_objc_common_init, c_missing_noreturn_ok_p): New.
3983         * toplev.c: Update comment.
3984         * doc/passes.texi: Update.
3985 objc:
3986         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
3987         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
3988         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
3989         (objc_init): Update to use c_objc_common_init.
3990
3991 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3992
3993         * cpphash.c (_cpp_init_hashtable): Update.
3994         * cpphash.h (struct spec_nodes): Remove n_L.
3995         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
3996
3997 2001-11-17  Richard Henderson  <rth@redhat.com>
3998
3999         * unroll.c (loop_iterations): Move last change ...
4000         * doloop.c (doloop_modify_runtime): ... here.
4001
4002 2001-11-17  Corey Minyard  <minyard@acm.org>
4003             Richard Henderson  <rth@redhat.com>
4004
4005         * unroll.c (loop_iterations): Detect one situation in which we
4006         overestimate the number of iterations.
4007
4008 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4009
4010         * gcc.c (set_input): Export.
4011         Move declaration ...
4012         gcc.h (set_input): ... here.
4013
4014 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4015
4016         * gcc.c (set_collect_gcc_options): New function, split out from
4017         main.
4018         Ignore elided switches.
4019         (do_spec): Invoke before executing command.
4020         (do_spec_1): Likewise.
4021         Fixes PR other/3968.
4022
4023 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
4024
4025         * config/cris/cris.h (INT_ASM_OP): Remove.
4026
4027 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4028
4029         * config/i386/sol2.h (WINT_TYPE): Redefine.
4030         (WINT_TYPE_SIZE): Likewise.
4031
4032 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4033
4034         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
4035         (dup2): Make static and add prototype.
4036         * m68k/plexus.h: Don't define NO_DUP2.
4037         * configure.in (AC_CHECK_FUNCS): Add dup2.
4038         * config.in, configure: Regenerate.
4039
4040         * ia64/aix.h (REG_SIZE): Don't #undef.
4041         * sparc.h (REG_SIZE): Delete.
4042         * flow.c (mark_used_regs): Don't use REG_SIZE.
4043         * regs.h (REG_SIZE): Delete.
4044
4045 2001-11-27  Andreas Schwab  <schwab@suse.de>
4046
4047         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
4048         PREFERRED_DEBUGGING_TYPE.
4049
4050 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4051
4052         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
4053         (expr.o, varasm.o): Depends on langhooks.h.
4054         * c-common.c (c_safe_from_p): Always declare.
4055         (c_expand_expr): Refine when declared.
4056         * c-lang.c (c-common.h): Now include.
4057         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
4058         (c_init): Don't set lang_safe_from_expr.
4059         * expr.c (langhooks.h): Now include.
4060         (lang_safe_from_p): No longer define.
4061         (safe_from_p): Use lang hook.
4062         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
4063         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
4064         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
4065         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
4066         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
4067         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
4068         * langhooks.h (struct lang_hooks): New fields expand_constant
4069         and safe_from_p.
4070         * output.h (output_constant): Size arg is HOST_WIDE_INT.
4071         * stmt.c (expand_decl_init): No longer need to expand constant
4072         for CONST_DECL.
4073         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
4074         * toplev.c (lang_expand_constant): Delete var.
4075         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
4076         operations on SAVE_EXPR.
4077         * varasm.c (langhooks.h): Now include.
4078         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
4079         (record_constant_1, output_addressed_constants): Likewise.
4080         (initializer_constant_valid_p, output_constant): Likewise.
4081         (output_constant_def): Process no-defer of string constant.
4082         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
4083         (output_constant): Strip more conversions.
4084         Track our size and pad for the rest.
4085         (array_size_for_constructor): Remove code for non-byte STRING_CST.
4086         (output_constructor): SIZE now HOST_WIDE_INT.
4087
4088 2001-11-27  Richard Henderson  <rth@redhat.com>
4089
4090         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
4091         in computing DIFF.
4092
4093 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
4094
4095         * cppfiles.c (read_include_file): Add comment.
4096
4097 2001-11-26  Richard Henderson  <rth@redhat.com>
4098
4099         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
4100
4101 2001-11-26  Richard Henderson  <rth@redhat.com>
4102
4103         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
4104         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
4105         commented out override.
4106
4107 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4108
4109         * cppfiles.c (stack_include_file): Don't optimize zero-length
4110         files.
4111         (read_include_file): NUL-terminate read files.
4112         * cpplex.c (handle_newline, skip_escaped_newlines,
4113         get_effective_char, skip_whitespace, parse_identifier,
4114         parse_identifier_slow, parse_number, parse_string,
4115         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
4116         NUL-terminated.
4117         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
4118         Be sure buffers are NUL terminated.
4119         * cppmacro.c (warn_of_redefinition): Kill compile warning.
4120
4121 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4122
4123         * c-common.c: Include tree-inline.h.
4124         (c_language): Move separate definitions here.
4125         (c_common_init_options, c_common_post_options): New.
4126         (c_common_lang_init): Rename c_common_init.
4127         * c-common.h (c_common_lang_init): Similarly.
4128         (c_common_init_options, c_common_post_options): New.
4129         * c-lang.c (c_post_options): Move body to c_common_post_options.
4130         (c_init_options): Use c_common_init_options.
4131         (c_init): Update.
4132         * langhooks.def: Rearrange.
4133         * langhooks.h: Rearrange, and improve comments.
4134         * toplev.c (do_compile): New function.
4135         (toplev_main): Use it.
4136         (lang_independent_f_options, parse_options_and_default_flags,
4137         process_options): Remove trailing periods.
4138         * Makefile.in: Update.
4139 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
4140         functions.
4141         (ojbc_init): Update.
4142
4143 2001-11-26  Richard Henderson  <rth@redhat.com>
4144
4145         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
4146
4147 2001-11-26  DJ Delorie  <dj@redhat.com>
4148
4149         * expr.c (store_constructor): Actually use the value computed
4150         if WORD_REGISTER_OPERATIONS.
4151
4152 2001-11-26  Richard Henderson  <rth@redhat.com>
4153
4154         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
4155         for CONSTRUCTOR.
4156
4157 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
4158
4159         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
4160         correct function on AIX.
4161
4162 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
4163
4164         * toplev.c (process_options): Don't force
4165         flag_optimize_sibling_calls to zero just because exceptions are
4166         enabled.
4167
4168 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
4169
4170         * df.h (transfer_function_sbitmap): Use PARAMS around argument
4171         list in function prototypes.
4172         (transfer_function_bitmap): Likewise.
4173
4174 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
4175
4176         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
4177         * config/i386/netbsd-elf.h: Likewise.
4178
4179 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
4180
4181         * doc/trouble.texi: Remove outdated RS/6000 comments.
4182
4183 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
4184
4185         * final.c (walk_alter_subreg): Fix return value.
4186
4187 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
4188
4189         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
4190         alter_subreg.
4191         * sparc.md (post-reload splitters): Do not call alter_subreg.
4192         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
4193
4194 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
4195
4196         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
4197
4198 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
4199
4200         * final.c: (insn_lengths): Make it an int *, so that large jump
4201         tables don't overflow.
4202
4203 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
4204
4205         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
4206         (format_types): Use it for scanf.
4207         (dollar_arguments_pointer_p): New.
4208         (init_dollar_format_checking): Store details of which arguments
4209         are pointers.
4210         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
4211         (finish_dollar_format_checking): Take extra parameter
4212         pointer_gap_ok.  Treat unused arguments differently if
4213         pointer_gap_ok and the unused arguments are pointers.
4214         (check_format_info_main): Pass extra argument to
4215         finish_dollar_format_checking.
4216         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
4217         unused arguments are present between used arguments with operand
4218         numbers.
4219
4220 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
4221
4222         * df.c: Add prototypes for hybrid_search_bitmap and
4223         hybrid_search_sbitmap.
4224         (hybrid_search_bitmap): New function.
4225         (hybrid_search_sbitmap): New function.
4226         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
4227         (iterative_dataflow_bitmap): Ditto.
4228
4229 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4230
4231         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
4232         address computations.
4233
4234 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4235
4236         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
4237         register b (low part of d).
4238
4239 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4240
4241         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
4242         passed to mcount.
4243
4244 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
4245
4246         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
4247         * config/alpha/x-vms: New file, to compile the above.
4248         * config.gcc (alpha*-dec-vms*): Add x-vms.
4249
4250 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
4251
4252         * genextract.c (main): Set ro_loc for peepholes.
4253
4254 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
4255
4256         * fix-header.c (main): Move inf_buffer termination and inf_limit
4257         calculation to after read.
4258
4259         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
4260         (__UNIX_FOPEN): Define.
4261
4262 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4263
4264         * function.c (assign_stack_temp_for_type): Clear alias set before
4265         setting new one.
4266
4267 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
4268
4269         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
4270         format.
4271         * rs6000.md (cmptf): Fix typo.
4272
4273 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
4274
4275         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
4276         * varasm.c (output_constructor): Use assemble_integer rather
4277         than ASM_OUTPUT_BYTE.
4278
4279 2001-11-23  Andreas Jaeger  <aj@suse.de>
4280
4281         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
4282         extension.
4283
4284 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
4285
4286         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
4287         default definition.
4288         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
4289         (MULTILIB_DEFAULTS): Remove previous definition.
4290
4291 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4292
4293         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
4294         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
4295
4296 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4297
4298         * cris.h: Revert thinko in last patch.
4299
4300 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4301
4302         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
4303         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
4304         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
4305         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
4306         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
4307         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
4308
4309         * predict.c, reg-stack.c: Fix spelling errors.
4310
4311 2001-10-09  Andrew Haley  <aph@redhat.com>
4312
4313         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
4314         start of stack slot.
4315
4316 2001-11-22  Graham Stott  <grahams@redhat.com>
4317
4318         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
4319         replacement jump after original jump.
4320
4321         (verify_flow_info): Remove redundent initialisation.
4322         Handle reaching end of insn list before finding a BARRIER.
4323         Only issue one missing barrier diagnostic.
4324
4325 2001-11-22  Graham Stott  <grahams@redhat.com>
4326
4327         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
4328
4329 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4330
4331         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
4332         insn actually does.
4333
4334 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
4335
4336         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
4337         Fix typo -mm32rx=> -m32rx.
4338
4339         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
4340         targets.
4341
4342         * config.gcc (xscale-coff): Add necessary header files to
4343         tm_file variable.
4344
4345 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4346
4347         * rs6000.c (output_cbranch): Use $, not %$, in output template.
4348
4349 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4350
4351         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
4352         (lang_type_quals): Declare.
4353         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
4354         retrieve language-specific qualifiers for a type node, instead of
4355         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
4356         lang_dump_tree.
4357         * tree-dump.h: Rename from c-dump.h.
4358         * c-common.h (C_TYPE_QUALS): Removed.
4359         Move declarations for tree-dump.c interface to...
4360         * tree.h: ... here. Remove lang_dump_tree.
4361         * langhooks.h (struct lang_hooks_for_tree_dump): New.
4362         (struct lang_hooks): Add tree_dump hooks.
4363         * langhooks.c (lhd_tree_dump_dump_tree): New function.
4364         (lhd_tree_dump_type_quals): New function.
4365         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
4366         Declare.
4367         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
4368         * Makefile.in: Move tree-dump.o to language-independent back-end.
4369
4370 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4371
4372         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
4373         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
4374         * arc.h (DBX_REGISTER_NUMBER): Likewise.
4375         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
4376         * avr.h (DBX_REGISTER_NUMBER): Likewise.
4377         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
4378         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
4379         * convex.h (DBX_REGISTER_NUMBER): Likewise.
4380         * cris.h (DBX_REGISTER_NUMBER): Likewise.
4381         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
4382         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
4383         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
4384         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
4385         * i370.h (DBX_REGISTER_NUMBER): Likewise.
4386         * i860.h (DBX_REGISTER_NUMBER): Likewise.
4387         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
4388         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
4389         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4390         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
4391         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
4392         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
4393         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
4394         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
4395         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
4396         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
4397         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
4398         * romp.h (DBX_REGISTER_NUMBER): Likewise.
4399         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
4400         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4401         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
4402         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
4403         * v850.h (DBX_REGISTER_NUMBER): Likewise.
4404         * vax.h (DBX_REGISTER_NUMBER): Likewise.
4405         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
4406
4407         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
4408         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
4409
4410 2001-11-21  H.J. Lu <hjl@gnu.org>
4411
4412         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
4413
4414 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4415
4416         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
4417         emit_cmp_and_jump_insns.
4418
4419         * stormy16.c (xstormy16_expand_builtin_va_arg,
4420         xstormy16_expand_casesi): Likewise.
4421
4422 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4423
4424         * function.c (keep_stack_depressed): Major rework.
4425         (handle_epilogue_set, emit_equiv_load): New functions.
4426         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
4427         has return value.
4428         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
4429         * rtl.h (SET_IS_RETURN_P): New macro.
4430
4431         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
4432         and also support TREE_ADDRESSABLE.
4433         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
4434
4435 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
4436
4437         * rs6000.md (cmptf_internal1): Replace %$ with $.
4438
4439 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
4440
4441         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
4442         (read_include_file): Use STAT_SIZE_TOO_BIG.
4443
4444         * cppinit.c (INO_T_COPY): Define.
4445         (INO_T_EQ): Uppercase parameters.
4446         (append_include_chain): Use INO_T_COPY.
4447
4448 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
4449
4450         * cfg.c: Fix typos and formatting in the introductory comment.
4451
4452 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
4453
4454         * profile.c (compute_branch_probabilites):  Compute probabilities
4455         for entry/exit edges; estimate probabilities for zero counts.
4456
4457 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4458
4459         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
4460         to emit_library_call.
4461         * function.c (expand_main_function, expand_function_start,
4462         expand_function_end): Likewise.
4463         * profile.c (output_func_start_profiler): Likewise.
4464         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
4465         second argument to emit_library_call.
4466         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
4467         as second argument to emit_library_call.
4468         * calls.c (emit_library_call): Update fn_type description.
4469
4470 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4471
4472         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
4473         if fndecl is still DECL_INLINE and has DECL_RESULT.
4474
4475 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4476
4477         * clipper.c (clipper_movstr): Avoid uninitialized warning.
4478         * i960.c (is_mask, legitimize_address): Likewise.
4479         * m88k.c (m88k_expand_prologue): Likewise.
4480         * m88k.md: Likewise.
4481         * mcore.c (emit_new_cond_insn): Likewise.
4482         * stormy16.c (xstormy16_emit_cbranch): Likewise.
4483
4484 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4485
4486         * config.gcc: Delete powerpcle-*-solaris2* stanza.
4487         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
4488         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
4489         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
4490         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
4491         config/rs6000/t-ppcos: Expunge all references to Solaris.
4492
4493         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
4494
4495         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
4496         output templates.
4497         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
4498         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
4499
4500 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4501
4502         * sh.md: Avoid uninitialized warnings.
4503         * vax.c (vax_rtx_cost): Likewise.
4504
4505 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4506
4507         * rs6000.c (direct_return): Check if we are saving altivec
4508         registers.
4509         (first_altivec_reg_to_save): New.
4510         Updated stack frame layout comments.
4511         (rs6000_stack_info): Calculate altivec register save size.
4512         Save link register if we saved some altivec registers.
4513         (rs6000_stack_info): Align save size to 16 if altivec abi or
4514         abi_darwin.
4515         (rs6000_stack_info): Calculate altivec register offsets.
4516         (rs6000_stack_info): Add altivec info to save_size.
4517         (debug_stack_info): Add altivec debug info.
4518         (rs6000_emit_prologue): Save altivec registers and vrsave.
4519         (compute_vrsave_mask): New.
4520         (altivec_expand_builtin): Remove unused variables.
4521         (rs6000_parse_abi_options): Add static qualifier.
4522         (rs6000_expand_builtin): Remove unused parameters.
4523         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
4524         (altivec_init_builtins): Same.
4525         (is_altivec_return_reg): New.
4526         (vrsave_operation): New.
4527         (ALTIVEC_REG_BIT): New.
4528         (generate_set_vrsave): New.
4529
4530         * rs6000.md (get_vrsave): New.
4531         (set_vrsave): New.
4532         (*set_vrsave_internal): New.
4533
4534         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
4535         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
4536         altivec_padding_size, vrsave_mask.
4537         (TOTAL_ALTIVEC_REGS): New.
4538         (EPILOGUE_USES): Add VRSAVE_REGNO.
4539
4540 2001-11-20  Jeff Law <law@redhat.com>
4541
4542         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
4543         exit label as necessary.
4544
4545 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
4546
4547         * reload1.c (elimination_effects): Use function_invariant_p
4548         instead of CONSTANT_P when considering register equivalences.
4549
4550 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
4551
4552         * config.gcc: Add FreeBSD/PowerPC target.
4553         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4554         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4555         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4556         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4557         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4558         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
4559         freebsd-spec.h to tm_file.
4560         (rs6000-*-lynxos*): Add lynx.h to tm_file.
4561         * config/freebsd.h: Tidy up.
4562         (USING_CONFIG_FREEBSD): Define.
4563         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
4564         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
4565         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
4566         (TARGET_HAS_F_SETLKW): Define.
4567         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
4568         * config/freebsd-spec.h: New file.
4569         * config/rs6000/freebsd.h: New file.
4570         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
4571         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
4572         USING_SVR4_H to know when to turn on ELF support.
4573         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
4574         define only if not already defined.
4575         Add FreeBSD support.
4576         * config/rs6000/aix.h (TARGET_VERSION): Define.
4577         * config/rs6000/beos.h: Likewise.
4578         * config/rs6000/darwin.h: Likewise.
4579         * config/rs6000/mach.h: Likewise.
4580         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
4581         Don't include lynx.h directly.
4582
4583 2001-11-20  Graham Stott  <grahams@redhat.com>
4584
4585         * unwind-dw2-fde.c (__deregister_frame_info_bases):
4586         Fix lossage in last change return OB.
4587
4588 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
4589
4590         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
4591         Remove unneeded exit related macros.
4592
4593 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
4594
4595         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
4596
4597         * rs6000.c (rs6000_emit_move): Add TFmode case.
4598         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
4599         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
4600         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
4601         * rs6000.h: ... to here.
4602         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
4603         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
4604         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
4605
4606 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4607
4608         * emit-rtl.c (get_mem_attrs): Fix typo.
4609
4610 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4611
4612         * c-lang.c (finish_file): Backout 2001-11-16
4613         changes, instead set DECL_DEFER_OUTPUT for static inline functions
4614         before calling c_expand_deferred_function.
4615
4616 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4617
4618         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
4619         Don't register empty .eh_frame sections.
4620         (__deregister_frame_info_bases, __deregister_frame): Don't
4621         unregister them either.
4622
4623 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4624
4625         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
4626         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
4627         * configure: Regenerate.
4628         * config.in: Add dummy definitions of new flags.
4629         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
4630         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
4631         * gcc.c (ASM_DEBUG_SPEC): New macro.
4632         (asm_debug): New static variable.
4633         (default_compilers): Add asm_debug when assembling from
4634         user input.
4635         (static_specs): Add asm_debug.
4636
4637 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
4638
4639         * config.gcc (*-*-freebsd*): Remove configuration block.
4640
4641 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4642
4643         bootstrap/4422
4644         * configure.in: Setup ability to run ./stage[1234]/xgcc in
4645         fixinc *as if* it were a proper lang subdirectory.
4646         * configure: Rebuilt.
4647
4648 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4649
4650         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
4651
4652 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4653
4654         * 1750a.md: Don't use hex format for a const_int.
4655
4656 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4657
4658         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
4659
4660 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
4661
4662         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
4663         defined (prevents link errors when gettext isn't in the system
4664         library).
4665
4666 2001-11-19  DJ Delorie  <dj@redhat.com>
4667
4668         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
4669         (validate_const_int): New.
4670         (read_rtx): Validate constant integers.
4671         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
4672
4673 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
4674
4675         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
4676
4677 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4678
4679         * toplev.c (DUMPFILE_FORMAT): Define default.
4680         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
4681         (close_dump_file, compile_file): Likewise.
4682         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
4683         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
4684
4685 2001-11-19  Jeff Law <law@redhat.com>
4686
4687         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
4688         a nop-jump.
4689
4690 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4691
4692         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
4693         Don't fall off the base token run.
4694
4695 2001-11-19  Jason Wilkins <fenix@io.com>
4696
4697         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
4698
4699 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4700
4701         * tree.def (VIEW_CONVERT_EXPR): New tree code.
4702         * tree.h (handled_component_p): New declaration.
4703         * alias.c (handled_component_p): Move function from here ...
4704         * expr.c (handled_component_p): ... to here and non longer static.
4705         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
4706         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
4707         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
4708         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
4709         (expand_expr, case VIEW_CONVERT_EXPR): New case.
4710         (expand_expr, cse ADDR_EXPR): No need to copy if already
4711         BIGGEST_ALIGNMENT.
4712         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
4713         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
4714         (output_constant): Handle VIEW_CONVERT_EXPR.
4715         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
4716         Add new case for VIEW_CONVERT_EXPR.
4717
4718 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4719
4720         * a29k/unix.h (ASM_FILE_START): Const-ify.
4721         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
4722         * i386/isc.h (ASM_FILE_START): Const-ify.
4723         * i386/sun386.h (ASM_FILE_START): Likewise.
4724         * m32r.md: Likewise.
4725         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
4726         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
4727         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
4728         * mn10200.md: Initialize variable.
4729
4730 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
4731
4732         * gcse.c (try_replace_reg): Copy RTX before creating note.
4733
4734         * df.h (df_ref_flags): New uenum.
4735         (DF_REF_FLAGS): New macro.
4736         (struct ref): Add field "flags".
4737         * df.c (HANDLE_SUBREG): Remove.
4738         (df_ref_create): Likewise; set flags field of ref.
4739         (df_def_record_1): Strip down read_write subreg; remove
4740         commented out code; set READ_WRITE flag.
4741         (read_modify_subreg_p): New static function.
4742         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
4743         new argument "flags".
4744         (df_insn_refs_record): Update call of df_uses_record.
4745         (df_insn_modify): Avoid #if 0 around comment.
4746         (df_dump): Dump the read/write flag.
4747
4748         * predict.c (propagate_freq): Make cyclic_probability and frequency
4749         volatile
4750
4751         * i386.c (ix86_cc_mode): Accept USE.
4752
4753         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
4754         jump is turned into simplejump.
4755
4756 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
4757
4758         * doc/fragments.texi, doc/trouble.texi: Remove links to old
4759         installation chapter.
4760         * doc/gcc.texi: Don't claim that this manual documents
4761         installation.  Mark Installation menu entry as being out of date.
4762
4763 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
4764
4765         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
4766         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
4767         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
4768
4769 2001-11-19  Jason Merrill  <jason@redhat.com>
4770
4771         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
4772         cur_token, not after.
4773
4774         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
4775         Lose ASM_OUTPUT_CONSTRUCTOR.
4776         * system.h: Poison it and INT_ASM_OP.
4777         * c-lang.c (finish_file): Don't check for it.
4778         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
4779
4780 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4781
4782         * mmix.c (mmix_cc1_ignored_option): Const-ify.
4783         (mmix_init_machine_status): Make static to match declaration.
4784         (mmix_unique_section): Const-ify.
4785         (mmix_output_quoted_string): Avoid automatic aggregate
4786         initialization.
4787         (mmix_output_register_setting): Likewise.
4788         (mmix_output_shiftvalue_op_from_str): Likewise.
4789
4790         * mmix.h (mmix_cc1_ignored_option): Const-ify.
4791         (ASM_OUTPUT_BYTE): Fix format specifier warning.
4792         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4793
4794 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4795
4796         PR c/4448
4797         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
4798         name __objc_thread_exit_status so that it matches the
4799         variable defined in objc/thr.h.
4800
4801 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4802
4803         PR bootstrap/4020
4804         * mklibgcc.in: Add missing semi-colons.
4805         * Makefile.in: Same.
4806
4807 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4808
4809         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
4810         after re-laying out decl in incomplete case.
4811         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
4812
4813 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4814
4815         * doc/install-old.texi: Move some sections out to ...
4816         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
4817         ... here.  New files.  Make into chapters rather than sections.
4818         * doc/gcc.texi: Include the new files and add menu entries for
4819         them.
4820         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4821
4822 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4823
4824         * tree.h (TYPE_ALIGN_OK): New flag.
4825         * emit-rtl.c (set_mem_attributes): Handle it.
4826         * expr.c (emit_single_push_insn): Only set to alias set 0 if
4827         doing sibcall optimization.
4828         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
4829         when make temporary.
4830         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
4831         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
4832
4833         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
4834
4835 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4836
4837         * c-decl.c (c_decode_option): Give deprecation warning for
4838         -traditional.
4839         * doc/invoke.texi (-traditional): Note that this option is
4840         deprecated.
4841
4842 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
4843
4844         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
4845         arg to HOST_WIDE_INT, not long.
4846
4847         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
4848         (HAS_INIT_SECTION): Define.
4849         (REAL_ARITHMETIC): Don't undefine.
4850
4851 2001-11-18  Egor Duda  <deo@logos-m.ru>
4852
4853         * config/i386/cygwin.h: Strip leading '*' from name, if any.
4854
4855 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
4856
4857         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
4858         * c-common.c: Include diagnostic.h.
4859         (c_common_finish): New.
4860         * c-common.h (c_common_finish): New.
4861         * c-lang.c (LANG_HOOKS_FINISH): Override.
4862         * c-parse.in: Don't include diagnostic.h.
4863         (finish_parse): Remove.
4864         * langhooks.h: Update comments.
4865         * toplev.c (lang_dependent_init): New prototype.
4866         (finalize): New.
4867         (compile_file): Split cleanup code out to finalize.
4868         (lang_dependent_init): Stop if lang_hooks.init fails.
4869         (toplev_main): Update.
4870         * tree.h (finish_parse): Remove.
4871 objc:
4872         * objc-act.c (LANG_HOOKS_FINISH): Override.
4873
4874 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4875
4876         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
4877         * config/alpha/vms_tramp.asm: New file.
4878         * config/alpha/vms-tramp.asm: Removed.
4879
4880 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4881
4882         * c-common.c (struct disabled_builtin, disabled_builtins,
4883         disable_builtin_function, builtin_function_disabled_p): New.
4884         (builtin_function_2): Check for disabled built-in functions.
4885         * c-common.h (disable_builtin_function): Declare.
4886         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
4887         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
4888         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
4889
4890 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4891
4892         PR target/4606
4893         * config.gcc: Remove reference to va-clipper.h.
4894
4895 2001-11-17  Stan Shebs  <shebs@apple.com>
4896
4897         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
4898         AltiVec-related bitfields.
4899
4900 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4901
4902         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
4903         (mark_eh_region, case ERT_UKNONW): New case.
4904
4905 2001-11-17  Christopher Faylor  <cgf@redhat.com>
4906             Corinna Vinschen  <vinschen@redhat.com>
4907
4908         * config/i386/cygwin.h: Search target specific include directory for
4909         w32api stuff, if appropriate.
4910
4911 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
4912
4913         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
4914
4915 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
4916
4917         * config/rs6000/rs6000.md: Change all ldvx to lvx.
4918
4919 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
4920
4921         * gensupport.c (process_rtx): Don't assume filename is the first
4922         argument of any rtl.
4923
4924 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4925
4926         * vax-protos.h (reg_was_0_p): New prototype.
4927         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
4928         * vax.c (follows_p, reg_was_0_p): New functions.
4929
4930 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4931
4932         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
4933         (casesi1): Likewise.  Define new pattern which arises by simplification
4934         when operand 1 is a constant int.  Correct pattern which arises by
4935         simplification when operand 1 is zero.
4936
4937 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
4938
4939         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
4940         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
4941         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
4942         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
4943         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
4944         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
4945         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
4946         * config/arm/aof.h: Don't include arm.h.
4947         * config/arm/aout.h: Likewise.
4948         * config/arm/coff.h: Don't include semi.h and aout.h.
4949         * config/arm/elf.h: Don't include aout.h.
4950         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
4951         (TARGET_VERSION): Undef before defining.
4952         (ARM_OS_NAME): Likewise
4953         (TARGET_DEFAULT): Likewise
4954         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
4955         * config/arm/pe.h: Don't include arm/coff.h.
4956         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
4957         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
4958         * config/arm/riscix1-1.h: Likewise.
4959         * config/arm/rix-gas.h: Don't include riscix.h.
4960         (DBX_CONTIN_LENGTH): Undef before defining.
4961         * config/arm/semi.h: Don't include aout.h.
4962         * config/arm/semiaof.h: Don't include aof.h.
4963         * config/arm/strongarm-coff.h: Don't include coff.h.
4964         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
4965         * config/arm/vxarm.h: Don't include arm/coff.h.
4966         * config/arm/xscale-coff.h: Don't include coff.h.
4967
4968 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4969
4970         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
4971         emit_cmp_insn.
4972
4973 2001-11-16  Andreas Jaeger  <aj@suse.de>
4974
4975         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
4976         to ....
4977         (fixup_fallthru_exit_predecessor): ... this.
4978         Change callers and prototype.
4979
4980 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
4981
4982         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
4983         hand; don't use gen_setcc_2.
4984         (ix86_expand_builtin): Fix pshufw.
4985         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
4986         case UNORDERED to emit the right assembler instruction.
4987         (mmx_pshufw): Lose operand 2.
4988         (cvtsi2ss): Fix representation.
4989         From Graham Stott:
4990         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
4991
4992 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
4993
4994         * doc/include/linux-and-gnu.texi: Remove.
4995         * doc/gnu.texi: New.
4996         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
4997         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4998
4999 2001-11-16  Kazu Hirata  <kazu@hxi.com>
5000
5001         * config/a29k/a29k.c: Fix comment formatting.
5002         * config/a29k/a29k.h: Likewise.
5003         * config/arc/arc.c: Likewise.
5004         * config/arc/arc.h: Likewise.
5005         * config/vax/vax.c: Likewise.
5006         * config/vax/vax.h: Likewise.
5007         * config/we32k/we32k.c: Likewise.
5008         * config/we32k/we32k.h: Likewise.
5009
5010 2001-11-16  Jeff Law  <law@redhat.com>
5011
5012         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
5013         creating a new jump insn.
5014
5015 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5016
5017         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
5018         copy misaligned data.
5019         * varasm.c (assemble_variable): Set alignment into MEM when changed.
5020
5021 2001-11-16  Graham Stott  <grahams@redhat.com>
5022
5023         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
5024         OPALIGN type.
5025
5026 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
5027
5028         * except.c: Support for catching a list of types with a single handler
5029         (struct eh_region): Change type and filter to lists for catch regions.
5030         (mark_eh_region): Mark the filter list for GC also.
5031         (expand_start_catch): Always build a list if argument not NULL and
5032         register each type of the list through add_type_for_runtime.
5033         (duplicate_eh_region_1): Change type into type_list for catch regions.
5034         (assign_filter_values): Assign a filter to each type associated with a
5035         catch region. Assign filter for NULL types in a unique entry in the
5036         filter list.
5037         (build_post_landing_pads): Emit compare and jump for each filter of
5038         the list associated with a catch region.
5039         (reachable_next_level): When the type thrown is known, stop the search
5040         as soon as one type within a catch list matches. Also, a handler is
5041         potentially reachable only if at least one of the types it catches
5042         has not been previously caught.
5043         (collect_one_action_chain): Retrieve the filter for a NULL type list
5044         from the first filter list entry. For non NULL type lists, add an
5045         action record for every filter assigned.
5046         * except.h: Reflect changes in comment before expand_start_catch.
5047
5048 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5049
5050         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
5051         BLKmode.
5052
5053 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
5054
5055         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
5056
5057 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
5058
5059         * c-lang.c (finish_file): Don't emit static inline functions if
5060         they weren't referenced.
5061
5062 2001-11-15  Stan Shebs  <shebs@apple.com>
5063
5064         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
5065
5066 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
5067
5068         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
5069         call.
5070         * config/i386/i386.md: Likewise.
5071
5072 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5073
5074         * timevar.c (rtl.h): Include so get fancy abort.
5075
5076 2001-11-15  Dale Johannesen  <dalej@apple.com>
5077
5078         * config/darwin.h (SELECT_RTX_SECTION):  Force address
5079         initializers into 'const' section
5080         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
5081         if_then_else to match result, not operands
5082
5083 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5084
5085         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
5086         * emit-rtl.c (change_address): Fix typo in default alignment.
5087         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
5088         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
5089         * rtl.h (REGNO_PTR_FRAME_P): New macro.
5090
5091         * expr.c (store_field): Pass tree instead of max size; callers changed.
5092         Change handling of alignment.
5093         Only copy to_rtx if is TARGET.
5094         (expand_expr_unaligned): Delete; callers now use expand_expr.
5095         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
5096         (expand_assignment): Change handling of alignment.
5097         Only copy to_rtx if was original.
5098         (get_inner_reference): No longer return alginment; callers changed.
5099         (expand_expr, case COMPONENT_REF): Change handling of alignment.
5100         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
5101         (compare_from_rtx): Delete ALIGN parm; all callers changed.
5102         (do_compare_rtx_and_jump): Likewise.
5103         * expr.h: Reflect above changes.
5104         * tree.h: Likewise.
5105         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
5106         to get_inner_reference.
5107         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
5108         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
5109         * optabs.c: Likewise.
5110         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
5111         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
5112         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
5113         compare_rtx_and_jump, and emit_cmp_jump_insns.
5114         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
5115         * function.c (assign_stack_temp_for_type): No longer static.
5116         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
5117         (prepare_cmp_insn): Delete declaration.
5118         * rtl.h (assign_stack_temp_for_type): Add declaration.
5119         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
5120         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
5121         * config/i386/i386.c,config/mips/mips.c: Likewise.
5122         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
5123         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
5124
5125 2001-11-15  Stan Shebs  <shebs@apple.com>
5126
5127         * config/rs6000/rs6000.h: Fix a comment typo.
5128         (RTX_COSTS): Sort processor versions better.
5129
5130 2001-11-15  Kazu Hirata  <kazu@hxi.com>
5131
5132         * config/h8300/h8300.md: Fix insn length of bit insns.
5133
5134 2001-11-15  Jason Merrill  <jason@redhat.com>
5135
5136         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
5137         DIEs if there were errors in the source.
5138
5139         * config/alpha/alpha-interix.h, config/alpha/elf.h,
5140         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
5141         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
5142         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
5143         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
5144         config/elfos.h, config/lynx.h, config/netware.h,
5145         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
5146         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
5147         uses to use ASM_LONG.
5148
5149 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
5150
5151         * gensupport.c  process_include : Change call to alloca to
5152         xmalloc.
5153
5154 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
5155
5156         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
5157         templates.
5158
5159 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5160
5161         * final.c (alter_subreg): If simplify_subreg can't do anything,
5162         handle REG ourselves and abort for others.
5163
5164 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
5165
5166         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
5167         routines.
5168
5169 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5170
5171         * fix-header.c (read_scan_file): Update.
5172
5173 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5174
5175         * toplev.c (toplev_main): Don't start timing until after
5176         command-line options are parsed.
5177
5178 2001-11-15  Andreas Schwab  <schwab@suse.de>
5179
5180         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
5181         makefile frag, not host makefile frag.
5182         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
5183         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
5184         used.
5185         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
5186         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
5187         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
5188         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
5189         * config/i386/t-dgux (STMP_FIXPROTO): Define.
5190         * config/x-interix: Don't define STMP_FIXPROTO and
5191         FIXPROTO_DEFINES.
5192         * config/t-interix: New file, define STMP_FIXPROTO.
5193         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
5194         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
5195         * config/t-svr4 (FIXPROTO_DEFINES): Define.
5196         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
5197         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
5198         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
5199         * config/m68k/t-hp3200: Renamed from x-hp3200.
5200         * config/i370/t-oe: Renamed from x-oe.
5201         * config/mips/t-iris: Renamed from x-iris.
5202         * config/pa/t-bsd: Renamed from x-pa.
5203         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
5204         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
5205         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
5206         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
5207         config/rs6000/x-cygwin: Remove files.
5208
5209         * configure.in: Check for target objdump and use that in eh_frame
5210         optimization test.
5211         * configure: Regenerated.
5212
5213 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
5214
5215         * jump.c (squeeze_notes): Return true if no real insns were found.
5216         * rtl.h (squeeze_notes): Adjust prototype.
5217         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
5218         squeeze_notes finds no real instructions, abort.
5219         (merge_blocks_move_successor_nojumps): Likewise.
5220         * loop.c (find_and_verify_loops): Likewise.
5221         * stmt.c (expand_end_case): Likewise.
5222         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
5223         find any real instructions.
5224
5225         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
5226
5227         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
5228         conditional jump, request updating life into for the block
5229         containing it.  Fix a typo which prevented life info update.
5230         Clear blocks bitmap before using it.
5231
5232 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5233
5234         * c-common.c: Include c-lex.h.
5235         (c_common_lang_init): Change prototype.  Call init_c_lex and
5236         init_pragma from here.
5237         * c-common.h (c_common_lang_init): Change prototype.
5238         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
5239         * c-lang.c (c_init): Change prototype.  Update.
5240         (c_init_options): Update.
5241         * c-lex.c (cpp_filename): Remove.
5242         (init_c_lex): Update.  Read the main file, and get the original
5243         file name.
5244         (yyparse): Finish the command line options.
5245         * c-parse.in (c_parse_init): Call init_reswords here.
5246         (init_parse): Remove.
5247         * c-tree.h (c_init_decl_processing): New.
5248         * cpphash.c (_cpp_init_hashtable): After initializing the hash
5249         table, populate it.
5250         * cppinit.c (read_original_filename, cpp_finish_options): New.
5251         (cpp_create_reader): New prototype. Defer hash table initialization.
5252         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
5253         hash table.  Get the original filename.
5254         * cpplib.h (cpp_create_reader): Update.
5255         (cpp_start_read): Remove.
5256         (cpp_read_main_file, cpp_finish_options): New.
5257         * cppmain.c (main, do_preprocessing): Update.
5258         * langhooks.h (struct langhooks): Update init prototype.
5259         * toplev.c (general_init, parse_options_and_default_flags,
5260         process_options, lang_indpendent_init, lang_dependent_init,
5261         init_asm_output): New; perform the bulk of initialization.
5262         (compile_file): Move most of initialization to above functions.
5263         (debug_hooks): Initialize statically.
5264         (set_Wunused): Relocate.
5265         (toplev_main): Move most of initialization to other init functions.
5266         Have a clear logic flow.
5267         * tree.h (init_parse, init_decl_processing): Remove.
5268 objc:
5269         * objc-act.c (objc_init): Update prototype, combine with old
5270         init_parse.
5271         (objc_init_options): Update.
5272
5273
5274 2001-11-15  Andreas Jaeger  <aj@suse.de>
5275
5276         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
5277         portability.
5278         * basic-block.h: Adjust prototype.
5279
5280 2001-11-15  Kazu Hirata  <kazu@hxi.com>
5281
5282         * config/rs6000/aix31.h: Fix comment formatting.
5283         * config/rs6000/beos.h: Likewise.
5284         * config/rs6000/darwin.h: Likewise.
5285         * config/rs6000/eabi.asm: Likewise.
5286         * config/rs6000/linux.h: Likewise.
5287         * config/rs6000/linux64.h: Likewise.
5288         * config/rs6000/lynx.h: Likewise.
5289         * config/rs6000/netbsd.h: Likewise.
5290         * config/rs6000/rs6000.c: Likewise.
5291         * config/rs6000/rs6000.h: Likewise.
5292         * config/rs6000/rs6000.md: Likewise.
5293         * config/rs6000/sol2.h: Likewise.
5294         * config/rs6000/tramp.asm: Likewise.
5295         * config/rs6000/xcoff.h: Likewise.
5296         * config/rs6000/xm-beos.h: Likewise.
5297
5298 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
5299
5300         * rtl.def (INCLUDE) : Define.
5301         * gensupport.c  (init_include_reader, process_include,
5302         save_string) :  New functions to implement an include facility
5303         in .md files.
5304         * gensupport.h : Add prototype for init_md_reader_args.
5305         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
5306         genextract.c genflags.c genopinit.c genoutput.c
5307         genpeep.c genrecog.c: Change call to init_md_reader to
5308         init_md_reader_args.
5309         * md.texi: Document (include "path") and -I directives for RTL
5310         generation tools.
5311
5312 2001-11-14  DJ Delorie  <dj@redhat.com>
5313
5314         * integrate.c (get_hard_reg_initial_reg): New.
5315         * integrate.h (get_hard_reg_initial_reg): Prototype.
5316         * local-alloc.c (block_alloc): Don't tie pseudos that
5317         represent call-saved hard regs' initial values.
5318
5319 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5320
5321         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
5322         recursion.
5323
5324 2001-11-14  Roger Sayle <roger@eyesopen.com>
5325
5326         * fold-const.c (fold): Optimize strlen comparisons against zero.
5327
5328 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
5329
5330         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
5331         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
5332         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
5333         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
5334         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
5335         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
5336         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
5337         Include various CPU headers via tm_file.  a.out based platforms now
5338         properly include sparc/aout.h.  sol2.h usage now implies including
5339         elfos.h, svr4.h, and sparc/sysv4.h.
5340         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
5341         Also define to '1'.
5342         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
5343         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5344         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
5345         Remove.  They are a.out specific and belong in sparc/aout.h.
5346         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
5347         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5348         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
5349         sparc/sparc.h.
5350         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
5351         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
5352         Moved here from sparc/sparc.h.
5353         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
5354         defining.
5355         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
5356         * config/sparc/lynx.h:  Don't include lynx.h.
5357         (SELECT_SECTION): Do not undef.
5358         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
5359         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
5360         and sparc/sysv4.h.
5361         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
5362         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
5363         sparc/aout.h now.
5364         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
5365         Don't undef, there is no need.
5366         * config/sparc/splet.h (CPP_PREDEFINES): Define.
5367         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
5368         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
5369         Don't include sparc/sparc.h.
5370         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
5371         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5372         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
5373         elfos.h and svr4.h.
5374         (TARGET_VERSION): Define.
5375         * config/sparc/vxsim.h (TARGET_VERSION): Define.
5376
5377 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
5378
5379         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
5380         (cfg_layout_finalize): Use it.
5381         * bb-reorder.c (HAVE_epilogue): Remove.
5382         (make_reorder_chain): Do not care special placement of
5383         last basic block.
5384
5385         * predict.c (expected_value_to_br_prob): Delete the note
5386         once transformed.
5387
5388         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
5389         measure integration time separately.
5390
5391 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5392
5393         * function.c (struct temp_slot): ALIGN now unsigned.
5394
5395 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5396
5397         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
5398         * config/dsp16xx/dsp16xx.h: Likewise.
5399         * config/dsp16xx/dsp16xx.md: Likewise.
5400
5401 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5402
5403         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
5404         that deals with 7-bit shifts in HImode.
5405
5406 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
5407
5408         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
5409         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
5410         (final_scan_insn): Update call of alter_subreg.
5411         (cleanup_subreg_operands): Likewise.
5412         (alter_subreg): Rewrite using simplify_subreg.
5413         (output_address, output_operand): Update call of alter_subreg.
5414         * output.h (alter_subreg): Update prototype.
5415         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
5416         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
5417         * Makefile.in (final.o): Add dependency on expr.h
5418
5419 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5420
5421         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
5422
5423 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
5424
5425         * doc/install.texi (sparc-*-linux*): Mention requirements for
5426         binutils and glibc.
5427
5428 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
5429
5430         * Makefile.in (POD2MAN): Don't include --section=1.
5431         (manext): Rename to man1ext.  All users changed.
5432         (man7ext): New.
5433         (man7dir): New.
5434         (generated-manpages): Also depend on $(docdir)/gfdl.7,
5435         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
5436         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
5437         --section=1 in calls to $(POD2MAN).
5438         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
5439         (maintainer-clean, install, uninstall): Handle the new man pages.
5440         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
5441         (installdirs): Create man7dir.
5442         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
5443         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
5444         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
5445         the SEE ALSO man page section.
5446         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
5447         and fsf-funding(7) in the SEE ALSO man page section.
5448         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
5449         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
5450         * doc/include/fdl.texi, doc/include/funding.texi,
5451         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
5452         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
5453
5454 2001-11-13  Richard Henderson  <rth@redhat.com>
5455
5456         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
5457         as appropriate for the artificial decl.
5458
5459 2001-11-13  Richard Henderson  <rth@redhat.com>
5460
5461         * loop.c (combine_movables): Turn off combination until
5462         move_movables validation bugs are fixed.
5463
5464 2001-11-13  DJ Delorie  <dj@redhat.com>
5465
5466         * config.gcc (powerpc|rs6000): Set default cpp options based
5467         on --with-cpu settings.
5468         * config/rs6000/softfloat.h: New.
5469
5470 2001-11-13  Kazu Hirata  <kazu@hxi.com>
5471
5472         * config/h8300/h8300.c (shift_alg_si): Use special code for
5473         25-bit shifts on H8/S.
5474         (get_shift_alg): Generate special code for 25-bit shifts on
5475         H8/S.
5476
5477 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
5478
5479         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
5480         (adjust_automodify_address_1): New.
5481         * expr.h (adjust_address, adjust_address_nv): Adjust.
5482         (adjust_automodify_address, adjust_automodify_address_nv): Define.
5483         (adjust_address_1): Update prototype.
5484         (adjust_automodify_address_1): Add prototype.
5485         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
5486         (store_by_pieces_2): Likewise.
5487
5488 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5489
5490         * Makefile.in (explow.o): Now depends on ggc.h.
5491         * explow.c (ggc.h): Include.
5492         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
5493
5494         * Makefile.in (expr.o): Depends on insn-attr.h.
5495         * expr.c (insn-attr.h): New include.
5496         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
5497         of MEM.
5498         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
5499         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
5500         clean up related usage in ADDR_EXPR.
5501         (expand_expr_unaligned): Likewise.
5502
5503         * emit-rtl.c (change_address): Fix typo in alias setting.
5504
5505 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5506
5507         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
5508
5509 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5510
5511         PR bootstrap/3451
5512         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
5513         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
5514
5515 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5516
5517         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
5518         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
5519         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
5520         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
5521         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
5522         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
5523         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
5524         sparc64-*-linux*):  Include various CPU headers via tm_file.
5525         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
5526         (SELECT_SECTION): Likewise.
5527         (SELECT_RTX_SECTION): Likewise.
5528         * config/sparc/sparc_bi.h: New file.
5529         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
5530         * config/sparc/linux-aout.h: Likewise.
5531         * config/sparc/linux.h: Don't include sparc/sysv4.h.
5532         * config/sparc/linux64.h: Likewise.
5533         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5534         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
5535         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
5536         and dbxcoff.h
5537         (ASM_OUTPUT_IDENT): Do not #undef.
5538         (SELECT_SECTION): Likewise.
5539         (SELECT_RTX_SECTION): Likewise.
5540         * config/sparc/liteelf.h: Don't include gofast.h.
5541         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
5542         * config/sparc/lynx.h: Don't include sparc/sparc.h.
5543         * config/sparc/pbd.h: Likewise.
5544         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
5545         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
5546         * config/sparc/rtemself.h: Don't include rtems.h.
5547         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
5548         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
5549         sparc_bi.h instead.
5550         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
5551         * config/sparc/sol2.h: Include sparc/sparc.h directly.
5552         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
5553         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
5554         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
5555         * config/sparc/sp86x-elf.h: Don't include gofast.h.
5556         * config/sparc/splet.h: Don't include sparc/aout.h.
5557         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
5558         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
5559         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
5560         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
5561         * config/sparc/vxsparc64.h: Don't include gofast.h.
5562         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5563
5564 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5565
5566         * doc/standards.texi: Mention C99 TC1.
5567
5568 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5569
5570         * mips-protos.h (mips_output_conditional_branch): Const-ify.
5571         * mips.c (mips_output_conditional_branch): Likewise.
5572
5573 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5574
5575         * config/h8300/h8300.c (shift_alg_si): Use special code for
5576         15-bit logical shifts and 31-bit logical shifts.
5577         (get_shift_alg): Generate special code for 15-bit and 31-bit
5578         logical shifts.
5579
5580 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5581
5582         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
5583         doing 6-bit logical shifts on H8/S.
5584         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
5585         (get_shift_alg): Generate special code for 21-bit shifts on
5586         H8/S.
5587
5588 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5589
5590         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
5591         label.
5592
5593 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5594
5595         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
5596         if both size and offset known.
5597
5598 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5599
5600         * config/ia64/freebsd.h: Fix misspelling.
5601
5602 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5603
5604         * doc/gcc.texi: Move several chapters out to ...
5605         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
5606         doc/include/linux-and-gnu.texi, doc/interface.texi,
5607         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
5608         ... here.  New files.
5609         * doc/gcc.texi, doc/contrib.texi: Move section headings into
5610         contrib.texi.
5611         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5612
5613 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5614
5615         * config/alpha/alpha-interix.h: Fix comment formatting.
5616         * config/alpha/alpha.c: Likewise.
5617         * config/alpha/alpha.h: Likewise.
5618         * config/alpha/alpha32.h: Likewise.
5619         * config/alpha/freebsd.h: Likewise.
5620         * config/alpha/unicosmk.h: Likewise.
5621         * config/alpha/vms.h: Likewise.
5622
5623 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5624
5625         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5626
5627 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
5628
5629         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
5630         numbers.
5631
5632 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5633
5634         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
5635         from type.
5636         (replace_equiv_address): Call update_temp_slot_address.
5637
5638         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
5639
5640         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
5641
5642 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5643
5644         * config/h8300/h8300.c (shift_alg_qi): New.
5645         (shift_alg_hi): Likewise.
5646         (shift_alg_si): Likewise.
5647         (get_shift_alg): Change the type of count to unsigned int.
5648         Use the tables.
5649
5650 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
5651
5652         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
5653         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
5654         to decide whether to defer a function.
5655         (finish_function): Adjust.
5656         (c_expand_deferred_function): New function.
5657         * c-lang.c (deferred_fns): New variable.
5658         (c_init): Initialize it, and mark it as a root.
5659         (defer_fn): New function.
5660         (finish_file): Expand all deferred functions.
5661         * c-tree.h (defer_fn): Declare.
5662         (c_expand_deferred_function): Likewise.
5663         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
5664         * objc-act.c (deferred_fns): New variable.
5665         (objc_init): Initialize it, and mark it as a root.
5666         (defer_fn): New function.
5667         (finish_file): Expand all deferred functions.
5668
5669 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5670
5671         * alpha.c (unicosmk_special_name): Prototype.
5672         (unicosmk_ssib_name): Delete unused variable.
5673         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
5674         * alpha/vms.h (PREFIX): Undef before defining.
5675         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
5676         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
5677         controlling usage.  Const-ify.
5678         (alias_number): Delete unused variable.
5679         * m32r/m32r.c (m32r_sched_init): Add missing argument.
5680         (m32r_expand_block_move): Fix uninitialized warnings.
5681         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
5682         always true' warnings.
5683         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
5684         * sh/sh.c: Include "integrate.h".
5685         (output_far_jump): Fix uninitialized warning.
5686         * final.c (shorten_branches): Avoid automatic aggregate
5687         initialization.
5688         * integrate.c (subst_constants): Likewise.
5689
5690 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5691
5692         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
5693         (get_shift_alg): Remove redundant code.
5694
5695 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5696
5697         * config/pa/milli64.S: Fix comment formatting.
5698         * config/pa/pa-64.h: Likewise.
5699         * config/pa/pa-linux.h: Likewise.
5700         * config/pa/pa-protos.h: Likewise.
5701         * config/pa/pa.c: Likewise.
5702         * config/pa/pa.h: Likewise.
5703         * config/pa/pa32-linux.h: Likewise.
5704         * config/pa/pa32-regs.h: Likewise.
5705         * config/pa/pa64-hpux.h: Likewise.
5706         * config/pa/pa64-regs.h: Likewise.
5707         * config/pa/som.h: Likewise.
5708
5709 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5710
5711         * doc/gcc.texi: Move several chapters out to ...
5712         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
5713         doc/service.texi, doc/standards.texi, doc/trouble.texi,
5714         doc/vms.texi: ... here.  New files.
5715         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5716
5717 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5718
5719         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
5720         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
5721         collect2.c, combine.c, config.in, configure, configure.in,
5722         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
5723         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
5724         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
5725         spelling errors.
5726
5727 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5728
5729         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
5730         Adjust operand number in CONST_DOUBLE.
5731
5732         * expmed.c (extract_bit_field): No longer pass in alignment.
5733         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
5734         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
5735         Likewise.
5736         * expr.c (store_constructor, store_constructor_field): Likewise.
5737         (store_field, emit_group_load, emit_group_store): Likewise.
5738         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
5739         (store_bit_field, extract_bit_field): Likewise.
5740         * calls.c, expr.c, function.c: Change calls to above functions.
5741         * ifcvt.c, stmt.c: Likewise.
5742
5743         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
5744         constant and one is on frame.
5745         If know memref offset, adjust size from decl.
5746
5747 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5748
5749         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
5750         format specifier warning.
5751         * convex.h (ASM_OUTPUT_BYTE): Likewise.
5752         * elfos.h (ALIGN_ASM_OP): Undef before defining.
5753         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
5754         warning.
5755         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5756         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5757         * i386-interix.h (gen_stdcall_suffix): Prototype.
5758         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5759         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5760         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5761         * i386/interix.c (gen_stdcall_suffix): Const-ify.
5762         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5763         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
5764         specifier warnings.
5765         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5766         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5767         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5768         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5769         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5770         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5771         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5772         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
5773         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
5774         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5775         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5776         Likewise.
5777         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5778         Likewise.
5779         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
5780         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5781         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
5782         Likewise.
5783         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
5784         Likewise.
5785         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5786         Likewise.
5787         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
5788         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5789         * m68k/news.h (PRINT_OPERAND): Likewise.
5790         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5791         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
5792         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5793         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
5794         definition.
5795         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5796         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
5797         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
5798         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5799         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
5800         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
5801         PRINT_OPERAND): Likewise.
5802         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5803         Likewise.
5804         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5805         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5806         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
5807         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5808         * mips.c (mips_output_external_libcall): Mark parameter with
5809         ATTRIBUTE_UNUSED.
5810         (mips_asm_file_start): Move variable into the scope where it's
5811         used.
5812         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5813         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5814         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
5815         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5816         * ns32k.c (print_operand): Likewise.
5817         * pa.c (print_operand, output_div_insn): Likewise.
5818         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
5819         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
5820         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
5821         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5822         specifier warnings.
5823         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5824         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5825         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
5826         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5827         specifier warnings.
5828         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5829
5830         * sdbout.c (sdbout_end_epilogue): Mark parameter with
5831         ATTRIBUTE_UNUSED.
5832         * varasm.c (assemble_global): Likewise.
5833
5834 2001-11-11  H.J. Lu <hjl@gnu.org>
5835
5836         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
5837
5838 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
5839
5840         * final.c (*_MAX_SKIP): Use *_max_skip variables.
5841         * flags.h (align_loops_max_skip, align_jumps_max_skip,
5842         align_labels_max_skip): New global variables.
5843         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
5844         align_labels_max_skip): New global variables.
5845         (toplev_main): Set new variables.
5846         * i386.c (override_options): Set max_skip values.
5847
5848 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
5849
5850         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
5851         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
5852         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
5853         don't print an @fptr for labels either.
5854         (xstormy16_output_addr_vec): Don't print @fptr here.
5855         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
5856
5857 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
5858
5859         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
5860         an ANSI/ISO definitino.
5861         (ssa_const_prop): Likewise.
5862
5863 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
5864
5865         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
5866         altivec registers.
5867
5868 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5869
5870         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
5871         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
5872         * cppmain.c (general_init): Call hex_init.
5873         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
5874
5875         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
5876
5877         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
5878         of dgux.c:output_file_start().
5879
5880         * i386/dgux.c: Delete file.
5881
5882 2001-11-09  Richard Henderson  <rth@redhat.com>
5883
5884         * config/alpha/alpha.c (decl_in_text_section): New.
5885         (current_file_function_operand): Use it.
5886         (alpha_encode_section_info, alpha_end_function): Likewise.
5887
5888 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
5889
5890         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
5891         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
5892         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
5893         so OS specific files and use CPP_PREDEFINES for their needs.
5894         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
5895         target headers to tm_file.
5896         * config/ia64/aix.h (TARGET_VERSION): Likewise.
5897         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
5898         * config/ia64/linux.h (TARGET_VERSION): Likewise.
5899         (FUNCTION_PROFILER): Remove.
5900         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
5901         version in config/ia64/linux.h.
5902         * config/ia64/freebsd.h: New file.
5903         * config/freebsd.h: Tidy up.
5904         (_USING_CONFIG_FREEBSD): Define.
5905         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
5906         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
5907         (FBSD_STARTFILE_SPEC): Likewise.
5908         (FBSD_ENDFILE_SPEC): Likewise.
5909         (FBSD_LIB_SPEC): Likewise.
5910         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
5911         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
5912         set an ELF-improper one.
5913
5914 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5915
5916         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
5917         constant can be loaded in a single instruction to a register.  When
5918         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
5919         depdi for insertion of most significant 32-bits on 64-bit hosts.
5920         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
5921         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
5922         * pa.md: New addmove pattern for adding constant_int to HImode
5923         register and moving result to HImode register.  Remove HImode HIGH
5924         and LO_SUM patterns.
5925
5926 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5927
5928         * Makefile.in: Update.
5929         * c-decl.c (print_lang_decl, print_lang_type): Remove.
5930         (print_lang_identifier): Rename c_print_identifier.
5931         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5932         (print_lang_statistics, lang_print_xnode): Remove.
5933         * c-parse.in (set_yydebug): Rename c_set_yydebug.
5934         * c-tree.h (c_set_yydebug, c_print_identifier): New.
5935         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
5936         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
5937         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
5938         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5939         (LANG_HOOKS_INITIALIZER): Update.
5940         * langhooks.h (struct lang_hooks): New members.
5941         (lang_print_tree_hook): New.
5942         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
5943         * print-tree.c: Include langhooks.h.
5944         (print_node): Update.
5945         * toplev.c (decode_d_option): Update.
5946         * tree.c: Include langhooks.h.
5947         (dump_tree_statistics): Update.
5948         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
5949         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
5950 objc:
5951         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
5952         LANG_HOOKS_SET_YYDEBUG): Override.
5953         (lang_print_xnode, print_lang_statistics): Remove.
5954
5955 2001-11-09  Richard Henderson  <rth@redhat.com>
5956
5957         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
5958         on the symbol string.
5959
5960 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5961
5962         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
5963         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
5964         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
5965
5966         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
5967
5968         * tlink.c (recompile_files): Copy strings passed to `putenv'.
5969
5970 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
5971
5972         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
5973         (TYPE_READONLY): Likewise.
5974
5975         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
5976
5977         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
5978         don't pass --gdwarf2 to the assembler if the compiler will also
5979         provide debug info.
5980
5981         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
5982         Don't change INDEX.
5983
5984 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5985
5986         * alias.c (nonoverlapping_memrefs_p): New function.
5987         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
5988
5989         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
5990
5991 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
5992
5993         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
5994         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
5995         generating altivec code.
5996         (FIXED_REGISTERS): VRSAVE is fixed.
5997         (CALL_USED_REGISTERS): VRSAVE is call used.
5998
5999 2001-11-09  Jason Eckhardt  <jle@rice.edu>
6000
6001         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
6002         code the branch target as ".+16/.+12", but rather use labels.
6003
6004 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
6005
6006         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
6007         to work around limitations of certain versions of GAS.
6008
6009         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
6010         (muldi3): Update due to SUBREG_BYTE changes.
6011         (casesi): Similarly.
6012
6013 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
6014
6015         * doc/invoke.texi: Remove comment referring to -xf77-version.
6016
6017 2001-11-09  Kazu Hirata  <kazu@hxi.com>
6018
6019         * config/convex/convex.c: Fix comment formatting.
6020         * config/convex/convex.h: Likewise.
6021
6022 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
6023
6024         * Makefile.in (.po.pox): Look both in srcdir and builddir
6025         for $(PACKAGE).pot.
6026         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
6027         to the source directory.
6028
6029 2001-11-09 Ben Elliston  <bje@redhat.com>
6030            Michael Meissner  <meissner@redhat.com>
6031            Andrew MacLeod  <amacleod@redhat.com>
6032            Richard Henderson  <rth@redhat.com>
6033            Nick Clifton  <nickc@redhat.com>
6034            Catherine Moore  <clm@redhat.com>
6035
6036         * m32r.c: Add support for m32rx processor.
6037         * m32r.h: Ditto.
6038         * m32r.md: Ditto.
6039         * t-m32r: Ditto.
6040         * m32r-protos.h: Add prototypes for m32rx functions.
6041         * doc/invoke.texi: Document -m32rx option.
6042
6043 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
6044
6045         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
6046         or after reload.
6047
6048 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6049
6050         * doc/install.texi2html: Use $MAKEINFO --no-split.
6051
6052 2001-11-09  Andreas Schwab  <schwab@suse.de>
6053
6054         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
6055         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
6056         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
6057         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
6058         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
6059
6060 2001-11-09  H.J. Lu <hjl@gnu.org>
6061
6062         * config/mips/mips.c (mips_output_function_prologues): Cast
6063         `tsize' to long for output.
6064
6065 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6066
6067         * c-lang.c (LANG_HOOKS_NAME): New.
6068         (lang_hooks): Constify.
6069         (c_init_options): Update.
6070         (lang_identify): Remove.
6071         * c-parse.in (language_string): Remove.
6072         * dbxout.c: Include langhooks.h.
6073         (dbxout_symbol_location): Update.
6074         * dwarf2out.c: Include langhooks.h.
6075         (gen_compile_unit_die): Update.
6076         * dwarfout.c: Include langhooks.h.
6077         (prototyped_attribute, output_compile_unit_die): Update.
6078         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
6079         (LANG_HOOKS_INITIALIZER): Update.
6080         * langhooks.h (struct lang_hooks): New members.  Constify.
6081         * stringpool.c: Don't include toplev.h.
6082         (set_identifier_size): Remove.
6083         * toplev.c (toplev_main): Initialize identifier size.
6084         (print_version): Update.
6085         * tree.h (language_string, init_lex, lang_identify,
6086         set_identifier_size): Remove.
6087         * Makefile.in: Update dependencies.
6088         * config/darwin.c: Include langhooks.h.
6089         (func_name_maybe_scoped): Update.
6090         * config/darwin.h (ASM_END_FILE): Update.
6091         * config/nextstep.h (ASM_END_FILE): Update.
6092         * config/nextstep21.h (ASM_END_FILE): Update.
6093         * config/i386/sun386.h (ASM_END_FILE): Update.
6094         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
6095         (rs6000_output_function_epilogue): Update.
6096 objc:
6097         * objc-act.c (LANG_HOOKS_NAME): Override.
6098         (struct lang_hooks): Constify.
6099         (objc_init_options): Update.
6100         (lang_identify): Remove.
6101
6102 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
6103
6104         * fold-const.c (lshift_double): Honor PREC.
6105         (rshift_double): Likewise.
6106
6107 2001-11-08  Kazu Hirata  <kazu@hxi.com>
6108
6109         * config/1750a/1750a.c: Fix comment formatting.
6110         * config/1750a/1750a.h: Likewise.
6111
6112 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
6113
6114         * configure.in (--enable-languages): Be more permissive about
6115         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
6116         * configure: Regenerated.
6117
6118 2001-11-08  Richard Henderson  <rth@redhat.com>
6119
6120         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
6121
6122 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
6123
6124         * config.gcc: Rename stormy16 to xstormy16.
6125         * config/stormy16/stormy-abi: Likewise.
6126         * config/stormy16/stormy16-protos.h: Likewise.
6127         * config/stormy16/stormy16.c: Likewise.
6128         * config/stormy16/stormy16.h: Likewise.
6129         * config/stormy16/stormy16.md: Likewise.
6130
6131 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
6132
6133         * tree.h (TYPE_VOLATILE): Add enable-checking code.
6134         (TYPE_READONLY): Likewise.
6135
6136 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6137
6138         * reload1.c (reload): Don't delete equiv insn if can throw.
6139
6140         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
6141         (clear_storage): Likewise, for OBJECT.
6142
6143 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
6144
6145         * pa.c (emit_move_sequence): Fix SUBREG expression to
6146         use proper byte offset when extending a constant from
6147         SImode to DImode.
6148
6149 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
6150
6151         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
6152         which cannot throw.
6153
6154 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6155
6156         * explow.c (convert_memory_address, case SUBREG): Only return
6157         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
6158
6159 2001-11-08  Richard Henderson  <rth@redhat.com>
6160
6161         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
6162         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
6163         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
6164
6165 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
6166
6167         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
6168
6169 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
6170
6171         * dwarf2out.c (debug_str_hash): New.
6172         (struct indirect_string_node): New.
6173         (struct dw_val_struct): Change type of val_str to it.
6174         (DEBUG_STR_SECTION_FLAGS): Define.
6175         (add_AT_string): Push string into hashtable, increment reference
6176         counter.
6177         (AT_string): Return string from ht_identifier.
6178         (AT_string_form): New.
6179         (free_AT): For dw_val_class_str, just decrement reference counter.
6180         (size_of_string): Remove.
6181         (size_of_die): Use AT_string_form to decide what size the string
6182         occupies in DIE.
6183         (size_of_pubnames): Use strlen instead of size_of_string.
6184         (value_format): Use AT_string_form for dw_val_class_str.
6185         (output_die): Output DW_FORM_strp strings using
6186         dw2_asm_output_offset.
6187         (indirect_string_alloc, output_indirect_string): New.
6188         (dwarf2out_finish): Emit .debug_str strings if there are any.
6189
6190 2001-11-08  Andreas Franck  <afranck@gmx.de>
6191
6192         * configure.in: Add AC_ARG_PROGRAM to support program name
6193         transformation with --program-prefix, --program-suffix and
6194         --program-transform-name.
6195         * configure: Regenerated.
6196         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
6197         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
6198         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
6199         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
6200         program_transform_name the way suggested by autoconf.
6201         (GCC_TARGET_INSTALL_NAME): Define.
6202         (install-driver): Use the transformed target alias name.
6203
6204 2001-11-08  Richard Henderson  <rth@redhat.com>
6205
6206         * config/mips/mips.c (save_restore_insns): Remove GP from the
6207         restore registers mask early instead of special casing it inside
6208         the loop.
6209
6210 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6211
6212         * cp/decl.c (shadow_warning): New function.
6213         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
6214         and an error when a block scope decl shadows a parameter.
6215
6216 2001-11-08  Richard Henderson  <rth@redhat.com>
6217
6218         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
6219         case as well.
6220
6221 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6222
6223         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
6224         to implement floating negation on processors prior to PA 2.0.
6225
6226 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
6227
6228         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
6229         (USE_LINKONCE_INDIRECT): Define.
6230         (dw2_output_indirect_constant_1): Try to output indirect constants
6231         into linkonce sections if possible.
6232         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
6233         (dw2_output_indirect_constants): Likewise.
6234
6235 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
6236
6237         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
6238
6239 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6240
6241         * c-decl.c (pushdecl): Remove file and line.
6242         * c-typeck.c (pop_init_level): Remove size.
6243
6244 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
6245
6246         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
6247         for rs6000.
6248
6249         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
6250         (TARGET_ALTIVEC): New.
6251         (TARGET_SWITCHES): Add altivec.
6252         (FIRST_PSEUDO_REGISTER): Change to 109.
6253         (CALL_USED_REGISTERS): Same.
6254         (FIRST_ALTIVEC_REGNO): New.
6255         (LAST_ALTIVEC_REGNO): New.
6256         (ALTIVEC_REGNO_P): New.
6257         (UNITS_PER_ALTIVEC_WORD): New.
6258         (ALTIVEC_VECTOR_MODE): New.
6259         (FIXED_REGISTERS): Add altivec registers.
6260         (REG_ALLOC_ORDER): Same.
6261         (HARD_REGNO_NREGS): Adjust for altivec registers.
6262         (HARD_REGNO_MODE_OK): Same.
6263         (MODES_TIEABLE_P): Same.
6264         (REGISTER_MOVE_COST): Same.
6265         (REGNO_REG_CLASS): Same.
6266         (reg_class): Add ALTIVEC_REGS.
6267         (REG_CLASS_NAMES): Same.
6268         (REG_CLASS_CONTENTS): Same.
6269         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
6270         (ALTIVEC_ARG_RETURN): New.
6271         (FUNCTION_VALUE): Handle VECTOR_TYPE.
6272         (LIBCALL_VALUE): Handle altivec vector modes.
6273         (VECTOR_MODE_SUPPORTED_P): New.
6274         (ALTIVEC_ARG_MIN_REG): New.
6275         (ALTIVEC_ARG_MAX_REG): New.
6276         (ALTIVEC_ARG_NUM_REG): New.
6277         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
6278         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
6279         (REGISTER_NAMES): Add altivec regs.
6280         (DEBUG_REGISTER_NAMES): Same.
6281         (ADDITIONAL_REGISTER_NAMES): Same.
6282         (rs6000_builtins): New.
6283         (MD_EXPAND_BUILTIN): New.
6284         (MD_INIT_BUILTINS): New.
6285         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
6286         for AltiVec instructions.
6287         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
6288         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
6289         registers.
6290         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
6291         (TARGET_SWITCHES): Add no-altivec.
6292         (DATA_ALIGNMENT): Align vectors to 128 bits.
6293         (TARGET_OPTIONS): Add abi= option.
6294         Add rs6000_abi_string extern.
6295         (LOCAL_ALIGNMENT): New.
6296         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
6297         (MASK_ALTIVEC_ABI): New.
6298         (TARGET_ALTIVEC_ABI): New.
6299         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
6300         call-saved.
6301         (STACK_BOUNDARY): Adjust for altivec.
6302         (BIGGEST_ALIGNMENT): Same.
6303         (rs6000_args): Add vregno.
6304         (USE_ALTIVEC_FOR_ARG_P): New.
6305         (FIXED_REGISTERS): Add vrsave register.
6306         (CALL_USED_REGISTERS): Same.
6307         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
6308         (VRSAVE_REGNO): New.
6309         (reg_class): Add VRSAVE_REGS.
6310         (REG_CLASS_NAMES): Same.
6311         (REG_CLASS_CONTENTS): Same.
6312         (REGNO_REG_CLASS): Same.
6313
6314         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
6315         (ABI_STACK_BOUNDARY): Same.
6316         (BIGGEST_ALIGNMENT): Same.
6317         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
6318         (ROUND_TYPE_ALIGN): Same.
6319
6320         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6321         to 64.
6322
6323         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6324         to 64.
6325
6326         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6327         to 64.
6328
6329         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
6330         (altivec_expand_builtin): New.
6331         (altivec_init_builtins): New.
6332         (TARGET_EXPAND_BUILTIN): New.
6333         (TARGET_INIT_BUILTINS): New.
6334         (rs6000_init_builtins): New.
6335         (struct builtin_description): New.
6336         (bdesc_2arg): New.
6337         (rs6000_reg_names): Add altivec registers.
6338         (alt_reg_names): Same.
6339         (secondary_reload_class): Altivec regs can hold altivec regs and
6340         memory.
6341         (rs6000_emit_move): Force constants into memory for AltiVec moves.
6342         (print_operand): Add 'y' case for printing altivec memory
6343         operands.
6344         (rs6000_legitimize_address): Legitimize vector addresses into
6345         [REG+REG] or [REG].
6346         (altivec_expand_binop_builtin): New.
6347         New string rs6000_current_abi.
6348         (rs6000_override_options): Call rs6000_parse_abi_options.
6349         (rs6000_parse_abi_options): New.
6350         (function_arg_boundary): Vector arguments must be 16
6351         byte aligned.
6352         (function_arg_advance): Handle vector arguments.
6353         (function_arg_partial_nregs): Same.
6354         (init_cumulative_args): Same.
6355         (function_arg): Same.
6356
6357         * config/rs6000/rs6000.md (altivec_lvx): New.
6358         (type): Add altivec attribute.
6359         (movv4si): New.
6360         (*movv4si_internal): New.
6361         (movv16qi): New.
6362         (*movv16qi_internal): New.
6363         (movv8hi): New.
6364         (*movv8hi_internal1): New.
6365         (movv4sf): New.
6366         (*movv4sf_internal1): New.
6367         (altivec_stvx): New.
6368         (vaddubm): New.
6369         (vadduhm): New.
6370         (vadduwm): New.
6371         (vaddfp): New.
6372         (vaddcuw): New.
6373         (vaddubs): New.
6374         (vaddsbs): New.
6375         (vadduhs): New.
6376         (vaddshs): New.
6377         (vadduws): New.
6378         (vaddsws): New.
6379         (vand): New.
6380         (vandc): New.
6381         (vavgub): New.
6382         (vavgsb): New.
6383         (vavguh): New.
6384         (vavgsh): New.
6385         (vavguw): New.
6386         (vavgsw): New.
6387         (vcmpbfp): New.
6388         (vcmpequb): New.
6389         (vcmpequh): New.
6390         (vcmpequw): New.
6391         (vcmpeqfp): New.
6392         (vcmpgefp): New.
6393         (vcmpgtub): New.
6394         (vcmpgtsb): New.
6395         (vcmpgtuh): New.
6396         (vcmpgtsh): New.
6397         (vcmpgtuw): New.
6398         (vcmpgtsw): New.
6399         (vcmpgtfp): New.
6400         (vcmpgefp): New.
6401         (vcmpgtub): New.
6402         (vcmpgtsb): New.
6403         (vcmpgtuh): New.
6404         (vcmpgtsh): New.
6405         (vcmpgtuw): New.
6406         (vcmpgtsw): New.
6407         (vcmpgtfp): New.
6408         (vmaxub): New.
6409         (vmaxsb): New.
6410         (vmaxuh): New.
6411         (vmaxsh): New.
6412         (vmaxuw): New.
6413         (vmaxsw): New.
6414         (vmaxfp): New.
6415         (vmrghb): New.
6416         (vmrghh): New.
6417         (vmrghw): New.
6418         (vmrglb): New.
6419         (vmrglh): New.
6420         (vmrglw): New.
6421         (vminub): New.
6422         (vminsb): New.
6423         (vminuh): New.
6424         (vminsh): New.
6425         (vminuw): New.
6426         (vminsw): New.
6427         (vminfp): New.
6428         (vmuleub): New.
6429         (vmulesb): New.
6430         (vmuleuh): New.
6431         (vmulesh): New.
6432         (vmuloub): New.
6433         (vmulosb): New.
6434         (vmulouh): New.
6435         (vmulosh): New.
6436         (vnor): New.
6437         (vor): New.
6438         (vpkuhum): New.
6439         (vpkuwum): New.
6440         (vpkpx): New.
6441         (vpkuhss): New.
6442         (vpkshss): New.
6443         (vpkuwss): New.
6444         (vpkswss): New.
6445         (vpkuhus): New.
6446         (vpkshus): New.
6447         (vpkuwus): New.
6448         (vpkswus): New.
6449         (vrlb): New.
6450         (vrlh): New.
6451         (vrlw): New.
6452         (vslb): New.
6453         (vslh): New.
6454         (vslw): New.
6455         (vsl): New.
6456         (vslo): New.
6457         (vsrb): New.
6458         (vrsh): New.
6459         (vrsw): New.
6460         (vsrab): New.
6461         (vsrah): New.
6462         (vsraw): New.
6463         (vsr): New.
6464         (vsro): New.
6465         (vsububm): New.
6466         (vsubuhm): New.
6467         (vsubuwm): New.
6468         (vsubfp): New.
6469         (vsubcuw): New.
6470         (vsububs): New.
6471         (vsubsbs): New.
6472         (vsubuhs): New.
6473         (vsubshs): New.
6474         (vsubuws): New.
6475         (vsubsws): New.
6476         (vsum4ubs): New.
6477         (vsum4sbs): New.
6478         (vsum4shs): New.
6479         (vsum2sws): New.
6480         (vsumsws): New.
6481         (vxor): New.
6482
6483 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
6484
6485         * Makefile.in (df.o): Add fibheap.h to dependencies.
6486
6487         * df.h: Add prototypes for transfer functions, iterative_dataflow
6488         functions.
6489         (enum df_flow_dir): New enum.
6490         (enum df_confluence_op): New enum.
6491         (struct df): Add inverse_rts_map.
6492
6493         * df.c: Add sbitmap.h to the list of includes.
6494         (df_rd_global_compute): Removed.
6495         (df_ru_global_compute): Removed.
6496         (df_lr_global_compute): Removed.
6497         (df_rd_transfer_function): New function.
6498         (df_ru_transfer_function): New function.
6499         (df_lr_transfer_function): New function.
6500         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
6501         Use iterative_dataflow_bitmap instead of df_*_global_compute.
6502         (iterative_dataflow_sbitmap): New function.
6503         (iterative_dataflow_bitmap): New function.
6504
6505 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6506
6507         * doc/gcc.texi: Move terminology and spelling conventions to
6508         htdocs/codingconventions.html.
6509
6510 2001-11-07  Graham Stott  <grahams@redhat.com>
6511
6512         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
6513
6514 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
6515
6516         * expmed.c (expand_mult): Force operand to register before computing
6517         cost.
6518         * i386.c (x86_decompose_lea): New global vairable.
6519         * i386.h (x86_decompose_lea): Declare.
6520         (TARGET_DECOMPOSE_LEA): New macro.
6521         (RTX_COST): Handle leas properly.
6522
6523 2001-11-06  Richard Henderson  <rth@redhat.com>
6524
6525         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
6526         defined for a CONSTRUCTOR; don't check it.
6527
6528 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
6529
6530         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
6531         test for absolute pathnames.
6532
6533 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
6534
6535         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
6536         instructions up to the target pc inclusive.
6537
6538 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
6539
6540         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
6541
6542 2001-11-06  Eric Christopher  <echristo@redhat.com>
6543
6544         * config/mips/mips.md(movdf_internal2): Add constraints for float
6545         to general register move.
6546         * config/mips/elf64.h: Add default ABI.
6547
6548 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6549
6550         * alias.c:: Include langhooks.h.
6551         * emit-rtl.c: Similarly.
6552         * toplev.c: Similarly.
6553         * tree-inline.c: Similarly.
6554         * langhooks-def.h: New, the old langhooks.h.  Give the default
6555         hooks a common prefix.
6556         * langhooks.h: Contents extracted from toplev.h.
6557         * toplev.h: Move langhook stuff to langhooks.h.
6558         * langhooks.c: Give default hooks a common prefix.
6559
6560         * c-lang.c: Include langhooks-def.h.
6561         * objc/objc-act.c: Similarly.
6562         * Makefile.in: Update.
6563         * objc/Make-lang.in: Update.
6564
6565 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6566
6567         * doc/install.texi: Document that configure options not listed in
6568         this file are unsupported.  Document --with-system-zlib.
6569
6570 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6571
6572         * rtl.h (mem_for_const_double): New declaration.
6573         * varasm.c (mem_for_const_double): New function.
6574         * config/convex/convex.md (movdf): Use it.
6575         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
6576         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
6577         * config/m68k/m68kv4.h: Likewise.
6578
6579         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
6580         of new GP reg classes.
6581
6582         * expr.c (store_field): When making temp object for unaligned
6583         component, set it to alias set 0.
6584
6585 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6586
6587         * c-common.c (c_expand_expr_stmt): Apply default conversions to
6588         non-lvalue arrays if C99.
6589         * c-typeck.c (default_conversion): Split out code handling
6590         array-to-pointer and function-to-pointer conversions into a
6591         separate default_function_array_conversion function.
6592         (default_function_array_conversion): New function.  Keep track of
6593         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
6594         arrays unchanged outside C99 mode instead of giving an error for
6595         them.
6596         (build_component_ref): Use pedantic_non_lvalue when handling
6597         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
6598         (convert_arguments): Use default_function_array_conversion.
6599         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
6600         non-lvalues are OK.
6601         (unary_complex_lvalue): Likewise.
6602         (internal_build_compound_expr): Use
6603         default_function_array_conversion.  Apply default conversions to
6604         function in compound expression.
6605         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
6606         Use default_function_array_conversion.
6607         * doc/extend.texi: Update documentation of subscripting non-lvalue
6608         arrays.
6609         Fixes PR c/461.
6610
6611 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
6612
6613         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
6614         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
6615         corresponding to the complete set of .po and .gmo files in
6616         the source directory's po subdir, modified by LINGUAS.  Don't
6617         look at ALL_LINGUAS.
6618         * configure.in: Don't set ALL_LINGUAS.
6619         * configure: Regenerate.
6620
6621         * Makefile.in (.po.gmo): Don't move into source directory.
6622         (.po.pox): Clarify comments.
6623         (install-po): Look for .gmo files in both srcdir and objdir;
6624         don't fail if a file is totally missing.
6625         (distclean): rmdir ada subdirectory too.
6626
6627 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6628
6629         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6630         CONSTRUCTORs _correctly_.
6631
6632 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6633
6634         * c-decl.c (delete_block): Remove.
6635         * c-tree.h (delete_block): Remove.
6636
6637 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6638
6639         * cppexp.c (lex, parse_defined): Update warning about defined.
6640
6641 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6642
6643         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6644         CONSTRUCTORs too.
6645
6646 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
6647
6648         * config/arm/arm.c (arm_return_in_memory): Cope with
6649         int_size_in_bytes returning -1.
6650
6651         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
6652         DECL being NULL.
6653
6654 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6655
6656         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
6657         remove unneeded dependencies;
6658         (cfglayout.o): New.
6659         * cfglayout.c, cfglayout.h: New files; break out from ...
6660         * bb-reorder.c: ... here; Remove unneeded includes;
6661
6662 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
6663
6664         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
6665
6666 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
6667
6668         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
6669         mode as well.  Do not explicitly create intermediate regs.
6670
6671 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6672
6673         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
6674         (common_section): Delete unused variable.
6675         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
6676         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6677         * arm-protos.h (arm_poke_function_name, aof_add_import,
6678         aof_delete_import): Const-ify.
6679         * arm.c (legitimize_pic_address): Wrap variables in the macro
6680         controlling their usage.
6681         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
6682         (arm_poke_function_name, pic_chain, import, aof_add_import,
6683         aof_delete_import): Const-ify.
6684         * i386.c (ix86_osf_output_function_prologue): Const-ify.
6685         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6686         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
6687         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
6688         * i860/sysv3.h: Add missing comment closure.
6689         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
6690         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
6691         to symbolic_operand.
6692
6693         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
6694         (i960-*-*): Set tmake_file.
6695         (sparc86x-*-elf*): Fix typo in header name.
6696
6697         * sched-rgn.c (schedule_insns): Delete unused variable.
6698
6699 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6700
6701         PR c/2820
6702         * c-typeck.c (lookup_field): Rework to return a chain down to
6703         the looked-up field.
6704         (build_component_ref): Use the new lookup_field to handle
6705         nested anonymous entities correctly.
6706
6707 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6708
6709         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
6710         Change parameters to gen_rtx_CONST_DOUBLE.
6711         (GEN_INT64, sparc_emit_set_const64): Likewise.
6712         * config/sparc/sparc.md (movdf split): Likewise.
6713
6714 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
6715
6716         * unroll.c (calculate_giv_inc): Use find_last_value rather
6717         than just hoping the last instruction is the right SET.
6718         [Fixes 990604-1.c on stormy16.]
6719
6720         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
6721         library at all if -T is used.
6722
6723         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
6724         some uses of uninitialized variables in error cases.
6725
6726         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
6727         look at 'temp' if we won't be using it.
6728
6729         * config/stormy16/stormy16.h (CONST_COSTS): Define.
6730         (RTX_COSTS): Define.
6731         (ADDRESS_COST): Define.
6732         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
6733
6734         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
6735
6736         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
6737         stormy16_asm_output_mi_thunk.
6738         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
6739         function.
6740         * config/stormy16/stormy16-protos.h
6741         (stormy16_asm_output_mi_thunk): New prototype.
6742
6743 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6744
6745         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
6746         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
6747         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
6748         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
6749         sched-int.h, toplev.c, config/alpha/alpha.c,
6750         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
6751         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
6752         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
6753         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
6754         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
6755         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
6756         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
6757
6758 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6759
6760         * Makefile.in (dbxout.o): Depend on function.h.
6761         * collect2.c (is_in_list): Hide unused function.
6762         * dbxout.c: Include function.h.
6763         (source_label_number, dbxout_source_line, dbxout_source_file,
6764         dbxout_function_end, dbxout_begin_function): Wrap/move inside
6765         macros controlling usage.
6766         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
6767         * output.h (exports_section): Prototype.
6768
6769         * convex.c (convex_output_function_prologue): Fix format specifier
6770         warning.
6771         (asm_declare_function_name): Fix signed/unsigned warning.
6772         (print_operand): Fix format specifier warning.
6773         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
6774         * dsp16xx-protos.h (uns_comparison_operator,
6775         num_1600_core_shifts): Prototype.
6776         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
6777         (frame_size, frame_pointer_offset): Delete.
6778         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
6779         Make static.  Fix format specifier warnings.
6780         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
6781         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
6782         * dsp16xx.md: Add default case in switches.
6783         * fr30.h (IN_RANGE): Delete.
6784         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6785         * mcore-protos.h (mcore_output_cmov): Const-ify.
6786         * mcore.c (mcore_output_cmov): Likewise.
6787         * mcore.h (switch_to_section): Make static and prototype.
6788         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
6789         unsigned>=0 warnings.
6790         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
6791         * rs6000-protos.h (read_only_data_section,
6792         read_only_private_data_section): Prototype.
6793         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6794         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
6795         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
6796
6797 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6798
6799         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
6800         ATTRIBUTE_UNUSED.
6801         * final.c (final_scan_insn): Add brackets around body of if-stmt.
6802         * gcc.c (convert_filename): Add static prototype.  Const-ify.
6803         Wrap variable in macros controlling its use.
6804         * output.h (sdata_section): Add prototype.
6805
6806         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6807         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
6808         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
6809         (ASM_FILE_START): Const-ify.
6810         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
6811         specifier warning.
6812         * c4x.md: Don't use the 'U' integer suffix.
6813         * clipper.md (clipper_movstr): Delete declaration.
6814         * d30v-protos.h (d30v_move_2words): Const-ify.
6815         (debug_stack_info): Add prototype.
6816         * d30v.c: Include "integrate.h".
6817         (d30v_function_arg_boundary, d30v_function_arg,
6818         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
6819         signed/unsigned warnings.
6820         (d30v_print_operand_memory_reference, d30v_move_2words):
6821         Const-ify.
6822         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
6823         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
6824         * fr30.md: Const-ify.
6825         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6826         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
6827         (mvs_get_label_page): Hide unused static function.
6828         * i860.c (current_function_original_name): Const-ify.
6829         * i860/sysv3.h (current_function_original_name): Likewise.
6830         * i860/sysv4.h (current_function_original_name): Likewise.
6831         * i960.md: Add default case in switches.  Remove unused variable.
6832         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
6833         * m32r.md: Const-ify.
6834         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
6835         * m68hc11.c: Include "reload.h".
6836         (static_chain_reg, print_options, m68hc11_asm_file_start):
6837         Const-ify.
6838         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
6839         around & in comparison.
6840         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6841         * mn10200.c (shift_mode): Remove trailing comma.
6842         * mn10300-protos.h (output_tst): Const-ify.
6843         * mn10300.c (output_tst): Likewise.
6844         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
6845         warnings.
6846         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
6847         * pa.c (output_ascii): Likewise.
6848         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6849         * pdp11.md (expand_unop): Delete declarations.
6850         * pj-protos.h (pj_output_addsi3): Const-ify.
6851         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
6852         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
6853         unique_src_operand): Add prototypes.
6854         (pj_output_store_into_lval): Make definition static.
6855         (pj_function_incoming_arg): Don't use unary plus.
6856         (pj_output_addsi3): Const-ify.
6857         * romp.md (get_symref): Delete declarations.
6858         * v850-c.c (mark_current_function_as_interrupt): Don't return
6859         value from void function.
6860         * v850.c: Include "integrate.h".
6861         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
6862         * vax-protos.h (const_section): Add prototype.
6863
6864 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
6865
6866         * machmode.def: Add documentation for the seventh argument in
6867         vector modes.
6868
6869 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
6870
6871         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
6872         consistently.
6873         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
6874         <-melf>: Don't have markup for ELF acronym.
6875
6876 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
6877
6878         * config.gcc (mmix-*-*): New target.
6879         * doc/invoke.texi: Document MMIX options.
6880         * doc/contrib.texi: Add note about MMIX port to my entry.
6881         * config/mmix/t-mmix: New file.
6882         * config/mmix/mmix.h: New file.
6883         * config/mmix/mmix-protos.h: New file.
6884         * config/mmix/mmix.c: New file.
6885         * config/mmix/mmix.md: New file.
6886         * config/mmix/crti.asm: New file.
6887         * config/mmix/crtn.asm: New file.
6888
6889 2001-11-03  Kazu Hirata  <kazu@hxi.com>
6890
6891         * config/sparc/linux-aout.h: Fix comment formatting.
6892         * config/sparc/linux.h: Likewise.
6893         * config/sparc/linux64.h: Likewise.
6894         * config/sparc/lynx.h: Likewise.
6895         * config/sparc/pbd.h: Likewise.
6896         * config/sparc/sol2-sld-64.h: Likewise.
6897         * config/sparc/sol2.h: Likewise.
6898         * config/sparc/sparc.c: Likewise.
6899         * config/sparc/sparc.h: Likewise.
6900         * config/sparc/sparc.md: Likewise.
6901         * config/sparc/sunos4.h: Likewise.
6902         * config/sparc/vxsim.h: Likewise.
6903         * config/sparc/vxsparc.h: Likewise.
6904         * config/sparc/vxsparc64.h: Likewise.
6905
6906 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6907
6908         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
6909         reference to CONST_DOUBLE_MEM in comment.
6910         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
6911         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
6912         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
6913         * function.c (pop_function_context_from): Don't call
6914         restore_varasm_status.
6915         * function.h (restore_varasm_status): Delete declaration.
6916         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
6917         * rtl.c: Likewise.
6918         * rtl.def (CONST_DOUBLE): Update comment.
6919         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
6920         (CONST_DOUBLE_CHAIN): Likewise.
6921         (CONST_DOUBLE_MEM): Delete.
6922         (gen_rtx_CONST_DOUBLE): Update parameters.
6923         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
6924         Remove reference to CONST_DOUBLE_MEM.
6925         (const_alias_set): New variable.
6926         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
6927         (immed_real_const_1): Adjust tests for 0, 1, and 2.
6928         Don't set CONST_DOUBLE_MEM.
6929         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
6930         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
6931         Put constant in const_alias_set.
6932         (struct pool_constant): ALIGN now unsigned.
6933         OFFSET now HOST_WIDE_INT.
6934         Delete LABEL.
6935         (restore_varasm_status): Deleted.
6936         (mark_pool_constant): Mark desc->rtl.
6937         (force_const_mem): Rework to store rtl in hash table,
6938         not CONST_DOUBLE_MEM.
6939         Put constant in const_alias_set.
6940         (find_pool_constant): Check desc->rtl.
6941         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
6942         (init_varasm_once): Initialize const_alias_set.
6943
6944         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
6945         force_const_mem.
6946
6947         * reload.c (combine_reloads): Don't combine an output reload if there
6948         are other reloads around for part of the output.
6949
6950         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
6951         constant expression.
6952         (set_mem_decl): New function.
6953         * expr.h (set_mem_decl): New declaration.
6954         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
6955         (output_asm_operand_names): Add tab.
6956         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
6957
6958         * builtins.c (get_memory_rtx): Properly set MEM alias set and
6959         attributes.
6960
6961 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6962
6963         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
6964         Use "invalid" instead of "illegal".  Use @r in comments in
6965         examples.
6966
6967 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
6968
6969         * c-decl.c (pushdecl): Move block inside if conditional to remove
6970         possibility of a segfault.  Lookup block-level extern
6971         variables in enclosing scopes correctly.
6972
6973         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
6974
6975 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6976
6977         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
6978         SUBREG so we avoid SUBREGing memory.
6979
6980         * expmed.c (store_bit_field): Same.
6981
6982 2001-11-02  DJ Delorie  <dj@redhat.com>
6983
6984         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
6985         using FP registers for DImode mem-mem moves is acceptable.
6986
6987 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6988
6989         * builtins.c (apply_args_size): Handle vector arguments.
6990         (apply_result_size): Same.
6991
6992         * machmode.def: Set WIDER mode field for all vector entries.
6993
6994 2001-11-02  Graham Stott  <grahams@redhat.com>
6995
6996         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
6997
6998 2001-11-01  Eric Christopher  <echristo@redhat.com>
6999
7000         * config.gcc: Revert part of earlier patch.
7001         * config/mips/linux.h: Ditto.
7002         * df.c: Include tm_p.h to avoid warnings.
7003         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
7004         #if/#endif.
7005         * config/mips/mips.c: Define mips_abi regardless.
7006         (mips_output_function_prologues): Add long casts for .frame
7007         output.
7008         (override_options): Allow use of ABI_32.
7009
7010 2001-11-01  Kazu Hirata  <kazu@hxi.com>
7011
7012         * config/m68hc11/m68hc11.c: Fix comment formatting.
7013         * config/m68hc11/m68hc11.h: Likewise.
7014         * config/m68hc11/m68hc11.md: Likewise.
7015
7016 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7017
7018         * c-typeck.c (default_conversion): Retain the original expression
7019         codes.
7020         * gcc.dg/Wparentheses.c: New tests.
7021
7022 2001-11-01  David S. Miller  <davem@redhat.com>
7023
7024         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
7025         64-bit Sparc description more in line with reality.
7026
7027 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
7028
7029         * Makefile.in (GCOV_OBJS): Add version.o.
7030         * gcov.c: Include "version.h" and <getopt.h>.
7031         (gcov_version_string): Remove.
7032         (print_usage): Take a parameter to determine whether this is a
7033         call from --help or an error message.  Give fuller output that
7034         follows the GNU Coding Standards for --help.
7035         (print_version): New function.
7036         (options): New.
7037         (process_args): Use getopt_long.  Support long options.  Follow
7038         GNU Coding Standards for --help and --version.
7039         * doc/gcov.texi: Document long options.
7040         Addresses part of PR other/704.
7041
7042 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7043
7044         * pa.c (output_move_double): Fix typo in double load.
7045
7046 2001-11-01  Kazu Hirata  <kazu@hxi.com>
7047
7048         * config/h8300/h8300.c (h8300_encode_label): Compute a string
7049         before passing it to ggc_alloc_string.
7050
7051 2001-11-01  Kazu Hirata  <kazu@hxi.com>
7052
7053         * config/m68k/3b1.h: Fix comment formatting.
7054         * config/m68k/3b1g.h: Likewise.
7055         * config/m68k/a-ux.h: Likewise.
7056         * config/m68k/amix.h: Likewise.
7057         * config/m68k/apollo68.h: Likewise.
7058         * config/m68k/atari.h: Likewise.
7059         * config/m68k/aux-exit.c: Likewise.
7060         * config/m68k/ccur-GAS.h: Likewise.
7061         * config/m68k/crds.h: Likewise.
7062         * config/m68k/dpx2.h: Likewise.
7063         * config/m68k/dpx2g.h: Likewise.
7064         * config/m68k/hp310.h: Likewise.
7065         * config/m68k/hp320.h: Likewise.
7066         * config/m68k/isi.h: Likewise.
7067         * config/m68k/linux.h: Likewise.
7068         * config/m68k/lynx.h: Likewise.
7069         * config/m68k/m68k-psos.h: Likewise.
7070         * config/m68k/m68k.c: Likewise.
7071         * config/m68k/m68k.h: Likewise.
7072         * config/m68k/m68k.md: Likewise.
7073         * config/m68k/m68kelf.h: Likewise.
7074         * config/m68k/m68kv4.h: Likewise.
7075         * config/m68k/mot3300.h: Likewise.
7076         * config/m68k/news.h: Likewise.
7077         * config/m68k/next.h: Likewise.
7078         * config/m68k/pbb.h: Likewise.
7079         * config/m68k/plexus.h: Likewise.
7080         * config/m68k/sgs.h: Likewise.
7081         * config/m68k/sun3.h: Likewise.
7082         * config/m68k/tower.h: Likewise.
7083         * config/m68k/vxm68k.h: Likewise.
7084
7085 2001-10-31  DJ Delorie  <dj@redhat.com>
7086
7087         * config/mips/mips.h (mips_cache_flush_func): Prototype.
7088         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
7089         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
7090         * config/mips/mips.c (mips_cache_flush_func): New.
7091         * doc/invoke.texi: Document the new options.
7092
7093 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
7094
7095         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
7096         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
7097
7098         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
7099
7100         * config/cris/cris.c: Include output.h after tree.h but before
7101         target.h.
7102
7103 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
7104
7105         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
7106         (INTL_SUBDIRS): Just intl.
7107         (.SUFFIXES): Add .gmo .po .pox.
7108         (native): Also depend on build-@POSUB@.
7109         (intl.all, intl.install): Depend on config.h and things it includes.
7110         (po-generated): New target; depend on c-parse.c and tradcif.c.
7111         (install-normal): Also depend on install-@POSUB@.
7112         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
7113         (build-, install-, build-po, update-po, install-po,
7114         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
7115
7116         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
7117         * configure.in: Don't munge XGETTEXT.  Don't generate
7118         po/Makefile.in.
7119         * configure: Regenerate.
7120
7121         * exgettext: Delete.
7122         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
7123         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
7124
7125 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7126
7127         * config/h8300/h8300.md (two anonymous patterns): New.
7128
7129 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
7130
7131         * tree.h (tree_index): Add support for V16QI and V8HI.
7132         (V8HI_type_node): New.
7133         (V16QI_type_node): New.
7134
7135         * tree.c (build_common_tree_nodes_2): Same.
7136
7137         * c-common.c (type_for_mode): Same.
7138
7139 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7140
7141         * config/i386/att.h: Fix comment formatting.
7142         * config/i386/beos-elf.h: Likewise.
7143         * config/i386/bsd.h: Likewise.
7144         * config/i386/bsd386.h: Likewise.
7145         * config/i386/crtdll.h: Likewise.
7146         * config/i386/cygwin.asm: Likewise.
7147         * config/i386/cygwin.h: Likewise.
7148         * config/i386/djgpp.h: Likewise.
7149         * config/i386/freebsd-aout.h: Likewise.
7150         * config/i386/freebsd.h: Likewise.
7151         * config/i386/gas.h: Likewise.
7152         * config/i386/i386-interix.h: Likewise.
7153         * config/i386/i386-protos.h: Likewise.
7154         * config/i386/i386.c: Likewise.
7155         * config/i386/i386.h: Likewise.
7156         * config/i386/i386.md: Likewise.
7157         * config/i386/i386elf.h: Likewise.
7158         * config/i386/interix.c: Likewise.
7159         * config/i386/isc.h: Likewise.
7160         * config/i386/isccoff.h: Likewise.
7161         * config/i386/iscdbx.h: Likewise.
7162         * config/i386/linux.h: Likewise.
7163         * config/i386/lynx.h: Likewise.
7164         * config/i386/mingw32.h: Likewise.
7165         * config/i386/netbsd-elf.h: Likewise.
7166         * config/i386/next.h: Likewise.
7167         * config/i386/osf1elf.h: Likewise.
7168         * config/i386/osfrose.h: Likewise.
7169         * config/i386/sco5.h: Likewise.
7170         * config/i386/seq-gas.h: Likewise.
7171         * config/i386/seq-sysv3.h: Likewise.
7172         * config/i386/sequent.h: Likewise.
7173         * config/i386/sol2.h: Likewise.
7174         * config/i386/sun386.h: Likewise.
7175         * config/i386/uwin.asm: Likewise.
7176         * config/i386/uwin.h: Likewise.
7177         * config/i386/vxi386.h: Likewise.
7178         * config/i386/win32.h: Likewise.
7179         * config/i386/winnt.c: Likewise.
7180         * config/i386/xm-cygwin.h: Likewise.
7181         * config/i386/xm-mingw32.h: Likewise.
7182
7183 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7184
7185         * builtins.def: Fix comment typos.
7186         * config/alpha.c: Likewise.
7187         * config/arm/arm.c: Likewise.
7188         * config/avr/avr.h: Likewise.
7189         * config/d30v/d30v.c: Likewise.
7190         * config/d30v/d30v.h: Likewise.
7191         * config/d30v/d30v.md: Likewise.
7192         * config/dsp16xx/dsp16xx.c: Likewise.
7193         * config/fr30/fr30.c: Likewise.
7194         * config/fr30/fr30.md: Likewise.
7195         * config/i386/i386.c: Likewise.
7196         * config/i860/i860.c: Likewise.
7197         * config/i960/i960.c: Likewise.
7198         * config/ia64/ia64.c: Likewise.
7199         * config/mips/mips.c: Likewise.
7200         * config/pa/pa.c: Likewise.
7201         * config/rs6000/rs6000.c: Likewise.
7202         * config/s390/s390.c: Likewise.
7203         * config/sparc/sparc.c: Likewise.
7204
7205 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7206
7207         * config/mips/elf.h: Fix comment formatting.
7208         * config/mips/elf64.h: Likewise.
7209         * config/mips/iris5.h: Likewise.
7210         * config/mips/iris5gas.h: Likewise.
7211         * config/mips/iris6.h: Likewise.
7212         * config/mips/isa3264.h: Likewise.
7213         * config/mips/linux.h: Likewise.
7214         * config/mips/mips.c: Likewise.
7215         * config/mips/mips.h: Likewise.
7216         * config/mips/mips.md: Likewise.
7217         * config/mips/mips16.S: Likewise.
7218         * config/mips/netbsd.h: Likewise.
7219         * config/mips/osfrose.h: Likewise.
7220         * config/mips/r3900.h: Likewise.
7221         * config/mips/sni-svr4.h: Likewise.
7222         * config/mips/svr4-t.h: Likewise.
7223         * config/mips/ultrix.h: Likewise.
7224
7225 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
7226
7227         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
7228         when we update head->current.
7229
7230 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
7231
7232         * tree.c (id_string_size): Remove.
7233         (dump_tree_statistics): Update.
7234         * toplev.c (compile_file): If dumping stats, dump tree stats too.
7235
7236 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
7237
7238         * sched-rgn.c (schedule_insns): Fix comment.
7239
7240 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
7241
7242         * configure.in: Correct previous change: don't assume that
7243         gas's version number _isn't_ the last thing on the line, or
7244         isn't the only number on the line, either.
7245         * configure: Regenerate.
7246
7247 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7248
7249         * cfgcleanup.c: Fix a comment typo.
7250
7251 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7252
7253         * alias.c: Fix comment formatting.
7254         * recog.c: Likewise.
7255         * config/cris/cris.c: Likewise.
7256         * config/cris/cris.h: Likewise.
7257         * config/i960/i960.c: Likewise.
7258         * config/i960/i960.h: Likewise.
7259
7260 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7261
7262         * config/arm/arm.c: Fix a comment typo.
7263         * config/arm/arm.h: Likewise.
7264         * config/ia64/ia64.c: Likewise.
7265
7266 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
7267
7268         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
7269         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
7270         * rtl.h (set_unique_reg_note): Change return value.
7271         * gcse.c (try_replace_reg): Use set_unique_reg_note.
7272         * cse.c (cse_insn): Likewise.
7273         * expr.c (emit_move_insn): Likewise.
7274         * explow.c (force_reg): Likewise.
7275         * local-alloc (update_equiv_regs): Likewise.
7276         * loop.c (move_moveables, load_mems): Likewise.
7277         * reload (find_reloads): Likewise.
7278
7279 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
7280
7281         Localization fixes.
7282         * c-decl.c (parmlist_tags_warning, start_struct,
7283         check_for_loop_decls): Separate messages for struct, union and
7284         enum cases to allow for languages in which they have different
7285         genders.
7286         * c-format.c (scanf_flag_specs): Separate short and long name of
7287         the assignment suppression feature.
7288         (check_format_types): Localize "pointer" and "different types"
7289         strings.
7290         * c-lex.c (lex_number): Localize "an unsigned long int" and
7291         related strings.
7292         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
7293         warning message.
7294         * c-typeck.c (build_unary_up): Separate messages for increment and
7295         decrement cases to allow for languages in which they use different
7296         articles.  Localize the strings "increment" and "decrement" in one
7297         case.
7298
7299 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
7300
7301         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
7302         when no changes has been made.
7303
7304         * gcse.c (reg_set_bitmap): Turn into reg_set.
7305         (modify_mem_list_set, canon_modify_mem_list_set)
7306         (clear_modify_mem_tables, free_modify_mem_tables): New.
7307         (gcse_main); Use free_modify_mem_tables.
7308         (free_gcse_mem): Likewise; free the bitmaps.
7309         (alloc_gcse_main): Initialize the bitmaps.
7310         (canon_list_insert): Set canon_modify_mem_list_set.
7311         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
7312         (compute_hash_table): Use clear_modify_mem_tables.
7313         (reset_opr_set_tables): Likewise.
7314         (oprs_not_set_p): reg_set_bitmap is regset.
7315         (mark_set, mark_clobber): Likewise.
7316
7317         * df.h (DF_EQUIV_NOTES): New constant.
7318         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
7319         when asked for.
7320
7321         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
7322         (init_regions, schedule_insns): Conditionalize the checking
7323         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
7324
7325 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
7326
7327         * i386.md (movti_rex64 splitter): Fix condition.
7328
7329 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
7330
7331         * configure.in: Do not assume that gas's version number is the
7332         last thing on the first line of as --version output.
7333         * configure: Regenerate.
7334
7335         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
7336         MT_WARNING, MT_ERROR, MT_FATAL.
7337         (main): Call gcc_init_libintl.
7338         (v_message): Call gettext on msgid and "warning: "
7339         * tradcif.y: Include intl.h.
7340         (yyerror): Make parameter definition consistent with
7341         prototype.  Call gettext on msgid argument.
7342
7343 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7344
7345         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
7346         warnings.
7347
7348         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
7349
7350 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7351
7352         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
7353         before referencing it.
7354
7355 2001-10-26  DJ Delorie  <dj@redhat.com>
7356
7357         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
7358         override -G, and force -G0.
7359
7360 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7361
7362         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
7363         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
7364         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
7365         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
7366
7367         * loop.h (struct induction): Rename ext_dependant to
7368         ext_dependent.
7369         * loop.c: Change all uses.
7370         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
7371         All callers changed.
7372         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
7373
7374 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7375
7376         * c-parse.in (expr_no_commas, primary), c-typeck.c
7377         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
7378
7379 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
7380
7381         Undo assemble_name change in earlier patch.
7382
7383 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
7384
7385         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
7386         determining the type of the receiver, do not check that TREE_CODE
7387         of receiver is CALL_EXPR before calling receiver_is_class_object().
7388         (receiver_is_class_object): For the GNU runtime: recognize
7389         the case that the receiver is self in a class method context.
7390         Check that TREE_CODE of receiver is CALL_EXPR when checking that
7391         the receiver is a call to objc_get_class.
7392
7393 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7394
7395         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
7396
7397 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7398
7399         * Makefile.in (OBJS): Put all files in alphabetical order.
7400
7401         * dwarf2out.c (add_const_value_attribute): Fix error in last
7402         change.
7403
7404 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7405
7406         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
7407         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
7408         fix warning.
7409         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
7410         (life_analysis): call purge_all_dead_edges after deleting noops.
7411         (delete_noop_move): Do not purge CFG.
7412         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
7413
7414 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
7415
7416         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
7417         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
7418         (ASM_GLOBALIZE_LABEL): Use assemble_name.
7419         (ASM_OUTPUT_COMMON): Likewise.
7420         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
7421         (rs6000_output_function_epilogue): Likewise.
7422         (output_mi_thunk): Fix typo.
7423         (rs6000_output_symbol_ref): Use assemble_name.
7424         (output_toc): Likewise.
7425         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
7426         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
7427         assemble_name calls STRIP_NAME_ENCODING.
7428         (ASM_OUTPUT_LABEL): Use assemble_name.
7429         (ASM_GLOBALIZE_LABEL): Likewise.
7430         (ASM_DECLARE_FUNCTION_NAME): Likewise.
7431         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
7432         (ASM_OUTPUT_LOCAL): Likewise.
7433
7434 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7435
7436         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
7437         (expand_builtin_apply, expand_builtin_return): Likewise.
7438         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
7439
7440 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7441
7442         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7443         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
7444         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
7445         configure, configure.in, except.c, except.h, flow.c, function.c,
7446         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
7447         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
7448         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
7449         unroll.c: Fix spelling errors.
7450
7451         * doc/extend.texi, doc/invoke.texi: Fix spelling.
7452
7453         * doc/gcc.texi: Document use of "dependent" and American spelling.
7454
7455 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
7456
7457         * expr.c (emit_group_load): Support CONCATs by storing them to memory
7458         and reloading.
7459
7460 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7461
7462         * expr.c (store_constructor_field): Only call adjust_address on MEM.
7463
7464 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
7465
7466         * genrecog.c (write_switch):  Output if before switch for
7467         DT_elt_zero_wide_safe.
7468
7469 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7470
7471         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
7472         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
7473         (FUNCTION_PROFILER): Const-ify.
7474         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
7475         (eliminate_constant_term, assemble_name, output_addr_const):
7476         Remove declarations.
7477         (ptr_half_pic_address_p, half_pic_hash): Prototype.
7478         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
7479         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
7480         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
7481         (half_pic_declare, half_pic_external): Const-ify.
7482         * toplev.c: Include "halfpic.h".
7483
7484 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7485
7486         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
7487         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
7488         config/i386/i386.c, config/i386/i386-interix.h,
7489         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
7490         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
7491         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
7492         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
7493         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
7494         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
7495         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
7496         spelling errors.
7497
7498         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7499         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
7500         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
7501         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
7502         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
7503         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
7504         system.h, toplev.c: Fix spelling errors.
7505
7506 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7507
7508         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
7509
7510         * dwarf2out.c (reg_number): Abort if pseudo.
7511         (reg_loc_descriptor): Return 0 if pseudo.
7512         (is_based_loc): Return 0 if pseudo.
7513         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
7514         recursive calls.
7515         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
7516         (loc_descriptor): Return 0 if can't find location and handle 0
7517         return from recursive calls.
7518         (loc_descriptor_from_tree): Likewise.
7519         Fix handling of indirect.
7520         Also return 0 for PLACEHOLDER_EXPR.
7521         Clean up COMPONENT_REF cases.
7522         (add_AT_location_descriptor): Simplify, but handle 0 return from
7523         loc_descriptor.
7524         (add_const_value_attribute): Avoid shift count warning.
7525         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
7526         Set comp_unit_die as context if not in function.
7527
7528         * config/mips/mips-protos.h: Break up long lines.
7529         Remove needless #ifdef/#endif blocks.
7530         Don't declare functions declared in file made by genpreds or recog.h.
7531         * config/mips/mips.c (mips_output_function_prologue): TSIZE
7532         is now HOST_WIDE_INT; delete unneeded casts.
7533         * config/mips/mips.h: Don't use #elif.
7534
7535         * expr.c (stor_constructor_field): Always call adjust_address.
7536         Copy TARGET before changing its alias set.
7537         (store_field): Likewise, for TO_RTX.
7538         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
7539         replacement.
7540         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
7541         (find_placeholder): Return 0 if can't find object.
7542         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
7543         returns 0.
7544
7545 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7546
7547         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
7548
7549 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
7550
7551         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
7552         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
7553         (merge_blocks): Properly udpate life after making edge nonfallthru.
7554         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
7555
7556 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7557
7558         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
7559
7560 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7561
7562         * c-typeck.c (convert_arguments): When comparing for enumeral
7563         type equality, use TYPE_MAIN_VARIANT.
7564         * gcc.dg/Wconversion.c: New tests.
7565
7566 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7567
7568         * s390/s390.c: Fix comment typos.
7569         * s390/s390.h: Likewise.
7570         * s390/s390.md: Likewise.
7571
7572 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7573
7574         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
7575         (walk_tree): Use it for tail calls where appropriate.
7576
7577 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7578
7579         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
7580         non-local label_refs.
7581
7582 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7583
7584         * config/h8300/h8300.md (4 anonymous patterns): New.
7585
7586 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7587
7588         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
7589         algorithm through the shift_info structure.
7590         (emit_a_shift): Update the use of get_shift_alg.
7591
7592 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
7593
7594         * sched-rgn.c: Remove bitset typedef.
7595         Change bitset to sbitmap in prototypes / variable types.
7596         Remove bbset_size.
7597         Remove edgeset_bits.
7598         Remove edgeset_size.
7599         s/BITSET_ADD/SET_BIT/g
7600         s/BITSET_INVERT/sbitmap_ones/g
7601         s/BITSET_INTER/sbitmap_a_and_b/g
7602         s/BITSET_UNION/sbitmap_a_or_b/g
7603         s/BITSET_DIFFER/sbitmap_difference/g
7604         s/bitset_member/TEST_BIT/g
7605         (BITSET_*): Removed.
7606         (bitset_member): Removed.
7607         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
7608         EXECUTE_IF_SET_IN_SBITMAP.
7609         (split_edges): Rewrite, use sbitmap functions instead of bitset
7610         operations.
7611         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
7612
7613 2001-10-26  Andreas Schwab  <schwab@suse.de>
7614
7615         * reload1.c (emit_input_reload_insns): Fix parens in last
7616         (undocumented) change that was supposed to change only whitespace.
7617
7618 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7619
7620         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
7621
7622         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
7623         ASM_OPERANDS.
7624
7625 2001-10-26  Andreas Jaeger  <aj@suse.de>
7626
7627         * flow.c (clear_log_links): Remove unused variable.
7628         * cfgcleanup.c (cleanup_cfg): Likewise.
7629
7630 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7631
7632         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
7633         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
7634
7635 2001-10-26  Richard Henderson  <rth@redhat.com>
7636
7637         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
7638         rename PV_REG to R27_REG.
7639         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
7640         (REG_CLASS_FROM_LETTER): Update.
7641         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
7642         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
7643         (udivsi3, modsi3, umodsi3): Likewise.
7644         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
7645
7646 2001-10-26  Richard Henderson  <rth@redhat.com>
7647
7648         * cfg.c (clear_aux_for_blocks): Split out of ...
7649         (free_aux_for_blocks): here.
7650         (clear_aux_for_edges): Split from ...
7651         (free_aux_for_edges): here.
7652         * basic-block.h: Declare them.
7653         * lcm.c (compute_antinout_edge): Use them.
7654         (compute_laterin, compute_available, compute_nearerout): Likewise.
7655         (optimize_mode_switching): Likewise.
7656
7657 2001-10-26  Richard Henderson  <rth@redhat.com>
7658
7659         * Makefile.in (unstage*): Remove as, ld, collect-ld before
7660         moving everything back to the main build directory.
7661
7662 2001-10-26  Christopher Faylor  <cgf@redhat.com>
7663
7664         * config/i386/cygwin.h: Search target specific include directory, if
7665         appropriate.
7666
7667 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7668
7669         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
7670         of macro guards. Fix #endif comment.
7671
7672         * output.h (default_exception_section, default_eh_frame_section):
7673         Move prototypes outside of macro guard.
7674
7675         * crtstuff.c: Fix #endif comment.
7676
7677 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
7678
7679         * doc/md.texi (movMM): Clarify semantics of storing into a
7680         non-paradoxical SUBREG.
7681
7682 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
7683
7684         * langhooks.c (lang_hook_default_clear_binding_stack): New.
7685         (lang_hook_default_get_alias_set): Move next to other alias
7686         hooks.
7687         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
7688         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
7689         (LANG_HOOKS_INITIALIZER): Add it.
7690         * toplev.h (struct lang_hooks): Add clear_binding_stack.
7691         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
7692         instead of a loop calling poplevel.
7693
7694 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
7695
7696         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
7697         occurrences of #elif with #if...#endif.
7698
7699 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7700
7701         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
7702
7703 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7704
7705         * alias.c (can_address_p): No longer static.
7706         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
7707         Return 0 if all parameters are default values.
7708         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
7709         (adjust_address_1): Try harder to compute a size.
7710         * expr.c (expand_assignment, store_constructor): If can't address,
7711         set MEM_KEEP_ALIAS_SET_P.
7712         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
7713         (store_field): Likewise.
7714         (store_constructor): Simplify call to store_constructor_field.
7715         * expr.h (can_address_p): New declaration.
7716         * gensupport.c (gen_rtx_CONST_INT): New function.
7717         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
7718         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
7719         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
7720
7721         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
7722
7723 2001-10-24  Christopher Faylor  <cgf@redhat.com>
7724
7725         * config/i386/cygwin.h: Use proper path for mingw crt files when
7726         -mno-cygwin.
7727
7728 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7729
7730         * dwarf2out.c (file_info_cmp): Always return consistent results.
7731
7732 2001-10-24  Roger Sayle <roger@eyesopen.com>
7733
7734         * stmt.c (expand_end_case): Index jumptables from zero for
7735         suitably small values of minval.
7736
7737 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7738
7739         * stor-layout.c (place_union_field): If any field was aligned with
7740         attribute aligned, set record type's TYPE_USER_ALIGN.
7741         (place_field): Likewise.
7742         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
7743         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
7744
7745 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
7746
7747         * c-common.h (struct c_common_identifier): Remove rid_code field.
7748         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
7749
7750         * c-typeck.c (constructor_designated): New local flag.
7751         (struct constructor_stack): Add "designated" field to match.
7752         (start_init): Clear it.
7753         (really_start_incremental_init, push_init_level): Push and
7754         clear it.
7755         (pop_init_level): Pop it.
7756         (set_designator): Set it.
7757
7758         (pop_init_level): Suppress "missing initializer" warnings if
7759         constructor_designated is true.
7760         (process_init_element): Suppress warning about union
7761         initialization under traditional C, if constructor_designated
7762         is true.
7763
7764 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7765
7766         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
7767         change.
7768
7769 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
7770
7771         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
7772
7773 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
7774
7775         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
7776         the node was already a set to a constant.
7777
7778 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7779
7780         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
7781         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
7782
7783 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7784
7785         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
7786         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
7787         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
7788         * s390.c (s390_final_chunkify): Don't use string concatenation.
7789         (s390_function_prologue, s390_function_epilogue): Const-ify.
7790         * s390.h (FUNCTION_PROFILER): Remove unused variable.
7791
7792 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7793
7794         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
7795         prototypes.
7796
7797 2001-10-23  Stan Shebs  <shebs@apple.com>
7798
7799         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
7800         -traditional-cpp in first-stage compilation.
7801
7802 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7803
7804         * gensupport.c (target_flags): Add.
7805
7806 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7807
7808         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
7809         if needed.
7810         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
7811         * except.c (expand_builtin_frob_return_addr): Likewise.
7812         (expand_builtin_eh_return): Likewise.
7813         * stmt.c (expand_computed_goto): Likewise.
7814         * explow.c (memory_address): Likewise.
7815         (allocate_dynamic_stack_space): Clean up predicate testing.
7816         (probe_stack_range): Convert SIZE to Pmode.
7817         * calls.c (rtx_for_function_call): Only call convert_memory_address
7818         if needed.
7819         Pass function call operand as ptr_mode, not Pmode.
7820         * expr.c (expand_assignment): Clean up calls to convert_memory
7821         address by only doing so when needed and making offsets Pmode.
7822         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
7823         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
7824         is in Pmode, not ptr_mode.
7825
7826 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7827
7828         * darwin-protos.h (constructor_section, destructor_section,
7829         mod_init_section, mod_term_section): Prototype.
7830         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
7831         Const-ify.
7832         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
7833         Likewise.
7834         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
7835         objc_section_init declaration.
7836         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
7837         (objc_section_init, try_section_alias): Make static.
7838         (alias_section): Make static and hide unused function.
7839         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
7840
7841 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7842
7843         * alias.c (can_address_p): Compnonents are not addressable if
7844         the containing type has alias set 0.
7845         (get_alias_set): Rework to use STRIP_NOPS.
7846         Only call front-end routine on object, type, or object with
7847         NOPs stripped, not inner values.
7848         Use language hook to call front-end routine.
7849         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
7850         (expand_builtin_apply): Call set_mem_align on MEMs we make.
7851         Don't pass alignment to emit_block_move.
7852         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
7853         (expand_builtin_memset): Likewise, but for clear_storage.
7854         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
7855         and remove C++ specific parts.
7856         * c-common.h (c_common_get_alias_set): Add declaration.
7857         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
7858         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
7859         (save_fixed_argument_area): Call set_mem_align.
7860         Remove alignment in call to emit_block_move.
7861         (emit_library_call_value_1, store_one_arg): Likewise.
7862         (target_for_arg): Remove; disabled long ago.
7863         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
7864         once and similar cleanups.
7865         (offset_address): Use proper introductory comment.
7866         * expr.c (emit_block_move): Use alignment from that of MEM args, not
7867         from explicit operand; all callers changed.
7868         (clear_storage): Likewise.
7869         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
7870         (store_field): Remove kludge on alias set used for to_rtx.
7871         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
7872         (expand_expr_unaligned): Call set_mem_attributes instead of
7873         set_mem_alias_set.
7874         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
7875         * function.c (assign_stack_temp_for_type): Set MEM alignment.
7876         (expand_function_end): Track MEM attributes of trampolines.
7877         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
7878         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
7879         attributes from original.
7880         * langhooks.c (lang_hook_default_get_alias_set): New function.
7881         (hook_get_alias_set_0): New function.
7882         * langhooks.h (hook_get_alias_set_0): New declaration.
7883         (lang_hook_default_get_alias_set): Likewise.
7884         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
7885         * reload1.c (alter_reg): Use adjust_address_nv.
7886         * rtl.c (get_mode_alignment): Moved to here.
7887         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
7888         change default if unknown from 1 to BITS_PER_UNIT.
7889         * stor-layout.c (get_mode_alignment): Remove from here.
7890         * toplev.h (struct lang_hoks): Add get_alias_set field.
7891         * tree.h (lang_get_alias_set): Delete declaration.
7892         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
7893         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
7894         (ix86_va_arg): Likewise.
7895         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
7896         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
7897         * config/sparc/sparc.c (sparc_va_arg): Likewise.
7898         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
7899         (expand_block_move_mem): Remove dead code.
7900
7901 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7902
7903         * c-common.c (warn_div_by_zero): New.
7904         * c-common.h (warn_div_by_zero): New.
7905         * c-decl.c (c_decode_option): Take it on the command line.
7906         * c-typeck.c (build_binary_op): Warn about division by zero.
7907         * doc/invoke.texi: Document the new command line option, fix
7908         documentation of -Wmultichar.
7909         * testsuite/gcc.dg/divbyzero.c: New tests.
7910         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
7911
7912 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7913
7914         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
7915
7916         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
7917         to avoid update_life_info call.
7918         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
7919         * cfgcleanup.c (bb_flags): New enum.
7920         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
7921         (notice_new_block, update_forwarder_flag): New functions.
7922         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
7923         (try_forward_edges): Likewise; update flags.
7924         (merge_blocks): Likewise.
7925         (outgoing_edges_match): Likewise.
7926         (try_crossjump_to_edge): Likewise.
7927         (try_optimize_cfg): Likewise; initialize and clear the flags;
7928         recompute life info if needed.
7929         (cleanup_cfg): No need to clear aux pointers.
7930
7931 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
7932
7933         * config/i386/i386.c (override_options): Default to minimum
7934         stack alignment when optimizing for code size.
7935         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
7936         change.
7937
7938         * config/i386/i386.c (override_options): Set upper limit of
7939         -mpreferred-stack-boundary to 12.
7940
7941 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
7942
7943         * recog.c (peephole2_optimize): Add default case to switch.
7944
7945 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
7946
7947         * doc/gcc.texi (Sending Patches): Remove.
7948
7949 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
7950
7951         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
7952         fields when comparing.
7953
7954 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7955
7956         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
7957         * arm.c (HOST_INT, HOST_UINT): Likewise.
7958
7959 2001-10-22  Stan Shebs  <shebs@apple.com>
7960
7961         * config/darwin-protos.h (darwin_exception_section): Declare.
7962         (darwin_eh_frame_section): Declare.
7963
7964 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
7965
7966         * i386.md (movti_rex64): Fix mode.
7967
7968 2001-10-22  Stan Shebs  <shebs@apple.com>
7969
7970         * target.h (struct gcc_target): Add asm_out.exception_section,
7971         asm_out.eh_frame_section.
7972         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
7973         (TARGET_ASM_EH_FRAME_SECTION): New.
7974         (TARGET_INITIALIZER): Update.
7975         * output.h (default_exception_section): Declare.
7976         (default_eh_frame_section): Declare.
7977         * dwarf2out.c: Include target.h.
7978         (output_call_frame_info): Call target hook for eh frames.
7979         (default_eh_frame_section): New function.
7980         * except.c: Include target.h.
7981         (output_function_exception_table): Call target hook for exception
7982         section.
7983         * varasm.c (default_exception_section): Rename from
7984         exception_section, remove EXCEPTION_SECTION macro.
7985
7986         * config/darwin.h (darwin_eh_frame_section): New function.
7987         (EXCEPTION_SECTION): Remove.
7988         (TARGET_ASM_EXCEPTION_SECTION): Define.
7989         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
7990         (nextstep_exception_section): New function.
7991         (nextstep_eh_frame_section): New function.
7992         (TARGET_ASM_EXCEPTION_SECTION): Define.
7993         (TARGET_ASM_EH_FRAME_SECTION): Define.
7994
7995         * config/pa/som.h (EXCEPTION_SECTION): Remove.
7996         (TARGET_ASM_EXCEPTION_SECTION): Define.
7997         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
7998         (EXCEPTION_SECTION): Remove.
7999         (TARGET_ASM_EXCEPTION_SECTION): Define.
8000         * config/stormy16/stormy16.h: Remove comments referencing
8001         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
8002
8003         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
8004         TARGET_ASM_EH_FRAME_SECTION.
8005
8006 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
8007
8008         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
8009         terms.
8010
8011         * c-format.c: Fix spelling typo in comment.
8012
8013         * sched-int.h: Fix typo in GCC preamble.
8014
8015 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8016
8017         PR debug/4252
8018         * doc/invoke.texi: Remove references to -fdump-translation-unit.
8019
8020 2001-10-22  Richard Henderson  <rth@redhat.com>
8021
8022         * config/i386/i386.c (ix86_expand_clear): New.
8023         * config/i386/i386-protos.h: Declare it.
8024         * config/i386/i386.md (setcc peep2s): Use it.
8025         (movsi_xor): Unexport.
8026
8027 2001-10-22  Richard Henderson  <rth@redhat.com>
8028
8029         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
8030         free_EXPR_LIST_list for LOG_LINKS.
8031
8032 2001-10-21  Robert Lipe  <robertlipe@usa.net>
8033
8034         * config/i386/i386.c (sco_asm_named_section): Delete.
8035         (sco_asm_out_constructor): Delete.
8036         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
8037         (ASM_OUTPUT_DOUBLE_INT): Likewise.
8038         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
8039         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
8040         (EXCEPTION_SECTION): Delete EH scn renaming hack.
8041
8042 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8043
8044         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
8045         and/or fold extra calls into fewer ones.
8046         * collect2.c (dump_file): Likewise.
8047         * cppexp.c (parse_number): Likewise.
8048         * cpplex.c (_cpp_lex_direct): Likewise.
8049         * final.c (output_asm_insn, asm_fprintf): Likewise.
8050         * fix-header.c (inf_scan_ident, main): Likewise.
8051         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
8052         Likewise.
8053         * fold-const.c (real_hex_to_f): Likewise.
8054         * gen-protos.c (parse_fn_proto): Likewise.
8055         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
8056         * genrecog.c (change_state, write_action): Likewise.
8057         * gensupport.c (shift_output_template): Likewise.
8058         * local-alloc.c (requires_inout): Likewise.
8059         * mips-tfile.c (IS_ASM_IDENT): Likewise.
8060         * protoize.c (is_id_char, main): Likewise.
8061         * real.c (asctoeg): Likewise.
8062         * recog.c (asm_operand_ok): Likewise.
8063         * reload.c (find_reloads): Likewise.
8064         * scan.c (scan_identget_token): Likewise.
8065         * sched-vis.c (print_value): Likewise.
8066         * stringpool.c (ggc_alloc_string): Likewise.
8067         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
8068         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
8069         * tradcpp.c (rescan): Likewise.
8070         * tree.c (clean_symbol_name): Likewise.
8071         * varasm.c (decode_reg_name): Likewise.
8072
8073         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
8074         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
8075         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
8076         * m88k.c (output_ascii): Likewise.
8077         * m88k.h (OVERRIDE_OPTIONS): Likewise.
8078         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
8079         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
8080         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
8081
8082 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8083
8084         * langhooks.c (lang_hook_default_do_nothing,
8085         lang_hook_default_decode_option): New defaults.
8086         * langhooks.h: Make hooks unconditional and non-NULL.
8087         * toplev.c (compile_file, toplev_main): Update.
8088         * toplev.h: Update comments.
8089         * objc/objc-act.c (lang_hooks): Update to new paradigm.
8090
8091 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8092
8093         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
8094
8095         * system.h (IN_RANGE): New macro.
8096
8097 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
8098
8099         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
8100         INTLDEPS variable, which does not include $LIBICONV.
8101         * Makefile.in: Use INTLDEPS in LIBDEPS.
8102         * configure: Regenerate.
8103
8104 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8105
8106         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
8107         * cpplex.c (lex_percent, lex_dot): Remove.
8108         (get_effective_char, skip_block_comment, skip_line_comment,
8109         parse_identifier_slow, parse_number, parse_string, save_comment,
8110         _cpp_lex_direct): Update to do lookback freely.
8111         (IF_NEXT_IS, BACKUP): New macros.
8112         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
8113         * cppmacro.c (paste_tokens): Update.
8114
8115 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
8116
8117         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
8118
8119 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
8120
8121         * reload1.c (reload): Check CONSTANT_P before calling
8122         LEGITIMATE_PIC_OPERAND_P.
8123         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
8124         workaround of 2001-10-13.
8125
8126 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
8127
8128         * i386.c (split_di): Handle splitting of DFmode.
8129
8130 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8131
8132         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
8133         (adjust_address_1, offset_address): Likewise.
8134
8135         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
8136         (output_asm_insn): Call it for each line output.
8137         Don't record an operand more than once.
8138
8139         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
8140         * main.c: Include config.h and system.h, but not ansidecl.h.
8141         * Makefile.in (main.o): Update accordingly.
8142
8143 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8144
8145         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
8146
8147 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
8148
8149         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
8150         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
8151         Break out from ...
8152         (find_sub_basic_blocks): ... here;
8153         (find_many_sub_basic_blocks): New.
8154         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
8155
8156         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
8157
8158         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
8159
8160         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
8161
8162         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
8163         * flow.c (update_life_info): Measure time.
8164         * c-decl.c: Include timevar.h
8165         (c_expand_body): Measure time.
8166         * toplev.c (rest_of_compilation): Measure time of mode switching
8167         separately.
8168         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
8169
8170         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
8171         (lang_independent_options): Add asynchronous-unwind-tables
8172         (toplev_main): flag_asynchronous_unwind_tables implies
8173         flag_unwind_tables.
8174         * flags.h (flag_asynchronous_unwind_tables): Declare.
8175         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
8176         flag_asynchronous_unwind_tables.
8177         (output_call_frame_info): Likewise.
8178         * invoke.texi (-fasynchronous-unwind-tables): Document.
8179         * i386.c (optimization_options): Enable
8180         flag_asynchronous_unwind_tables.
8181
8182         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
8183         * i386.md (s* expanders): Destination is QImode.
8184
8185         * toplev.c (rest_of_compilation): Do not call clear_log_links.
8186         * rtl.h (clear_log_links): Kill.
8187         * flow.c (clear_log_links): Make static; accept blocks parameter;
8188         do no clear life info.
8189         (update_life_info): Call clear_log_links.
8190
8191         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
8192
8193 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8194
8195         * cpplex.c (handle_newline, skip_escaped_newlines,
8196         get_effective_char, skip_block_comment, skip_line_comment,
8197         parse_identifier_slow, parse_number, parse_string,
8198         _cpp_lex_direct): Update to do more stepping back.
8199         (trigraph_ok): Similarly.  Rename trigraph_p.
8200         (SAVE_STATE, RESTORE_STATE): Remove.
8201         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
8202
8203         * cpplib.c (destringize): Rename destringize_and_run, and
8204         call run_directive directly.
8205         (_cpp_do__Pragma): Simplify.
8206
8207 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8208
8209         * pe.c (arm_pe_unique_section): Const-ify.
8210         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
8211         (switch_to_section): Add static prototype.
8212
8213         * output.h (drectve_section): Prototype.
8214
8215 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8216
8217         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
8218         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
8219         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
8220         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
8221         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
8222         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
8223         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
8224         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
8225         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
8226         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
8227         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
8228         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
8229         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
8230         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
8231         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
8232         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
8233         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
8234         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
8235         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
8236         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
8237         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
8238         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
8239         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
8240         cris-*-none, cris-*-linux*: Update ${tmfile} list.
8241         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
8242         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
8243         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
8244         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
8245         v850-*-*): Delete superflous ${cpu_type} setting.
8246         * config/linux.h: Delete svr4.h include.
8247         (SET_ASM_OP): Delete.
8248         * config/netware.h (INT_ASM_OP): Undef before define.
8249         * config/ptx4.h: Delete elfos.h include.
8250         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
8251         * config/svr4.h: Delete elfos.h include. Update commentary.
8252         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
8253         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
8254         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
8255         config/v850/v850.h: Delete svr4.h include.
8256         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
8257         config/m68k/m68kv4.h, config/m88k/sysv4.h,
8258         config/sparc/sysv4.h: Update includes.
8259         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
8260         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
8261         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
8262         config/m88k/dguxbcs.h: Delete includes.
8263         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
8264         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
8265         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
8266         it.
8267         * config/m88k/dgux.h: Delete include.
8268         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
8269         defining it.
8270         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
8271         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
8272         * config/sh/elf.h: Update include.
8273         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
8274         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
8275
8276 2001-10-19  Catherine Moore  <clm@redhat.com>
8277
8278         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
8279         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
8280         base and count fields.
8281         (stormy16_expand_builtin_va_start):  last_reg_count changed to
8282         size_of_reg_args.  Use count + size in first comparison.
8283
8284 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8285
8286         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
8287         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
8288         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
8289         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
8290         Set alignment from type if INDIRECT_REF.
8291         (adjust_address_1, offset_address): Simplify alignment compuitation.
8292         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
8293         here; done by set_mem_attributes.
8294
8295 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8296
8297         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
8298         * arm-protos.h (rdata_section, zero_init_section, common_section):
8299         Prototype.
8300         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
8301         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
8302         traditional mode stringification.
8303         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
8304         in macros controling its use.
8305         * rtlanal.c: Include tm_p.h.
8306         * varasm.c (asm_output_aligned_bss): Mark parameter with
8307         ATTRIBUTE_UNUSED.
8308         (assemble_constant_align, assemble_start_function, assemble_align,
8309         assemble_variable, assemble_trampoline_template,
8310         output_constant_def_contents): Wrap potentially empty if-stmt body
8311         in brackets.
8312
8313 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8314
8315         * a29k-protos.h (literal_section): Prototype.
8316         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
8317         * a29k.md: Ensure function pointers are prototyped.
8318         * genattrtab.c (write_eligible_delay): Mark parameter with
8319         ATTRIBUTE_UNUSED.
8320
8321 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8322
8323         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
8324         * 1750a.c (print_operand): Fix format specifier warning.
8325         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
8326         * 1750a.md: Likewise.
8327         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
8328         * genemit.c (output_add_clobbers): Mark parameter with
8329         ATTRIBUTE_UNUSED.
8330         * genrecog.c (write_subroutine): Likewise.
8331         * integrate.c (expand_inline_function): Delete unused variable.
8332         * varasm.c (remove_from_pending_weak_list): Wrap with
8333         ASM_WEAKEN_LABEL.
8334
8335 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
8336
8337         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
8338         field is different to previous argument's neg field.
8339
8340         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
8341
8342 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8343
8344         * final.c (get_decl_from_op): New function.
8345         (output_asm_insn): Call it; write "*" when item with decl is address.
8346
8347 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
8348
8349         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
8350         about 64-bit support from the 3.0_branch version.
8351
8352 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
8353
8354         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
8355         USE_INCLUDED_LIBINTL when appropriate.
8356         * configure, config.in: Regenerate.
8357         * Makefile.in (datadir): Set to @datadir@.
8358         (intl.o): Also depend on $(CONFIG_H) and system.h.
8359
8360         * intl.c: Factor out common gettext initialization sequence.
8361         (gcc_init_libintl):  New function.
8362         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
8363         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
8364         off NLS.  Add multiple include guard.  No need to #ifdef-guard
8365         an #undef.  Prototype gcc_init_libintl here.
8366
8367         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
8368         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
8369         Use gcc_init_libintl.
8370
8371 2001-10-19  Catherine Moore  <clm@redhat.com>
8372
8373         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
8374
8375         * config/stormy16/stormy16.c (stormy16_split_move):  Make
8376         sure that REG_INC notes are present for auto_inc operands.
8377
8378 2001-10-19  Andreas Jaeger  <aj@suse.de>
8379
8380         * configure: Regenerated.
8381         * configure.in: Add x86_64 to switch statements.
8382
8383 2001-10-18  Richard Henderson  <rth@redhat.com>
8384
8385         * config/alpha/alpha.md (sibcall_osf_1): Load destination
8386         address into $27 explicitly.
8387         (sibcall_value_osf_1): Likewise.
8388
8389 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8390
8391         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
8392         (offset_address): New function.
8393         (free_emit_status): Free regno_decl.
8394         (init_emit): Pass proper number of elements to xcalloc.
8395         Allocate regno_decl.
8396         (mark_emit_status): Mark regno_decl values.
8397         * expr.c (highest_pow2_factor): New function.
8398         (expand_assigment): Use it and offset_address.
8399         Properly handle ptr_mode vs. Pmode in offset calculation.
8400         (store_constructor, expand_expr_unaligned): Likewise.
8401         (expand_expr, case COMPONENT_EXPR): Likewise.
8402         * expr.h (offset_address): New decl.
8403         * function.h (struct emit_status): Add regno_decl.
8404         (REGNO_DECL): New macro.
8405         * final.c (output_asm_name): Move in file and don't conditionalize
8406         on flag_print_asm_name.
8407         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
8408         Output names of operands, if known.
8409         * function.c (assign_parms): Set REGNO_DECL.
8410         * integrate.c (integrate_decl_tree): Likewise.
8411         * stmt.c (expand_decl): Likewise.
8412         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
8413
8414 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
8415
8416         * attribs.c (handle_noinline_attribute): New function.
8417         (handle_used_attribute): Likewise.
8418         (c_common_attribute_table): Added noinline and used.
8419         * doc/extend.texi (Function Attributes): Document them.
8420         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
8421         Warn when merging inline with attribute noinline.
8422         (start_decl, start_function): Warn if inline and attribute
8423         noinline appear in the same declaration.
8424
8425 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
8426
8427         * config.gcc: Update c4x and i370 for C front end-specific
8428         dependencies.
8429         * config/c4x/c4x-c.c: New.
8430         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
8431         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8432         New declarations.
8433         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
8434         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8435         Make extern.
8436         (c4x_init_pragma): Remove.
8437         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
8438         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
8439         c4x_pr_ignored): Move to c4x-c.c.
8440         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
8441         * config/c4x/t-c4x: Update.
8442         * config/i370/i370-c.c: New.
8443         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
8444         (i370_pr_map): Move to i370-c.c.
8445         * config/i370/t-i370: New.
8446
8447         * doc/tm.texi: Update.
8448
8449 2001-10-17  Stan Shebs  <shebs@apple.com>
8450
8451         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
8452         typo fixes throughout.
8453         (machopic_output_stub): Remove some dead code.
8454
8455 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
8456
8457         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
8458         leak.
8459
8460 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8461
8462         * Makefile.in (print-rtl.o): Depend on TREE_H.
8463         * alias.c (get_alias_set): Make two passes over objects to first
8464         see if inner object is access via restricted pointer.
8465         Defer allocating alias set for restricted pointer until here.
8466         Call find_placeholder with second arg nonzero.
8467         Minor cleanups.
8468         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
8469         set for restricted pointer types.
8470         * emit-rtl.c (set_mem_attributes): Set more attributes.
8471         (set_mem_align, change_address, adjust_address_1): New functions.
8472         (change_address_1): Now static.
8473         (adjust_address, adjust_address_nv): Deleted.
8474         (replace_equiv_address): Call change_address_1.
8475         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
8476         (find_placeholder): Get starting point from PLIST arg.
8477         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
8478         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
8479         (adjust_address, adjust_address_nv): New macros.
8480         * print-rtl.c (tree.h): New include.
8481         (print_rtx, case MEM): Print all memory attributes.
8482
8483 2001-10-17  Richard Henderson  <rth@redhat.com>
8484
8485         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
8486
8487 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8488
8489         * c-tree.texi: Eliminate duplicated word.
8490         * cpp.texi: Likewise.
8491         * install.texi: Likewise.
8492         * invoke.texi: Likewise.
8493         * tm.texi: Likewise.
8494
8495 2001-10-17  Michael Collison  <collison@isisinc.net>
8496
8497         * dsp16xx.c: Fix comment formatting to match GNU standards.
8498         (dsp16xx_output_function_prologue): Change type of 'size'
8499         parameter from 'int' to HOST_WIDE_INT.
8500         (dsp16xx_output_function_epilogue): Change type of 'size'
8501         parameter from 'int' to HOST_WIDE_INT.
8502
8503 2001-10-16  Richard Henderson  <rth@redhat.com>
8504
8505         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
8506         * configure, config.in: Rebuild.
8507
8508         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
8509         (ix86_output_addr_diff_elt): New.
8510         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
8511         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8512         (JUMP_TABLES_IN_TEXT_SECTION): New.
8513         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
8514         * config/i386/i386-protos.h: Update.
8515
8516         * config/i386/386bsd.h, config/i386/beos-elf.h,
8517         config/i386/freebsd-aout.h, config/i386/freebsd.h,
8518         config/i386/i386-interix.h, config/i386/i386elf.h,
8519         config/i386/linux.h, config/i386/netbsd-elf.h,
8520         config/i386/netbsd.h, config/i386/openbsd.h,
8521         config/i386/ptx4-i.h, config/i386/rtemself.h,
8522         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
8523         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
8524
8525 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
8526
8527         * stmt.c (expand_asm_operands): Update commentary.
8528
8529 2001-10-16  Stan Shebs  <shebs@apple.com>
8530
8531         * config/darwin.h (GCC_NAME): Remove, no longer used.
8532         (NO_MATH_LIBRARY): Ditto.
8533         (MATH_LIBRARY): Define to emptiness.
8534         (DWARF2_DEBUGGING_INFO): Define.
8535         (PREFERRED_DEBUGGING_TYPE): Define.
8536         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
8537         (EXCEPTION_SECTION): Define.
8538         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8539         * config/darwin.c (darwin_encode_section_info): Handle case of
8540         DECL_INITIAL being error_mark_node.
8541
8542 2001-10-16  Richard Henderson  <rth@redhat.com>
8543
8544         * alpha.c (current_file_function_operand): Don't fail for profiling.
8545         (direct_call_operand): New.
8546         * alpha-protos.h: Declare it.
8547         * alpha.h (EXTRA_CONSTRAINT): Use it.
8548         (PREDICATE_CODES): Add it.
8549         (ASM_OUTPUT_MI_THUNK): Remove.
8550         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
8551         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
8552
8553 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
8554
8555         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
8556         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8557
8558 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8559
8560         * cfg.c (free_edge): Break out from ....
8561         (remove_edge): ... here.
8562         (clear_edges): Use free_edge.
8563
8564         * att.h (ASM_QUAD): Add comment.
8565         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
8566
8567 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
8568
8569         * i386.c (split_ti): New function.
8570         (ix86_split_to_parts): Support TImodes.
8571         * i386.h (VALID_INT_MODE_P): Add TImode.
8572         * i386.md (movdi splitter): Fix.
8573         (movti): Support 64bit integer registers.
8574         (movti_rex64): New function and splitter.
8575
8576         * i386.c (*_cost): Add movsx/movzx cost.
8577         * i386.h (struct processor_costs): Add movsx/movzx fields.
8578         (RTX_COSTS): Handle zero/sign extend + avoid believing that
8579         64bit operations require split on 64bit machine.
8580         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
8581
8582         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
8583         (ix86_expand_move): Avoid pushes of memory if size does not match;
8584         move long constants to register.
8585         (x86_initialize_trampoline): Fix mode.
8586         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
8587         Use ASM_QUAD on 64bit.
8588         * i386.md (test pattern): Disallow impossible constants.
8589         (tablejump PIC expander): Fix emitting of sum.
8590         (movdicc_rex64): Rename to movdicc.
8591         * linux64.h (LINK_SPEC): Add missing '%'.
8592
8593 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
8594
8595         * tree-inline.c (inlinable_function_p): Leave it up to the
8596         front-end to turn -finline-functions into DECL_INLINE set for all
8597         functions.
8598
8599 2001-10-16  Stan Shebs  <shebs@apple.com>
8600
8601         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
8602
8603 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
8604
8605         * recog.c: Formatting and comment typo fixes.
8606
8607         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
8608         version in single tree build.
8609         * configure: Regenerate.
8610
8611 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
8612
8613         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
8614         MODE arguments to gen_rtx and compare operand with const0_rtx.
8615
8616 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8617
8618         * system.h: Poison old unused target macros.
8619         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
8620         * config/stormy16/stormy16.c: Update references to obsolete macros.
8621         * config/stormy16/stormy16.h: Similarly.
8622         * config/stormy16/stormy16.md: Similarly.
8623         * config/cris/cris.h: Similarly.
8624
8625 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8626
8627         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
8628         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
8629         cpp_register_pragma): Update accordingly.
8630
8631 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8632
8633         * c-pragma.h (cpp_register_pragma_space): Remove.
8634         * cpplib.h (cpp_register_pragma_space): Remove.
8635         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
8636         (cpp_register_pragma_space): Remove.
8637         (cpp_register_pragma): Simplify using lookup_pragma_entry,
8638         add sanity checks.
8639         (do_pragma): Similarly.
8640         (_cpp_init_internal_pragmas): Don't register namespaces.
8641
8642         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
8643         Don't register namespaces.
8644         * cp/lex.c (init_cp_pragma): Similarly.
8645         * doc/tm.texi: Update.
8646
8647 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8648
8649         PR c/4157
8650         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
8651
8652 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
8653
8654         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
8655         add scheduling support.
8656         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
8657         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
8658         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
8659
8660
8661 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
8662
8663         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
8664         missing CONSTANT_P test in core GCC.
8665
8666 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8667
8668         * cppmain.c (struct printer): New member source.
8669         (scan_translation_unit): Fix spacing at start of lines.
8670         (cb_line_change): Update.
8671
8672         * gcc.dg/cpp/spacing2.c: New test.
8673
8674 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
8675
8676         * config/cris/arit.c: Use __builtin_labs, not abs.
8677
8678         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
8679
8680         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
8681         misplaced sprintf and fprintf argument.
8682
8683 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
8684
8685         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
8686         * configure.in, Makefile.in: Take out obsolete check-po logic.
8687         * configure, config.in: Regenerate.
8688
8689 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
8690
8691         * objc/objc-act.c (finish_objc): Correct precondition for emitting
8692         symtab declarations.
8693
8694 2001-10-12  Stan Shebs  <shebs@apple.com>
8695
8696         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
8697         declarations of arguments and local variables.
8698
8699 2001-10-12  Christopher Faylor  <cgf@redhat.com>
8700
8701         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
8702         ENDFILE_SPEC definition.
8703
8704 2001-10-12  Kazu Hirata  <kazu@hxi.com>
8705
8706         * gthr-dce.h: Fix comment formatting.
8707         * gthr-posix.h: Likewise.
8708         * gthr-single.h: Likewise.
8709         * gthr-solaris.h: Likewise.
8710         * gthr-vxworks.h: Likewise.
8711         * gthr-win32.h: Likewise.
8712
8713 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
8714
8715         * final.c (output_asm_insn): Make sure assembly dialects are
8716         terminated, not nested.  Output `|' and `}' characters if they
8717         don't appear inside assembly dialect selection.
8718         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
8719         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
8720         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
8721         strsetsi_rex_1): Add {} braces.
8722
8723 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8724
8725         * toplev.c (compile_file): Ignore return value from yyparse.
8726         Always pop any nested binding levels after yyparse returns.
8727
8728 2001-10-11  Richard Henderson  <rth@redhat.com>
8729
8730         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
8731
8732 2001-10-11  Richard Henderson  <rth@redhat.com>
8733
8734         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
8735         fall back to add_AT_long_long for large CONST_INT.
8736
8737 2001-10-11  Richard Henderson  <rth@redhat.com>
8738
8739         * config/i386/i386.md (setcc splitters): Add four splitters to
8740         simplify compound compares that simplify_comparison can't handle.
8741
8742 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8743
8744         * cpplex.c (digraph_spellings, token_spellings): Make static.
8745
8746 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8747
8748         * unroll.c (loop_iterations): Fixup last patch.
8749
8750 2001-10-11  Richard Henderson  <rth@redhat.com>
8751
8752         * rtl.h (REG_VTABLE_REF): New.
8753         * rtl.c (reg_note_name): Add it.
8754         * combine.c (distribute_notes): Handle it.
8755         * final.c (final_scan_insn): Handle it.
8756         * tree.def (VTABLE_REF): New.
8757         * expr.c (expand_expr): Handle it.
8758         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
8759         * output.h: Declare them.
8760
8761 2001-10-11  Richard Henderson  <rth@redhat.com>
8762
8763         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
8764         for a DECL_INITIAL.
8765
8766 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
8767
8768         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
8769         available in 64-bit mode.
8770
8771 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8772
8773         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
8774         cris-*-linux* cases.
8775         * config/cris/cris-protos.h: New file.
8776         * config/cris/cris.c: New file.
8777         * config/cris/cris.h: New file.
8778         * config/cris/cris.md: New file.
8779         * config/cris/linux.h: New file.
8780         * config/cris/aout.h: New file.
8781         * config/cris/arit.c: New file.
8782         * config/cris/cris_abi_symbol.c: New file.
8783         * config/cris/mulsi3.asm: New file.
8784         * config/cris/t-aout: New file.
8785         * config/cris/t-cris: New file.
8786         * config/cris/t-elfmulti: New file.
8787         * config/cris/t-linux: New file.
8788         * doc/invoke.texi: Add CRIS options.
8789         * doc/install.texi (Specific): Add blurb for CRIS.
8790
8791 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
8792
8793         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
8794         before using it.
8795         * config/float/i32.h: Likewise.
8796         * config/float-i386.h: Likewise.
8797         * config/float-i64.h: Likewise.
8798         * config/float-m68k.h: Likewise.
8799         * config/float-sh.h: Likewise.
8800         * config/float-sparc.h: Likewise.
8801
8802 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8803
8804         * doc/contrib.texi: Add note about CRIS port to my entry.
8805
8806 2001-10-11  Kazu Hirata  <kazu@hxi.com>
8807
8808         * basic-block.h: Fix formatting.
8809         * bitmap.h: Likewise.
8810         * cpplib.h: Likewise.
8811         * c-tree.h: Likewise.
8812         * diagnostic.h: Likewise.
8813         * flags.h: Likewise.
8814         * ggc.h: Likewise.
8815         * longlong.h: Likewise.
8816         * real.h: Likewise.
8817         * reload.h: Likewise.
8818         * rtl.h: Likewise.
8819         * tree.h: Likewise.
8820
8821 2001-10-10  Richard Henderson  <rth@redhat.com>
8822
8823         * c-parse.in (asm_operand): Allow named operands.
8824         * genconfig.c (max_recog_operands): Set to 29.
8825         * local-alloc.c (requires_inout): Skip multiple digits.
8826         * recog.c (asm_operand_ok): Likewise.
8827         (preprocess_constraints): Use strtoul for matching constraints.
8828         (constrain_operands): Likewise.
8829         * regmove.c (find_matches): Likewise.
8830         * reload.c (find_reloads): Likewise.
8831         * stmt.c (parse_output_constraint): Don't reject in-out
8832         constraint on operands > 9.  Reject '[' in constraint.
8833         (expand_asm_operands): Handle named operands.  Use strtoul
8834         for matching constraints.
8835         (check_operand_nalternatives): Split out from expand_asm_operands.
8836         (check_unique_operand_names): New.
8837         (resolve_operand_names, resolve_operand_name_1): New.
8838
8839         * doc/extend.texi (Extended Asm): Document named operands.
8840         * doc/md.texi (Simple Constraints): Document matching constraints
8841         on operands > 9.
8842
8843 2001-10-10  Richard Henderson  <rth@redhat.com>
8844
8845         * combine.c (try_combine): Handle a SEQUENCE of one insn.
8846
8847         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
8848         (jcc splitters): Add two splitters to simplify compound compares
8849         that simplify_comparison can't handle.
8850
8851 2001-10-10  Richard Henderson  <rth@redhat.com>
8852
8853         * langhooks.c: Include langhooks.h.
8854         * Makefile.in (langhooks.o): Depend on it.
8855
8856 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
8857
8858         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
8859         should not be considered as a no-op.
8860         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
8861
8862 2001-10-10  Stan Shebs  <shebs@apple.com>
8863
8864         * alias.c: Remove uses of "register" specifier in declarations
8865         of arguments and local variables.
8866         * c-common.c: Ditto.
8867         * c-convert.c: Ditto.
8868         * c-decl.c: Ditto.
8869         * c-format.c: Ditto.
8870         * c-semantics.c: Ditto.
8871         * c-typeck.c: Ditto.
8872         * caller-save.c: Ditto.
8873         * calls.c: Ditto.
8874         * cfg.c: Ditto.
8875         * cfgbuild.c: Ditto.
8876         * cfgrtl.c: Ditto.
8877         * collect2.c: Ditto.
8878         * combine.c: Ditto.
8879         * convert.c: Ditto.
8880         * cppexp.c: Ditto.
8881         * cppfiles.c: Ditto.
8882         * cse.c: Ditto.
8883         * dbxout.c: Ditto.
8884         * defaults.h: Ditto.
8885         * df.c: Ditto.
8886         * dwarf2out.c: Ditto.
8887         * dwarfout.c: Ditto.
8888         * emit-rtl.c: Ditto.
8889         * explow.c: Ditto.
8890         * expmed.c: Ditto.
8891         * expr.c: Ditto.
8892         * final.c: Ditto.
8893         * fix-header.c: Ditto.
8894         * floatlib.c: Ditto.
8895         * flow.c: Ditto.
8896         * fold-const.c: Ditto.
8897         * function.c: Ditto.
8898         * gcc.c: Ditto.
8899         * gcse.c: Ditto.
8900         * gen-protos.c: Ditto.
8901         * genattrtab.c: Ditto.
8902         * gencheck.c: Ditto.
8903         * genconfig.c: Ditto.
8904         * genemit.c: Ditto.
8905         * genextract.c: Ditto.
8906         * genflags.c: Ditto.
8907         * gengenrtl.c: Ditto.
8908         * genoutput.c: Ditto.
8909         * genpeep.c: Ditto.
8910         * genrecog.c: Ditto.
8911         * gensupport.c: Ditto.
8912         * global.c: Ditto.
8913         * gmon.c: Ditto.
8914         * graph.c: Ditto.
8915         * haifa-sched.c: Ditto.
8916         * hard-reg-set.h: Ditto.
8917         * hash.c: Ditto.
8918         * integrate.c: Ditto.
8919         * jump.c: Ditto.
8920         * lists.c: Ditto.
8921         * local-alloc.c: Ditto.
8922         * loop.c: Ditto.
8923         * mips-tdump.c: Ditto.
8924         * mips-tfile.c: Ditto.
8925         * optabs.c: Ditto.
8926         * prefix.c: Ditto.
8927         * print-rtl.c: Ditto.
8928         * read-rtl.c: Ditto.
8929         * real.c: Ditto.
8930         * recog.c: Ditto.
8931         * reg-stack.c: Ditto.
8932         * regclass.c: Ditto.
8933         * regmove.c: Ditto.
8934         * reload.c: Ditto.
8935         * reload1.c: Ditto.
8936         * reorg.c: Ditto.
8937         * resource.c: Ditto.
8938         * rtl.c: Ditto.
8939         * rtlanal.c: Ditto.
8940         * scan.c: Ditto.
8941         * sched-deps.c: Ditto.
8942         * sched-rgn.c: Ditto.
8943         * sdbout.c: Ditto.
8944         * simplify-rtx.c: Ditto.
8945         * stmt.c: Ditto.
8946         * stor-layout.c: Ditto.
8947         * toplev.c: Ditto.
8948         * tradcif.y: Ditto.
8949         * tradcpp.c: Ditto.
8950         * tree.c: Ditto.
8951         * unroll.c: Ditto.
8952         * varasm.c: Ditto.
8953         * xcoffout.c: Ditto.
8954
8955 2001-10-10  Richard Henderson  <rth@redhat.com>
8956
8957         * rtl.h (can_reverse_comparison_p): Remove.
8958
8959 2001-10-10  Christopher Faylor <cgf@redhat.com>
8960
8961         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
8962         used.
8963
8964 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8965
8966         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
8967         (Thanks to Chris Faylor for suggesting macro name).
8968         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
8969         WIN32 defines.
8970         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
8971         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
8972         (MATH_LIBRARY): Undef before definition.
8973         (OUTPUT_QUOTED_STRING): Likewise.
8974         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
8975
8976 2001-10-10  Richard Henderson  <rth@redhat.com>
8977
8978         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
8979         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
8980         a tristate comparison value.
8981         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
8982
8983 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8984
8985         PR c++/4512
8986         * unroll.c (loop_iterations): Ignore insns generated by loop
8987         unrolling.
8988
8989         * config.gcc (mips*-*-gnu*): Delete support.
8990         * config/mips/gnu.h: Remove.
8991
8992 2001-10-10  Kazu Hirata  <kazu@hxi.com>
8993
8994         * calls.c: Fix formatting.
8995         * c-decl.c: Likewise.
8996         * cfgcleanup.c: Likewise.
8997         * combine.c: Likewise.
8998         * cppfiles.c: Likewise.
8999         * cpplib.c: Likewise.
9000         * cppmacro.c: Likewise.
9001         * crtstuff.c: Likewise.
9002         * cse.c: Likewise.
9003         * dwarf2out.c: Likewise.
9004         * expmed.c: Likewise.
9005         * expr.c: Likewise.
9006         * fold-const.c: Likewise.
9007         * function.c: Likewise.
9008         * gcse.c: Likewise.
9009         * genattrtab.c: Likewise.
9010         * ggc-page.c: Likewise.
9011         * integrate.c: Likewise.
9012         * libgcc2.c: Likewise.
9013         * loop.c: Likewise.
9014         * optabs.c: Likewise.
9015         * profile.c: Likewise.
9016         * protoize.c: Likewise.
9017         * real.c: Likewise.
9018         * recog.c: Likewise.
9019         * reload1.c: Likewise.
9020         * reload.c: Likewise.
9021         * reorg.c: Likewise.
9022         * resource.c: Likewise.
9023         * sched-rgn.c: Likewise.
9024         * sdbout.c: Likewise.
9025         * stmt.c: Likewise.
9026         * toplev.c: Likewise.
9027         * varasm.c: Likewise.
9028
9029 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
9030
9031         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
9032         * Makefile.in (langhooks.o): Add dependencies.
9033
9034 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
9035
9036         * rs6000.c (rs6000_emit_load_toc_table): Don't
9037         strdup the toc label.
9038         (create_TOC_reference): Likewise.
9039
9040 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
9041
9042         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
9043         version default.
9044
9045 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
9046
9047         * config/i386/i386.c (ix86_attribute_table): Correct
9048         min_len, max_len fields for dllimport, dllexport and shared.
9049
9050 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9051
9052         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
9053         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
9054         Consistently use "nonzero" instead of "non-zero".
9055
9056 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9057
9058         * acconfig.h: Fix comment formatting.
9059         * c-dump.h: Likewise.
9060         * c-tree.h: Likewise.
9061         * conditions.h: Likewise.
9062         * expr.h: Likewise.
9063         * function.h: Likewise.
9064         * gthr.h: Likewise.
9065         * hwint.h: Likewise.
9066         * integrate.h: Likewise.
9067         * intl.h: Likewise.
9068         * loop.h: Likewise.
9069         * optabs.h: Likewise.
9070
9071 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9072
9073         * c-common.h: Fix comment formatting.
9074         * c-dump.c: Likewise.
9075         * cfg.c: Likewise.
9076         * diagnostic.h: Likewise.
9077         * except.c: Likewise.
9078         * gcc.h: Likewise.
9079         * gcov-io.h: Likewise.
9080         * genattrtab.c: Likewise.
9081         * output.h: Likewise.
9082         * predict.h: Likewise.
9083         * reload1.c: Likewise.
9084         * reload.h: Likewise.
9085         * resource.h: Likewise.
9086         * scan.h: Likewise.
9087         * system.h: Likewise.
9088         * tree.h: Likewise.
9089         * tree-inline.c: Likewise.
9090         * tsystem.h: Likewise.
9091         * varasm.c: Likewise.
9092         * xcoffout.h: Likewise.
9093
9094 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
9095
9096         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
9097
9098 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
9099
9100         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
9101         config/i386/i386elf.h, config/i386/netbsd-elf.h,
9102         config/i386/netware.h, config/mcore/gfloat.h,
9103         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
9104         config/netware.h, gccbug.in: Update FSF address.
9105
9106 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9107
9108         * c-common.c: Fix comment typos.
9109         * cfgrtl.c: Likewise.
9110         * collect2.c: Likewise.
9111         * cpplex.c: Likewise.
9112         * doloop.c: Likewise.
9113         * dwarf2out.c: Likewise.
9114         * dwarfout.c: Likewise.
9115         * expr.c: Likewise.
9116         * fold-const.c: Likewise.
9117         * gcc.c: Likewise.
9118         * gcov.c: Likewise.
9119         * gcse.c: Likewise.
9120         * global.c: Likewise.
9121         * ifcvt.c: Likewise.
9122         * loop.c: Likewise.
9123         * optabs.c: Likewise.
9124         * protoize.c: Likewise.
9125         * regclass.c: Likewise.
9126         * reorg.c: Likewise.
9127         * rtl.h: Likewise.
9128         * stmt.c: Likewise.
9129         * tree.h: Likewise.
9130         * doc/cpp.texi: Likewise.
9131         * doc/c-tree.texi: Likewise.
9132         * doc/extend.texi: Likewise.
9133         * doc/invoke.texi: Likewise.
9134         * doc/objc.texi: Likewise.
9135         * doc/tm.texi: Likewise.
9136
9137 2001-10-08  Richard Henderson  <rth@redhat.com>
9138
9139         * varasm.c (set_named_section_flags): Initialize "declared".
9140
9141 2001-10-08  Robert Lipe  <robertlipe@usa.net>
9142
9143         * varasm.c (struct in_named_entry): Add declared.
9144         (named_section_first_declaration): New function.
9145         (default_elf_asm_named_section): Use it.
9146         * output.h (named_section_first_declaration): New.
9147
9148 2001-10-08  Richard Henderson  <rth@redhat.com>
9149
9150         * i386.md (movsi_xor): Export.
9151         (setcc peep2): Use it when available; add an alternative to
9152         match zero_extendhisi2_and.
9153
9154 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9155
9156         * romp-protos.h (romp_initialize_trampoline): New function.
9157         * romp.c (romp_initialize_trampoline): Likewise.
9158         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
9159         romp_initialize_trampoline.
9160
9161 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9162
9163         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
9164         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9165         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9166         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9167
9168 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9169
9170         * unroll.c (loop_iterations): Extend check for multiple back edges.
9171
9172 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
9173
9174         * langhooks.h: New file.
9175         * Makefile.in (OBJS): Added langhooks.o.
9176         (c-lang.o): Depend on langhooks.h.
9177         (c-common.o): Don't depend on tree-inline.h.
9178         (tree-inline.o): Depend on toplev.h.
9179         (langhooks.o): New rule.
9180         * c-common.c: Don't include tree-inline.h.
9181         (c_mark_lang_decl): Mark argument c as unused.
9182         (c_common_lang_init): Don't initialize hooks here.
9183         * c-lang.c: Include langhooks.h, then override some macros.
9184         (lang_hooks): Initialize with macros in langhooks.h.
9185         (c_init): Don't initialize hooks here.
9186         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
9187         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
9188         * tree-inline.c: Include toplev.h.  Don't define hook variables.
9189         * tree-inline.h: Don't define hook types nor declare hook
9190         variables.  Move macros to...
9191         * langhooks.c: ... new file, as functions.  Adjust all callers.
9192
9193 2001-10-08  Jeffrey A Law  <law@cygnus.com>
9194
9195         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
9196         purge_mem_unchanging_flag on all instructions, not just on those
9197         before NOTE_INSN_FUNCTION_BEG.
9198
9199 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9200
9201         * cppmacro.c (_cpp_create_definition): Leave comments off.
9202
9203         * doc/cpp.texi: Update.
9204
9205 2001-10-08  DJ Delorie  <dj@redhat.com>
9206
9207         * c-decl.c (grokfield): Make sure the only unnamed fields
9208         we're allowing are either structs or unions.
9209         * doc/extend.texi: Add documentation for the unnamed field
9210         extension.
9211
9212 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
9213
9214         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
9215         * configure.in: Use it.
9216         * configure: Regenerated.
9217         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
9218         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
9219
9220 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9221
9222         * cppfiles.c (open_file): Don't mark zero-length files
9223         never-reread here.  Don't output diagnostics here either.
9224         (stack_include_file): Mark them never-reread here.
9225         (_cpp_read_file): Update.
9226
9227 2001-10-08  Richard Henderson  <rth@redhat.com>
9228
9229         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
9230
9231 2001-10-08  Richard Henderson  <rth@redhat.com>
9232
9233         * expr.c (store_expr): When converting a CONST_INT for storage
9234         in a SUBREG, convert it to both SUBREG modes before stripping
9235         the SUBREG.
9236
9237 2001-10-08  Richard Henderson  <rth@redhat.com>
9238
9239         * varasm.c (restore_varasm_status): New.
9240         * function.h: Declare it.
9241         * function.c (pop_function_context_from): Call it.
9242
9243 2001-10-08  Richard Henderson  <rth@redhat.com>
9244
9245         * c-common.h (struct c_lang_decl): Add declared_inline.
9246         * c-tree.h (DECL_DECLARED_INLINE_P): New.
9247         * c-lang.c (c_disregard_inline_limits): Use it.
9248         * c-decl.c (duplicate_decls): Likewise.
9249         (pushdecl, redeclaration_error_message): Likewise.
9250         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
9251         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
9252         Set DECL_INLINE if -finline-functions.
9253         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
9254
9255 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9256
9257         * cppmacro.c (funlike_invocation_p): Move some logic to caller
9258         in enter_macro_context.  Create a padding token in its own context
9259         if necessary when the search for '(' fails.
9260         (enter_macro_context): Update.
9261
9262 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9263
9264         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
9265         genmultilib, toplev.c: Fix spelling errors of "separate" as
9266         "seperate", and corresponding spelling errors of related words.
9267
9268 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9269
9270         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
9271         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
9272         Likewise.
9273         * c-dump.c (dump_option_value_info): Likewise.
9274         * c-format.c (format_length_info, format_char_info,
9275         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
9276         * collect2.c (names): Likewise.
9277         * cppdefault.h (default_include): Likewise.
9278         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
9279         * flow.c (life_analysis): Likewise.
9280         * gcc.c (dir_separator_str, modify_target, option_map,
9281         target_option_translations, spec_list_1, extra_specs_1,
9282         init_spec): Likewise.
9283         * gcov.c (gcov_version_string): Likewise.
9284         * genattr.c (write_units): Likewise.
9285         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
9286         * gengenrtl.c (rtx_definition, defs): Likewise.
9287         * genrecog.c (pred_table): Likewise.
9288         * global.c (global_alloc): Likewise.
9289         * lcm.c (optimize_mode_switching): Likewise.
9290         * local-alloc.c (find_free_reg): Likewise.
9291         * params.h (param_info): Likewise.
9292         * predict.c (predictor_info): Likewise.
9293         * protoize.c (unexpansion_struct): Likewise.
9294         * real.c (bmask): Likewise.
9295         * recog.h (insn_operand_data, insn_data): Likewise.
9296         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
9297         * stmt.c (expand_nl_goto_receiver): Likewise.
9298         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
9299         target_switches, target_options): Likewise.
9300         * tradcif.y (token, tokentab2, yylex): Likewise.
9301         * tree.h (attribute_spec): Likewise.
9302
9303         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
9304         Likewise.
9305         * arc.c (arc_output_function_epilogue): Likewise.
9306         * arm.c (processors, all_cores, all_architectures,
9307         arm_override_options, isr_attribute_arg, isr_attribute_args,
9308         arm_isr_value): Likewise.
9309         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
9310         Likewise.
9311         * c4x.c (c4x_int_reglist): Likewise.
9312         * d30v.c (override_options): Likewise.
9313         * h8300.c (shift_insn): Likewise.
9314         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
9315         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
9316         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
9317         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
9318         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
9319         * i386.h (processor_costs, ix86_cost): Likewise.
9320         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
9321         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
9322         * m68k.c (codes_68881, codes_FPA): Likewise.
9323         * m88k.c (mode_from_align, max_from_align, all_from_align,
9324         best_from_align, m_options): Likewise.
9325         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
9326         * mcore.c (mode_from_align): Likewise.
9327         * mips/elf64.h (UNIQUE_SECTION): Likewise.
9328         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
9329         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
9330         * mips.h (mips_regno_to_class): Likewise.
9331         * ns32k.c (scales): Likewise.
9332         * pa.c (import_string, magic_milli): Likewise.
9333         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
9334         * sparc.c (leaf_reg_remap, sparc_override_options,
9335         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
9336         Likewise.
9337         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
9338
9339 2001-10-07  Dale Johannesen  <dalej@apple.com>
9340
9341         * reload1.c (reload_reg_free_p): Teach register interference
9342         checking that multiple output reloads are emitted in
9343         reverse order.
9344         reload1.c (reload_reg_reaches_end_p):  Ditto.
9345         reload1.c (reloads_conflict):  Ditto.
9346
9347 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9348
9349         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
9350         NULL_TREE inside @code.
9351
9352 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9353
9354         * doc/gcc.texi: Document consistent style of "32-bit",
9355         "Objective-C", and "@code{NULL}".
9356
9357 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9358
9359         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
9360         (cpp_token_len, cpp_spell_token, cpp_output_token,
9361         _cpp_equiv_tokens): Handle it.
9362         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
9363         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
9364         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
9365         error messages.
9366
9367 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9368
9369         * gcc.c (default_compilers): Remove .ada.
9370
9371 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9372
9373         * doc/cppinternals.texi: Update.
9374
9375 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9376
9377         * gcc.c (main): Set this_file_error if the appropriate
9378         compiler for a language has not been installed.
9379
9380 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
9381
9382         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
9383
9384 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
9385
9386         * gccbug.in (CATEGORIES): Add ada.
9387
9388 2001-10-05  Catherine Moore  <clm@redhat.com>
9389
9390         * config/stormy16/stormy-abi:  Document abi changes.
9391         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
9392         (ICALL_REGS): New register class.
9393         (NUM_ARGUMENT_REGISTERS): Now 6.
9394         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
9395         in registers.
9396         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
9397         * config/stormy16.md (call_internal, call_value_internal,
9398         indirect_jump): Use new 'z' constraint.
9399
9400 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9401
9402         * doc/cppinternals.texi: Update.
9403
9404 2001-10-05  Richard Henderson  <rth@redhat.com>
9405
9406         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
9407         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
9408         the gas section-name-as-label feature.
9409
9410 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9411
9412         * doc/cppinternals.texi: Update.
9413
9414 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9415
9416         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
9417         to ensure valid SImode constants.
9418
9419 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
9420
9421         * Makefile.in (c-decl.o): Depend on tree-inline.h.
9422         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
9423         * c-decl.c: Include tree-inline.h.
9424         (c_expand_body): Call optimize_inline_calls. Determine whether
9425         a function is inlinable upfront, and only clear
9426         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
9427         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
9428         (c_disregard_inline_limits): New function.
9429         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
9430         (c_post_options): Enable tree inlining if inlining is enabled.
9431         Don't inline trees when instrumenting functions.
9432         (c_init): Initialize lang_disregard_inline_limits and
9433         lang_cannot_inline_tree_fn.
9434         * tree-inline.c (initialize_inlined_parameters): Handle calls
9435         with fewer arguments than declared parameters, and fewer
9436         parameters than passed arguments.  Don't assume value is a
9437         DECL.
9438         (declare_return_variable): Convert return value back to the
9439         original type, if it was promoted.
9440         (tree_inlinable_function_p): New function.
9441         (inlinable_function_p): Don't look at DECL_INLINE if we're
9442         inlining all functions.  Make it work with a NULL id.
9443         Re-check DECL_UNINLINABLE after language-specific checks.
9444         * tree-inline.h (tree_inlinable_function_p): Declare it.
9445         * integrate.c (save_for_inline): Don't bother to prepare argvec
9446         when not inlining.
9447         * cse.c (check_for_label_ref): Don't check deleted labels.
9448
9449         * Makefile.in (tree-inline.o): Depend on newly-included headers.
9450         * tree-inline.c: Include headers needed for the functions moved in.
9451         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
9452         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
9453         (copy_body, initialize_inlined_parameters): Likewise.
9454         (declare_return_variable, inlinable_function_p): Likewise.
9455         (expand_call_inline, expand_calls_inline): Likewise.
9456         (optimize_inline_calls, clone_body): Likewise.
9457         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
9458         (copy_tree_r, remap_save_expr): Likewise.
9459
9460 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
9461
9462         * Makefile.in (OBJS): Added tree-inline.o.
9463         (c-common.o): Depend on tree-inline.h.
9464         (tree-inline.o): New target.
9465         * c-common.c: Include tree-inline.h.
9466         (c_mark_lang_decl): Don't mark saved_tree.
9467         (c_common_lang_init): Set lang_anon_aggr_type_p.
9468         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
9469         (struct c_lang_decl): Moved saved_tree to tree_decl.
9470         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
9471         * integrate.h (function_attribute_inlinable_p): Declare it.
9472         * integrate.c (function_attribute_inlinable_p): Export it.
9473         * tree-inline.c: New file.  Define variables declared in...
9474         * tree-inline.h: New file.  Declare functions to be moved to
9475         tree-inline.c.  Define macros and declare types and hooks for
9476         language-specific tree inlining.
9477         (flag_inline_trees): Moved definition from cp/decl2.c.
9478         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
9479         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
9480         (struct tree_decl): Moved saved_tree from c_lang_decl and
9481         inlined_fns from C++'s lang_decl.
9482
9483 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
9484
9485         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
9486         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
9487
9488 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9489
9490         * doc/cppinternals.texi: Update.
9491
9492 2001-10-04  Eric Christopher  <echristo@redhat.com>
9493
9494         * config/mips/mips.c (init_cumulative_args): Remember to set
9495         cum->prototype.
9496         * config.gcc: Redo linux configuration. Add target_cpu_default
9497         of soft-float to all mipsisa32 combinations and tx39.
9498         * config/mips/linux.h: Remove include of mips.h.
9499
9500 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
9501
9502         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
9503         HOST_LDFLAGS and HOST_CPPFLAGS.
9504
9505 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
9506
9507         * c-parse.in (objc_inherit_code, objc_pq_context,
9508         objc_public_flag): Make static.
9509         (objc_interface_context, objc_implementation_context,
9510         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
9511         global tree array in objc/objc-act.[ch].
9512         (methoddef): Remove unnecessary code.
9513
9514         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
9515         Hoist struct definitions to objc-act.h.
9516         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
9517         cat_count): Place declaration in objc-act.h.
9518         (objc_tree_index): Move enumeration to objc-act.h.
9519         (objc_global_trees): Place declaration and macro accessors in
9520         objc-act.h.
9521         (implementation_context): Remove duplicate; use
9522         objc_implementation_context instead:
9523         (method_context): Remove duplicate; use objc_method_context
9524         instead.
9525         (objc_ellipsis_node, objc_method_prototype_template,
9526         implemented_classes, function_type): Move global vars to
9527         objc_global_trees.
9528         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
9529         (build_message_expr): Move actual construction of ObjC message
9530         send nodes to finish_message_expr.
9531         (finish_message_expr): New routine, contains code formerly in
9532         build_message_expr.
9533         * objc/objc-act.h (finish_message_expr): New prototype.
9534         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
9535         declarations; these vars are now part of objc_global_trees.
9536         (objc_tree_index, objc_global_trees): Move definitions from
9537         objc-act.c.
9538         * objc/objc-tree.def: Update copyright info.
9539
9540 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
9541
9542         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
9543         op is NULL.
9544         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
9545         only if TARGET_ARCH64.
9546
9547 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
9548
9549         * doc/extend.texi: Fix some problems with previous checkin.
9550         * doc/invoke.texi: Likewise.
9551
9552 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9553
9554         * cpphash.h: Update comments.
9555         (cpp_context): Update.
9556         (spec_nodes): Remove n__Pragma.
9557         * cppinit.c (cpp_create_reader): Update.
9558         (builtin_array): Add _Pragma.
9559         * cpplib.h: Update comments.
9560         (NODE_DISABLED, BT_PRAGMA): New.
9561         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
9562         * cppmacro.c (struct cpp_macro): Remove disabled.
9563         (builtin_macro): Return int, handle _Pragma, push the new token
9564         on the context stack.
9565         (funlike_invocation_p): Unconstify, update.
9566         (enter_macro_context): Handle builtins here.
9567         (replace_args, push_token_context, push_ptoken_context):
9568         Update for prototype changes.
9569         (_cpp_pop_context): Update.
9570         (cpp_get_token): Don't handle buitins, nor _Pragma here.
9571         (cpp_sys_macro_p): Update.
9572         (_cpp_free_definition): Clear disabled flag.
9573         (_cpp_create_definition): Upate.
9574         * cppmain.c: Update comments.
9575
9576 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
9577                                 Andreas Jaeger <aj@suse.de>,
9578                                 Jan Hubicka    <jh@suse.cz>
9579
9580         * doc/invoke.texi (i386 Options): Document x86-64 options.
9581         (i386 and x86-64 Options): Rename i386 options section.
9582
9583         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
9584         (TARGET_SWITCHES): Add -munwind-info.
9585         (MASK_NO_UNWIND_INFO): New.
9586         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
9587         biarch compilation.
9588         (ASM_OUTPUT_DOUBLE_INT): New.
9589
9590         * config/i386/linux64.h: New spec file for Linux x86-64 support.
9591         * config.gcc: Fix tm_file settings for x86-64.
9592         * config/i386/x86-64.h: New file with OS independent x86-64
9593         definitions.
9594         * config/i386/biarch64.h: New file used to configure compiler
9595         to biarch/64bit compilation.
9596
9597         * config/i386/i386.c: (override_options): Set flags default
9598         for 64bit compilation.
9599
9600 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
9601
9602         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
9603         (ix86_expand_int_movcc): Optimize DImode conditional moves with
9604         constants on x86_64.
9605         (ix86_attr_length_immediate_default): Support MODE_DI.
9606         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
9607         condition.
9608         (indirect_jump, tablejump): Turn into expander.
9609
9610 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9611
9612         * c-common.c (c_format_attribute_table): Make format and
9613         format_arg attributes apply to function types rather than to
9614         decls.
9615         (is_valid_printf_arglist): Construct an attribute list and pass
9616         that to check_function_format rather than a name.
9617         * c-common.h (check_function_format): Adjust prototype.
9618         * c-decl.c (duplicate_decls): Preserve attributes from type of
9619         built-in decl when allowing for harmless conflict in types.
9620         * c-format.c (record_function_format,
9621         record_international_format, function_format_list,
9622         international_format_info, international_format_list): Remove.
9623         (function_format_info): Remove next, name and assembler_name.
9624         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
9625         (decode_format_attr): New.
9626         (handle_format_attribute): Handle receiving a type rather than a
9627         decl.  Call decode_format_attr.  Store format information in a
9628         function_format_info.
9629         (handle_format_arg_attribute): Correct comment.  Handle receiving
9630         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
9631         arg_num.
9632         (check_format_info_recurse, check_format_info_main): Take argument
9633         numbers as unsigned HOST_WIDE_INT.
9634         (check_function_format): Take a list of attributes from the
9635         function type rather than a name or assembler name.  Check for
9636         format attributes in that list and the attributes on the type of
9637         the current function rather than looking through
9638         function_format_list.
9639         (check_format_info): Use unsigned HOST_WIDE_INT for argument
9640         numbers.
9641         (check_format_info_recurse): Take format_arg attributes from the
9642         type of the function calls rather than using
9643         international_format_list.  Allow for multiple format_arg
9644         attributes.
9645         * c-typeck.c (build_function_call): Pass type attributes to
9646         check_function_format rather than name or assembler name.  Don't
9647         require there to be a name or assembler name to check formats.
9648
9649 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9650
9651         * attribs.c (decl_attributes): Possibly call
9652         insert_default_attributes to insert default attributes on
9653         functions in a lazy manner.
9654         * builtin-attrs.def: New file; define the default format and
9655         format_arg attributes.
9656         * c-common.c (c_format_attribute_table): Move to earlier in the
9657         file.
9658         (c_common_nodes_and_builtins): Initialize format_attribute_table.
9659         (enum built_in_attribute, built_in_attributes,
9660         c_attrs_initialized, c_init_attributes,
9661         c_common_insert_default_attributes): New.
9662         (c_common_lang_init): Don't initialize format_attribute_table.  Do
9663         call c_init_attributes.
9664         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
9665         * c-common.h (init_function_format_info): Don't declare.
9666         (c_common_insert_default_attributes): Declare.
9667         * c-decl.c (implicitly_declare, builtin_function): Call
9668         decl_attributes.
9669         (init_decl_processing): Don't call init_function_format_info.
9670         (insert_default_attributes): New.
9671         * c-format.c (handle_format_attribute,
9672         handle_format_arg_attribute): Be quiet about inappropriate
9673         declaration when applying default attributes.
9674         (init_function_format_info): Remove.
9675         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
9676         (insert_default_attributes): Declare.
9677
9678 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9679
9680         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
9681
9682 2001-10-01  Jim Wilson  <wilson@redhat.com>
9683
9684         * sched-deps.c (add_dependence): When elide conditional dependence,
9685         check that insn doesn't modify cond2.
9686
9687 2001-10-01  Dale Johannesen  <dalej@apple.com>
9688
9689         * config/rs6000/rs6000.h (enum processor_type): Add support
9690         for 7400 (G4) and 7450.
9691         (RTX_COSTS): Ditto.
9692         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
9693         (rs6000_issue_rate): Ditto.
9694         (rs6000_adjust_cost): Fix cycle counts for compares.
9695         (debug_stack_info):  Fix an obvious typo.
9696         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
9697         * doc/invoke.texi: Document.
9698         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
9699         for Darwin.
9700         (PROCESSOR_DEFAULT): Ditto.
9701
9702 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
9703
9704         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
9705         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
9706         later recursive make invocation.
9707
9708 2001-10-01  Hans Boehm  <boehm@acm.org>
9709
9710         * optabs.c (emit_libcall_block): When using non-call exceptions,
9711         don't add REG_LIBCALL reg notes to trapping calls.
9712
9713 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9714
9715         * flow.c (propagate_block_delete_libcall): Remove unused first arg
9716         (propagate_one_insn):  Update for above change
9717
9718 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9719
9720         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
9721         _Unwind_GetTextRelBase): Argument is unused.
9722
9723 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9724
9725         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
9726         Loop through NOPs, placeholders, and components.
9727         Don't go through NOPs if change mode.
9728         (record_alias_subset): Do nothing if SUBSET and SET are the same.
9729         * emit-rtl.c (set_mem_alias_set): Enable check.
9730         * expr.c (find_placeholder): New function.
9731         (expand_expr, case PLACEHOLDER_EXPR): Use it.
9732         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
9733         to modify it and avoid unneeded copies.
9734         * expr.h (expand_expr): Always define.
9735         (find_placeholder): New declaration.
9736
9737 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9738
9739         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
9740         operand 2 is the stack pointer.
9741         ("addr-peephole"): Fix address computation peephole when operand 2
9742         is the stack pointer.
9743
9744 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9745
9746         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
9747         (ix86_setup_incoming_varargs): Likewise.
9748
9749 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
9750
9751         * stor-layout.c (layout_type): Don't complain about too-large
9752         array here.
9753
9754 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9755
9756         * function.c (keep_stack_depressed): Don't use delete_insn.
9757
9758         * expr.h (set_mem_alias_set): Move decl to here.
9759         * rtl.h (mem_attrs): New typedef and struct.
9760         (union rtunion_def): Add field for mem_attrs.
9761         (X0MEMATTR, MEM_ATTRS): New macros.
9762         (MEM_ALIAS_SET): Use MEM_ATTRS.
9763         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
9764         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
9765         (set_mem_alias_set): Delete decl from here.
9766
9767         * alias.c (set_mem_alias_set): Delete from here.
9768         * emit-rtl.c (mem_attrs_htab): New variable.
9769         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
9770         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
9771         (mem_attrs_mark, get_mem_attrs): Likewise.
9772         (gen_rtx_MEM): Clear MEM_ATTRS.
9773         (set_mem_attributes): Move to here.
9774         (set_mem_alias_set): Likewise, and call get_mem_attrs.
9775         (init_emit_once): const_int_htab now deletable htab.
9776         Initialize mem_attrs_htab.
9777         * explow.c (set_mem_attributes): Delete from here.
9778         * function.c (put_var_into_stack): Clear MEM_ATTRS.
9779         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
9780         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
9781         * reload1.c (reload): Rework changing REG to MEM.
9782
9783 2001-09-30  H.J. Lu <hjl@gnu.org>
9784
9785         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
9786         * config.in: Rebuild.
9787
9788 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9789
9790         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
9791         ("tsthi_1"): Avoid allocation in register y.
9792         ("*movqi_68hc12"): Reorganize and fix constraints.
9793         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
9794         ("addqi3"): Likewise.
9795         ("addhi3"): Fix constraints.
9796         ("*logicalhi3_zexthi"): Disparage soft registers.
9797
9798 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9799
9800         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
9801         to tmp reg.
9802
9803 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9804
9805         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
9806         that we use setjmp/longjmp exceptions.
9807
9808 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9809
9810         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
9811         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
9812         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9813         _cpp_pool_alloc, _cpp_next_chunk): Remove.
9814         (_cpp_extend_buff, BUFF_ROOM): Update.
9815         (_cpp_append_extend_buff): New.
9816         (struct cpp_reader): Remove macro_pool, add a_buff.
9817         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
9818         macro_pool.
9819         (cpp_destroy): Free a_buff instead of macro_pool.
9820         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
9821         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9822         _cpp_pool_alloc, ): Remove.
9823         (parse_number, parse_string): Update use of _cpp_extend_buff.
9824         (_cpp_extend_buff): Update.
9825         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
9826         * cpplib.c (glue_header_name, parse_answer):
9827         Update use of _cpp_extend_buff.
9828         (cpp_register_pragma, cpp_register_pragma_space): Use
9829         _cpp_aligned_alloc.
9830         (do_assert, do_unassert): Check for EOL, update.
9831         * cppmacro.c (stringify_arg, collect_args): Update to use
9832         _cpp_extend_buff and _cpp_append_extend_buff.
9833         (save_parameter, parse_params, alloc_expansion_token,
9834         _cpp_create_definition): Rework memory management.
9835
9836 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
9837
9838         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
9839         update md_exec_prefix.
9840         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
9841         to string constant.
9842
9843 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9844
9845         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
9846         (SELECT_CC_MODE): Use s390_select_ccmode.
9847         * config/s390/s390-protos.h (s390_select_ccmode): Add.
9848         * config/s390/s390.c (s390_select_ccmode): New.
9849         (s390_match_ccmode): Add CCLmode.
9850         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
9851         (output_branch_condition, output_inverse_branch_condition): Removed.
9852         (print_operand): Use s390_branch_condition_mnemonic.
9853         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
9854         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
9855         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
9856
9857         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
9858         when converting conditional branches to far branches.
9859         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
9860         cmpint_di): Use CCSmode instead of CCUmode.
9861
9862         * config/s390/s390.c (legitimate_la_operand_p): New.
9863         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
9864         * config/s390/s390.md (movsi): Convert load address patterns to
9865         arithmetic operations when necessary.
9866         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
9867         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
9868         (*do_la_reg_0): Don't use before reload.
9869
9870         * config/s390/s390.c (legitimize_address): Make more efficient
9871         use of two-register addressing mode.
9872
9873         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
9874         with -mno-backchain in some corner cases.
9875
9876         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
9877
9878 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
9879
9880         * reload.c (find_reloads): Mark new USE insns with QImode.
9881         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
9882         find_reloads_subreg_address): Likewise.
9883         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
9884         encountered.
9885         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
9886         CLOBBERs.
9887         (reload): Make sure there are no USEs with mode other than
9888         VOIDmode.  At the end, remove those marked with QImode.
9889
9890 2001-09-29  Per Bothner  <per@bothner.com>
9891
9892         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
9893         * Makefile.in (includedir):  Rename to local_includedir.
9894         (includedir):  Define as $(prefix)/include.
9895         * config.in (PREFIX_INCLUDE_DIR):  New variable.
9896         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
9897
9898 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
9899
9900         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
9901         storehps builtins.
9902         * doc/extend.texi (Vector Extensions): New node.
9903         * doc/invoke.texi (Machine Dependent Options): Add documentation for
9904         i386 -mmmx, -msse, -m3dnow.
9905
9906 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9907
9908         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
9909
9910 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
9911
9912         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
9913
9914         * doc/invoke.texi (Optimize Options): Delete spurious @table.
9915
9916 2001-09-28  Richard Henderson  <rth@redhat.com>
9917
9918         * varasm.c (assemble_integer): Bound alignment check by
9919         BIGGEST_ALIGNMENT.
9920
9921         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
9922
9923 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9924
9925         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
9926
9927 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9928
9929         Mostly from Graham Stott  <grahams@redhat.com>
9930         * c-common.c (type_for_mode): Add support for V2SFmode.
9931         * tree.c (build_common_tree_nodes_2): Likewise.
9932         * tree.h (enum tree_index, global_trees): Likewise.
9933         * config/i386/i386.c (x86_3dnow_a): New variable.
9934         (override_options): Support 3Dnow extensions.
9935         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
9936         Athlon's version of 3Dnow.
9937         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
9938         (ix86_expand_builtin): Handle them.
9939         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
9940         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
9941         TARGET_3DNOW_A): New macros.
9942         (TARGET_SWITCHES): Add 3Dnow switches.
9943         (VALID_MMX_REG_MODE_3DNOW): New macro.
9944         (VECTOR_MODE_SUPPORTED_P): Use it.
9945         (enum ix86_builtins): Add entries for 3Dnow builtins.
9946         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
9947         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
9948         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
9949         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
9950         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
9951         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
9952         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
9953         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
9954         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
9955         sfence_insn, prefetch): Make these available if TARGET_SSE or
9956         TARGET_3DNOW_A.
9957
9958 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
9959
9960         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
9961         ix86_va_start, ix86_build_va_list): Declare.
9962         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
9963         ix86_va_start, ix86_build_va_list): New global functions.
9964         * i386.md (sse_prologue_save_insn): New insn.
9965         (sse_prologue_save): New expander.
9966         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
9967         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
9968
9969 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9970
9971         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
9972         Use size_t everywhere, make definitions consistent with
9973         prototypes.
9974
9975 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
9976
9977         * gcse.c (replace_store_insn): Use delete_insn.
9978         * loop.c (move_movables): Likewise; avoid delete_insn
9979         from clobbering notes moved elsewhere.
9980         (check_dbra_loop): Use delete_insn.
9981         * ssa.c (convert_from_ssa): Likewise.
9982         * cse.c (cse_insn): Use delete_insn.
9983
9984 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9985
9986         * cpphash.h (struct cpp_buff): Make unsigned.
9987         (_cpp_get_buff): Take length of size_t.
9988         (_cpp_unaligned_alloc): New.
9989         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
9990         (struct cpp_reader): Remove ident_pool.  Add u_buff.
9991         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
9992         (cpp_destroy): Destroy u_buff, not ident_pool.
9993         * cpplex.c (parse_number, parse_string, save_comment,
9994         cpp_token_as_text): Update to use the unaligned buffer.
9995         (new_buff): Make unsigned.
9996         (_cpp_unaligned_alloc): New.
9997         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
9998         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
9999         Similarly.
10000         (collect_args): Make unsigned.
10001
10002 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
10003
10004         * cpplex.c (cpp_output_token): Use a putc loop for
10005         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
10006
10007         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
10008         * configure, config.in: Regenerate.
10009         * system.h: Replace fwrite and fprintf with their unlocked
10010         variants if available.
10011
10012 2001-09-27  Richard Henderson  <rth@redhat.com>
10013
10014         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
10015         in favour of .eh_frame.
10016
10017 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
10018
10019         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
10020         to macros.
10021         (LIBCALL_VALUE): Likewise.
10022
10023 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10024
10025         * cpphash.h: Update comment.
10026         * cpplex.c: Update comments.
10027         (_cpp_can_paste): Remove.
10028         * cpplib.h (_cpp_can_paste): Remove.
10029         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
10030         lexer rather than _cpp_can_paste.
10031
10032 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10033
10034         * doc/cppinternals.texi: Update.
10035
10036 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10037
10038         * cpphash.h (struct cpp_pool): Remove locks and locked.
10039         (struct cpp_context): Add member buff.
10040         (struct cpp_reader): Remove member argument_pool.
10041         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
10042         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
10043         * cpplex.c (chunk_suitable): Remove pool argument.
10044         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
10045         (new_buff, _cpp_extend_buff): Update.
10046         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
10047         which buffer is returned.
10048         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
10049         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
10050         * cppmacro.c (lock_pools, unlock_pools): Remove.
10051         (push_ptoken_context): Take a _cpp_buff.
10052         (enter_macro_context): Pool locking removed.
10053         (replace_args): Use a _cpp_buff for the replacement list with
10054         arguments replaced.
10055         (push_token_context): Clear buff.
10056         (expand_arg): Use _cpp_pop_context.
10057         (_cpp_pop_context): Free a context's buffer, if any.
10058
10059 2001-09-26  DJ Delorie  <dj@redhat.com>
10060
10061         * c-typeck.c (digest_init): Check for sizeless arrays.
10062
10063 2001-09-26  Richard Henderson  <rth@redhat.com>
10064
10065         * optabs.c (init_one_libfunc): Create a dummy function type
10066         instead of using error_mark_node.
10067
10068 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10069
10070         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
10071         _cpp_extend_buff, _cpp_free_buff): New.
10072         (struct cpp_reader): New member free_buffs.
10073         * cppinit.c (cpp_destroy): Free buffers.
10074         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
10075         _cpp_extend_buff, _cpp_free_buff): New.
10076         * cpplib.h (struct cpp_options): Remove unused member.
10077         * cppmacro.c (collect_args): New.  Combines the old parse_arg
10078         and parse_args.  Use _cpp_buff for memory allocation.
10079         (funlike_invocation_p, replace_args): Update.
10080
10081 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
10082
10083         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
10084
10085 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
10086
10087         * except.c (sjlj_mark_call_sites): Change address inside sequence.
10088
10089 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
10090
10091         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
10092         glibc.
10093
10094 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
10095             Jim Wilson  <wilson@redhat.com>
10096
10097         * doc/install.texi (Specific, ia64-*-linux): Document.
10098
10099 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
10100
10101         * Makefile.in (cfgrtl.o): Add.
10102         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
10103         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
10104         free_aux_for_edge): Declare.
10105         * cfg.c
10106         (HAVE_return): Undefine.
10107         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
10108         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
10109         free_aux_for_edge): New global functions.
10110         (first_delete_block): New static variable.
10111         (init_flow): Clear first_delete_block.
10112         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
10113          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
10114          try_redirect_by_replacing_jump, last_loop_beg_note,
10115          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
10116          delete_insn, delete_insn_chain, create_basic_block_structure,
10117          create_basic_block, flow_delete_block, compute_bb_for_insn,
10118          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
10119          set_block_for_new_insns, split_block, merge_blocks_nomove,
10120          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
10121          redirect_edge_and_branch, force_nonfallthru_and_redirect,
10122          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
10123          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
10124          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
10125          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
10126          purge_all_dead_edges): Move to ....
10127         * cfgrtl.c: New file; .... Here.
10128
10129         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
10130         (reroder_basic_block): Use alloc_aux_for_blocks.
10131         * predict.c (estimate_bb_frequencies): Likewise; use
10132         alloc_aux_for_edges.
10133         * profile.c (compute_branch_probabilities): Likewise.
10134         (branch_prob): Likewise.
10135         * reg-stack.c (reg_to_stack): Likewise.
10136
10137         * emit-rtl.c (emit_insns_after): Never return NULL.
10138
10139         * basic-block.h (set_block_for_new_insns): Delete.
10140         * cfgrtl.c (set_block_for_new_insns): Delete.
10141
10142         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
10143         calls when crossjumping.
10144
10145         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
10146         * unroll.c (copy_loop_body): Use delete_insn.
10147
10148         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
10149         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
10150         keep_stack_depressed): Likewise.
10151         * gcse.c (cprop_cc0_jump): Likewise.
10152         * local-alloc.c (update_equiv_regs): Likewise.
10153         * loop.c (scan_loop, loop_delete_insns): Likewise.
10154         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
10155         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
10156         delete_output_reload, delete_address_reloads_1,
10157         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
10158         Likewise.
10159         * sibcall.c (replace_call_placeholder): Likewise.
10160         * cse.c (cse_insn): Likewise.
10161
10162 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
10163
10164         From Graham Stott  <grahams@redhat.com>
10165         (def_builtin): Only define builtins appropriate for target_flags.  All
10166         callers changed.
10167         (builtin_decsription): Add new field mask which is used to determine
10168         when to define the builtin via the macro def_builtin.
10169
10170         (bdesc_comi): Initialise new mask fields.
10171         (bdesc_2srg): Likewise.
10172         (bdesc_1arg): Likewise.
10173
10174         * config/i386/i386.c (ix86_init_builtins): Correct return type
10175         building v4hi_ftype_v4hi_int_int tree node.
10176         (ix86_expand_sse_comi): Fix typo swapping operands.
10177         Don't swap comparision condition, it is already swapped.
10178         (ix86_expand_sse_compare): Before swapping operands
10179         move operand 1 into new rtx and not the target rtx.
10180         Don't swap comparison condition, it is already swapped.
10181         Always check whether we need to create a new TARGET.
10182
10183         * config/i386/i386.md: (sse_comi) Fix typos.
10184         (sse_ucomi): Likewise.
10185         (cvtss2si): Fix operand 0 contraint.
10186         (cvttss2si): Likewise.
10187         (sse_unpckhps): Fix mode for operand 2.
10188         (sse_unpcklps): Likewise.
10189
10190 2001-09-25  Graham Stott  <grahams@redhat.com>
10191
10192         * sibcall.c (skip_copy_to_return_value): Tighten return value
10193         copy check.
10194
10195 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
10196
10197         * rs6000.c (lwa_operand): Address must be word aligned.
10198
10199 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10200
10201         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
10202         number has been set.
10203         (type_hash_mark): Mark type itself.
10204
10205 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10206
10207         * c-lex.c (cb_def_pragma): Update.
10208         (c_lex): Update, and skip padding.
10209         * cppexp.c (lex, parse_defined): Update, remove unused variable.
10210         * cpphash.h (struct toklist): Delete.
10211         (union utoken): New.
10212         (struct cpp_context): Update.
10213         (struct cpp_reader): New members eof, avoid_paste.
10214         (_cpp_temp_token): New.
10215         * cppinit.c (cpp_create_reader): Update.
10216         * cpplex.c (_cpp_temp_token): New.
10217         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
10218         (cpp_output_token): Don't print leading whitespace.
10219         (cpp_output_line): Update.
10220         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
10221         do_include_common, do_line, do_ident, do_pragma,
10222         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
10223         parse_assertion): Update.
10224         (get_token_no_padding): New.
10225         * cpplib.h (CPP_PADDING): New.
10226         (AVOID_LPASTE): Delete.
10227         (struct cpp_token): New union member source.
10228         (cpp_get_token): Update.
10229         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
10230         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
10231         replace_args, quote_string, stringify_arg, parse_arg, next_context,
10232         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
10233         _cpp_backup_tokens, _cpp_create_definition): Update.
10234         (push_arg_context): Delete.
10235         (padding_token, push_token_context, push_ptoken_context): New.
10236         (make_string_token, make_number_token): Update, rename.
10237         (cpp_get_token): Update to handle tokens as pointers to const,
10238         and insert padding appropriately.
10239         * cppmain.c (struct printer): New member prev.
10240         (check_multiline_token): Constify.
10241         (do_preprocessing, cb_line_change): Update.
10242         (scan_translation_unit): Update to handle spacing.
10243         * scan-decls.c (get_a_token): New.
10244         (skip_to_closing_brace, scan_decls): Update.
10245         * fix-header.c (read_scan_file): Update.
10246
10247         * doc/cpp.texi: Update.
10248
10249 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10250
10251         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
10252         leak by passing malloc'ed pointer to reconcat, not concat.
10253
10254 2001-09-24  DJ Delorie  <dj@redhat.com>
10255
10256         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
10257
10258 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
10259
10260         * flow.c (delete_dead_jumptables): Delete jumptable if the only
10261         reference is from the literal pool.
10262
10263 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
10264
10265         * doc/install.texi (Final install): Request additional information
10266         in mail about successful builds.
10267
10268 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10269
10270         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
10271         initial value of return pointer register instead of value in frame-20.
10272         Revise comments.
10273
10274 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10275
10276         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
10277         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
10278         the libcall if there isn't a referenced identifier for the symbol.
10279
10280 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10281
10282         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
10283         non 64-bit machines.  Use these as a plabel for the trampoline.
10284         (TRAMPOLINE_SIZE): Adjust size for new words.
10285         (INITIALIZE_TRAMPOLINE): Initialize new words.
10286         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
10287         pointer to the plabel in the trampoline.
10288
10289 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10290
10291         * pa.c (function_arg): Pass floating arguments in both general and
10292         floating registers in indirect (dynamic) calls when generating code
10293         for the 32 bit ABI and the HP assembler.
10294
10295 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10296
10297         * doc/install.texi: Markup fixes.
10298         Use Solaris 2, SunOS 4 as appropriate.
10299         (Specific, *-*-solaris2*): Explain this.
10300         Unconditionally warn against /usr/ucb tools.
10301         Remove Sun as warning, obsolete.
10302         Move X11 header bug workaround here, update patches.
10303         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
10304         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
10305
10306 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
10307
10308         * errors.h (warning, error, fatal, internal_error): Don't mark
10309         with ATTRIBUTE_PRINTF_n.
10310         * toplev.h (internal_error, fatal_io_error, warning, error,
10311         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
10312         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
10313         Likewise.
10314
10315 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10316
10317         * function.c (pop_function_context_from): var_refs_queue
10318         and temp slots now in GC memory.
10319         (mark_function_status, free_after_compilation): Likewise;
10320         also struct function now in GC memory.
10321         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
10322         (combine_temp_slots): Likewise.
10323         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
10324         (prepare_function_start): Use GC memory for struct function.
10325         (mark_temp_slot): Deleted.
10326         (gcc_mark_struct_function): struct function now in GC memory.
10327
10328         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
10329         code for division, not modulus.
10330
10331         * rtl.def (MEM): Remove obsolete part of comment.
10332
10333 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
10334
10335         * c-format.c (init_function_format_info): Check __builtin_printf
10336         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
10337         in gnu89 mode.
10338
10339 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10340
10341         * c-common.c (format_attribute_table): Remove decl.
10342         * tree.h (format_attribute_table, lang_attribute_table): New decls.
10343         (lang_attribute_common): Likewise.
10344
10345         * function.c (fix_lexical_address): Use set_mem_alias_set.
10346         (expand_function_start): Likewise.
10347         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
10348
10349         * varasm.c (output_constant): Fix unused variable warning.
10350
10351         * attribs.c: New file, from c-common.c.
10352         (attribute_tables): Now four elements.
10353         (format_attribute_table, lang_attribute_common): New variables.
10354         (init_attributes): Reflect above changes.
10355         (handle_mode_attribute): Delete check for wider than uintmax.
10356         * c-common.c: Delete parts moved to attribs.c.
10357         (enum attrs): Deleted; unused.
10358         (c_format_attribute_table): New variable.
10359         (c_common_lang_init): Initialize format_attribute_table with it.
10360         * c-common.h (decl_attributes): Remove decl.
10361         * tree.h (decl_attribute): Move it to here.
10362         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
10363         (attribs.o): New rule.
10364
10365 2001-09-22  Andreas Jaeger  <aj@suse.de>
10366
10367         * builtins.c (c_getstr): Remove unused variable.
10368
10369 2001-09-21  Richard Henderson  <rth@redhat.com>
10370
10371         * reload1.c (reload): Use delete_insn instead of splatting
10372         NOTE_INSN_DELETED.
10373
10374 2001-09-21  Richard Henderson  <rth@redhat.com>
10375
10376         * reload.c (push_secondary_reload): Don't check for "=" in output
10377         constraint after ""->ALL_REGS check.
10378
10379 2001-09-21  Richard Henderson  <rth@redhat.com>
10380
10381         * predict.c (expected_value_to_br_prob): Use pc_set.
10382
10383         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
10384         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
10385
10386 2001-09-21  Richard Henderson  <rth@redhat.com>
10387
10388         * rtl.h (LCT_RETURNS_TWICE): New.
10389         * calls.c (emit_call_1): Set current_function_calls_setjmp for
10390         ECF_RETURNS_TWICE.
10391         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
10392         to ECF_RETURNS_TWICE.
10393         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
10394         call to setjmp.
10395
10396         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
10397
10398         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
10399         (JMP_BUF_SIZE): New.
10400
10401 2001-09-21  Richard Henderson  <rth@redhat.com>
10402
10403         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
10404         to R8_REGS.
10405
10406 2001-09-21  Richard Henderson  <rth@redhat.com>
10407
10408         * tree.def (FDESC_EXPR): New.
10409         * expr.c (expand_expr): Handle it.
10410         * varasm.c (initializer_constant_valid_p): Likewise.
10411         (output_constant): Likewise.
10412         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10413         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10414         (ASM_OUTPUT_FDESC): New.
10415         * doc/tm.texi: Document the new macros.
10416
10417 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10418
10419         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
10420         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
10421         once merging is complete.
10422
10423 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10424
10425         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
10426
10427 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10428
10429         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
10430         that would be invalid after a merge.
10431
10432 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
10433
10434         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
10435         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
10436         remove some labels.
10437         (flow_delete_insn): This one.
10438         (delete_insn_chain): Rename from ...; do not care labels.
10439         (flow_delete_insn_chain): ... this one.
10440         (flow_delete_block): Remove the insns one BB has been expunged.
10441         (merge_blocks_nomove): Likewise.
10442         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
10443         updating BB boundaries.
10444         (tidy_fallthru_edge): Likewise.
10445         (commit_one_edge_insertion): Likewise.
10446         * cfgbuild.c (find_basic_block): Likewise.
10447         (find_basic_blocks_1): Likewise.
10448         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
10449         (try_crossjump_to_edge): Likewise.
10450         (try_optimize_cfg): Likewise.
10451         * cse.c (delete_trivially_dead_insns): Likewise.
10452         * df.c (df_insn_delete): Likewise.
10453         * doloop.c (doloop_modify): Use delete_related_insns.
10454         * emit-rtl.c (try_split): Likewise.
10455         (remove_insn): Update BB boundaries.
10456         * expect.c (connect_post_landing_pads): Use delete_related_insns.
10457         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
10458         updating BB boundaries.
10459         (propagate_block_delete_insn): Likewise.
10460         (propagate_block_delete_libcall): Likewise.
10461         * function.c (delete_handlers): Use delete_related_insns.
10462         (thread_prologue_and_epilogue_insns): Likewise.
10463         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
10464         * genpeep.c (gen_peephole): Use delete_related_insns.
10465         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
10466         BB boundaries.
10467         (find_cond_trap): Likewise.
10468         * integrate.c (save_for_inline): Use delete_related_insns.
10469         (copy_insn_list): Likewise.
10470         * jump.c (pruge_linie_number_notes): Likewise.
10471         (duplicate_loop_exit_test): Likewise.
10472         (delete_computation): Likewise.
10473         (delete_related_insn): Rename from ...; use delete_insn
10474         (delete_insn): ... this one.
10475         (redirect_jump): Use delete_related_insns.
10476         * loop.c (scan_loop): Likewise.
10477         (move_movables): Likewise.
10478         (find_and_verify_loops): Likewise.
10479         (check_dbra_loop): Likewise.
10480         * recog.c (peephole2_optimize): Likewise.
10481         * reg-stack.c (delete_insn_for_stacker): Remove.
10482         (move_for_stack_reg): Use delete_insn.
10483         * regmove.c (combine_stack_adjustments_for_block): Likewise.
10484         * reload1.c (delete_address_reloads): Use delete_related_insns.
10485         (fixup_abnormal_edges): Use delete_insn.
10486         * recog.c (emit_delay_sequence): Use delete_related_insns.
10487         (delete_from-delay_slot): Likewise.
10488         (delete_scheduled_jump): likewise.
10489         (optimize_skip): Likewise.
10490         (try_merge_delay_insns): Likewise.
10491         (full_simple_delay_slots): Likewise.
10492         (fill_slots_from_thread): Likewise.
10493         (relax_delay_slots): Likewise.
10494         (make_return_insns): Likewise.
10495         (dbr_schedule): Likewise.
10496         * rtl.h (delete_insn): Rename to delete_related_insns.
10497         (delete_insn, delete_insn_chain): New prototypes.
10498         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
10499         by df_insn_delete already.
10500         * ssa-dce.c (delete_insn_bb): Use delete_insn.
10501         * ssa.c (convert_from_ssa): Use delete_related_insns.
10502         * unroll.c (unroll_loop): Likewise.
10503         (calculate_giv_inc): Likewise.
10504         (copy_loop_body): Likewise.
10505
10506         * i386-protos.h (ix86_libcall_value, ix86_function_value,
10507         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10508         ix86_return_in_memory, ix86_function_value): Declare.
10509         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
10510         new static valurables.
10511         (x86_64_reg_class): New enum
10512         (x86_64_reg_class_name): New array.
10513         (classify_argument, examine_argument, construct_container,
10514          merge_classes): New static functions.
10515         (optimization_options): Enable flag_omit_frame_pointer and disable
10516         flag_pcc_struct_return on 64bit.
10517         (ix86_libcall_value, ix86_function_value,
10518         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10519         ix86_return_in_memory, ix86_function_value): New global functions.
10520         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
10521         (function_arg_advance): Handle x86_64 passing conventions.
10522         (function_arg): Likewise.
10523         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
10524         (RETURN_IN_MEMORY): Move offline.
10525         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
10526         (FUNCTION_VALUE_REGNO_P): New macro.
10527         (FUNCTION_ARG_REGNO_P): Move offline.
10528         (struct ix86_args): Add maybe_vaarg.
10529         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
10530         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
10531
10532 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
10533
10534         * s390.md: Changed attributes for scheduling.
10535         * s390.c: (s390_adjust_cost, s390_adjust_priority)
10536         Changed scheduling
10537
10538 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10539
10540         Table-driven attributes.
10541         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
10542         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
10543         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
10544         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
10545         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
10546         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
10547         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
10548         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
10549         * tree.h (struct tree_decl): Change machine_attributes to
10550         attributes.
10551         * doc/c-tree.texi: Document that all attributes are now attached
10552         to decls and types.
10553         * c-common.c (add_attribute, attrtab, attrtab_idx,
10554         default_valid_lang_attribute, valid_lang_attribute): Remove.
10555         (attribute_tables, attributes_initialized,
10556         c_common_attribute_table, default_lang_attribute_table): New
10557         variables.
10558         (handle_packed_attribute, handle_nocommon_attribute,
10559         handle_common_attribute, handle_noreturn_attribute,
10560         handle_unused_attribute, handle_const_attribute,
10561         handle_transparent_union_attribute, handle_constructor_attribute,
10562         handle_destructor_attribute, handle_mode_attribute,
10563         handle_section_attribute, handle_aligned_attribute,
10564         handle_weak_attribute, handle_alias_attribute,
10565         handle_no_instrument_function_attribute,
10566         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
10567         handle_no_limit_stack_attribute, handle_pure_attribute): New
10568         functions.
10569         (init_attributes, decl_attributes): Rewrite to implement
10570         table-driven attributes.
10571         * c-common.h (enum attribute_flags): Move to tree.h.
10572         * c-format.c (decl_handle_format_attribute,
10573         decl_handle_format_arg_attribute): Rename to
10574         handle_format_attribute and handle_format_arg_attribute.  Update
10575         for table-driven attributes.
10576         * c-common.h (decl_handle_format_attribute,
10577         decl_handle_format_arg_attribute): Remove prototypes.
10578         (handle_format_attribute, handle_format_arg_attribute): Add
10579         prototypes.
10580         * c-decl.c (grokdeclarator): Handle attributes nested inside
10581         declarators.
10582         * c-parse.in (setattrs, maybe_setattrs): Remove.
10583         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
10584         Update to handle nested attributes properly.
10585         (maybe_resetattrs, after_type_declarator,
10586         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
10587         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
10588         properly.
10589         (make_pointer_declarator): Update to handle nested attributes
10590         properly.
10591         * doc/extend.texi: Update documentation of limits of attributes
10592         syntax.  Warn about problems with attribute semantics in C++.
10593         * target.h (struct target): Remove valid_decl_attribute and
10594         valid_type_attribute.  Add attribute_table and
10595         function_attribute_inlinable_p.
10596         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
10597         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
10598         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
10599         Add.
10600         (TARGET_INITIALIZER): Update.
10601         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
10602         definition.
10603         (function_attribute_inlinable_p): New function.  Check for the
10604         presence of any machine attributes before using
10605         targetm.function_attribute_inlinable_p.
10606         (function_cannot_inline_p): Update.
10607         * Makefile.in (integrate.o): Update dependencies.
10608         * doc/tm.texi: Update documentation of target attributes and
10609         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
10610         * tree.c (default_valid_attribute_p, valid_machine_attribute):
10611         Remove.
10612         (default_target_attribute_table,
10613         default_function_attribute_inlinable_p): New.
10614         (lookup_attribute): Update comment to clarify handling of multiple
10615         attributes with the same name.
10616         (merge_attributes, attribute_list_contained): Allow multiple
10617         attributes with the same name but different arguments to appear in
10618         the same attribute list.
10619         * tree.h (default_valid_attribute_p): Remove prototype.
10620         (struct attribute_spec): New.
10621         (default_target_attribute_table): Declare.
10622         (enum attribute_flags): Move from c-common.h.  Add
10623         ATTR_FLAG_TYPE_IN_PLACE.
10624         (default_function_attribute_inlinable_p): Declare.
10625         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
10626         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10627         (TARGET_ATTRIBUTE_TABLE): Define.
10628         (vms_attribute_table): New.
10629         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
10630         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10631         (TARGET_ATTRIBUTE_TABLE): Define.
10632         (arc_attribute_table, arc_handle_interrupt_attribute): New.
10633         * config/arm/arm.c (arm_valid_type_attribute_p,
10634         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
10635         Remove.
10636         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10637         define.
10638         (TARGET_ATTRIBUTE_TABLE): Define.
10639         (arm_attribute_table, arm_handle_fndecl_attribute,
10640         arm_handle_isr_attribute): New.
10641         * config/avr/avr.c (avr_valid_type_attribute,
10642         avr_valid_decl_attribute): Remove.
10643         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
10644         define.
10645         (TARGET_ATTRIBUTE_TABLE): Define.
10646         (avr_attribute_table, avr_handle_progmem_attribute,
10647         avr_handle_fndecl_attribute): New.
10648         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
10649         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10650         (TARGET_ATTRIBUTE_TABLE): Define.
10651         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
10652         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
10653         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10654         (TARGET_ATTRIBUTE_TABLE): Define.
10655         (h8300_attribute_table, h8300_handle_fndecl_attribute,
10656         h8300_handle_eightbit_data_attribute,
10657         h8300_handle_tiny_data_attribute): New.
10658         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
10659         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
10660         Remove prototypes.
10661         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
10662         declarations.
10663         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
10664         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10665         define.
10666         (TARGET_ATTRIBUTE_TABLE): Define.
10667         (ix86_attribute_table, ix86_handle_cdecl_attribute,
10668         ix86_handle_regparm_attribute): New.
10669         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
10670         i386_pe_valid_type_attribute_p): Remove.
10671         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
10672         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
10673         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10674         (TARGET_ATTRIBUTE_TABLE): Define.
10675         (ia64_attribute_table): New.
10676         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
10677         interrupt_ident2, model_ident1, model_ident2): Remove.
10678         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10679         (TARGET_ATTRIBUTE_TABLE): Define.
10680         (init_idents): Update.
10681         (m32r_attribute_table, m32r_handle_model_attribute): New.
10682         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
10683         Remove.
10684         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10685         (TARGET_ATTRIBUTE_TABLE): Define.
10686         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
10687         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
10688         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10689         (TARGET_ATTRIBUTE_TABLE): Define.
10690         (mcore_attribute_table, mcore_handle_naked_attribute): New.
10691         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
10692         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10693         (TARGET_ATTRIBUTE_TABLE): Define.
10694         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
10695         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
10696         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10697         (TARGET_ATTRIBUTE_TABLE): Define.
10698         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
10699         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
10700         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10701         (TARGET_ATTRIBUTE_TABLE): Define.
10702         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
10703         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
10704         New.
10705         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
10706         Remove.
10707         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
10708         (TARGET_ATTRIBUTE_TABLE): Define.
10709         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
10710         New.
10711         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
10712         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10713         (TARGET_ATTRIBUTE_TABLE): Define.
10714         (v850_attribute_table, v850_handle_interrupt_attribute,
10715         v850_handle_data_area_attribute): New.
10716         * config/v850/v850-c.c (mark_current_function_as_interrupt):
10717         Return void.  Call decl_attributes instead of
10718         valid_machine_attribute.
10719
10720 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
10721
10722         * sh-protos.h (sh_pr_n_sets): Declare.
10723         * sh.c (calc_live_regs): If the initial value for PR has been copied,
10724         look at the copy to determine if PR needs to be saved.
10725         sh_pr_n_sets: New function.
10726         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
10727         (ALLOCATE_INITIAL_VALUE): Define.
10728
10729         * sh.c (initial_elimination_offset):
10730         Fix RETURN_ADDRESS_POINTER_REGNUM case.
10731
10732 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
10733
10734         * integrate.c (allocate_initial_values): New function.
10735         * integrate.h (allocate_initial_values): Declare.
10736         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
10737         here...
10738         * reload1.c (reload): And initialization of reg_equiv_memory_loc
10739         from here...
10740         * toplev.c (rest_of_compilation): To here.
10741         Call allocate_initial_values.
10742         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
10743
10744 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10745
10746         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
10747
10748 2001-09-20  DJ Delorie  <dj@redhat.com>
10749
10750         * c-typeck.c (really_start_incremental_init): Discriminate
10751         between zero-length arrays and flexible arrays.
10752         (push_init_level): Detect zero-length arrays and handle them
10753         like fixed-sized arrays.
10754         * expr.c (store_constructor): Handle zero-length arrays and
10755         flexible arrays correctly.
10756         * doc/extend.texi: Update zero-length array notes.
10757
10758 2001-09-20  Jim Wilson  <wilson@redhat.com>
10759
10760         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
10761         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
10762         for issue port conflicts.
10763         (cycle_end_fill_slots): TYPE_L instructions take two slots.
10764
10765 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
10766
10767         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
10768         on ia64.
10769
10770 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10771
10772         * fold-const.c (hashtab.h): Include.
10773         (int_const_binop): Remove FORSIZE arg and compute from type; all
10774         callers changed.
10775         Call size_int_type_wide for all single-word constants.
10776         (size_htab_hash, size_htab_eq): New functions.
10777         (size_int_type_wide): Rework to use hash table.
10778         * ggc-common.c (hashtab.h): Include.
10779         (struct d_htab_root): New struct.
10780         (d_htab_roots): New variable.
10781         (ggc_add_deletable_htab, ggc_htab_delete): New functions
10782         (ggc_mark_roots): Handle deletable htabs.
10783         * ggc-page.c (ggc_marked_p): New function.
10784         * ggc-simple.c (ggc_marked_p): Likewise.
10785         * ggc.h: Reformatting throughout.
10786         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
10787         * tree.c (init_obstacks): Make type_hash_table a deletable root.
10788         (type_hash_add): Allocate struct type_hash from GC memory.
10789         (mark_hash_entry, mark_type_hash): Deleted.
10790         (type_hash_marked_p, type_hash_mark): New functions.
10791         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
10792
10793 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
10794
10795         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
10796         than SImode.
10797
10798 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10799
10800         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
10801         array-too-large test for signed sizetype.
10802
10803 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10804
10805         * i386.md (indirect_jump): Allow Pmode operand.
10806         (tablejump): LIkewise; perform expansion to 64bit mode.
10807         * i386.c (symbolic_operand): Allow 64bit PIC references.
10808         (pic_symbolic_operand): Likewise.
10809         (ix86_find_base_term): Strip the 64bit PIC references.
10810         (legitimate_pic_address_disp_p): Handle 64bit PIC.
10811         (legitimize_pic_address): Likewise.
10812         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
10813         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
10814
10815 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
10816
10817         * stringpool.c (get_identifier_with_length): New function.
10818         * tree.h (get_identifier_with_length): New prototype.
10819
10820 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
10821             David Edelsohn  <edelsohn@gnu.org>
10822
10823         Revert:
10824         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
10825         already sign-extended.
10826
10827         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
10828         * config/rs6000/rs6000.c (logical_operand): Always compare op as
10829         HOST_WIDE_INT.
10830         (rs6000_emit_set_long_const): Avoid unnecessary shift.
10831         (output_profile_hook): Declare label_name const.
10832         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
10833         to match constraints.
10834
10835 2001-09-19  Stan Shebs  <shebs@apple.com>
10836
10837         * alias.c: Fix typos in comments.
10838         * sched-rgn.c (init_ready_list): Ditto.
10839         * unwind-dw2.c (uw_frame_state_for): Ditto.
10840         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
10841         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
10842         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
10843
10844 2001-09-19  Richard Henderson  <rth@redhat.com>
10845
10846         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
10847         to the exit block.
10848         * Makefile.in (cfg.o): Depend on TM_P_H.
10849
10850 2001-09-19  Richard Henderson  <rth@redhat.com>
10851
10852         * config/alpha/alpha.c (local_symbol_p): Split out from ...
10853         (local_symbolic_operand): ... here.
10854         (small_symbolic_operand): Check mode.
10855         (global_symbolic_operand): New.
10856         (input_operand): Reject symbolics if explicit relocs.
10857         (call_operand): Tidy.
10858         (alpha_legitimize_address): Use movdi_er_high_g.
10859         (alpha_expand_mov): Likewise.
10860         * config/alpha/alpha-protos.h: Update.
10861         * config/alpha/alpha.h (PREDICATE_CODES): Update.
10862         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
10863         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
10864         (UNSPECV_LDGP2): Remove.
10865         (all call patterns): Use 's' not 'i' for symbolic constraint.
10866         (call_osf call_value_osf): Use call_operand.
10867         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
10868         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
10869         (prologue_ldgp_1_er): Remove.
10870         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
10871         (builtin_setjmp_receiver_er patterns): Use them.
10872         (exception_receiver_er): Likewise.
10873
10874 2001-09-19  Richard Henderson  <rth@redhat.com>
10875
10876         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
10877
10878         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
10879         and NON_LOCAL_GOTO notes.
10880         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
10881         copy over CALL_INSN_FUNCTION_USAGE.
10882
10883 2001-09-18  Catherine Moore  <clm@redhat.com>
10884
10885         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
10886         Define as 0.
10887
10888 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
10889
10890         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
10891         new-style tm_file specification.  Specify correct tm_p_file,
10892         md_file, and out_file for s390x.
10893
10894         * config/s390/linux.h, linux64.h:  Don't include other target
10895         macro header files.  Now handled via tm_file.
10896
10897         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
10898         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
10899         are defined before use.
10900
10901 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
10902
10903         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
10904         code generation only for Gnu assembler.
10905
10906 2001-09-18  Catherine Moore  <clm@redhat.com>
10907
10908         * config/stormy16 (LIB_SPEC): Remove -lnosys.
10909
10910 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
10911
10912         * config/mips/mips.c (mips_frame_set): New.
10913         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
10914         a parallel frame-related expression with a set for each register.
10915
10916 2001-09-18  Philip Blundell  <philb@gnu.org>
10917
10918         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
10919         header files.
10920
10921 2001-09-17  Dale Johannesen  <dalej@apple.com>
10922
10923         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
10924         * config/rs6000/aix.h (FIXED_R2): Define.
10925         * config/rs6000/darwin.h (FIXED_R2): Define.
10926         * config/rs6000/sysv4.h (FIXED_R2): Define.
10927
10928 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
10929
10930         * except.c (dw2_build_landing_pads): New local
10931         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
10932         barrier after clobbers.  Fixes c++/4012.
10933
10934 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10935
10936         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
10937
10938 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
10939
10940         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
10941         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
10942
10943 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10944
10945         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
10946         alloca/strcpy.
10947
10948 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10949
10950         * cpphash.h (_cpp_lex_direct): New.
10951         * cpplex.c (_cpp_lex_token): Update.
10952         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
10953         and increment that pointer.
10954         * cppmacro.c (alloc_expansion_token): New.
10955         (lex_expansion_token): Lex macro expansion directly into
10956         macro storage.
10957
10958 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
10959
10960         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
10961
10962 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
10963
10964         * basic-block.h (free_bb_for_insn): Declare.
10965         * bb-reorder.c (label_for_bb): Use block_label.
10966         (emit_jump_to_block_after): Remove.
10967         (insert_intra_1): Do not update block_for_insn.
10968         (insert_inter_bb_scope_notes): Likewise; update bb->end
10969         * cfg.c (free_bb_for_insn): New.
10970         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
10971         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
10972         (commit_one_edge_insertion): Likewise.
10973         (commit_one_edge_insertion): Do not update BB boundary.
10974         (commit_edge_insertions): Do not call compute_bb_for_insn.
10975         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
10976         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
10977         (merge_blocks_move_successor_nojumps): Likewise.
10978         (try_crossjump_to_edge): Do not update block_for_insn.
10979         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
10980         * df.c (df_pattern_emit_later): Do not update BB boundary.
10981         (df_jump_pattern_emit_after): Likewise.
10982         (df_insn_move_before): Use emit_insn_before.
10983         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
10984          properly.
10985         (add_insn_after, add_insn_before, emit_insns_after): Update BB
10986         boundaries and basic_block_for_insn.
10987         (reorder_insns_nobb): Rename from reorder_insns.
10988         (reorder_insns): New.
10989         (emit_block_insn_before, emit_block_insn_after): Kill.
10990         * flow.c (check_function_return_warnings): Do not call
10991         compute_bb_for_insn; Do not free basic_block_for_insn.
10992         (attempt_auto_inc): Do not update basic_block_for_insn.
10993         * function.c (emit_return_into_block): Likewise;
10994         do not update BB boundaries.
10995         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
10996         (insert_insn_end_bb): Use emit_insn_before; Likewise.
10997         (pre_insert_copy_insn): Likewise.
10998         (update_ld_motion_notes): Likewise.
10999         (insert_insn_start_bb): Likewise.
11000         (replace_store_insn): Likewise.
11001         * ifcvt.c (noce_process_if_block): Likewise.
11002         (if_convert): Do not call compute_bb_for_insn.
11003         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
11004         Use emit_insn_before and emit_insn_after.
11005         * recog.c (split_all_insns): Do not update BB boundaries;
11006         Do not call compute_bb_for_insn.
11007         (peephole2_optimize): Do not update BB boundaries.
11008         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
11009         emit_insn_before.
11010         (emit_swap_insn): Likewise.
11011         (convert_regs_1): Likewise.
11012         * reload1.c (reload): Call compute_bb_for_insn.
11013         * rtl.h (reorder_insns_nobb): Declare.
11014         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
11015         * toplev.c (rest_of_compilation): Call free_bb_for_insn
11016         at places CFG is invalidated; do not call compute_bb_for_insn.
11017
11018         * cfg.c (expunge_block): Invalidate BB structure.
11019
11020         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
11021         array.
11022
11023         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
11024
11025 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
11026
11027         * cpphash.h (_cpp_lex_token): Update prototype.
11028         * cpplex.c (_cpp_lex_token): New prototype.
11029         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
11030         lex_macro_node, read_flag, do_pragma_poison): Update.
11031         * cppmacro.c (cpp_get_token, parse_params,
11032         lex_expansion_token): Update.
11033
11034 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
11035
11036         * cppmain.c (scan_translation_unit): Don't worry about
11037         putting a space after hashes.
11038         * cpplib.c (directive_diagnostics): New.
11039         (_cpp_handle_directive): Update to use directive_diagnostics.
11040         (run_directive): Don't toggle prevent_expansion.
11041         (do_line): Backup in case of the line extension.
11042         * cpplib.h (cpp_lexer_pos): Remove.
11043         * cppmacro.c (_cpp_create_definition): Precede a leading #
11044         with whitespace.
11045
11046 2001-09-15  Richard Henderson  <rth@redhat.com>
11047
11048         * c-typeck.c (comptypes): Handle zero-length arrays properly.
11049
11050 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11051
11052         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
11053
11054 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11055
11056         PR preprocessor/3571
11057         * tradcpp.c (handle_directive): Skip non-vertical space.
11058
11059 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11060
11061         * cppmain.c (setup_callbacks): Set line callback only
11062         if outputting preprocessed source.
11063
11064 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11065
11066         * collect2.c (main): Const-ification.
11067         * gcc.c (translate_options, process_command): Use xstrdup in
11068         lieu of xmalloc/strcpy.
11069         (main): Use concat in lieu of xmalloc/strcpy/strcat.
11070
11071 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11072
11073         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
11074         example.
11075
11076 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11077
11078         * scan-decls.c (scan_decls): Fix typo.
11079
11080 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11081
11082         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
11083         Split mlstring_pos into mls_line and mls_col.
11084         * cppinit.c (cpp_create_reader): Initialize line to 1.
11085         (cpp_destroy): Free tokenruns.
11086         (push_include): Don't update lexer_pos.
11087         * cpplex.c (unterminated, parse_string): Update.
11088         (lex_token): Don't update lexer_pos, update.
11089         * cpplib.c (if_stack): Save line instead of line + col.
11090         (start_directive, _cpp_do__Pragma, do_else, do_elif,
11091         push_conditional, _cpp_pop_buffer): Update.
11092         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
11093         (_cpp_create_definition): Update.
11094
11095 2001-09-15  Eric Christopher  <echristo@redhat.com>
11096
11097         * config/mips/abi64.h: Add support for MEABI.
11098
11099 2001-09-15  Eric Christopher  <echristo@redhat.com>
11100
11101         * config/mips/mips.md: Add unspec #2.
11102         (reload_indi): Use.
11103         (reload_outdi): Ditto.
11104         (reload_outsi): Ditto.
11105         (HILO_delay): New.
11106
11107 2001-09-15  Eric Christopher  <echristo@redhat.com>
11108             Jason Eckhardt  <jle@redhat.com>
11109
11110         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
11111         * config/mips/isa32-linux.h: New file.
11112         * config/mips/isa3264.h: Ditto.
11113         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
11114         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
11115         (output_block_mode): Support MEABI.
11116         (function_arg): Ditto. Fix floating point arg passing.
11117         (mips_va_start): Ditto.
11118         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
11119         processors.
11120         (mips_asm_file_start): Add new section to pass abi to gdb.
11121         (function_arg_pass_by_reference): Support MEABI.
11122         (mips_parse_cpu): Support mips32 and mips64 processors.
11123         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
11124         TARGET_MIPS5KC.  Support isa32 and isa64.
11125         (processor_type): Add r4kc, r5kc, r20kc.
11126         (GENERATE_MULT3_SI): New.
11127         (GENERATE_MULT3_DI): Ditto.
11128         (GENERATE_MULT3): Remove.
11129         (ISA_HAS_64BIT_REGS): Add isa == 64.
11130         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
11131         (ISA_HAS_MADD_MSUB): New.
11132         (ISA_HAS_CLZ_CLO): Ditto.
11133         (ISA_HAS_DCLZ_DCLO): Ditto.
11134         (ABI_GAS_ASM_SPEC): New.
11135         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
11136         (ASM_SPEC): Ditto.
11137         (LINK_SPEC): Ditto.
11138         (SUBTARGET_CC1_SPEC): Ditto.
11139         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
11140         (PAD_VARARGS_DOWN): Support MEABI.
11141         (HARD_REGNO_NREGS): Move to mips.c.
11142         (ASM_OUTPUT_IDENT): Add #undef.
11143         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
11144         (mulsi3): Use GENERATE_MULT3_SI.
11145         (mulsi3_mult3): Ditto.  Support mips32, mips64.
11146         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
11147         (mul_sub_si): New pattern.
11148         (unnamed splitters): New.
11149         (muldi3): Use GENERATE_MULT3_DI.
11150         (muldi3_internal2): Ditto.
11151         (movdicc): Support mips32.
11152         * config/mips/t-isa3264: New file.
11153
11154 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
11155
11156         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
11157         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
11158         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
11159
11160         * reorg.c (fill_slots_from_thread): After call to
11161         steal_delay_list_from_target, update own_thread as new_thread may
11162         have branched.
11163
11164 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11165
11166         * cpperror.c (print_location): Take line and column, for
11167         default positioning use the previously lexed token.
11168         (_cpp_begin_message): Take line and column.
11169         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
11170         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
11171         * cpphash.h (_cpp_begin_message): Update prototype.
11172         * cppinit.c (push_include): Don't set output line.
11173         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
11174         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
11175         (do_pragma): Kludge for front ends.  Don't expand macros at all.
11176         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
11177         (struct cpp_token): Remove output_line.
11178         (struct cpp_callbacks): New member line_change.
11179         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
11180         cpp_get_token): Preserve BOL flag.
11181         (cpp_get_line): Remove.
11182         (_cpp_backup_tokens): Remove useless abort().
11183         * cppmain.c (cb_line_change): New.
11184         (scan_translation_unit): Don't worry about starting new lines here.
11185         * scan-decls.c (scan_decls): Update.
11186         * c-lex.c (c_lex, init_c_lex): Update.
11187         (cb_line_change, src_lineno): New.
11188
11189 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
11190
11191         * tree.c (append_random_chars): Generate the random
11192         characters in a reproducable fashion.
11193
11194 2001-09-14  Richard Henderson  <rth@redhat.com>
11195
11196         * config/i386/i386.c (internal_label_prefix): New.
11197         (internal_label_prefix_len): New.
11198         (override_options): Set them.
11199         (local_symbolic_operand): New.
11200         (legitimate_pic_address_disp_p): Use it.
11201         (legitimize_pic_address): Likewise.
11202
11203 2001-09-14  Marc Espie <espie@openbsd.org>
11204
11205         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
11206         correctly.
11207
11208 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11209
11210         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
11211         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
11212
11213 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
11214
11215         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
11216         invocation of SUBREG_REGNO_OFFSET.
11217
11218         * haifa-sched.c: Fix typo in FSF copyright statement.
11219         * sched-deps.c: Fix typo in FSF copyright statement.
11220         * sched-ebb.c: Fix typo in FSF copyright statement.
11221         * sched-rgn.c: Fix typo in FSF copyright statement.
11222         * sched-vis.c: Fix typo in FSF copyright statement.
11223
11224         * config.gcc: Move inclusion of arm elf specific header files
11225         from the files themselves into the tm_file variable.  Make
11226         sure that elfos.h is included before target specific elf
11227         headers.
11228         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
11229         already defined.
11230         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
11231         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
11232         ASM_OUTPUT_CASE_LABEL): Protect definition.
11233         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
11234         not already defined.
11235         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
11236         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
11237         Remove duplicate definition.
11238         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
11239         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
11240         (RDATA_SECTION_FUNCTION): Remove redundant definition.
11241         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
11242         Remove inclusion of arm/elf.h.
11243         * config/arm/unknown-elf.h: as for conix-elf.h.
11244         (STARTFILE_SPEC): Include crti.o and crtn.o.
11245         * config/arm/linux-elf.h: as for conix-elf.h.
11246         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
11247         * config/arm/strongarm-elf.h: Remove inclusion of
11248         unknown-elf.h.
11249         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
11250         * config/arm/unknown-elf-oabi.h: Remove inclusion of
11251         unknown-elf.h and elf.h.
11252         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
11253         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
11254         ASM_WEAKEN_LABEL): Remove redundant definition.
11255         * config/arm/elf.h: Test for inclusion of elfos.h
11256         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
11257         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
11258         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
11259         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
11260         redundant definition.
11261         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
11262         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
11263         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
11264         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
11265         Add rules to build crti.o and crtn.o
11266         * crti.asm: New file.
11267         * crtn.asm: New file.
11268
11269 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11270
11271         * c-parse.in (_yylex): Use _cpp_backup_tokens.
11272         * cpphash.h (struct tokenrun): Add prev.
11273         (struct lexer_state): Remove bol.
11274         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
11275         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
11276         : Remove.
11277         * cppinit.c (cpp_create_reader): Don't set bol.
11278         (cpp_destroy): Don't free lookaheads.
11279         * cpplex.c (lex_directive): Remove.
11280         (next_tokenrun): Update.
11281         (_cpp_lex_token): Clean up logic.
11282         (lex_token): Update to return a pointer to lexed token, since it
11283         can move to the start of the buffer.  Simpify newline handling.
11284         * cpplib.c (SEEN_EOL): Update.
11285         (skip_rest_of_line): Remove lookahead stuff.
11286         (end_directive): Line numbers are already incremented.  Revert
11287         to start of lexed token buffer if we can.
11288         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
11289         parse_answer): Use _cpp_backup_tokens.
11290         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
11291         instead.  Don't check for EOL.
11292         (do_include_common, do_line, do_pragma_system_header): Use
11293         skip_rest_of_line.
11294         * cpplib.h (BOL, _cpp_backup_tokens): New.
11295         * cppmacro.c (save_lookahead_token, take_lookahead_token,
11296         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
11297         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
11298         (builtin_macro): Don't use cpp_get_line.
11299         (cpp_get_line): Short term kludge.
11300         (parse_arg): Handle directives in arguments here.  Back up when
11301         appropriate.  Store EOF at end of argument list.
11302         (funlike_invocation_p): Use _cpp_backup_tokens.
11303         (push_arg_context): Account for EOF at end of list.
11304         (cpp_get_token): Remove lookahead stuff.  Update.
11305
11306 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11307
11308         * c-parse.in (yyerror): Const-ification and/or static-ization.
11309         * c-typeck.c (push_member_name): Likewise.
11310         * collect2.c (main): Likewise.
11311         * dbxout.c (dbxout_parms): Likewise.
11312         * diagnostic.c (format_with_decl): Likewise.
11313         * dwarf2out.c (output_ranges): Likewise.
11314         * dwarfout.c (fundamental_type_code): Likewise.
11315         * except.c (dw2_output_call_site_table): Likewise.
11316         * gcc.c (do_spec_1): Likewise.
11317         * genopinit.c (optabs): Likewise.
11318         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
11319         gen_declaration_1, handle_impent): Likewise.
11320         * protoize.c (default_include, in_system_include_dir, abspath):
11321         Likewise.
11322         * sched-vis.c (visualize_stall_cycles): Likewise.
11323         * sdbout.c (plain_type_1, sdbout_end_function,
11324         sdbout_end_epilogue): Likewise.
11325         * varasm.c (decode_reg_name): Likewise.
11326
11327         * 1750a.c (mod_regno_adjust): Likewise.
11328         * alpha.c (alpha_write_one_linkage,
11329         unicosmk_output_default_externs): Likewise.
11330         * arm.c (arm_condition_codes): Likewise.
11331         * arm.h (arm_condition_codes): Likewise.
11332         * avr.c (output_movsisf, encode_section_info): Likewise.
11333         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
11334         Likewise.
11335         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11336         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11337         * m88k.c (output_function_profiler): Likewise.
11338         * mips.c (mips_output_conditional_branch): Likewise.
11339         * ns32k.c (ns32k_out_reg_names): Likewise.
11340         * ns32k.h (ns32k_out_reg_names): Likewise.
11341         * pj.c (pj_output_rval): Likewise.
11342         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
11343         * sparc.c (sparc_flat_function_prologue,
11344         sparc_flat_function_epilogue): Likewise.
11345
11346 2001-09-13  Markus Werle <numerical.simulation@web.de>
11347             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11348
11349         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
11350         Aachen University of Technology".
11351
11352 2001-09-13  Andreas Schwab  <schwab@suse.de>
11353
11354         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
11355         C99.
11356
11357 2001-09-13  Richard Henderson  <rth@redhat.com>
11358
11359         * config/alpha/alpha.c (small_symbolic_operand): New.
11360         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
11361         (some_operand, input_operand): Don't handle HIGH.
11362         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
11363         (alpha_expand_mov): Likewise.
11364         (print_operand) [H]: Just print HIGH symbol.
11365         (print_operand_address): Handle small data.
11366         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
11367         (TARGET_SWITCHES): Add -msmall-data/large-data.
11368         (PIC_OFFSET_TABLE_REGNUM): New.
11369         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
11370         (PREDICATE_COES): Update.
11371         * config/alpha/alpha.md (adddi_er_high): New.
11372         (adddi_er_low): Handle small data.
11373         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
11374         prefer .sdata to .rodata.
11375         (SELECT_RTX_SECTION): Likewise.
11376
11377 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
11378
11379         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
11380         defining __size_t and leaving size_t undefined.
11381
11382 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
11383
11384         * basic-block.h (expunge_block): Declare.
11385         * cfg.c (expunge_block): Remove static declaration.
11386
11387 2001-09-12  Richard Henderson  <rth@redhat.com>
11388
11389         * integrate.c (copy_insn_list): Copy label name from
11390         NOTE_INSN_DELETED_LABEL.
11391
11392 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11393
11394         * c-common.c (c_tree_code_name): Const-ification.
11395         * c-decl.c (c_decode_option): Likewise.
11396         * c-typeck.c (warn_for_assignment): Likewise.
11397         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
11398         Likewise.
11399         * cppinit.c (output_deps): Likewise.
11400         * dependence.c (dependence_string, direction_string): Likewise.
11401         * dwarf2out.c (output_ranges): Likewise.
11402         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
11403         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
11404         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
11405         standard_startfile_prefix, standard_startfile_prefix_1,
11406         standard_startfile_prefix_2, tooldir_base_prefix,
11407         standard_bindir_prefix, find_a_file): Likewise.
11408         * genattrtab.c (make_length_attrs): Likewise.
11409         * gencheck.c (tree_codes): Likewise.
11410         * genemit.c (gen_split): Likewise.
11411         * genrecog.c (special_mode_pred_table): Likewise.
11412         * graph.c (graph_ext): Likewise.
11413         * protoize (default_include): Likewise.
11414         * reload.c (reload_when_needed_name): Likewise.
11415         * sched-vis.c (visualize_stall_cycles): Likewise.
11416         * tlink.c (recompile_files): Likewise.
11417         * toplev.c (decode_g_option): Likewise.
11418         * tradcpp.c (output_deps): Likewise.
11419         * varasm.c (decode_reg_name): Likewise.
11420
11421         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
11422         Const-ification.
11423         * arm.md: Likewise.
11424         * avr.c (avr_regnames, encode_section_info): Likewise.
11425         * c4x.c (float_reg_names): Likewise.
11426         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
11427         * elfos.h (const_section): Likewise.
11428         * i386.c (ix86_comp_type_attributes): Likewise.
11429         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
11430         * ia64/aix.h (UNIQUE_SECTION): Likewise.
11431         * ia64.c (type_names): Likewise.
11432         * m68hc11.c (reg_class_names): Likewise.
11433         * m88k.c (m_options): Likewise.
11434         * mips.c (mips_output_conditional_branch, mips_unique_section):
11435         Likewise.
11436         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
11437         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
11438         ultra_code_names): Likewise.
11439         * sparc.h (OVERRIDE_OPTIONS): Likewise.
11440
11441 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
11442
11443         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
11444         Use --fatal-warnings option for gas.
11445         * configure: Rebuilt.
11446
11447 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11448
11449         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
11450
11451 2001-09-11  Jim Wilson  <wilson@redhat.com>
11452
11453         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
11454
11455 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11456
11457         * builtins.c (c_strlen): Treat an offset too large for a
11458         HOST_WIDE_INT as out of range.
11459
11460 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
11461
11462         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
11463         (EDGE_CRITICAL_P): New predicate.
11464         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
11465         handling.
11466         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
11467         (dump_edge_info): Remove "crit".
11468         * cfganal.c (mark_critical_edges): Kill.
11469         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
11470         * cfgcleanup.c (cleanup_cfg): Likewise.
11471         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
11472         (find_spanning_tree): Likewise.
11473         * reg-stack.c (convert_regs_1): Likewise.
11474         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
11475
11476         * basic-block.h (create_basic_block_structure): New.
11477         (create_basic_block): Update prototype.
11478         (force_nonfallthru): New.
11479         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
11480         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
11481         handle updating of block_for_insn, creating of empty BBs and BBs at
11482         the end of INSN chain.
11483         (create_basic_block): New function.
11484         (split_block): Use create_basic_block.
11485         (force_nonfallthru_and_redirect): Break out from ...; cleanup
11486         (redirect_edge_and_branch_force): ... here.
11487         (force_nonfallthru): New.
11488         (split_edge): Rewrite to use force_nonfallthru and create_block.
11489         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
11490         (find_basic_blocks): Free basic_block_for_insn.
11491         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
11492
11493         * cfg.c: Fix formating.
11494         * cfgcleanup.c: Fix formating.
11495         (merge_blocks, tail_recursion_label_p): Return bool.
11496         (merge_blocks_move_predecessor_nojumps,
11497          merge_blocks_move_successor_nojumps): Return void.
11498
11499 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
11500
11501         * configure.in: Check whether assembler supports section merging.
11502         * config.in: Rebuilt.
11503         * configure: Rebuilt.
11504         * varasm.c (variable_section, output_constant_pool): Pass alignment
11505         to SELECT_SECTION and SELECT_RTX_SECTION.
11506         (mergeable_string_section): New.
11507         (mergeable_constant_section): New.
11508         (default_elf_asm_named_section): Output SECTION_MERGE and
11509         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11510         * output.h (mergeable_string_section): New.
11511         (mergeable_constant_section): New.
11512         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
11513         * toplev.c (flag_merge_constants): New.
11514         (f_options): Add -fmerge-constants and -fmerge-all-constants
11515         options.
11516         (toplev_main): Default to -fno-merge-constants if not optimizing.
11517         * flags.h (flag_merge_constants): Add extern.
11518         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
11519         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
11520         argument.
11521         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
11522         Define if assembler has working .subsection -1 support.
11523         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
11524         Put constant into special SHF_MERGE sections if the linker should
11525         attempt to merge duplicates.
11526         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
11527         macro argument.
11528         Put constant into special SHF_MERGE sections if the linker should
11529         attempt to merge duplicates.
11530         * config/alpha/elf.h: Likewise.
11531         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
11532         has working .subsection -1 support.
11533         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
11534         SELECT_SECTION.
11535         * config/svr3.h: Likewise.
11536         * config/darwin.h: Likewise.
11537         * config/arm/aof.h: Likewise.
11538         * config/arm/linux-elf.h: Likewise.
11539         * config/avr/avr.h: Likewise.
11540         * config/c4x/c4x.h: Likewise.
11541         * config/d30v/d30v.h: Likewise.
11542         * config/i386/dgux.h: Likewise.
11543         * config/i386/osfrose.h: Likewise.
11544         * config/i386/sco5.h: Likewise.
11545         * config/i386/svr3gas.h: Likewise.
11546         * config/ia64/aix.h: Likewise.
11547         * config/m32r/m32r.h: Likewise.
11548         * config/m68k/m68k.h: Likewise.
11549         * config/m88k/dgux.h: Likewise.
11550         * config/m88k/m88k.h: Likewise.
11551         * config/mcore/mcore-pe.h: Likewise.
11552         * config/mips/mips.h: Likewise.
11553         * config/pa/pa.h: Likewise.
11554         * config/pa/pa-linux.h: Likewise.
11555         * config/romp/romp.h: Likewise.
11556         * config/rs6000/sysv4.h: Likewise.
11557         * config/rs6000/xcoff.h: Likewise.
11558         * config/s390/linux.h: Likewise.
11559         * config/sparc/sparc.h: Likewise.
11560         * config/sparc/sysv4.h: Likewise.
11561         * config/stormy16/stormy16.h: Likewise.
11562         * config/v850/v850.h: Likewise.
11563         * config/vax/vms.h: Likewise.
11564         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
11565         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11566         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
11567         default_elf_asm_named_section for SHF_MERGE sections.
11568
11569 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11570
11571         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
11572         is OK.
11573
11574 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
11575
11576         * c-common.c (split_specs_attrs): Allow for empty attributes with
11577         empty TREE_PURPOSE.  Fixes PR c/4294.
11578
11579 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
11580
11581         * basic-block.h (cached_make_edge, make_single_succ): New.
11582         (make_edge): Remove first parameter.
11583         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
11584         * cfg.c (cached_make_edge): Rename from make_edge; return newly
11585         created edge; use obstack allocation.
11586         (make_edge, make_single_succ_edge): New.
11587         (first_removed_edge): New static variable.
11588         (init_flow): Initialize first_removed_edge and n_edges.
11589         (clear_edges): Use remove_edge.
11590         (flow_delete_block): Likewise.
11591         (remove_edge): Add removed edges to the removed edges list.
11592         (split_block, redirect_edge_and_branch_force, split_edge):
11593         Use make_edge.
11594         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
11595         (add_noreturn_fake_exit_edges): Likewise.
11596         (connect_infinite_loops_to_exit): Liekwise.
11597         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
11598         Use cached_make_edge.
11599         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
11600         * profile.c (branch_prob): Update make_edge call.
11601         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11602
11603 2001-09-11  Richard Henderson  <rth@redhat.com>
11604
11605         * config/alpha/alpha.c: Tidy formatting.
11606         (local_symbolic_operand): Verify mode.
11607         (alpha_sa_mask): Ignore unicos for eh_return.
11608         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
11609         * config/alpha/alpha.md (umk divsi patterns): Remove.
11610         (extendsfdf2): Remove unicos check.
11611         (tablejump): Merge vms and unicos code; always use direct set
11612         plus label_ref use.
11613
11614 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11615
11616         * config.gcc (alpha*-*-unicosmk*): New target.
11617
11618         * config/alpha/alpha-protos.h (symbolic_operand,
11619         unicosmk_add_call_info_word, unicosmk_add_extern,
11620         unicosmk_defer_case_vector, unicosmk_unique_section,
11621         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
11622         unicosmk_asm_file_start, unicosmk_asm_file_end,
11623         unicosmk_output_common): Declare.
11624
11625         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
11626         direct_return, function_arg, alpha_va_start, alpha_va_arg,
11627         alpha_does_function_need_gp, alpha_end_function): Support Cray
11628         Unicos/Mk.
11629         (alpha_init_machine_status, alpha_mark_machine_status,
11630         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
11631         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
11632         unicosmk_asm_named_section, unicosmk_insert_attributes,
11633         unicosmk_section_type_flags, symbolic_operand,
11634         unicosmk_output_module_name, unicosmk_output_default_externs,
11635         unicosmk_output_dex, unicosmk_output_externs,
11636         unicosmk_output_addr_vec, unicosmk_ssib_name,
11637         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
11638         unicosmk_asm_file_end, unicosmk_output_common,
11639         unicosmk_section_type_flags, unicosmk_unique_section,
11640         unicosmk_add_call_info_word, unicosmk_text_section,
11641         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
11642         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
11643         unicosmk_dex_count, unicosmk_special_name): New.
11644         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
11645         TARGET_ABI_UNICOSMK.
11646         (get_aligned_mem, alpha_expand_unaligned_load,
11647         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
11648         alpha_expand_unaligned_store_words): Support big-endian mode.
11649         (print_operand): Likewise. New format specifier 't'. Use
11650         TARGET_AS_SLASH_BEFORE_SUFFIX.
11651         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
11652         (alpha_pv_save_size): Update with above change.
11653         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
11654         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
11655         Unicos/Mk.
11656
11657         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
11658         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
11659         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
11660         (EXTRA_CONSTRAINT): New constraint 'U'.
11661         (PREDICATE_CODES): Add symbolic_operand.
11662
11663         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
11664         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
11665         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
11666         (integer division and modulus patterns): Split in default and
11667         Unicos/Mk versions.
11668         (*divmodsi_internal, *divmoddi_internal): Disable for
11669         TARGET_ABI_UNICOSMK.
11670         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
11671         little-endian and big-endian versions.
11672         (ext, ins, msk): Likewise.
11673         (extv, extzv, insv): Support big-endian mode.
11674         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
11675         (call_umk, call_value_umk, *call_umk, tablejump_umk,
11676         *tablejump_umk_internal, *call_value_umk): New.
11677         (*movdi_nofix): Add pattern for loading an address into a register on
11678         TARGET_ABI_UNICOSMK.
11679         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
11680         (umk_mismatch_args, arg_home_umk): New.
11681         (various insns): Don't use mov, fmov, nop, fnop and unop.
11682         (realign): Support TARGET_ABI_UNICOSMK.
11683
11684         * config/alpha/unicosmk.h: New file.
11685         * config/alpha/t-unicosmk: New file.
11686
11687         * fixinc/inclhack.def (unicosmk_restrict): New.
11688         * fixinc/fixincl.x: Regenerate.
11689
11690         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
11691         (wchar_t): Check for and define __WCHAR_T__.
11692
11693 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
11694
11695         * combine.c (simplify_shift_const): Treat shifts by the mode
11696         size as undefined.
11697
11698 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11699
11700         * cpphash.h (struct tokenrun): New.
11701         (struct cpp_context): New member bol.
11702         (struct cpp_reader): New members.
11703         (_cpp_init_tokenrun): New.
11704         * cppinit.c (cpp_create_reader): Set up the token runs.
11705         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
11706         (lex_token): New internalised version of _cpp_lex_token.  Don't
11707         handle directives or the multiple include optimization here any
11708         more.  Simply lex a token.
11709         * cpplib.c (run_directive): Clear bol.
11710         (_cpp_pop_buffer): Set bol.
11711         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
11712         arguments.
11713
11714 2001-09-11  Michael Meissner  <meissner@redhat.com>
11715
11716         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
11717         give an error if the user uses -mfp32.
11718         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
11719         default options.
11720         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
11721         floating point register size.
11722         (EXTRA_SPECS): Add CPP_FPR_SPEC.
11723
11724         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
11725         HOST_WIDE_INT_PRINT_DEC to properly print the result of
11726         int_size_in_bytes.
11727         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11728         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11729
11730 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
11731
11732         * dbxout.c (dbxout_parms): Fix typo in comment.
11733         * unroll.c (loop_find_equiv_value): Ditto.
11734         * toplev.c (rest_of_compilation): Ditto.
11735         * loop.c (scan_loop): Ditto.
11736         * dwarf2out.c (struct dw_fde_struct): Ditto.
11737
11738 2001-09-10  Zack Weinberg  <zackw@panix.com>
11739
11740         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
11741         copying identifier when we're just going to throw it away.
11742         (parse_identifier_slow): New routine to handle abnormal cases.
11743         (_cpp_lex_token): Update call site.
11744
11745         * hashtable.c (ht_lookup): Don't assume that the string we've
11746         been given is NUL-terminated.
11747         * system.h: #define __builtin_expect(a, b) to (a) if not
11748         GCC >=3.0.
11749
11750 2001-09-10  Michael Meissner  <meissner@redhat.com>
11751
11752         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
11753         binutils, gdb.
11754
11755 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
11756
11757         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
11758
11759 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11760
11761         * builtins.c (c_getstr): Correct thinko in last change and further
11762         cleanup.
11763
11764 2001-09-10  Tim Freeman <tim@fungibole.com>
11765
11766         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
11767         into varray's and register them as roots with the garbage
11768         collector so they are not collected too soon.
11769
11770 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
11771
11772         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
11773         New.
11774         * basic-block.h (flow_obstack, label_value_list,
11775         tail_recursion_label_list): Declare
11776         (tidy_fallthru_edges): Declare.
11777         (expunge_block, last_loop_beg_note): Delete.
11778         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
11779         * cfg.c: New file
11780         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
11781         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
11782         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
11783         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
11784         expunge_block, flow_delete_block, compute_bb_for_insn,
11785         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
11786         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
11787         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
11788         try_redirect_by_replacing_jump, last_loop_beg_note,
11789         redirect_edge_and_branch, redirect_edge_and_branch_force,
11790         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
11791         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
11792         commit_edge_insertions, dump_flow_info, debug_flow_info,
11793         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
11794         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
11795         Move here from flow.c
11796         * cfganal.c: New file.
11797         (forwarder_block_p, can_fallthru, mark_critical_edges,
11798          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
11799          find_unreachable_blocks, create_edge_list, free_edge_list,
11800          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
11801          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
11802          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
11803          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
11804          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
11805          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
11806         Move here from flow.c
11807         * cfgbuild.c: New file
11808         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
11809          make_edges, find_basic_blocks_1, find_basic_blocks,
11810          find_sub_basic_blocks): Move here from flow.c
11811         * cfgcleanup.c: New file.
11812         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
11813          merge_blocks_move_predecessor_nojumps,
11814          merge_blocks_move_successor_nojumps, merge_blocks,
11815          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11816          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
11817         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
11818         if succeeded.
11819         * cfgloop.c: New file
11820         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
11821          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
11822          flow_loop_exit_edges_find, flow_loop_nodes_find,
11823          flow_loop_pre_header_scan, flow_loop_pre_header_find,
11824          flow_loop_tree_node_add, flow_loops_tree_build,
11825          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
11826          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
11827         Move here from flow.c
11828         * flow.c: Remove everything moved elsewhere
11829         * output.h (cleanup_cfg): Return bool.
11830
11831         * bb-reorder.c (reorder_block_def): Remove 'index'.
11832         (insert_intra_1): Add argument BB, set block for new note.
11833         (make_reorder_chain): Do not depdent on BB indexes.
11834         (make_reorder_chain_1): Do not use BB indexes.
11835         (label_for_bb): Likewise; set BB for new insn.
11836         (emit_jump_to_block_after): Likewise.
11837         (fixup_reorder_chain): Sanity check that all basic blocks
11838         are chained; verify newly created insn chain; remove
11839         undocnitional jump simplifying; Do not use BB indexes;
11840         properly initialize count and frequency information;
11841         dump reordered sequence.
11842         (insert_intra_bb_scope_notes): update call of insert_intra_1.
11843         (insert_inter_bb_scope_notes): Set block for new insn.
11844         (reorder_basic_blocks): Dump flow info before reoredering.
11845
11846 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11847
11848         * alias.c (clear_reg_alias_info): Use K&R format definition.
11849         Avoid unsigned warning.
11850         * builtins.c: Use "unsigned int", not "unsigned".
11851         (target_char_cast): Use host_integerp and tree_low_cst.
11852         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
11853         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
11854         (c_getstr): Likewise.
11855         (std_expand_builtin_va_arg): Use int_size_in_bytes.
11856         (builtin_memcpy_read_str): Avoid unsigned warning.
11857         (expand_builtin_memcpy): Alignments are unsigned.
11858         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
11859         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
11860         * predict.c (expensive_function_p): LIMIT now unsigned.
11861         * resource.c (mark_target_live_regs): Make some vars unsigned.
11862         * sdbout.c: Use "unsigned int", not "unsigned".
11863         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
11864         (sdbout_source_line): Likewise.
11865         (sdbout_record_type_name): Remove "const" for NAME declaration.
11866         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
11867
11868 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
11869
11870         * calls.c (store_one_arg): Expand comment.
11871
11872 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11873
11874         * calls.c (store_one_arg): Make sure that the entire argument is
11875         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
11876
11877 2001-09-09  Richard Henderson  <rth@redhat.com>
11878
11879         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
11880
11881 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
11882
11883         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
11884
11885 2001-09-09  Richard Henderson  <rth@redhat.com>
11886
11887         * config/alpha/alpha.c (alpha_next_sequence_number): New.
11888         (alpha_this_literal_sequence_number): New.
11889         (alpha_this_gpdisp_sequence_number): New.
11890         (some_operand, input_operand): Add HIGH.
11891         (local_symbolic_operand): New.
11892         (alpha_encode_section_info): New.
11893         (alpha_legitimate_address_p): Allow LO_SUM.
11894         (alpha_legitimize_address): Generate HIGH+LO_SUM.
11895         (alpha_expand_mov): Likewise.
11896         (secondary_reload_class): Check memory_operand not general_operand
11897         for FP_REGS test.
11898         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
11899         (alpha_expand_unaligned_store): Likewise.
11900         (alpha_expand_unaligned_load_words): Likewise.
11901         (alpha_expand_unaligned_store_words): Likewise.
11902         (alpha_expand_block_clear): Likewise.
11903         (print_operand): Handle %#, %*, %H.
11904         (print_operand_address): Handle LO_SUM.
11905         (find_lo_sum): New.
11906         (alpha_does_function_need_gp): Use it.
11907         (alpha_expand_block_move): Fix signed compare warnings.
11908         (alpha_sa_mask, alpha_align_insns): Likewise.
11909         * config/alpha/alpha-protos.h: Update.
11910         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
11911         (MASK_EXPLICIT_RELOCS): New.
11912         (TARGET_SWITCHES): Add -mexplicit-relocs.
11913         (EXTRA_CONSTRAINT): Add 'T'.
11914         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
11915         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
11916         (ENCODE_SECTION_INFO): Out line.
11917         (REDO_SECTION_INFO_P): New.
11918         (STRIP_NAME_ENCODING): New.
11919         (ASM_OUTPUT_LABELREF): New.
11920         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
11921         (PREDICATE_CODES): Update.
11922         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
11923         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
11924         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
11925         builtin_setjmp_receiver_er, exception_receiver_1_er,
11926         call_value_osf_1_er): New patterns.
11927         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
11928         (movqi, movhi, movsi): Add explicit $31 base register to lda.
11929         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
11930         (FINAL_PRESCAN_INSN): New.
11931
11932 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
11933
11934         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
11935
11936 2001-09-08  Andreas Jaeger  <aj@suse.de>
11937
11938         * i386.h (TARGET_SWITCHES): Fix description.
11939
11940 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
11941
11942         * rs6000.c (num_insns_constant): Compute number of instructions
11943         more accurately.
11944
11945         * doc/install.texi: Explain AIX exception handling work-around.
11946         Update URL for AIX fixes.
11947
11948 2001-09-07  Jim Wilson  <wilson@redhat.com>
11949
11950         * alias.c (clear_reg_alias_info): New.
11951         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
11952         * rtl.h (clear_reg_alias_info): Declare.
11953
11954 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11955
11956         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
11957         available.
11958         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
11959         (m16m,edivm,emulm): Change declaration to match definition.
11960
11961 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
11962
11963         * reload.c (push_reload): Check for subreg_lowpart_p instead of
11964         SUBREG_BYTE being 0 when determining if the inner part of a subreg
11965         can be reloaded.
11966
11967 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11968
11969         * c-common.c (signed_or_unsigned_type): Handle machine mode types
11970         which have no corresponding C type.
11971         * fold_const.c (target_isinf,target_isnan,target_negative): Update
11972         the representation of 64-bit doubles to work with 64-bit ints.
11973
11974 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
11975
11976         * config/mips/mips.c (override_options): Do not override ISA when ABI
11977         specified if MIPS_CPU_STRING_DEFAULT was specified.
11978
11979 2001-09-07  Richard Henderson  <rth@redhat.com>
11980
11981         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
11982         (express_from_1): Wrap lines.
11983         * rtlanal.c (commutative_operand_precedence): Rename from
11984         operand_preference; export.
11985         * rtl.h: Declare it.
11986         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
11987         (simplify_binary_operation): Invoke simplify_plus_minus on
11988         (CONST (PLUS ...)) as well.
11989         (struct simplify_plus_minus_op_data): New.
11990         (simplify_plus_minus_op_data_cmp): New.
11991         (simplify_plus_minus): Use them.  Avoid infinite recursion with
11992         simplify_binary_operation wrt CONST.
11993
11994 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
11995
11996         * h8300-protos.h (general_operand_dst_push): Remove.
11997         * h8300.c (general_operand_dst_push): Likewise.
11998         * h8300.h (OK_FOR_T): Likewise.
11999         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
12000         * h8300.md (pushqi_h8300): New.
12001         (pushqi_h8300hs): Likewise.
12002         (pushqi): Likewise.
12003         (pushhi_h8300): Likewise.
12004         (pushhi_h8300hs): Likewise.
12005         (pushhi): Likewise.
12006
12007 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12008
12009         * genattrtab.c (attr_printf): First arg is unsigned.
12010         Clean up formatting of callers.
12011
12012 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
12013
12014         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
12015         registers.
12016
12017 2001-09-07  Andreas Jaeger  <aj@suse.de>
12018
12019         * i386.h (TARGET_SWITCHES): Fix descriptions.
12020
12021 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12022
12023         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
12024
12025 2001-09-06  Ira Ruben  <ira@apple.com>
12026
12027         Remove OP_IDENTIFIER.
12028         * tree.def (OP_IDENTIFIER): Remove.
12029         * tree.c (tree_node_kind enum): Remove op_id_kind.
12030         (tree_node_kind_names): Remove "op_identifiers".
12031         (make_node): Remove OP_IDENTIFIER test.
12032         (build_op_identifier): Removed because it isn't being used.
12033         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
12034         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
12035
12036 2001-09-06  Richard Henderson  <rth@redhat.com>
12037
12038         * simplify-rtx.c (simplify_binary_operation): Revert last change.
12039
12040 2001-09-06  Richard Henderson  <rth@redhat.com>
12041
12042         * simplify-rtx.c (simplify_binary_operation): Simplify contents
12043         of CONST.
12044
12045 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12046
12047         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
12048         number used for CR register.
12049
12050 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
12051                           Joern Rennecke (amylaar@cygnus.com)
12052
12053         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
12054         * h8300.c (initial_offset): Handle offset between RP and FP.
12055         (h8300_return_addr_rtx): New function.
12056         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
12057         return register.
12058         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
12059         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
12060         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
12061         (CAN_ELIMINATE, REGISTER_NAMES):
12062         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
12063
12064 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
12065
12066         Remove TYPE_NONCOPIED_PARTS.
12067         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
12068         (struct tree_type): Remove noncopied_parts.
12069         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
12070         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
12071         (fixed_type_p): Remove.
12072         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
12073         (expand_expr, MODIFY_EXPR): Likewise.
12074         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
12075         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
12076
12077 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
12078
12079         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
12080         compiler warnings.
12081         (mask64_operand): Likewise.
12082         (includes_rldic_lshift_p): Likewise.
12083         (includes_rldicr_lshift_p): Likewise.
12084
12085 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
12086
12087         * objc/objc-act.c (build_message_expr): If a class method cannot
12088         be found, do not issue a warning if a corresponding instance
12089         method exists in the root class.
12090
12091 2001-09-05  Richard Henderson  <rth@redhat.com>
12092
12093         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
12094
12095 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
12096
12097         * function.c (ggc_mark_struct_function): Mark f->outer.
12098         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
12099         * integrate.c (output_inline_function): ... not here.
12100
12101 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
12102
12103         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
12104
12105         * i386.c (size_cost): New static variable.
12106         (override_function): Use size_cost when -Os is specified.
12107
12108         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
12109         properly;  Use current_function_calls_eh_return.
12110         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
12111         use leave to avoid dependency chain.
12112
12113         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
12114         get BB loop_depth instead of computing it from LOOP notes.
12115
12116         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
12117
12118 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12119
12120         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12121         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
12122         UNALIGNED_DOUBLE_INT_ASM_OP): Define
12123
12124 2001-09-05  Jeffrey A Law  (law@cygnus.com)
12125             Jason Merrill (jason@redhat.com)
12126
12127         * stor-layout.c (layout_type): Complain if an array's size can
12128         not be represented in a size_t.
12129
12130         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
12131
12132 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
12133
12134         * gcc.c: (process_command) Add parentheses around assignment
12135         used as truth value.
12136
12137 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
12138
12139         * config/mips/mips.c (save_restore_insns): Don't mark any register
12140         save slots as unchanging if current_function_calls_eh_return.
12141
12142 2001-09-05  Richard Henderson  <rth@redhat.com>
12143
12144         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
12145         * config/alpha/alpha-protos.h: Declare it.
12146         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
12147         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
12148         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
12149         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
12150         (REG_OK_FOR_BASE_P): Select one of the above.
12151
12152 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
12153
12154         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
12155         (crti.o): Prefix name of object file with $(T).
12156         (crtn.o): Likewise.
12157
12158 2001-09-05  David S. Miller  <davem@redhat.com>
12159
12160         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
12161         * config/sparc/linux64.h: Likewise.
12162
12163 2001-09-05  Andreas Jaeger  <aj@suse.de>
12164
12165         * doc/invoke.texi (i386 Options): -mwide-multiply is not
12166         available anymore, remove the documentation.
12167         (i386 Options): Fix typo, cleanup index entries.
12168
12169         * prefix.c (concat): Remove, we can use the version from liberty.
12170
12171 2001-09-05  Richard Henderson  <rth@redhat.com>
12172
12173         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
12174         New functions split out of md file expanders.
12175         * config/alpha/alpha-protos.h: Declare them.
12176         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
12177
12178 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12179
12180         * cppmacro.c (funlike_invocation_p): No need to restore context.
12181
12182 2001-09-04  Richard Henderson  <rth@redhat.com>
12183
12184         * reload.c (push_reload): Export.
12185         * reload.h (push_reload): Declare it.
12186
12187         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
12188         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
12189         * config/alpha/alpha.c (alpha_legitimize_address): New.
12190         (alpha_legitimize_reload_address): Likewise.
12191         * config/alpha/alpha-protos.h: Declare them.
12192
12193 2001-09-04  Stan Shebs  <shebs@apple.com>
12194
12195         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
12196         * config/darwin.c (machopic_stub_name): Account for internally
12197         generated lib calls such as memcpy.
12198
12199 2001-09-04  Richard Henderson  <rth@redhat.com>
12200
12201         * unwind.h (_UA_END_OF_STACK): New flag.
12202         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
12203
12204 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
12205
12206         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
12207
12208 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
12209
12210         * config/mips/mips.c (save_restore_insns): Change base_offset to
12211         fp_offset in second call to mips_emit_frame_related_store.
12212
12213 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
12214
12215         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
12216         sometimes be represented as a NOTE of type
12217         NOTE_INSN_DELETED_LABEL.
12218         (Insns): Document NOTE_INSN_DELETED_LABEL.
12219
12220 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
12221
12222         * c-common.h (tree_dump_index): Add more comments.
12223         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
12224         (dump_option_value_info): New struct.
12225         (dump_options): New array.
12226         (dump_switch_p): Parse switch options symbolically.
12227         * doc/invoke.texi (-fdump-ast): Rename to ...
12228         (-fdump-tree): ... here. Document that options are symbolic, and
12229         not all are applicable.
12230
12231 2001-09-04  David S. Miller  <davem@redhat.com>
12232
12233         * config/sparc/sparc.md (define_splits): Kill constraints.
12234
12235         Cleanup redundant and unused insn attributes.
12236         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
12237         binary, and move.  Mark ialu as default.
12238         (commented out define_function_unit "alu"): Kill.
12239         (define_attr "use_clobbered"): Kill.
12240         (whole file): Kill address insn type references.  Replace
12241         all unary/binary/move references with ialu.
12242         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
12243         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
12244         TYPE_IALU.
12245
12246         Simplify length insn attribute and make more judicious use
12247         of insn attribute defaulting.
12248         * config/sparc/sparc.md (all insns with length > one): Mark as
12249         insn type multi if real instructions, else use default if
12250         it is a forced splitter.
12251         (all insns with length == one): Use default insn length.
12252         (all insns of type ialu): Use default insn type.
12253
12254         Fix erroneous insn attribute settings.
12255         (addx): Set insn type to misc.
12256         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
12257         const_umulsidi3_sp64): Set insn type to imul.
12258
12259         Track SFmode vs DFmode insns according to UltraSPARC
12260         scheduling rules.
12261         * config/sparc/sparc.md ("fptype"): New attribute, default
12262         to "single".
12263         (all DFmode single insns): Mark as fptype "double".
12264
12265 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
12266
12267         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
12268
12269 2001-09-03  Richard Henderson  <rth@redhat.com>
12270
12271         * function.h (struct function): Add arg_pointer_save_area_init.
12272         * function.c (expand_function_end): Init arg_pointer_save_area.
12273         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
12274         when called from a nested function.
12275
12276 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
12277
12278         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
12279         is enabled.
12280
12281 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
12282
12283         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
12284
12285 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
12286
12287         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
12288         (emit_push_insn): Use specified padding direction when
12289         STACK_PUSH_CODE is POST_INC.
12290
12291         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
12292
12293 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12294
12295         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
12296
12297 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
12298
12299         * cppinit.c (cpp_start_read): Free the imacros list as we
12300         traverse it.  Don't free the chains before returning.
12301         (_cpp_push_next_buffer): Only try pushing buffers if we've
12302         completed -imacros handling.
12303
12304 2001-08-31  Eric Christopher  <echristo@redhat.com>
12305
12306         * gcc.c (handle_braces): Add explaination for abort.
12307
12308 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
12309
12310         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
12311         move adjustment of bitpos instead.
12312
12313 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
12314
12315         * function.c: Remove all_functions.  Make outer_function_chain
12316         static.
12317         (init_function_start): Don't add new function structure to
12318         all_functions.
12319         (find_function_data, push_function_context_to,
12320         pop_function_context_from, put_var_into_stack,
12321         trampoline_address): Update for changed structure element names.
12322         (push_function_context_to): Disentangle.
12323         (free_after_compilation): Also free F.
12324         (expand_dummy_function_end): Don't free cfun here.
12325         (put_var_into_stack): Comment why we can't use find_function_data here.
12326         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
12327         (mark_function_chain): Split into maybe_mark_struct_function and
12328         ggc_mark_struct_function.  Export the latter.
12329         (init_function_once): Mark from cfun and outer_function_chain;
12330         not all_functions.
12331
12332         * function.h (struct function): Kill next_global.  Rename next
12333         to outer.  All users updated to match.
12334         (all_functions, outer_function_chain): Don't declare.
12335
12336         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
12337         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
12338         don't touch f->inlinable, after calling rest_of_compilation.
12339
12340         * tree.h: Forward-declare struct function.  Prototype
12341         ggc_mark_struct_function.
12342
12343 2001-08-31  Kazu Hirata  <kazu@hxi.com>
12344
12345         * config/h8300/h8300.md (*andorhi3): Fix typos.
12346
12347 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12348
12349         * calls.c (emit_library_call_value): Don't use a fixed
12350         argument after VA_CLOSE, i.e. out of scope in traditional C.
12351
12352         * emit-rtl.c (gen_rtvec): Likewise.
12353
12354 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12355
12356         * Makefile.in (c-pragma.o): Depend on output.h.
12357         (reorg.o): Depend on except.h.
12358
12359         * c-pragma.c: Include output.h.
12360
12361         * reorg.c: Include except.h.
12362
12363         * unwind-dw2.c: Call __builtin_alloca, not alloca.
12364
12365 2001-08-31  Richard Henderson  <rth@redhat.com>
12366
12367         * sched-deps.c (add_dependence): Don't elide dependency if the
12368         conditional used by insn is modified in elem.
12369
12370 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
12371
12372         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
12373
12374 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
12375
12376         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
12377         dump_switch_p.
12378
12379 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12380
12381         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
12382         function.
12383         (stormy16_asm_out_constructor): New function.
12384         (TARGET_ASM_CONSTRUCTOR): Define.
12385         (TARGET_ASM_DESTRUCTOR): Define.
12386
12387 2001-08-31  Andreas Jaeger  <aj@suse.de>
12388
12389         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
12390         * loop.c (add_label_notes): Likewise.
12391         * reload.c (find_reloads): Likewise.
12392         * config/sh/sh.c (machine_dependent_reorg): Likewise.
12393
12394 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
12395
12396         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
12397         code here.  Take _Unwind_{W,Sw}ord*.
12398         (read_encoded_value_with_base): Use them.
12399         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
12400         words.
12401         (extract_cie_info): Simplify read_?leb128 handling.
12402         (execute_stack_op, execute_cfa_program): Likewise.
12403         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
12404
12405 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12406
12407         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
12408         the frame pointer to pop the stack if convenient.
12409
12410         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
12411         Don't use post-increment before combine.
12412         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
12413         a call-saved register.
12414
12415 2001-08-31  Andreas Jaeger  <aj@suse.de>
12416
12417         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
12418         code was correct.
12419
12420 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
12421
12422         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
12423         not DIV/MOD, of course.
12424
12425 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
12426
12427         * rtl.def: Undo my patch commited 2001-08-27.
12428
12429         * genattrtab.c: Ditto.
12430
12431         * rtl.h: Ditto.
12432
12433         * sched-int.h: Ditto.
12434
12435         * target-def.h: Ditto.
12436
12437         * target.h: Ditto.
12438
12439         * haifa-sched.c: Ditto.
12440
12441         * sched-rgn.c: Ditto.
12442
12443         * sched-vis.c: Ditto.
12444
12445         * Makefile.in: Ditto.
12446
12447         * doc/md.texi: Ditto.
12448
12449         * doc/tm.texi: Ditto.
12450
12451         * doc/contrib.texi: Ditto.
12452
12453         * doc/gcc.texi: Ditto.
12454
12455         * genattrtab.h: Remove it.
12456
12457         * genautomata.c: Remove it.
12458
12459         * genattr.c: Undo my patch and Richard Henderson's patch commited
12460         2001-08-27.
12461
12462 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
12463
12464         * config.gcc (h8300-*-elf*): New case.
12465         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
12466         (SUBTARGET_CPP_SPEC): Define.
12467         (EXTRA_SPECS): Define.
12468         (SUBTARGET_EXTRA_SPECS): Define.
12469         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
12470         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
12471
12472 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
12473
12474         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
12475         (LIB2FUNCS_EXTRA): Define.
12476         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
12477         config/h8300/fixunssfsi.c: New file.
12478
12479 2001-08-30  Kazu Hirata  <kazu@hxi.com>
12480
12481         * config/h8300/h8300.md (zero_extendqihi2): Changes to
12482         define_expand to accommodate target-specific attributes.
12483         (anonymous zero_extendqihi2 patterns): New.
12484
12485 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
12486
12487         * h8300.md (*andorhi3): New pattern.
12488
12489 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
12490
12491         * h8300.c (dosize): Fix test for "sub".
12492
12493 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
12494
12495         * c-typeck.c (pointer_diff): Try to eliminate common term before
12496         doing conversions.
12497
12498 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
12499
12500         * config/arm/arm.c (arm_compute_initial_elimination_offset):
12501         Account for the saves of the FP registers.
12502
12503         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
12504         (TEXT_SECTION_ASM_OP): Define.
12505         (INIT_SECTION_ASM_OP): Define.
12506         (FINI_SECTION_ASM_OP): Define.
12507         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
12508         (RDATA_SECTION_FUNCITON): Provide prototype.
12509
12510 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
12511
12512         * reload1.c (move2add_note_store): Correct typo checking for
12513         argument pushes.
12514
12515 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
12516
12517         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
12518         note should not be considered outside the libcall block.
12519
12520 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12521
12522         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
12523
12524 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12525
12526         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
12527
12528 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12529
12530         * config/h8300/h8300-protos.h: Add a prototype for
12531         emit_logical_op.
12532         * config/h8300/h8300.c (emit_logical_op): New.
12533         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
12534         (andsi3): Likewise.
12535         (iorhi3): Likewise.
12536         (iorsi3): Likewise.
12537         (xorhi3): Likewise.
12538         (xorsi3): Likewise.
12539
12540 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12541
12542         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
12543         comparison with rtx INTVAL.
12544         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
12545         expression.
12546         * pa.h (FUNCTION_ARG_SIZE): Likewise.
12547
12548 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12549
12550         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
12551         comment typos.
12552
12553 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12554
12555         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
12556         (reg n) to (mem (pre_dec (reg n))
12557         (anonymous movsi pattern): Likewise.
12558
12559 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12560
12561         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
12562
12563 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12564
12565         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
12566         several special constants.
12567
12568 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12569
12570         * config/h8300/lib1funcs.asm: Fix comment typos.
12571
12572 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12573
12574         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
12575         Fix format specifier warnings.
12576
12577         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
12578         inet_makeaddr, semctl): Prototype.
12579
12580         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
12581         (save_restore_insns): Use base_offset, not gp_offset.
12582
12583         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
12584         (ASM_OUTPUT_BYTE): Fix format specifier warning.
12585
12586 2001-08-29  Richard Henderson  <rth@redhat.com>
12587
12588         * bb-reorder.c (function_tail_eff_head): New.
12589         (record_effective_endpoints): Set it.
12590         (fixup_reorder_chain): Use it.
12591
12592 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12593
12594         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
12595
12596 2001-08-28  Dale Johannesen  <dalej@apple.com>
12597
12598         * config/darwin.c (machopic_function_base_name): Add const
12599         qualifier to a string.
12600         (darwin_encode_section_info): Ditto.
12601
12602 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12603
12604         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
12605         function definition.
12606
12607 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12608
12609         * df.h (struct df): Add rts_order variable.
12610
12611         * df.c (df_visit_next_rts): New function.
12612         (df_visit_next): Renamed to df_visit_next_rc
12613         (df_analyse_1): Allocate/compute/free rts_order as well.
12614         (df_rd_global_compute): Use df_visit_next_rc instead of
12615         df_visit_next.
12616         (df_ru_global_compute): Use df_visit_next_rts instead of
12617         df_visit_next.
12618
12619         * flow.c (flow_reverse_top_sort_order_compute): New function.
12620
12621         * basic-block.h: Add prototype.
12622
12623 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12624
12625         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
12626         blocks, the BB_REACHABLE is now set, rather than aux being
12627         non-NULL. Update the test to reflect this.
12628
12629 2001-08-28  Eric Christopher  <echristo@redhat.com>
12630
12631         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
12632         config/mips/crti.asm: Ditto.
12633
12634 2001-08-28  Eric Christopher <echristo@redhat.com>
12635             Richard Henderson <rth@redhat.com>
12636
12637         * c-pragma.h (add_weak): Move prototype from here...
12638         * output.h (add_weak): ... to here.
12639         * varasm.c (add_weak): Fix typo.
12640         * config/mips/crti.asm: New file.
12641         * config/mips/crtn.asm: Ditto.
12642         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
12643         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
12644         (INVOKE__main): Ditto.
12645         (INIT_SECTION_ASM_OP): New.
12646         (FINI_SECTION_ASM_OP): Ditto.
12647         (STARTFILE_SPEC): Add crti.
12648         (ENDFILE_SPEC): Add crtn.
12649         * config/mips/elf64.h: Same.
12650         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
12651         Remove.
12652         * config/mips/vxworks.h: Ditto.
12653         * config/mips/t-elf: Support crti and crtn.
12654
12655 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
12656
12657         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
12658         INSN_LIST.
12659
12660 2001-08-28  Richard Henderson  <rth@redhat.com>
12661
12662         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
12663         (one_cmplbi2 splitter): Remove redundant test.
12664
12665 2001-08-28  Dale Johannesen  <dalej@apple.com>
12666
12667         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
12668
12669 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
12670
12671         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
12672
12673 2001-08-28  Stan Shebs  <shebs@apple.com>
12674
12675         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
12676         (UNALIGNED_SHORT_ASM_OP): Define.
12677         (UNALIGNED_INT_ASM_OP): Define.
12678
12679 2001-08-28  Will Cohen  <wcohen@redhat.com>
12680
12681         * config/rs6000/rs6000.md (store_multiple): Correct RTL
12682         generation for first set.
12683
12684 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12685
12686         * flow.c (redirect_edge_succ_nodup): Return new edge.
12687         (try_simplify_condjump): Use new edge.
12688         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
12689
12690         * cse.c (cse_basic_block): Skip note instructions.
12691
12692 2001-08-27  Richard Henderson  <rth@redhat.com>
12693
12694         * combine.c (combine_simplify_rtx): Don't reverse condition
12695         if there is no reverse for the condition.
12696         (simplify_comparison): Don't simplify subregs from INT to FP.
12697
12698         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
12699         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
12700         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
12701         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
12702         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
12703         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
12704
12705 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12706
12707         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
12708         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
12709         (pushqi1): New.
12710         (adddi_dilshr32, adddi_dishl32): Only data register can be
12711         source for mem destination.
12712
12713         * expmed.c (store_bit_field): Ignore adjustment to bitpos
12714         and use bitnum to decide about register move.
12715
12716 2001-08-27  Richard Henderson  <rth@redhat.com>
12717
12718         * genattr.c (main): Emit state_t even when not doing scheduling.
12719
12720 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12721             Richard Henderson  <rth@redhat.com>
12722
12723         * gcse.c (reg_first_set, reg_last_set): Replace with ...
12724         (reg_avail_info, current_bb): ... these.
12725         (oprs_unchanged_p, record_last_reg_set_info): Use them.
12726         (compute_hash_table): Likewise.
12727
12728 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12729
12730         * flow.c (verify_flow_info): Use checksums to verify edges.
12731
12732 2001-08-27  Richard Henderson  <rth@redhat.com>
12733
12734         * genautomata.c (expand_automata): Always create a description.
12735
12736 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12737
12738         * optabs.c (expand_binop): Correctly handle the carry in multiword
12739         add/subtract operations.
12740
12741 2001-08-27  Fred Fish  <fnf@be.com>
12742
12743         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
12744         __SIZE_TYPE__.
12745
12746 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12747
12748         * reload.c (find_reloads_toplev): Back out this change:
12749
12750         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
12751
12752         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
12753         mem if the address is a mode_dependent_address_p.
12754
12755 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
12756
12757         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
12758         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
12759         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
12760         RTL constructions.
12761
12762         * genattr.c (main): New variable num_insn_reservations.  Increase
12763         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
12764         pipeline hazard recognizer interface.
12765
12766         * genattrtab.h: New file.
12767
12768         * genattrtab.c: Include genattrtab.h.
12769         (attr_printf, check_attr_test, make_internal_attr,
12770         make_numeric_value): Move protypes into genattrtab.h.  Define them
12771         as external.
12772         (num_dfa_decls): New global variable.
12773         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
12774         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
12775         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
12776         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
12777
12778         * genautomata.c: New file.
12779
12780         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
12781
12782         * sched-int.h: (curr_state): Add the external definition for
12783         automaton pipeline interface.
12784         (haifa_insn_data): Add comments for members blockage and units.
12785
12786         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12787         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12788         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12789         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12790         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12791         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12792         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
12793         macros.
12794         (TARGET_SCHED): Use the new macros.
12795
12796         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
12797         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
12798         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
12799         dfa_bubble): New members in gcc_target.sched.
12800
12801         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
12802         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
12803         (insn_queue): Redefine it as pointer to array.
12804         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
12805         INSN_QUEUE_SIZE.
12806         (max_insn_queue_index_macro_value): New variable.
12807         (curr_state, dfa_state_size, ready_try): New varaibles for
12808         automaton interface.
12809         (ready_element, ready_remove, max_issue): New function prototypes
12810         for automaton interface.
12811         (choose_ready): New function prototype.
12812         (insn_unit, blockage_range): Add comments.
12813         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
12814         FUNCTION_UNITS_SIZE == 0.
12815         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
12816         actual_hazard, potential_hazard): Add comments.
12817         (insn_cost): Use cost -1 as undefined value.  Remove
12818         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
12819         pipeline interface.
12820         (ready_element, ready_remove): New functions for automaton
12821         interface.
12822         (schedule_insn): Add new code for automaton pipeline interface.
12823         (queue_to_ready): Add new code for automaton pipeline interface.
12824         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
12825         (debug_ready_list): Print newline when the queue is empty.
12826         (max_issue): New function for automaton pipeline interface.
12827         (choose_ready): New function.
12828         (schedule_block): Add new code for automaton pipeline interface.
12829         Print ready list before scheduling each insn.
12830         (sched_init): Add new code for automaton pipeline interface.
12831         Initiate insn cost by -1.
12832         (sched_finish): Free the current automaton state and finalize
12833         automaton pipeline interface.
12834
12835         * sched-rgn.c: Include target.h.
12836         (init_ready_list, new_ready, debug_dependencies): Add new code for
12837         automaton pipeline interface.
12838
12839         * sched-vis.c: Include target.h.
12840         (get_visual_tbl_length): Add code for automaton interface.
12841         (target_units, print_block_visualization):  Add comments.
12842
12843         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
12844         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
12845         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
12846         (getruntime.o, genautomata.o): New entries.
12847         (genattrtab.o): Add new dependency file genattrtab.h.
12848         (genattrtab): Add new dependencies.  Link it with `libm.a'.
12849         (getruntime.o, hashtab.o): New entries for canadian cross.
12850
12851         * doc/md.texi: Description of automaton based model.
12852
12853         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
12854         Add comments.
12855         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12856         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12857         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12858         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12859         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12860         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12861         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
12862         hook descriptions.
12863         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
12864         MAX_DFA_ISSUE_RATE): New macro descriptions.
12865
12866         * doc/contrib.texi: Add dfa based scheduler contribution.
12867
12868         * doc/gcc.texi: Add more information about genattrtab.
12869
12870 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
12871
12872         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
12873         an RTL basic block.
12874
12875 2001-08-27  Richard Henderson  <rth@redhat.com>
12876
12877         * function.c (expand_function_end): Don't init arg_pointer_save_area.
12878         (get_arg_pointer_save_area): New.  Create an init it here.
12879         (fix_lexical_addr): Use it.
12880         * function.h: Declare it.
12881         * builtins.c (expand_builtin_setjmp_receiver): Use it.
12882         * stmt.c (expand_nl_goto_receiver): Use it.
12883
12884 2001-08-27  Richard Henderson  <rth@redhat.com>
12885
12886         * final.c (final_scan_insn): Don't enter APP_ON mode for
12887         empty asm strings.
12888
12889         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
12890         alignment for assemble_integer for DW_EH_PE_aligned.
12891         * except.c (output_function_exception_table): Likewise.
12892
12893 2001-08-26  Andreas Jaeger  <aj@suse.de>
12894
12895         * c-tree.h: Add prototyp for c_sizeof_nowarn.
12896
12897 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
12898
12899         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
12900
12901 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
12902
12903         * config/rs6000/rs6000.c (mask_operand): Rewrite without
12904         bit-shifting loop.
12905         (mask64_operand): Likewise.
12906         (rldic_operand): Delete.
12907         (includes_lshift64_p): Delete.
12908         (includes_rldic_lshift_p): New function.
12909         (includes_rldicr_lshift_p): New function.
12910         (print_operand): Don't call rldic_operand in case 'W'.
12911         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
12912         (includes_lshift64_p): Remove.
12913         (includes_rldic_lshift_p): Declare.
12914         (includes_rldicr_lshift_p): Declare.
12915         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
12916         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
12917         Replace match_operand rldic_operand predicate with
12918         const_int_operand.  Replace includes_lshift64_p condition with
12919         includes_rldic_lshift_p.
12920         <ashldi3_internal 64 bit rldicr patterns>: New.
12921
12922 2001-08-27  Andreas Jaeger  <aj@suse.de>
12923
12924         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12925         * errors.c: Likewise.
12926         * final.c: Likewise.
12927         * dwarf2asm.c: Likewise.
12928         * doprint.c (checkit): Likewise.
12929         * diagnostic.c: Likewise.
12930         * collect2.c: Likewise.
12931         * calls.c: Likewise.
12932         * c-semantics.c (build_stmt): Likewise.
12933         * c-format.c (status_warning): Likewise.
12934         * c-errors.c (pedwarn_c99): Likewise.
12935         * builtins.c (validate_arglist): Likewise.
12936         * config/pj/pj.c (pj_printf): Likewise.
12937         * fix-header.c: Likewise.
12938         * gcc.c: Likewise.
12939         * gcov.c (fnotice): Likewise.
12940         * gensupport.c (message_with_line): Likewise.
12941         * mips-tfile.c: Likewise.
12942         * protoize.c (notice): Likewise.
12943         * read-rtl.c (fatal_with_file_and_line): Likewise.
12944         * rtl-error.c: Likewise.
12945         * tradcpp.c: Likewise.
12946         * tree.c: Likewise.
12947         * cp/tree.c (build_min_nt): Likewise.
12948         (build_min): Likewise.
12949         * cp/lex.c: Likewise.
12950         * cp/errfn.c: Likewise.
12951         * cp/rtti.c (create_pseudo_type_info): Likewise.
12952
12953 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
12954
12955         * df.c (df_uses_record): Return after recording all uses
12956         in ASM_OPERANDS.
12957
12958 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
12959
12960         * df.c (df_insn_modify): Realloc the INSN table here, if
12961         necessary, here, too.
12962
12963 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
12964
12965         * config/mips/mips.c (mips_function_value): Handle complex return
12966         values.
12967
12968 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
12969
12970         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
12971         unshared.
12972         * reload.c (make_memloc): Copy result if it is still
12973         reg_equiv_memory_loc[regno] on return.
12974         (subst_reloads) [ENABLE_CHECKING]: Check that none of
12975         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
12976         reg_equiv_mem are modified by the substitutions.
12977
12978 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12979
12980         * predict.c (expensive_function_p): New.
12981         * rtl.h (expensive_function_p): Declare.
12982         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
12983         (use_fast_prologue_epilogue): New static variable.
12984         (expand_prologue): Set it; emit short prologues if unset.
12985         (expand_epilogue): Likewise.
12986
12987 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12988
12989         * config.gcc: Add stormy16-*-elf case.
12990         * config/stormy16/stormy-abi: New file.
12991         * config/stormy16/stormy16-lib2.c: New file.
12992         * config/stormy16/stormy16-protos.h: New file.
12993         * config/stormy16/stormy16.c: New file.
12994         * config/stormy16/stormy16.h: New file.
12995         * config/stormy16/stormy16.md: New file.
12996         * config/stormy16/t-stormy16: New file.
12997
12998 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
12999
13000         * i386.h (no-accumulate-outgoing-args): Use proper mask.
13001
13002 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
13003
13004         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
13005         descriptor members are pointer size, not constant 4.
13006         * config/rs6000/rs6000.md (define_splits): Remove more unused
13007         constraints.
13008
13009 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13010
13011         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
13012
13013 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
13014
13015         * cp/rtti.c (VPARAMS): Fix parameter.
13016
13017 2001-08-24  Zack Weinberg  <zackw@panix.com>
13018
13019         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
13020         to zero.
13021         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
13022         to switch.
13023         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
13024         in if controlling use of insv.
13025         (extract_bit_field): Likewise, for extv and extzv.
13026
13027 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
13028
13029         * i386.md (movcc peep2): Fix load of 0.
13030
13031 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13032
13033         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
13034         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
13035
13036 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
13037
13038         * c-pragma.h: Move weak_syms and weak_decls...
13039         * varasm.c: ...here.  Now static.
13040         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
13041         depend on HANDLE_PRAGMA_WEAK.
13042
13043         * c-common.c (c_alignof, c_alignof_expr): Move here...
13044         * c-typeck.c: ...from here.
13045         * c-tree.h, c-common.h: Adjust.
13046
13047 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
13048
13049         * config/ia64/ia64.c (rws_update): If !pred, set write_count
13050         instead of incrementing it.
13051
13052         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
13053         asm ready, don't try to move them all into the same array element.
13054
13055 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
13056
13057         * function.c (thread_prologue_and_epilogue_insns): Avoid
13058         fallthru flag on edge to exit.
13059
13060         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
13061
13062         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
13063         dead edges.
13064
13065 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
13066
13067         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
13068         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
13069         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
13070         Remove prototype.
13071
13072 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
13073
13074         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
13075         replace "GNU CC" with "GCC".
13076
13077 2001-08-23  Richard Henderson  <rth@redhat.com>
13078
13079         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
13080         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
13081         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
13082         Need GR between FR and not GR_AND_FR.
13083         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
13084         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
13085         AR regs before GR regs.
13086         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
13087         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
13088         (REGISTER_MOVE_COST): Update.
13089         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
13090
13091 2001-08-23  Richard Henderson  <rth@redhat.com>
13092
13093         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
13094         a register class.
13095
13096 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
13097
13098         * reload1.c (emit_reload_insns): Don't look for notes
13099         on a NULL store_insn.
13100
13101 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13102
13103         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
13104         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
13105         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
13106         format specifier warnings.
13107         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
13108
13109 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
13110
13111         * config/i386/i386-protos.h: Correct declaration of
13112         i386_pe_asm_named_section.
13113
13114 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13115
13116         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
13117         variable i.
13118         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
13119
13120 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
13121
13122         * cpperror.c (print_location): Don't show _Pragma.
13123         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
13124         and file change callback generation here.
13125         (stack_include_file): Update use of cpp_push_buffer.
13126         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
13127         (struct cpp_buffer): Remove type, pfile members.
13128         * cppinit.c (cpp_handle_option): Use free_chain.
13129         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
13130         (skip_escaped_newlines, get_effective_char, lex_percent): Take
13131         a cpp_reader rather than a cpp_buffer.
13132         (skip_escaped_newlines, get_effective_char, skip_block_comment,
13133         skip_line_comment, parse_string, lex_percent, lex_dot,
13134         _cpp_lex_token): Update accordingly.
13135         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
13136         generation here.
13137         (cpp_push_buffer): Update prototype.
13138         (run_directive): Update use of cpp_push_buffer.
13139         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
13140         handle_assertion): Update use of run_directive.
13141         * cpplib.h (enum cpp_buffer_type): Remove.
13142         (cpp_push_buffer): Update prototype.
13143         * fix-header.c (read_scan_file): Update.
13144
13145 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13146
13147         * gcc.c (struct prefix_list): Change prefix to const char *.
13148
13149 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13150
13151         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
13152
13153 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
13154
13155         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
13156         from a new MEM.
13157
13158         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
13159         a squeezable note.
13160         * rtl.h: Adjust.
13161         * ifcvt.c (dead_or_predicable): Adjust.
13162         * loop.c (find_and_verify_loops): Adjust.
13163         * stmt.c (expand_end_case): Adjust.
13164         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
13165         head and end insn pointers in the basic block, not just local copies.
13166         (merge_blocks_move_predecessor_nojumps): Likewise.
13167
13168 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
13169
13170         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
13171         bitmap.h, builtin-types.def, builtins.c, builtins.def,
13172         c-aux-info.c, c-common.c, c-common.def, c-common.h,
13173         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
13174         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
13175         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
13176         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
13177         conditions.h, config.gcc, configure.frag, configure.in,
13178         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
13179         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
13180         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
13181         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
13182         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
13183         emit-rtl.c, errors.c, errors.h, except.c, except.h,
13184         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
13185         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
13186         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
13187         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
13188         gencheck.c, gencodes.c, genconfig.c, genemit.c,
13189         genextract.c, genflags.c, gengenrtl.c, genmultilib,
13190         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
13191         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
13192         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
13193         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
13194         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
13195         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
13196         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
13197         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
13198         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
13199         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
13200         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
13201         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
13202         params.h, predict.c, predict.def, predict.h, prefix.c,
13203         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
13204         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
13205         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
13206         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
13207         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
13208         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
13209         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
13210         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
13211         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
13212         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
13213         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
13214         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
13215         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
13216         xcoffout.h: replace "GNU CC" with "GCC".
13217
13218 2001-08-21  Richard Henderson  <rth@redhat.com>
13219
13220         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
13221         (final_scan_insn): Consider jump tables data even if we have no
13222         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
13223         ADDR_VEC_ALIGN.
13224         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
13225         (ASM_OUTPUT_CASE_END): Remove.
13226         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
13227         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
13228         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
13229
13230 2001-08-21  Richard Henderson  <rth@redhat.com>
13231
13232         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
13233         at barrier insns.  Emit stop bits before barriers.
13234
13235         * flow.c (flow_find_cross_jump): Don't consider unconditional
13236         return insns for commoning.
13237
13238         * final.c (compute_alignments): Fix typo.
13239
13240         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
13241         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
13242         (store_bit_field): Use mode_for_extraction more places.
13243         (extract_bit_field): Likewise.
13244
13245 2001-08-21  Zack Weinberg  <zackw@panix.com>
13246
13247         * caller-save.c: Don't include insn-codes.h.
13248         (reg_save_code, reg_restore_code): Make arrays of int.
13249         All uses updated to match.
13250         (insert_save, insert_restore): No need to initialize "code"
13251         variable upon declaration.
13252         * Makefile.in: update dependencies; fix typo in clean rule.
13253
13254 2001-08-21  Richard Henderson  <rth@redhat.com>
13255
13256         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
13257         (merge_if_block): Handle fallout from same.
13258
13259 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13260
13261         * builtins.c (type_to_class): Fix typo in last change.
13262
13263 2001-08-21  Richard Henderson  <rth@redhat.com>
13264
13265         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
13266         ia64_asm_output_label.
13267
13268         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
13269         copy of gp while the real gp register contains garbage.
13270
13271 2001-08-21  Zack Weinberg  <zackw@panix.com>
13272
13273         * expmed.c (mode_for_extraction): New function.
13274         (store_bit_field, extract_bit_field): Use it.
13275         * expr.h: Prototype it and provide an enum for its first argument.
13276
13277         * combine.c, function.c, recog.c: Don't include insn-codes.h.
13278         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
13279         and digging through the insn_data tables.
13280         * Makefile.in: Update dependencies.
13281
13282 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
13283
13284         * cppfiles.c (stack_include_file): line-map.c now handles include
13285         depth.
13286         (handle_missing_handler): Similarly.
13287         (_cpp_execute_include): Similarly.
13288         (_cpp_pop_file_buffer): Similarly.
13289         * cpphash.h (struct cpp_reader): Remove system_include_depth,
13290         buffer_stack_depth and include_depth.
13291         * cpplib.c (do_include_common): line-map.c now handles include depth.
13292         (cpp_push_buffer): Similarly.
13293         (_cpp_pop_buffer): Similarly.
13294         * cppmacro.c (builtin_macro): Update.
13295         * line-map.c (init_line_maps): Set depth.
13296         (add_line_map): Increment "used" earlier.  Update and use the
13297         include depth.
13298         (trace_include): Use the include depth.
13299         * line-map.h (struct line_maps): New member depth.
13300
13301 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13302
13303         * cppfiles.c (stack_include_file): Don't handle -H here.
13304         * cppinit.c (cpp_start_read): Set include tracing after
13305         cpp_post_options and after stacking the main file.
13306         * line-map.c (trace_include): New.
13307         (init_line_maps, add_line_map): Update.
13308         * line-map.h (struct line_maps): New member trace_includes.
13309
13310 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13311
13312         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
13313         * cppfiles.c (stack_include_file): Only stack a file if there
13314         is something to do.  Return a boolean indicating whether a
13315         buffer was stacked or not.
13316         (_cpp_execute_include): Similarly.
13317         (_cpp_read_file): Similarly.
13318         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
13319
13320 2001-08-21  Sam Steingold  <sds@gnu.org>
13321
13322         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
13323         (RECACHE): keep obufp_before_macroname up to date
13324
13325 2001-08-21  Zack Weinberg  <zackw@panix.com>
13326
13327         * stmt.c: Don't include insn-codes.h.
13328         (expand_end_case): Machine specific logic moved to expr.c.
13329         No need to worry about __builtin_classify_type.
13330         (check_for_full_enumeration_handling, emit_case_nodes):
13331         Kill #if 0 blocks.
13332
13333         * builtins.o (expand_builtin_classify_type): Split up so code
13334         can be shared with fold_builtin_classify_type.
13335         (type_to_class, fold_builtin_classify_type): New functions.
13336         (fold_builtins): Handle __builtin_classify_type.
13337
13338         * expr.c (do_tablejump): Now static.
13339         (case_values_threshold, try_casesi, try_tablejump): New;
13340         code mostly from stmt.c (expand_end_case).
13341         (expr.h): Update prototypes.
13342
13343         * Makefile.in (stmt.o): Update dependencies.
13344
13345 2001-08-21  Will Cohen  <wcohen@redhat.com>
13346
13347         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
13348         declaration of variable i.
13349         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
13350         declaration of variable i.
13351
13352 2001-08-21  Richard Henderson  <rth@redhat.com>
13353
13354         * crtstuff.c: Fix thinko last change.  Move list tails to start
13355         of CRT_END section.  Tidy ifdefs.
13356         (__EH_FRAME_BEGIN__): Always static for ELF.
13357         (__do_global_ctors_1): Rename from __frame_dummy.
13358         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
13359         name change; don't hide __EH_FRAME_BEGIN__.
13360
13361 2001-08-21  Richard Henderson  <rth@redhat.com>
13362
13363         * gdbinit.in: Move break on exit after break on fancy_abort.
13364
13365         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
13366         sized types.
13367
13368 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13369
13370         * cpphash.h (_cpp_push_next_buffer): New.
13371         * cppinit.c (do_includes): Remove.
13372         (push_include, free_chain, _cpp_push_next_buffer): New.
13373         (cpp_start_read): Use them to rework command line option handling.
13374         (cpp_handle_option): Combine handling of -include and -imacros.
13375         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
13376         appropriate.  Always insert missing \n at EOF.
13377         * cpplib.c (start_directive): Get the directive position right.
13378         * cppmain.c (cb_file_change): Always print the first line, unless
13379         preprocessed.
13380
13381 2001-08-20  Andreas Jaeger  <aj@suse.de>
13382
13383         * profile.c (compute_branch_probabilities): Remove extra new-line
13384         in error message.
13385         * flow.c (verify_flow_info): Likewise.
13386
13387 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13388
13389         * basic-block.h (basic_block): Add new field 'flags'.
13390         (BB_REACHABLE): Define.
13391         (expunge_block): Declare.
13392         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
13393         (EXIT_BLOCK_PTR): Ditto.
13394         (expunge_block): Remove static declaration.
13395         (cleanup_cfg): Clear bb->aux on every basic block.
13396         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
13397         computing reachability.
13398         (delete_unreachable_blocks): Delete block b if b->flags has
13399         BB_REACHABLE unset.
13400
13401 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13402
13403         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
13404
13405 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13406
13407         * sparc.c (sparc_variable_issue): Fix typo in last change.
13408
13409 2001-08-20  Richard Henderson  <rth@redhat.com>
13410
13411         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
13412
13413 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13414
13415         * pa.h (RETURN_IN_MEMORY): Improve comment.
13416
13417 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
13418
13419         * doc/invoke.texi (Profiling options): Clarify the interactions
13420         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
13421
13422 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
13423
13424         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
13425         command.
13426
13427 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13428
13429         * gcc.c (make_relative_prefix): Allocate a sufficiently large
13430         buffer.
13431
13432 2001-08-20  Richard Henderson  <rth@redhat.com>
13433
13434         * final.c (end_final): Fix typo last change.
13435
13436 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
13437
13438         * cppinit.c (init_standard_includes): The returned buffer
13439         is already malloc-ed.
13440         * gcc.c (add_prefix): Similarly.
13441         * prefix.c (translate_name): Update to support clear buffer
13442         ownership rules.
13443         (update_path): Similarly.  Be sure to free any newly allocated
13444         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
13445         (tr): New function.
13446         * prefix.h (update_path): Update prototype and document.
13447         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
13448         up and update to new buffer ownership rules.
13449         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
13450
13451 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
13452
13453         * final.c (compute_alignments): New function.
13454         (init_insn_lengths): Do not care label_align.
13455         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
13456         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
13457         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
13458         (shorted_branches): Realloc label_align array; do
13459         not call init_insn_lengths; Do not care about loop alignments.
13460         * output.h (compute_alignments): Declare.
13461         * toplev.c (rest_of_compilation): Call compute_alignments.
13462         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
13463
13464         * predict.c (block_info_def): Add npredecesors, remove nvisited;
13465         change visited to tovisit.
13466         (propagate_freq): Use faster traversing algorithm.
13467         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
13468         to tovisit; reverse meaning.
13469
13470         * predict.c (struct block_info_def): Remove nvisited.
13471         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13472         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13473
13474 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
13475
13476         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
13477         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
13478         (TARGET_FUSED_MADD): New.
13479         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
13480         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
13481         the multiply-add instructions.
13482
13483 2001-08-19  Richard Henderson  <rth@redhat.com>
13484
13485         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
13486         is aligned to pointer size.
13487
13488 2001-08-19  Richard Henderson  <rth@redhat.com>
13489
13490         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
13491         display markers during final schedule.
13492
13493 2001-08-19  Richard Henderson  <rth@redhat.com>
13494
13495         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
13496
13497 2001-08-19  Richard Henderson  <rth@redhat.com>
13498
13499         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
13500         in the same string.
13501         (ASM_NAME_TO_STRING): Remove.
13502         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
13503         in the same string.  Remove support for expressions.
13504
13505 2001-08-19  Richard Henderson  <rth@redhat.com>
13506
13507         * config/i386/i386.md (tablejump): Make an expander; handle
13508         pic relative addressing here.
13509         (tablejump_1): Rename from tablejump_pic.
13510         (casesi): Remove.
13511
13512 2001-08-19  Richard Henderson  <rth@redhat.com>
13513
13514         * regclass.c (fix_register): Fix typo.
13515
13516 2001-08-18  Richard Henderson  <rth@redhat.com>
13517
13518         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
13519         (struct _Unwind_Context): Expand br_loc to hold it.
13520         (uw_frame_state_for): Handle leaf functions better.
13521         (uw_update_reg_address): Update for br_loc change.
13522
13523 2001-08-18  Richard Henderson  <rth@redhat.com>
13524
13525         * crtstuff.c: Move list heads before code that uses them.
13526         (__JCR_LIST__): Remove initial null.
13527         (frame_dummy, __frame_dummy): Do java registration here ...
13528         (__do_global_ctors_aux): ... not here.
13529
13530         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
13531         (__do_global_dtors_aux): Update to match.
13532         (__JCR_LIST__, __do_jv_register_classes): New.
13533         (.init): Call it.
13534         * config/ia64/crtend.asm (__JCR_END__): New.
13535         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
13536         instead of an indirect LTOFF22 reloc.
13537
13538 2001-08-18  Richard Henderson  <rth@redhat.com>
13539
13540         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
13541         * regclass.c (init_reg_sets_1): Fix typo.
13542         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
13543         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
13544         (ia64_compute_frame_size): Make ar.unat live when in use.
13545         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
13546         for ar.pfs; remove ar.unat handling.
13547         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
13548         call-saved.
13549         (PREDICATE_CODES): Add ar_pfs_reg_operand.
13550         * config/ia64/ia64-protos.h: Update decls.
13551         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
13552         (sibcall_pic): Likewise.
13553
13554 2001-08-18  Richard Henderson  <rth@redhat.com>
13555
13556         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
13557         pred_rel_mutex when searching for insn_group_barrier.
13558         * config/ia64/ia64.md (cycle_display): Combine the expander
13559         and insn patterns.
13560
13561         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
13562         bit before asm as needed.
13563
13564 2001-08-18  Richard Henderson  <rth@redhat.com>
13565
13566         * timevar.def (TV_MACH_DEP): New.
13567         * toplev.c (rest_of_compilation): Use it.
13568         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
13569
13570 2001-08-18  Zack Weinberg  <zackw@panix.com>
13571
13572         * unwind-dw2.c (execute_stack_op): Add default aborts to
13573         the inner switches to prevent warnings.
13574
13575 2001-08-18  Richard Henderson  <rth@redhat.com>
13576
13577         * timevar.h (struct timevar_time_def): Change element type to float.
13578         (ticks_to_msec, clocks_to_msec): Likewise.
13579         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
13580         (get_time): Likewise.
13581         (timevar_print): Adjust zero check and printing to match.
13582
13583 2001-08-18  Zack Weinberg  <zackw@panix.com>
13584
13585         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
13586         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
13587         Eliminate overfull or underfull hboxes.
13588
13589 2001-08-18  Zack Weinberg  <zackw@panix.com>
13590
13591         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13592
13593 2001-08-18  Zack Weinberg  <zackw@panix.com>
13594
13595         * haifa-sched.c: Convert to target hooks.  Macros replaced
13596         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
13597         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
13598         MD_SCHED_FINISH, and HAVE_cycle_display.
13599         * target-def.h (TARGET_SCHED_ADJUST_COST,
13600         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
13601         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
13602         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
13603         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
13604         New hook #defines to be overridden.
13605         (TARGET_SCHED): Bring them all together.
13606         (TARGET_INITIALIZER): Update.
13607         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
13608         instead of 'struct rtx_def *' throughout.
13609         (struct sched): New set of hooks for the scheduler.
13610         * Makefile.in (haifa-sched.o): Depend on target.h.
13611         * doc/tm.texi: Document the new scheduler hooks, together in
13612         their own section, instead of scattered around.
13613         Fix a bunch of underfull/overfull hboxes.
13614
13615         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
13616         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
13617         sparc.h: Don't define any of the old scheduler macros.
13618
13619         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
13620         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
13621         sparc.c: Create hook functions from code extracted from
13622         corresponding target header, or make existing hooks static, as
13623         appropriate.  Set the appropriate entries in targetm.
13624
13625         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
13626         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
13627         rs6000-protos.h, s390-protos.h, sparc-protos.h:
13628         Remove prototypes for functions which are now static.
13629
13630         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
13631         related gunk; the Haifa scheduler is now the only choice.
13632
13633 2001-08-18  Zack Weinberg  <zackw@panix.com>
13634
13635         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
13636         * genopinit.c: Put floating point divide insns in sdiv_optab.
13637         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
13638         * config/gofast.h, config/c4x/c4x.h,
13639         config/ia64/hpux_longdouble.h, config/mips/mips.h,
13640         config/pa/long_double.h, config/rs6000/sysv4.h,
13641         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
13642         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
13643         (init_optabs): Use init_optabv for overflow-trapping optabs.
13644         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
13645         cmp_optab RTX codes so have_insn_for can find them.
13646
13647         * optabs.c (expand_simple_binop, expand_simple_unop,
13648         have_insn_for, gen_sub3_insn): New interfaces.
13649         * expr.h: Prototype new functions.
13650         (enum optab_methods): Move here from optabs.h.
13651
13652         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
13653         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
13654         Use new functions instead of working directly with optabs.
13655         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
13656         unroll.c: Don't include optabs.h.
13657         * caller-save.c, combine.c, function.c, stmt.c: Just include
13658         insn-codes.h, not optabs.h.
13659         * Makefile.in: Update dependencies.
13660
13661         * combine.c (make_compound_operation, simplify_comparison):
13662         Fix typos testing for this or that instruction.
13663
13664 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13665
13666         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
13667         generating libgcc.a.
13668
13669 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13670
13671         * except.c (TYPE_HASH): Delete.
13672
13673         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
13674         HOST_WIDE_INT.
13675
13676         * tree.c (TYPE_HASH): Delete.
13677
13678         * tree.h (TYPE_HASH): Define.
13679
13680 2001-08-18  Graham Stott  <grahams@redhat.com>
13681
13682         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13683         define_split.
13684         (adddi3_internal_2+2): Likewise.
13685         (eh_set_lr_di+1): Likewise.
13686
13687 2001-08-17  Richard Henderson  <rth@redhat.com>
13688
13689         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13690         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
13691         * dwarf2asm.c: ... here.
13692         * dwarfout.c: Remove them.
13693
13694         * varasm.c (assemble_integer): Add align parameter.
13695         (assemble_real, output_constant, output_constructor): Likewise.
13696         * output.h: Update decls.
13697         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
13698         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
13699         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
13700         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
13701         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
13702         Update all callers.
13703
13704         * final.c (end_final): Abort profile block generation if we
13705         haven't layed it out properly.
13706         * output.h (assemble_eh_integer): Remove stale decl.
13707         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
13708         (min_align): New.
13709         (assemble_integer): Handle unaligned data.
13710         (assemble_real): Abort on unaligned data.
13711         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
13712         anything useful.
13713         (default_dtor_section_asm_out_destructor): Use assemble_align.
13714         (default_named_section_asm_out_constructor): Likewise.
13715         (default_ctor_section_asm_out_constructor): Likewise.
13716         * config/darwin.c (machopic_asm_out_constructor): Likewise.
13717         (machopic_asm_out_destructor): Likewise.
13718         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
13719         (nextstep_asm_out_destructor): Likewise.
13720         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
13721         (vms_asm_out_destructor): Likewise.
13722
13723 2001-08-17  Richard Henderson  <rth@redhat.com>
13724
13725         * config/mips/iris6.h (TARGET_IRIX6): New.
13726         (current_section_name, current_section_flags): New.
13727         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
13728         (MAX_OFILE_ALIGNMENT): New.
13729         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
13730         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
13731         (copy_file_data): Split out from
13732         (mips_asm_file_end): ... here.
13733         (mips_asm_file_start): Remove extra .section directive.  Use
13734         tmpfile instead of mips_make_temp_file.
13735         (mips_unique_section): Use const char * as needed for warnings.
13736         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
13737         re-add align parameter.
13738         (iris6_asm_named_section): New.
13739         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
13740         (iris6_asm_output_align, iris6_section_align_1): New.
13741         (iris6_asm_file_start, iris6_asm_file_end): New.
13742         * config/mips/mips-protos.h: Update decls.
13743
13744 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
13745
13746         * doc/install.texi (Install GCC): Add links to build status pages.
13747         (Specific): Ditto.
13748         (Final install): Ditto; request updates for specific info
13749
13750 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13751
13752         * cpperror.c (print_location):  Don't take a file name; use the
13753         line map instead.
13754         (_cpp_begin_message): Similarly.
13755         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
13756         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
13757         (cpp_pedwarn_with_file_and_line): Remove.
13758         * cppfiles.c (stack_include_file): Update; set filename to stdin
13759         here when appropriate.
13760         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
13761         (_cpp_begin_message): Don't take a file name.
13762         * cppinit.c: Add comment.
13763         * cpplex.c: Fix end-of-directive indicator.
13764         * cpplib.c: Don't include intl.h.
13765         (run_directive, do_diagnostic): Update.
13766         (do_line): Update to not use nominal_fname.
13767         (cpp_push_buffer): Don't take a filename.
13768         * cpplib.h (struct ht): Remove.
13769         (cpp_push_buffer): Don't take a filename.
13770         (cpp_pedwarn_with_file_and_line): Remove.
13771         * cppmacro.c (struct cpp_macro): Remove file.
13772         (builtin_macro): Update.
13773         (_cpp_create_definition): Update.
13774         * cppmain.c: Correct comment.
13775         * fix-header.c (read_scan_file): Update.
13776
13777 2001-08-17  Kazu Hirata  <kazu@hxi.com>
13778
13779         * sbitmap.c: Fix comment formatting.
13780         * sched-deps.c: Likewise.
13781         * sibcall.c: Likewise.
13782         * simplify-rtx.c: Likewise.
13783         * ssa.c: Likewise.
13784         * ssa-ccp.c: Likewise.
13785         * stor-layout.c: Likewise.
13786         * timevar.c: Likewise.
13787         * toplev.c: Likewise.
13788         * unwind-dw2.c: Likewise.
13789         * unwind-dw2-fde.c: Likewise.
13790         * varasm.c: Likewise.
13791
13792 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13793
13794         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
13795         or larger than an integer in memory.
13796
13797 2001-08-17  Zack Weinberg  <zackw@panix.com>
13798
13799         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
13800         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
13801         * rtl.h: Don't forward-declare union tree_node here.  Don't
13802         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
13803         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13804         and tree respectively.
13805         * tree.h: Don't forward-declare struct rtx_def here.  Don't
13806         typedef tree here.  Change all uses of struct rtx_def *,
13807         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13808         and tree respectively.
13809
13810 2001-08-17  Richard Henderson  <rth@redhat.com>
13811
13812         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
13813         config/mips/openbsd.h: Fix typos last change.
13814
13815 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13816
13817         * doc/invoke.texi (Optimize Options): The default for
13818         -finline-limit is 600.
13819
13820 2001-08-17  Richard Henderson  <rth@redhat.com>
13821
13822         * varasm.c (text_section): Allow TEXT_SECTION to override the
13823         printing of TEXT_SECTION_ASM_OP.
13824         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
13825         (DATA_SECTION, BSS_SECTION): Remove.
13826         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
13827         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
13828         Rename from s/_NAME//.
13829         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
13830         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
13831         (TEXT_SECTION): ... here.  New.
13832         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
13833         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
13834         * config/mips/openbsd.h: Likewise.
13835         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
13836         (mips_asm_file_end): Likewise test.
13837         (mips_output_function_epilogue): Likewise.  Switch back to data
13838         section after emitting the function.
13839
13840         * doc/tm.texi (Sections): Document TEXT_SECTION.
13841
13842 2001-08-17  Richard Henderson  <rth@redhat.com>
13843
13844         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
13845         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
13846
13847 2001-08-17  Richard Henderson  <rth@redhat.com>
13848
13849         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
13850         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
13851         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
13852         Add aligned attribute.
13853
13854 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
13855
13856         * config/sh/sh.md: Add modes to unspecs in first insn to match
13857         those in the second.
13858
13859         * Makefile.in: Fix collect2 copy for Cygwin.
13860
13861 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
13862
13863         Install the proper patch.
13864         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13865         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13866         (expand_function_start): Likewise.
13867         * stmt.c (expand_decl): Likewise.
13868         * varasm.c (make_decl_rtx): Likewise.
13869
13870 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13871
13872         * final.c: Undo my previous accidental checkin.
13873         * output.h: Likewise.
13874         * tm.texi: Likewise.
13875
13876 2001-08-16  Richard Henderson  <rth@redhat.com>
13877
13878         * varasm.c (named_section_flags): Remove align parameter.
13879         * varasm.c, dwarf2out.c: Update all callers.
13880         * output.h: Update prototypes.
13881
13882         * target.h (target.asm_out.named_section): Remove align parameter.
13883         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
13884         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
13885         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
13886         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
13887         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
13888
13889         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
13890         (get_named_section_flags, set_named_section_flags): New.
13891         (named_section_flags): Use them.
13892         (named_section): Do decl vs section flags check here...
13893         (default_section_type_flags): ... not here.
13894         (init_varasm_once): Create in_named_htab.
13895         (resolve_unique_section): Mark reloc unused.
13896
13897 2001-08-16  Richard Henderson  <rth@redhat.com>
13898
13899         * varasm.c (force_const_mem): Keep pool alignment in bits.
13900         (output_constant_pool): Use assemble_align.
13901
13902 2001-08-16  Zack Weinberg  <zackw@panix.com>
13903
13904         * doc/tm.texi: Remove extra @table command.
13905
13906 2001-08-16  Zack Weinberg  <zackw@panix.com>
13907
13908         * final.c (shorten_branches): Clear the end of the label_align
13909         array only if we made it larger.  Break up messy expressions
13910         for clarity.
13911
13912         * diagnostic.c (internal_error): Check for error recursion
13913         before doing ICE suppression.
13914
13915         * timevar.c: Timing variables now count in milliseconds.
13916         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
13917         (get_time): Not here.
13918         (timevar_print): Don't print any timer whose user, cpu, and
13919         wall times are all zero as displayed.
13920         * timevar.h: Update comment aboout units.  Make timevar
13921         counters unsigned.
13922
13923 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
13924
13925         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13926         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13927         (expand_function_start): Likewise.
13928         * stmt.c (expand_decl): Likewise.
13929         * varasm.c (make_decl_rtx): Likewise.
13930
13931 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
13932
13933         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
13934         (finalize_record_size): Don't set TYPE_USER_ALIGN.
13935
13936 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13937
13938         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
13939         variables.
13940
13941 2001-08-16  Andreas Jaeger  <aj@suse.de>
13942
13943         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
13944         prototype.
13945
13946 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
13947
13948         * rtl.h (only_sets_cc0_p): New prototype.
13949         * jump.c (sets_cc0_p): Handle INSN.
13950         (only_sets_cc0_p): New function.
13951         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
13952         (tidy_fallthru_edge): Likewise.
13953         * integrate.c (copy_insn_list): Likewise.
13954         * unroll.c (unroll_loop): Likewise.
13955         (copy_loop_body): Likewise.
13956
13957 2001-08-15  Jason Eckhardt  <jle@redhat.com>
13958
13959         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
13960
13961 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13962
13963         * predict.c (struct block_info_def): Remove nvisited.
13964         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13965         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13966
13967         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
13968         (ix86_adjust_cost): Teach scheduler that latency to load operand can
13969         be masked.
13970
13971 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
13972
13973         * predict.def: Update hitrates.
13974
13975 2001-08-15  Richard Henderson  <rth@redhat.com>
13976
13977         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
13978
13979 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
13980
13981         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
13982         note from its associated jump.
13983
13984 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13985
13986         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
13987         also on 64-bit s390x targets.
13988
13989 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
13990
13991         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
13992         function.
13993         (arm_expand_prologue): Handled nested functions which take a
13994         variable argument list.
13995         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
13996         macro with an invocation of
13997         arm_compute_initial_elimination_offset.
13998         * config/arm/arm-protos.h: Prototype
13999         arm_compute_initial_elimination_offset.
14000
14001 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14002
14003         * doc/install.texi (Specific, avr): Fix markup.
14004         (Specific, c4x): Ditto.
14005
14006 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
14007
14008         * predict.c (dump_prediction): Change `bool' parameter to `int'.
14009
14010 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
14011
14012         * Makefile.in (OBJS): Add rtl-error.o
14013         (rtl-error.o): New rule.
14014         (diagnostic.o): Adjust dependency.
14015         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
14016         error_for_asm, _fatal_insn, _fatal_insn_not_found,
14017         warning_for_asm): Move to...
14018         rtl-error.c: ...here.  New file.
14019
14020 2001-08-14  Richard Henderson  <rth@redhat.com>
14021
14022         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
14023         if USING_SJLJ_EXCEPTIONS.
14024
14025 2001-08-14  Steve Ellcey <sje@cup.hp.com>
14026
14027         * tlink.c (scan_linker_output): Check string for unsatisfied in
14028         addition to undefined and unresolved.
14029
14030 2001-08-14  Graham Stott  <grahams@redhat.com>
14031
14032         * libgcc2.c (*): Replace EH_FRAME_SECTION with
14033         EH_FRAME_SECTION_NAME.
14034
14035 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
14036
14037         * genattrtab.c (simplify_test_exp_in_temp): New function.
14038         (simplify_test_exp): Avoid explicit use of temporary obstack.
14039         (simplify_cond, insert_right_side, evaluate_eq_attr,
14040         simplify_and_tree, simplify_or_tree, eliminate_known_true):
14041         Use simplify_test_exp_in_temp.
14042         (optimize_attrs): Iterate until expression stabilizes.
14043
14044 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
14045
14046         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
14047         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
14048
14049 2001-08-13  Richard Henderson  <rth@redhat.com>
14050
14051         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
14052         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
14053         * config/arm/conix-elf.h: Likewise.
14054
14055 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
14056
14057         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
14058         in gcc.c.
14059         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
14060
14061         * gcse.c (hash_scan_set): Expressions that are set as part of
14062         jump instructions are not available.
14063
14064 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
14065
14066         * config/s390/s390.c (print_operand, s390_function_prologue,
14067         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
14068
14069 2001-08-13  Richard Henderson  <rth@redhat.com>
14070
14071         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
14072         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
14073         * doc/tm.texi (Exception Region Output): Document it.
14074
14075 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
14076
14077         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
14078         DWARF2 instead of stabs by default.
14079
14080 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
14081
14082         * config/rs6000/rs6000.c: Include optabs.h.
14083
14084 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
14085
14086         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
14087         save/restore routines.
14088         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
14089
14090 2001-08-13  Andreas Jaeger  <aj@suse.de>
14091
14092         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
14093         the english is correct.
14094
14095 2001-08-13  Zack Weinberg  <zackw@panix.com>
14096
14097         * expr.h: Split out optab- and libfunc-related code to...
14098         * optabs.h, libfuncs.h: ... these new headers.
14099
14100         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
14101         (OPTABS_H): New.
14102         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
14103         dependencies.
14104         * mkconfig.sh: Don't include insn-codes.h from config.h.
14105
14106         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
14107         enum insn_code is available.  Move reload_in_optab and
14108         reload_out_optab array declarations to optabs.h.
14109         * regmove.c (gen_add3_insn): Move to optabs.c, export from
14110         there, prototype in expr.h.
14111         * gencodes.c: Cleanup: zap global variables, don't use
14112         printf where puts will do, don't bother defining MAX_INSN_CODE
14113         which nothing uses, let CODE_FOR_nothing get its value implicitly.
14114
14115         * genemit.c, genopinit.c: Include optabs.h in generated file.
14116         * genoutput.c: Include insn-codes.h in generated file.
14117         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
14118         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
14119         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
14120         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
14121         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
14122         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
14123         Include optabs.h.
14124         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
14125         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
14126         config/m88k/m88k.c, config/sparc/sparc.c:
14127         Include libfuncs.h.
14128         * reload.c: Include expr.h and optabs.h before reload.h.
14129         * config/alpha/alpha.c: Include tree.h before reload.h.
14130         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
14131         and reload.h in that order.
14132         * config/sparc/sparc.c: Include debug.h.
14133         * recog.c: Include insn-codes.h.
14134
14135 2001-08-13  Andreas Jaeger  <aj@suse.de>
14136
14137         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
14138         s390*linux.
14139
14140 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
14141
14142         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
14143         * gcc.c (init_spec): Fix typo in comment.
14144         * varasm.c (data_section): Fix typo in comment.
14145
14146 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
14147
14148         * predict.c (dump_prediction): New argument "USED".
14149         (combine_predictions_for_insn): Determine the used heuristics,
14150         output the case no heuristic applied.
14151         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
14152
14153 2001-08-13  Andreas Jaeger  <aj@suse.de>
14154
14155         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
14156         register %rip.
14157
14158 2001-08-13  Kazu Hirata  <kazu@hxi.com>
14159
14160         * jump.c: Fix formatting.
14161
14162 2001-08-13  Kazu Hirata  <kazu@hxi.com>
14163
14164         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
14165         length.
14166
14167 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
14168
14169         * loop.c (check_dbra_loop): Use condjump_label to compute
14170         jump_label.
14171
14172         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
14173         to better document the files they're in.
14174
14175 2001-08-12  Zack Weinberg  <zackw@panix.com>
14176
14177         * recog.h (struct insn_operand_data): Shrink 'mode' field
14178         to 16 bits.
14179
14180 2001-08-12  Kazu Hirata  <kazu@hxi.com>
14181
14182         * gcc.c: Fix comment formatting.
14183         * gccspec.c: Likewise.
14184         * gcov.c: Likewise.
14185         * gcse.c: Likewise.
14186         * genemit.c: Likewise.
14187         * gengenrtl.c: Likewise.
14188         * genrecog.c: Likewise.
14189         * gensupport.c: Likewise.
14190         * ggc-page.c: Likewise.
14191         * global.c: Likewise.
14192         * graph.c: Likewise.
14193         * ifcvt.c: Likewise.
14194         * integrate.c: Likewise.
14195         * lcm.c: Likewise.
14196         * libgcc2.c: Likewise.
14197         * loop.c: Likewise.
14198         * mbchar.c: Likewise.
14199         * optabs.c: Likewise.
14200         * predict.c: Likewise.
14201         * prefix.c: Likewise.
14202         * profile.c: Likewise.
14203         * protoize.c: Likewise.
14204         * real.c: Likewise.
14205         * recog.c: Likewise.
14206         * regclass.c: Likewise.
14207         * regmove.c: Likewise.
14208         * reg-stack.c: Likewise.
14209         * reload1.c: Likewise.
14210         * resource.c: Likewise.
14211         * rtlanal.c: Likewise.
14212         * rtl.c: Likewise.
14213
14214 2001-08-12  Kazu Hirata  <kazu@hxi.com>
14215
14216         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
14217         a tree representing a constant is passed to the macro.
14218
14219 2001-08-12  Richard Henderson  <rth@redhat.com>
14220
14221         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
14222         (rs6000_elf_asm_out_destructor): New.
14223         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
14224         (DTORS_SECTION_ASM_OP): Remove.
14225         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14226         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
14227
14228 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
14229
14230         Revert:
14231         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14232         * gcc.c (set_collect_gcc_options): New function, split out from
14233         main.
14234         Ignore elided switches.
14235         (do_spec_1): Invoke before executing command.
14236         (set_input): Export.
14237         Move declaration ...
14238         * gcc.h (set_input): ... here.
14239         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
14240         file.
14241
14242 2001-08-12  Richard Henderson  <rth@redhat.com>
14243
14244         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
14245         thinko wrt TARGET_RELOCATABLE.
14246
14247 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
14248
14249         * fix-header.c (cb_file_change): Update prototype.
14250
14251 2001-08-11  Zack Weinberg  <zackw@panix.com>
14252
14253         * toplev.c (set_float_handler): Make static.
14254         * toplev.h: Don't prototype set_float_handler.
14255
14256         * simplify-rtx.c: Don't include setjmp.h.
14257         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
14258         New functions.
14259         (simplify_unary_operation, simplify_binary_operation): Use them,
14260         via do_float_handler.
14261
14262         * fold-const.c: Don't include setjmp.h.
14263         (exact_real_inverse_1): New function.
14264         (exact_real_inverse): Use it, via do_float_handler.
14265
14266         * varasm.c: Don't include setjmp.h.
14267         (assemble_real_1): New function.
14268         (assemble_real): Use it, via do_float_handler.
14269         Call internal_error if we get a trap here.
14270
14271         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
14272         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
14273
14274 2001-08-11  Zack Weinberg  <zackw@panix.com>
14275
14276         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
14277         STACK_BOUNDARY if not already defined.
14278
14279         * calls.c, function.c, reload1.c, explow.c: Don't default
14280         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
14281         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
14282
14283         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
14284         to run-time test.
14285
14286         * doc/tm.texi: Document that STACK_BOUNDARY is required;
14287         clarify difference between it and PREFERRED_STACK_BOUNDARY.
14288
14289 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14290
14291         * cppmacro.c (enter_macro_context): Push macro expansions even
14292         if empty.
14293
14294 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14295
14296         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
14297         (rs6000_elf_section_type_flags): Actually return a value.
14298
14299 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14300
14301         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
14302         Clean up code: add missing comments and prototypes, fix warnings,
14303         remove obsolete code, fix spacing to conform to coding style.
14304
14305 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14306
14307         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
14308         and TARGET_ASM_CLOSE_PAREN.
14309         (regclass_map): CC register belongs to class NO_REGS.
14310         (legitimize_pic_address): Don't generate unnecessary moves
14311         (to avoid confusing loop optimization).
14312         (check_and_change_labels): Replace jump_long by indirect_jump.
14313         (s390_final_chunkify): Don't start a new literal pool on section
14314         switch in 64-bit code.
14315         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
14316
14317         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
14318         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
14319         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
14320         modes correctly.
14321         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
14322         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
14323         (CONST_COSTS): Fixed incorrect costs.
14324
14325         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
14326         Use emit_jump instead of emit_jump_insn (gen_jump).
14327         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
14328         (to avoid confusing flow analysis).
14329         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
14330         (casesi, casesi_jump): New.
14331         (jump_long): Removed.  Functionality merged into indirect_jump.
14332         (indirect_jump): Accept address_operand, not just register_operand.
14333         (cjump_long, icjump_long): Use same logic as indirect_jump.
14334         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
14335         Fixed broken setjmp/longjmp handling.
14336         (do_builtin_setjmp_setup): Removed.
14337
14338         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
14339         broken GNU as versions that don't accept .quad with large
14340         negative values.  Use hexadecimal output instead.
14341         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
14342         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
14343         FUNCTION_EPILOGUE): Removed.  Now in targetm.
14344
14345         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
14346
14347         * config/s390/fixdfdi.h: Add missing copyright statement.
14348         Fix type conflicts on 64-bit.  Add missing SFmode routines.
14349
14350         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
14351         email address.
14352
14353 2001-08-11  Richard Henderson  <rth@redhat.com>
14354
14355         * rtl.h (REG_EH_RETHROW): Remove.
14356         * rtl.c (reg_note_name): Update.
14357         * combine.c (distribute_notes): Don't check for it.
14358
14359 2001-08-11  Richard Henderson  <rth@redhat.com>
14360
14361         * combine.c (distribute_notes): Place REG_SETJMP.
14362
14363 2001-08-11  Richard Henderson  <rth@redhat.com>
14364
14365         * doc/extend.texi (Arrays and pointers implementation): Discourage
14366         relying on sign-extension of pointers.
14367
14368 2001-08-11  H.J. Lu <hjl@gnu.org>
14369
14370         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
14371         in_dtors.
14372         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
14373         RDATA_SECTION_ASM_OP.
14374
14375 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14376
14377         * doc/install.texi (Specific, c4x): Fix cross-reference to the
14378         main manual to work both for info and HTML versions.
14379
14380 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14381             Matt Kraai <kraai@alumni.carnegiemellon.edu>
14382
14383         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
14384         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
14385         (struct cpp_pool): New member first.
14386         * cppinit.c (append_include_chain): Plug memory leaks.
14387         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
14388         Allocate pragma structures from the (aligned) macro pool to
14389         avoid leaking memory.
14390         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
14391         so we don't leak memory.
14392         * hashtable.c (ht_destroy): New.
14393         * hashtable.h (ht_destroy): New.
14394
14395 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14396             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14397
14398         * c-lex.c (map): Make const.
14399         (cb_file_change): Update for callback passing a line map.
14400         Don't assume we have a previous map.  Remove sanity check
14401         about popping too many files.
14402         * cpperror.c (print_location): Make map const.
14403         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
14404         (cpp_make_system_header): Similarly.
14405         (search_from): Similarly.
14406         (_cpp_execute_include): Don't remember where we came from.
14407         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
14408         (struct cpp_reader): Make map const.
14409         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
14410         * cpplib.c (do_line): Update; line maps now hold sysp.
14411         (cpp_push_buffer): Similarly.
14412         (_cpp_do_file_change): Similarly; callback with map instead.
14413         (cpp_get_line_maps): Constify return value.
14414         (_cpp_pop_buffer): Update.
14415         * cpplib.h (struct cpp_file_change): Remove.
14416         (struct cpp_callbacks): Update.
14417         (cpp_get_line_maps): Constify return value.
14418         * cppmacro.c (_cpp_create_definition): Update.
14419         * cppmain.c (struct printer): Constify map.
14420         (maybe_print_line): Similarly.
14421         (print_line): Similarly.  Deduce flags 1 and 2 here.
14422         (cb_file_change): Update.
14423         * line-map.c (free_line_maps): Warn regardless.
14424         (add_line_map): Return pointer to const.  When passed NULL to_file
14425         with LC_LEAVE, use the obvious values for the return point so the
14426         caller doesn't have to figure them out.
14427         (lookup_line): Return pointer to const.
14428         (print_containing_files): Take pointer to const.
14429         * line-map.h (struct line_map): New members reason, sysp.
14430         (add_line_map): Return pointer to const.
14431         (lookup_line): Similarly.
14432         (print_containing_files): Take pointer to const.
14433
14434 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
14435             Richard Henderson  <rth@redhat.com>
14436
14437         * regmove.c (regmove_optimize): Avoid setting a register twice in
14438         a parallel set.
14439
14440 2001-08-10  Richard Henderson  <rth@redhat.com>
14441
14442         * doc/extend.texi (Arrays and pointers implementation): Document
14443         behavior of pointer/integer conversion.
14444
14445 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
14446
14447         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
14448
14449 2001-08-10  Richard Henderson  <rth@redhat.com>
14450
14451         * doc/extend.texi (C Implementation): New chapter.
14452         * doc/gcc.texi (Top): Link it in.
14453
14454 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
14455
14456         * doc/install.texi (Specific): Fix CVS merge botch.
14457
14458 2001-08-10  Richard Henderson  <rth@redhat.com>
14459
14460         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
14461         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
14462
14463 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
14464
14465         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
14466         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
14467         this macro is now required.
14468
14469         * cselib.c (cselib_process_insn), flow.c (propagate_block),
14470         loop.c (find_and_verify_loops), reload.c (reload): Check
14471         for rtx code of CALL_INSN, not CALL, when deciding if we
14472         need to check for REG_SETJMP note.
14473
14474         * gcse.c (compute_hash_table, compute_store_table): Update
14475         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
14476         logic.
14477
14478         * config/avr/avr.c: Fix typo.
14479         * config/convex/convex.c (expand_movstr): Use adjust_address.
14480         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
14481         variable.
14482         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
14483         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
14484         Fix typo.
14485         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
14486         Do define STACK_BOUNDARY.
14487         * config/i370/i370.c: Include expr.h.
14488         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
14489         config/pa/som.h, config/v850/v850.h: Take in_ctors and
14490         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
14491         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
14492         * config/m88k/m88k.c: Include c-tree.h after expr.h.
14493         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
14494         * config/romp/romp.c: Include expr.h after tree.h.
14495         Include toplev.h.
14496         (output_fpop): Use xmalloc, not oballoc.
14497         * config/we32k/we32k.c: Include expr.h.
14498
14499 2001-08-10  Kazu Hirata  <kazu@hxi.com>
14500
14501         * config/h8300/h8300.h: Fix formatting.
14502
14503 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14504
14505         * c-common.h (RETURN_NULLIFIED_P): Lose.
14506         * c-semantics.c (genrtl_return_stmt): Don't check it.
14507
14508 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14509
14510         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
14511         (mips_annotate_frame_insn): New function.
14512         (mips_emit_frame_related_store): New function.
14513         (save_restore_insns): Don't mark instructions that set up the base
14514         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
14515         the store instructions instead.
14516         (mips_expand_prologue): If the stack size is moved into a temporary
14517         register, do not mark that move as frame-related.  Add a
14518         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
14519
14520 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14521
14522         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
14523         stack slot as unchanging if current_function_calls_eh_return.
14524
14525 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14526
14527         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
14528         access the second half of the TFmode scratch operand.
14529
14530 2001-08-10  Anthony Green  <green@redhat.com>
14531
14532         * java/class.c (emit_register_classes): Conditionalize code on
14533         JCR_SECTION_NAME.
14534
14535 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14536
14537         * doc/install.texi (Specific, avr): Fix cross-reference to the
14538         main manual to work both for info and HTML versions.
14539
14540 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14541
14542         * stmt.c (expand_null_return_1): Remove code to generate simple returns
14543         and "use_goto" argument.
14544         (expand_null_return, expand_value_return): Update all callers.
14545         * function.c (expand_function_end): Remove code to generate simple
14546         return.
14547         * config/vax/vax.md (epilogue): New expander for function return.
14548         * doc/md.texi (epilogue): Remove "if defined".
14549
14550 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14551
14552         * Makefile.in: Partially revert my previous change:
14553         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
14554         of the hashtab.o and safe-ctype.o rules.
14555
14556 2001-08-09  Richard Henderson  <rth@redhat.com>
14557
14558         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
14559         (USE_COLLECT2): Remove duplicate definition.
14560         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
14561         (use_collect2): Remove dead code.
14562         * configure.in (use_collect2): Remove will_use_collect2 and
14563         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
14564         * configure: Rebuild.
14565
14566         * target.h (targetm.asm_out.constructor): New.
14567         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
14568         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
14569         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
14570         * varasm.c (in_ctors, in_dtors): New.
14571         (assemble_constructor, assemble_destructor): Remove.
14572         (default_stabs_asm_out_destructor): New.
14573         (default_named_section_asm_out_destructor): New.
14574         (dtors_section, default_dtor_section_asm_out_destructor): New.
14575         (default_stabs_asm_out_constructor): New.
14576         (default_named_section_asm_out_constructor): New.
14577         (ctors_section, default_ctor_section_asm_out_constructor): New.
14578         * output.h: Update declarations.
14579         * c-decl.c (c_expand_body): Use target hooks instead of
14580         assemble_constructor and assemble_destructor.
14581         * profile.c (output_func_start_profiler): Likewise.
14582         * objc/objc-act.c (finish_objc): Likewise.
14583         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
14584         for the constructor.
14585         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
14586
14587         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
14588         (DTORS_SECTION_ASM_OP): Likewise.
14589         (__CTOR_LIST__): Use attribute section when possible.
14590         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
14591
14592         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
14593         ASM_OUTPUT_CONSTRUCTOR.
14594
14595         * config/darwin.c (machopic_asm_out_constructor): New.
14596         (machopic_asm_out_destructor): New.
14597         * config/darwin-protos.h: Update declarations.
14598         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14599         (ASM_OUTPUT_DESTRUCTOR): Remove.
14600         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14601         * config/nextstep.c (nextstep_asm_out_constructor): New.
14602         (nextstep_asm_out_destructor): New.
14603         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14604         (ASM_OUTPUT_DESTRUCTOR): Remove.
14605         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14606         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
14607         ASM_OUTPUT_*STRUCTOR.
14608         * config/i386/aix386ng.h: Likewise.
14609
14610         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
14611         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
14612         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14613         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14614         * config/lynx.h: Likewise.
14615         * config/netware.h: Likewise.
14616         * config/psos.h: Likewise.
14617         * config/alpha/alpha-interix.h: Likewise.
14618         * config/alpha/elf.h: Likewise.
14619         * config/arc/arc.h: Likewise.
14620         * config/arm/aof.h: Likewise.
14621         * config/arm/coff.h: Likewise.
14622         * config/arm/elf.h: Likewise.
14623         * config/c4x/c4x.h: Likewise.
14624         * config/h8300/h8300.h: Likewise.
14625         * config/i386/cygwin.h: Likewise.
14626         * config/i386/djgpp.h: Likewise.
14627         * config/i386/i386-coff.h: Likewise.
14628         * config/i386/i386-interix.h: Likewise.
14629         * config/i386/sco5.h: Likewise.
14630         * config/i386/vsta.h: Likewise.
14631         * config/i386/win32.h: Likewise.
14632         * config/i960/i960-coff.h: Likewise.
14633         * config/ia64/sysv4.h: Likewise.
14634         * config/m68hc11/m68hc11.h: Likewise.
14635         * config/m68k/coff.h: Likewise.
14636         * config/m68k/mot3300.h: Likewise.
14637         * config/m88k/m88k.h: Likewise.
14638         * config/mcore/mcore-pe.h: Likewise.
14639         * config/mcore/mcore.h: Likewise.
14640         * config/mips/elf.h: Likewise.
14641         * config/mips/elf64.h: Likewise.
14642         * config/mips/iris6.h: Likewise.
14643         * config/pa/pa64-hpux.h: Likewise.
14644         * config/rs6000/sysv4.h: Likewise.
14645         * config/sh/sh.h: Likewise.
14646         * config/sparc/litecoff.h: Likewise.
14647
14648         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
14649         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14650         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14651         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14652         (ASM_OUTPUT_DESTRUCTOR): Remove.
14653         * config/a29k/a29k.c: Move include of tree.h.
14654         * config/a29k/udi.h: Delete file.
14655         * config/alpha/alpha.c (vms_asm_out_constructor): New.
14656         (vms_asm_out_destructor): New.
14657         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
14658         (EXTRA_SECTION_FUNCTIONS): Likewise.
14659         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14660         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14661         * config/c4x/c4x.c: Move include of tree.h.
14662         * config/clipper/clipper.c (clix_asm_out_constructor): New.
14663         (clix_asm_out_destructor): New.
14664         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14665         (ASM_OUTPUT_DESTRUCTOR): Remove.
14666         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14667         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14668         (TARGET_ASM_CONSTRUCTOR): New.
14669         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
14670         (sco_asm_out_constructor): New.
14671         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
14672         * config/i386/svr3gas.h: Remove stack grows up code.
14673         Remove code duplicated from i386/sysv3.h.
14674         (TARGET_ASM_CONSTRUCTOR): New.
14675         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14676         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
14677         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14678         (TARGET_ASM_CONSTRUCTOR): New.
14679         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
14680         (m68hc11_asm_out_destructor): New.
14681         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
14682         (TARGET_ASM_DESTRUCTOR): New.
14683         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
14684         * config/m68k/dpx2.h: Properly undef all the bits inherited from
14685         config/svr3.h pertaining to section manipulation.
14686         * config/m68k/dpx2g.h: Remove #if 0 code.
14687         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
14688         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
14689         (ASM_OUTPUT_CONSTRUCTOR): Remove.
14690         (TARGET_ASM_CONSTRUCTOR): New.
14691         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
14692         (m88k_svr3_asm_out_constructor): New.
14693         (m88k_svr3_asm_out_destructor): New.
14694         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14695         (ASM_OUTPUT_DESTRUCTOR): Remove.
14696         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14697         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
14698         * config/rs6000/aix.h: Likewise.
14699         * config/mips/rtems64.h: Don't undef removed constructor related bits.
14700         * config/mips/vxworks.h: Likewise.
14701         * config/rs6000/lynx.h: Likewise.
14702         * config/sh/elf.h: Likewise.
14703         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
14704         (DTORS_SECTION_ASM_OP): New.
14705         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14706         (ASM_OUTPUT_DESTRUCTOR): Remove.
14707         * config/sparc/sol2-sld-64.h: Likewise.
14708         * config/vax/vax.c (vms_asm_out_constructor): New.
14709         (vms_asm_out_destructor): New.
14710         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14711         (ASM_OUTPUT_DESTRUCTOR): Remove.
14712         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14713
14714         * doc/tm.texi (@node Initialization): Update.
14715
14716 2001-08-09  Richard Henderson  <rth@redhat.com>
14717
14718         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
14719         (__do_global_dtors_aux): Use gp-relative static data to avoid
14720         one dynamic relocation.
14721         (__do_frame_setup): Register Java classes.
14722         * config/alpha/crtend.asm (__JCR_END__): New.
14723
14724 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14725
14726         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
14727         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
14728         (GEN, STAGESTUFF): Add new files.
14729         (insn-constants.h, s-constants, tm-preds.h, s-preds,
14730         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
14731         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
14732         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
14733         as well as insn-codes.h and insn-flags.h in config.h; and no
14734         extra headers in tconfig.h and hconfig.h.
14735
14736         * gencodes.c: Eliminate code to generate predicate declarations
14737         or #defines for md-file constants.
14738         * genconstants.c, genpreds.c: New files.
14739
14740         * i386.md: Re-order guard expressions such that TARGET_64BIT
14741         comes first, when this permits better optimization.  Add
14742         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
14743         why this is desirable.
14744
14745 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
14746
14747         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
14748         (find_fde_for_dso): Remove.
14749         (_Unwind_IteratePhdrCallback): New.
14750         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
14751         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
14752
14753 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14754
14755         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
14756         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
14757
14758 2001-08-09  Graham Stott  <grahams@redhat.com>
14759
14760         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
14761         (vis_no_unit): Use it.
14762         (visualize_no_unit): Add the insn only if room exists.
14763
14764 2001-08-09  Graham Stott  <grahams@redhat.com>
14765
14766         * predict.c (estimate_probability): Replace magic numbers with
14767         appropriate enumeration.
14768
14769 2001-08-09  Graham Stott  <grahams@redhat.com>
14770
14771         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
14772         parameter.
14773         (EXTRACT_FLAGS): Likewise.
14774
14775 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
14776
14777         * config/mips/mips.c    (mips_legitimate_address_p): Check for
14778         CONST_INT in last patch.
14779
14780 2001-08-08  Anthony Green  <green@redhat.com>
14781
14782         * java/class.c (emit_register_classes): Use assemble_jcr if
14783         possible.  Keep the original mechanism as a fallback.
14784         * defaults.h (JCR_SECTION_NAME): Define if we have named section
14785         and weak symbol support.
14786         * crtstuff.c (__JCR_LIST__): Define.
14787         (__JCR_END__): Define.
14788         (_Jv_RegiserClasses): Define weak symbol if possible.
14789         (__do_global_ctors_aux): Register classes for ELF targets with
14790         weak symbol support.
14791
14792 2001-08-08  Kazu Hirata  <kazu@hxi.com>
14793
14794         * dbxout.c: Fix comment formatting.
14795         * dependence.c: Likewise.
14796         * df.c: Likewise.
14797         * diagnostic.c: Likewise.
14798         * dominance.c: Likewise.
14799         * doprint.c: Likewise.
14800         * dwarf2out.c: Likewise.
14801         * dwarfout.c: Likewise.
14802         * emit-rtl.c: Likewise.
14803         * except.c: Likewise.
14804         * explow.c: Likewise.
14805         * expmed.c: Likewise.
14806         * expr.c: Likewise.
14807         * flow.c: Likewise.
14808         * fold-const.c: Likewise.
14809         * function.c: Likewise.
14810
14811 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14812
14813         * global.c (retry_global_alloc): Avoid shadowing allocno.
14814
14815 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
14816
14817         * except.c (remove_fixup_regions): Fix typo.
14818
14819 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
14820
14821         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
14822         unsigned HOST_WIDE_INT to avoid warning.
14823         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
14824         * flow.c (set_block_for_new_insns): Likewise.
14825
14826 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
14827
14828         * sibcall.c (return_value_pseudo): New static variable.
14829         (skip_copy_to_return_value): Handle return_value_pseudo.
14830         (call_ends_block_p): Ensure that return_value_pseudo is set.
14831         (optimize_sibling_and_tail_recursive_call): Discover the
14832         load of pseudo return value in alternate exit block.
14833
14834 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
14835
14836         * calls.c (ECF_ALWAYS_RETURN): New constant.
14837         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
14838         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
14839         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
14840         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
14841         * rtl.c (reg_note_name): New name.
14842         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
14843
14844 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
14845
14846         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
14847
14848 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14849
14850         * alias.c (get_alias_set): Return a previously calculated
14851         alias set for a VAR_DECL.
14852         * function.c (gen_mem_addressof): Calculate the alias set before
14853         touching the RTL.
14854
14855 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
14856
14857         * predict.def: Set hitrates according our experimental run.
14858
14859 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
14860
14861         * i386.h (HARD_REGNO_RENAME_OK): New macro.
14862
14863 2001-08-08  H.J. Lu <hjl@gnu.org>
14864
14865         * config/mips/mips.c (mips_unique_section): New. Copied from
14866         config/mips/elf.h.
14867
14868         * config/mips/mips-protos.h (mips_unique_section): New
14869         prototype.
14870
14871         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
14872
14873         * config/mips/little.h: New. Generic little endian mips
14874         targets. Only mips*-*-linux* is converted to use it so far.
14875
14876         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
14877         (WCHAR_TYPE): Defined
14878         (WCHAR_TYPE_SIZE): Likewise.
14879         (INIT_SUBTARGET_OPTABS): Likewise.
14880         (BSS_SECTION_ASM_OP): Likewise.
14881         (SBSS_SECTION_ASM_OP): Likewise.
14882         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14883         (ASM_DECLARE_OBJECT_NAME): Likewise.
14884         (UNIQUE_SECTION): Likewise.
14885         (EXTRA_SECTIONS): Likewise.
14886         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
14887         (ASM_OUTPUT_DESTRUCTOR): Likewise.
14888         (ASM_OUTPUT_DEF): Likewise.
14889         (HANDLE_SYSV_PRAGMA): Removed.
14890         (NO_IMPLICIT_EXTERN_C): Likewise.
14891         (TARGET_MEM_FUNCTIONS): Likewise.
14892         (STARTFILE_SPEC): Likewise.
14893         (ENDFILE_SPEC): Likewise.
14894         (LIB_SPEC): Likewise.
14895         (INVOKE__main): Likewise.
14896         (CTOR_LIST_BEGIN): Likewise.
14897         (CTOR_LIST_END): Likewise.
14898         (DTOR_LIST_BEGIN): Likewise.
14899         (DTOR_LIST_END): Likewise.
14900         (SET_ASM_OP): Likewise.
14901         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14902         (ASM_OUTPUT_DEF): Likewise.
14903         (ASM_OUTPUT_IDENT): Likewise.
14904
14905         * config/mips/mips.h (ASM_SPEC): Undefine before define.
14906         (CPLUSPLUS_CPP_SPEC): Likewise.
14907         (ASM_APP_ON) Redefine only if not defined.
14908         (ASM_APP_OFF): Likewise.
14909         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14910         (ASM_OUTPUT_IDENT): Likewise.
14911
14912         * config.gcc: Update tm_file for Linux/mips.
14913
14914 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
14915
14916         * cselib.c (cselib_record_sets): If insn is predicated, turn
14917         sources into IF_THEN_ELSEs.
14918
14919         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
14920         Turn into define_insn_and_split.
14921
14922         * sched-deps.c: Include "cselib.h".
14923         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
14924         Use cselib to turn memory addresses into VALUEs.
14925         (sched_analyze): Call cselib_init/cselib_finish if necessary.
14926         * sched-int.h (struct sched_info): New member USE_CSELIB.
14927         * sched-ebb.c (ebb_sched_info): Initialize it.
14928         * sched-rgn.c (rgn_sched_info): Likewise.
14929         * Makefile.in (sched-deps.o): Update dependencies.
14930
14931         * cselib.h (cselib_subst_to_values): Declare.
14932         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
14933         that have no value and autoincs to be handled by generating a new
14934         dummy value.
14935
14936 2001-08-08  Graham Stott  <grahams@redhat.com>
14937
14938         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
14939         within fixed length SEQUENCE.
14940
14941 2001-08-08  Graham Stott  <grahams@redhat.com>
14942
14943         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
14944         (diagnostic_prefixing_rule): Likewise.
14945         (diagnostic_line_cutoff): Likewise.
14946         (diagnostic_kind_count): Likewise.
14947
14948 2001-08-08  Graham Stott  <grahams@redhat.com>
14949
14950         * alias.c (find_base_decl): Delete redundent assignment.
14951
14952 2001-08-08  Graham Stott  <grahams@redhat.com>
14953
14954         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
14955         (abs): Uppercase and paranthesize macro parameter.
14956         (MEM_DEPENDENCY): Add whitespace.
14957
14958 2001-08-08  Graham Stott  <grahams@redhat.com>
14959
14960         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
14961         failure check for CONST_INT
14962
14963 2001-08-08  Graham Stott  <grahams@redhat.com>
14964
14965         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
14966         (libcall_dead_p): Likewise.
14967
14968         (mark_used_regs): Constify fmt.
14969         (find_use_as_address): Likewise.
14970
14971 2001-08-08  Graham Stott  <grahams@redhat.com>
14972
14973         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
14974          parameter.
14975
14976 2001-08-08  Graham Stott  <grahams@redhat.com>
14977
14978         * combine.c (combine_simplify_rtx): Update comment and
14979         remove erroneous test.
14980
14981 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14982
14983         * cppinit.c (cpp_finish): Pop the final buffer without comment.
14984         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
14985         take care to avoid multiple no-newline at EOF warnings in that
14986         case.
14987
14988 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
14989
14990         * calls.c (expand_call): Do not emit INSN_SETJMP note.
14991         (emit_library_call_value_1): Likewise.
14992         (emit_call_1): Emit REG_SETJMP note.
14993         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
14994         of INSN_SETJMP
14995         * cselib.c (cselib_process_insn): Likewise.
14996         * flow.c (propagate_block): Likewise.
14997         * loop.c (find_and_verify_loops): Likewise.
14998         * reload.c (find_equiv_regs): Likewise.
14999         * reload1.c (reload): Likewise.
15000         * resource.c (mark_referenced_resources,
15001         mark_set_resources): Likewise.
15002         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
15003         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
15004         * haifa-sched.c (unlink_other_notes): Likewise.
15005         (reemit_notes): Likewise.
15006         * sched-ebb.c (sched_ebb): Likewise.
15007         * sched-rgc.c (sched_region): Likewise.
15008         * rtl.c (note_insn_name): Likewise.
15009         (reg_note_name): Add REG_SETJMP
15010         * rtl.h (reg_note): Add REG_SETJMP.
15011         (insn_note): Remove NOTE_INSN_SETJMP.
15012
15013         * profile.c (branch_prob): Add fake edges for setjmp.
15014
15015 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
15016
15017         * config.gcc: Quote target_cpu_default2 correctly for
15018         powerpc*-*-* targets.
15019
15020 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
15021
15022         * cpplib.h, line-map.h: Update comments.
15023         * cppmain.c (printer_init): Move inline.
15024         (maybe_print_line, print_line): Take a map pointer.
15025         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
15026         (cb_file_change): Don't use prior value of print.map.
15027
15028 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
15029
15030         * doc/install.texi: Document fine-grained multilib configuration.
15031
15032 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
15033
15034         * rtlanal.c (find_first_parameter_load): Call note_stores
15035         only on the instructions.
15036
15037 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15038
15039         * alias.c (nonlocal_mentioned_p):
15040         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
15041         * calls.c (emit_call_1): Likewise.
15042         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
15043         * cselib.c (cselib_process_insn): Likewise.
15044         * df.c (df_insns_modify): Likewise.
15045         * flow.c (need_fake_edge_p): Likewise.
15046         (propagate_one_insn): Likewise.
15047         * haifa-sched.c (reemit_notes): Likewise.
15048         * integrate.c (copy_insn_list): Likewise.
15049         * jump.c (delete_prior_computation): Likewise.
15050         * local-alloc.c (validate_equiv_mem): Likewise.
15051         * loop.c (scan_loop): Likewise.
15052         * predict.c (estimate_probability): Likewise.
15053         * reload.c (reload): Likewise.
15054         * sched-deps (sched_analyze): Likewise.
15055         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
15056         * gcse.c (compute_hash_table): Likewise.
15057         (mark_call): Likewise.
15058         (store_killed_in_insn): Likewise.
15059
15060 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
15061
15062         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
15063
15064 2001-08-06  Richard Henderson  <rth@redhat.com>
15065
15066         * varasm.c (assemble_gc_entry): Remove.
15067         * output.h: Likewise.
15068
15069 2001-08-06  Richard Henderson  <rth@redhat.com>
15070
15071         * varasm.c (assemble_constructor): Take a symbol_ref and a
15072         priority instead of a bare string.  Move priority handling
15073         here from cp/decl2.c.
15074         * output.h: Update decls.
15075
15076         * c-decl.c (c_expand_body): Update calls to assemble_constructor
15077         and assemble_destructor.
15078         * profile.c (output_func_start_profiler): Likewise.
15079         * objc/objc-act.c (finish_objc): Likewise.
15080         (build_module_descriptor): Return the symbol not the symbol name.
15081
15082 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
15083
15084         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
15085         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
15086         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
15087         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
15088         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
15089         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
15090
15091 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
15092
15093         * cpperror.c (print_containing_files): Moved to line-map.c.
15094         (print_location): line-map.c handles re-listing or otherwise.
15095         * cpphash.h (struct lexer_state): Remove next_bol.
15096         (struct cpp_buffer): Remove include_stack_listed.
15097         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
15098         Remove faked buffer handling.
15099         (_cpp_do_file_change): Tweak.
15100         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
15101         * cppmain.c (struct printer): Remove filename.
15102         (print_line, cb_file_change): Update accordingly.
15103         * line-map.c: Include intl.h.
15104         (init_line_maps): Initialize last_listed.
15105         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
15106         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
15107         (print_containing_files): New.
15108         * line-map.h (struct line_maps): New member last_listed.
15109         (print_containing_files, INCLUDED_FROM): New.
15110         * Makefile.in: Update.
15111         * po/POTFILES.in: Add line-map.c.
15112
15113 2001-08-06  Richard Henderson  <rth@redhat.com>
15114
15115         * except.c (convert_from_eh_region_ranges_1): Never mark
15116         USE or CLOBBER insns as throwing.
15117
15118         * expr.c (store_constructor): Don't clobber memory targets.
15119
15120 2001-08-06  Andreas Jaeger  <aj@suse.de>
15121
15122         * profile.c (branch_prob): Remove unused variable insn.
15123
15124         * Makefile.in (local-alloc.o): Add dependency on except.h.
15125
15126         * local-alloc.c: Include except.h for can_throw_internal prototype.
15127
15128 2001-08-06  Richard Henderson  <rth@redhat.com>
15129
15130         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
15131         * function.c (expand_main_function): Implement it.
15132         * doc/tm.texi: Document it.
15133
15134 2001-08-06  Stan Shebs  <shebs@apple.com>
15135
15136         * doc/install.texi: Document powerpc-*-darwin* details.
15137
15138 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
15139
15140         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
15141         (ASM_CPU_SPEC): Move back to rs6000.h
15142         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
15143
15144         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
15145
15146         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
15147         readded.
15148
15149         * config/rs6000/linux64.h: Ditto.
15150
15151         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
15152         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
15153         nothing.
15154
15155         Remove accidently readded definitions of FUNCTION_PROLOGUE,
15156         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
15157
15158         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
15159         to rs6000.h
15160
15161 2001-08-05  Richard Henderson  <rth@redhat.com>
15162
15163         * local-alloc.c (update_equiv_regs): Do not move insns that
15164         can throw.
15165
15166 2001-08-05  Jan Hubicka  <jh@suse.cz>
15167
15168         * Makefile.in (reload1.o): Add dedendancy on except.h
15169         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
15170         prototypes.
15171         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
15172         indicating wehther edges has been cleaned up.
15173         * reload1.c: Inlucde except.h
15174         (fixup_abnormal_edges): Accept deleted insns.
15175         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
15176         after combine.
15177
15178 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
15179
15180         * cpplib.c (do_line): Correct line number after pop_buffer.
15181
15182 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
15183
15184         PR preprocessor/3824
15185         * line-map.c: Update comments.
15186         * line-map.h: Update comments.
15187         * tradcif.y: Don't consider large numbers unsigned.
15188
15189 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
15190
15191         PR preprocessor/3081
15192         * c-lex.c (map): New.
15193         (cb_file_change): Update map and use it.
15194         (cb_def_pragma, cb_define, cb_undef): Use map and line.
15195         (c_lex): Update to use map.
15196         * cpperror.c (print_location): Move to using logical line numbers.
15197         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
15198         (cpp_make_system_header): Similarly.
15199         (_cpp_execute_include): Stop line numbering hacks.  Store the
15200         line we will return to.
15201         * cpphash.h (CPP_BUF_LINE): Remove.
15202         (struct cpp_buffer): Remove lineno and pseudo_newlines.
15203         Add map and return_to_line.
15204         (_cpp_do_file_change): Update.
15205         * cppinit.c (cpp_start_read): Update line kludge.
15206         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
15207         (trigraph_ok): Use logical line numbers for diagnostics.
15208         (skip_block_comment): Likewise.
15209         (skip_whitespace): Likewise.
15210         (skip_line_comment): Use pfile->line instead.
15211         (_cpp_lex_token): Update to use logical line numbering exclusively.
15212         Handle BOL locally.  Accept new lines in directives, but keep
15213         pfile->line decremented.  Diagnostics use logical lines.  Update
15214         directive handling.
15215         * cpplib.c (SEEN_EOL): New.
15216         (skip_rest_of_line, check_eol): Use it.
15217         (end_directive): Increase line number when accepting the newline
15218         at the end of a directive.
15219         (run_directive): Simplify.
15220         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
15221         (_cpp_do_file_change): Update to take buffer line number as an
15222         argument, and store the current map in the cpp_reader.  Remove
15223         line number kludges.
15224         (_cpp_do__Pragma): Restore output position after a _Pragma.
15225         (cpp_push_buffer): Don't set output line or lineno.
15226         (_cpp_pop_buffer): Transfer more info from a faked buffer.
15227         Remove line kludge.  Set output_line.
15228         * cppmacro.c (builtin_macro): Update handling of __LINE__.
15229         (parse_arg): Use logical lines.
15230         (save_lookahead_token): Save EOFs too now.
15231         * cppmain.c (struct printer): Fix comments.
15232         (printer_init): Simplify, let caller do errors.
15233         (scan_translation_unit, check_multiline_token, dump_macro): Update.
15234         (maybe_print_line): Simplify.
15235         (print_line): Don't print a linemarker if -P.
15236         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
15237         (cb_file_change): Simplify.
15238         * line-map.h (LAST_SOURCE_LINE): Fix.
15239         (CURRENT_LINE_MAP): New.
15240
15241 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
15242
15243         * doloop.c (doloop_modify_runtime): Properly compute number of
15244         iterations if loop was unrolled.
15245
15246         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
15247         if their CSELIB_VAL_PTRs are.
15248
15249         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
15250         (setup_spill_pointers): Initialize it.
15251         (spill_restore_mem): Set it.
15252         (do_spill, do_restore): Use it to add REG_INC note.
15253         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
15254
15255         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
15256         asms if other insns are available.
15257
15258         * config/ia64/ia64.c (condop_operator): New predicate.
15259         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
15260         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
15261         patterns.
15262
15263         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
15264         temporary register than directly using a MEM.
15265
15266 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15267
15268         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
15269         parameter in last change.
15270
15271 2001-08-04  Zack Weinberg  <zackw@panix.com>
15272
15273         * sparc.md: Don't use #if inside C test expression.
15274
15275 2001-08-04  Richard Henderson  <rth@redhat.com>
15276
15277         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
15278
15279 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
15280
15281         * cpphash.h (struct cpp_reader): New member directive_line.
15282         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
15283         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
15284         do_pragma): Pass line to callbacks.
15285         (start_directive): Record line of directive.
15286         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
15287         cb_include): Similarly.
15288         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
15289         Similarly.
15290
15291 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15292
15293         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
15294         comment.
15295
15296 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
15297
15298         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
15299
15300         * reload1.c (fixup_abnormal_edges): New static function.
15301         (reload): Use it.
15302
15303         * flow.c (need_fake_edge_p): New function.
15304         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
15305         avoid call insn to be very last insn in the insn stream.
15306
15307         * profile.c (branch_prob): Call flow_call_edges_add instead of
15308         doing that by hand; cleanup cfg to re-merge basic blocks once
15309         we are done.
15310
15311 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15312
15313         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
15314         are also on line-map.h.
15315         * cppfiles.c (stack_include_file): Update.
15316         * cpphash.h (struct cpp_buffer): New member return_at_eof.
15317         (_cpp_pop_buffer): New.
15318         * cppinit.c (cpp_destroy, cpp_finish): Update.
15319         (do_includes): Mark each buffer to return at EOF.
15320         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
15321         return as requested.
15322         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
15323         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
15324         * cpplib.h (cpp_pop_buffer): Remove.
15325         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
15326         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
15327         buffers.
15328         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
15329         to pop buffers.
15330         (do_preprocessing): Update.
15331         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
15332         * c-parse.in (_yylex): Similarly.
15333         * scan-decls.c (scan_decls): Similarly.
15334         * line-map.h: Update comments.
15335
15336         * objc/Make-lang.in (objc-act.o): Update dependencies.
15337
15338 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15339
15340         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
15341         and soft register for operand 0.
15342         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
15343
15344 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15345
15346         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
15347         register for operand 0.
15348         ("bitcmpqi_z_used"): Allow memory for operand 0.
15349         (split "bitcmpqi"): New split to handle address reg as operand 1.
15350
15351 2001-08-04  Andreas Jaeger  <aj@suse.de>
15352
15353         * gcse.c: Revert Daniel's last patch.
15354
15355 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15356
15357         * sparc-protos.h: Add prototypes for fp_zero_operand and
15358         reg_or_0_operand.
15359         * sh-protos.h: Add prototype for fpul_operand.
15360
15361 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15362
15363         * doc/extend.texi (Other Builtins): Fix typo in last change.
15364
15365 2001-08-03  Richard Henderson  <rth@redhat.com>
15366
15367         * target.h (gcc_target): Add asm_out.named_section,
15368         section_type_flags, have_named_sections.
15369         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
15370         (TARGET_HAVE_NAMED_SECTIONS): New.
15371         (TARGET_SECTION_TYPE_FLAGS): New.
15372
15373         * Makefile.in (toplev.o): Depend on TARGET_H.
15374         (varasm.o, dbxout.o): Likewise.
15375         * c-common.c (decl_attributes): Check targetm.have_named_sections
15376         instead of ifdef ASM_OUTPUT_SECTION_NAME.
15377         * dbxout.c (dbxout_function_decl): Likewise.
15378         (dbxout_function_end): Likewise.
15379         * toplev.c (compile_file): Likewise.
15380         * varasm.c (exception_section): Likewise.
15381         * cp/decl2.c (finish_objects): Likewise.
15382
15383         * defaults.h (EH_FRAME_SECTION): Remove.
15384         (EH_FRAME_SECTION_ASM_OP): Remove.
15385         (EH_FRAME_SECTION_NAME): New.
15386         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
15387         (UNIQUE_SECTION_P): Remove.
15388         * dwarf2out.c (SECTION_FORMAT): Remove.
15389         (ASM_OUTPUT_SECTION): Remove.
15390         (output_call_frame_info): Use named_section_flags.
15391         (output_comp_unit, dwarf2out_start_source_file): Likewise.
15392         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
15393         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
15394         * varasm.c (in_eh_frame, eh_frame_section): Remove.
15395         (named_section_flags): New.
15396         (named_section): Use it and targetm.section_type_flags.
15397         (resolve_unique_section): New.
15398         (assemble_start_function): Use it.
15399         (asm_emit_uninitialised, assemble_variable): Likewise.
15400         (default_section_type_flags): New.
15401         (default_no_named_section, default_elf_asm_named_section): New.
15402         (default_coff_asm_named_section, default_pe_asm_named_section): New.
15403         * output.h: Update varasm.c decls.
15404         (SECTION_*): New flags.
15405
15406         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
15407         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
15408
15409         * config/elfos.h (UNIQUE_SECTION_P): Remove.
15410         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
15411         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
15412         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15413         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
15414         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
15415         * config/mips/elf.h, config/mips/elf64.h: Likewise.
15416         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
15417         * config/pa/pa64-hpux.h,
15418
15419         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
15420         (TARGET_ASM_NAMED_SECTION): New.
15421         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
15422         * config/alpha/vms.h, config/arm/coff.h: Likewise.
15423         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
15424         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
15425         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
15426         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
15427         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15428         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
15429         * config/i386/sco5.h, config/i386/win32.h: Likewise.
15430         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
15431         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
15432         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
15433         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
15434         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
15435         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
15436         * config/sparc/sysv4.h: Likewise.
15437
15438         * config/nextstep.h: Error until named sections implemented.
15439
15440         * config/a29k/a29k.c (a29k_asm_named_section): New.
15441         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
15442         (vms_section_type_flags, vms_asm_named_section): New.
15443         * config/arm/arm.c (arm_elf_asm_named_section): New.
15444         * config/avr/avr.c (asm_output_section_name): Remove.
15445         * config/avr/avr-protos.h: Update.
15446         * config/c4x/c4x.c (c4x_asm_named_section): New.
15447         * config/h8300/h8300.c (h8300_asm_named_section): New.
15448         * config/i386/i386.c (sco_asm_named_section): New.
15449         * config/i386/winnt.c (SECTION_PE_SHARED): New.
15450         (i386_pe_section_type_flags): New.
15451         (i386_pe_asm_named_section): New.
15452         * config/i386/i386-protos.h: Update.
15453         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
15454         * config/mcore/mcore.c (mcore_asm_named_section): New.
15455         * config/mips/mips.c (iris6_asm_named_section): New.
15456         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
15457         instead of UNIQUE_SECTION_P.
15458         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
15459         (xcoff_asm_named_section): New.
15460         * config/sh/sh.c (sh_asm_named_section): New.
15461         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
15462
15463         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
15464         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
15465         (EH_FRAME_SECTION_NAME): New.
15466         (EXCEPTION_SECTION): New.
15467         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
15468         (DEBUG_*_SECTION): Remove.
15469         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
15470         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
15471         (EH_FRAME_SECTION_ASM_OP): Remove.
15472
15473         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
15474         (ASM_OUTPUT_SECTION_NAME): Remove.
15475         (TARGET_ASM_NAMED_SECTION): New.
15476         (TARGET_HAVE_NAMED_SECTIONS): New.
15477         (TARGET_SECTION_TYPE_FLAGS): New.
15478         (EH_FRAME_SECTION_ASM_OP): Remove.
15479         (EH_FRAME_SECTION_NAME): New.
15480
15481 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15482
15483         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
15484         for complex expressions when cfun == 0.
15485         * doc/extend.texi: Document that __builtin_constant_p can be
15486         used in data initializers as well as functions.
15487
15488 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
15489
15490         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
15491         variable I locally, instead of expecting a declaration in the
15492         calling context.
15493
15494 2001-08-03  Richard Henderson  <rth@redhat.com>
15495
15496         * except.c (collect_one_action_chain): Add an explicit cleanup
15497         action if regions surrounding a catch were encoded entirely
15498         within the call-site entry.
15499
15500 2001-08-03  Richard Henderson  <rth@redhat.com>
15501
15502         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
15503         don't take REGNO of a non-register.
15504
15505 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15506
15507         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
15508         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
15509         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
15510         (__gthread_mutex_init_function): New function for mutex initialization.
15511
15512 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15513
15514         * Makefile.in: Revert screwed up commit.
15515
15516 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15517
15518         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
15519         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
15520         merged by linker script to get a final _exit().
15521         (__do_global_dtors): New for destructor handling in specific exit
15522         section.
15523         (__do_global_ctors): New for constructors in specific install section.
15524         (__map_data_section): Map data sections before running constructors.
15525         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
15526         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
15527         (DTORS_SECTION_ASM_OP): Likewise.
15528         (CTORS_SECTION_FUNCTION): Define to force a reference to
15529         __do_global_ctors.
15530         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
15531
15532 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15533
15534         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
15535
15536         * Makefile.in: Add df.h to gcse.c dependencies.
15537
15538 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15539
15540         * varasm.c (output_constant_def_contents): Use for the length of a
15541         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
15542         depending on which is larger.
15543
15544 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15545
15546         * gcse.c: Include df.h for use as a dataflow analyzer.
15547         Remove regvec.
15548         Declaration of reg_set_info: gone.
15549         New df_analyzer variable used by store motion.
15550         (reg_set_info): Deleted.
15551         (mark_mem_regs): New function, analyze regs used by a mem.
15552         (store_ops_ok): Use dataflow analyzer results to determine if
15553         necessary regs are changed in the block.
15554         (find_moveable_store): Remove check for symbol ref, we can handle
15555         much more complex expressions now.
15556         (compute_store_table): Remove most of the code, it's unnecessary
15557         now that the dataflow analyzer records the info for us.
15558         (store_killed_after): Add parameter to say whether to do the
15559         store_ops_okay test, used to speed up testing when we already know
15560         the answer, and just want to know if the store itself was killed.
15561         (build_store_vector): Largely rewritten to calculate the various
15562         vectors properly, and somewhat optimized.
15563         (store_motion): Init the df_analyzer, get REG_DEF chains.
15564         Also handle trapping expressions (since mems almost always trap)
15565         (simple_mem): Redefine what a simple mem is.
15566
15567 2001-08-03  DJ Delorie  <dj@redhat.com>
15568
15569         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
15570         set from a constant part of the condition.
15571
15572 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
15573
15574         * mkdeps.c (deps_add_default_target): Make local variable
15575         ``start'' a const char pointer.
15576         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
15577
15578 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15579
15580         * doc/install.texi (Configuration): Fix markup.
15581         (Specific, i?86-*-udk): Likewise.
15582         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
15583         --with-gnu-ld.
15584         Document --enable-threads and --enable-libgcj status.
15585         (Specific, mips-sgi-irix*): Canonicalize triples.
15586         (Specific, mips-sgi-irix5): Warn about problems with this config.
15587         Mention required GNU as patch.
15588         Native assembler problems are fixed.
15589         (Specific, mips-sgi-irix6): Update O32 ABI support status.
15590         Document --enable-threads and --enable-libgcj status.
15591
15592 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15593
15594         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
15595         of mkinstalldirs.
15596
15597 2001-08-03  Richard Henderson  <rth@redhat.com>
15598
15599         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
15600         constant data.
15601
15602 2001-08-03  Richard Henderson  <rth@redhat.com>
15603
15604         * rtlanal.c (find_first_parameter_load): Stop if we
15605         reach a CODE_LABEL at BOUNDARY.
15606
15607 2001-08-03  Richard Henderson  <rth@redhat.com>
15608
15609         * config/alpha/alpha.md (force_movdi): New insn.
15610         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
15611         Tweek FRP marking of VMS prologue insns.
15612         * config/alpha/vms.h (EPILOGUE_USES): New.
15613
15614 2001-08-02  Richard Henderson  <rth@redhat.com>
15615
15616         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
15617
15618 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15619
15620         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
15621         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
15622         config/convex/convex.h, config/d30v/d30v.c,
15623         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
15624         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
15625         config/mips/mips.h, config/mn10200/mn10200.h,
15626         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
15627         config/v850/v850.h, config/vax/openbsd.h,
15628         config/vax/openbsd1.h, config/vax/ultrix.h,
15629         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
15630         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
15631         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
15632         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
15633         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
15634         in comments and documentation.
15635
15636 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15637
15638         * line-map.c: New.
15639         * line-map.h: New.
15640         * Makefile.in (line-map.o): New.
15641         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
15642         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
15643         * cpperror.c (print_containing_files): Similarly.
15644         (print_location): Update.  Don't output a space before _Pragma.
15645         * cppfiles.c (stack_include_file): Set to line 1 immediately.
15646         (stack_include_filee, cpp_make_system_header): Update.
15647         (_cpp_execute_include): Get logical line number right for calling
15648         as-yet-unterminated #include.
15649         * cpphash.h (struct cpp_reader): Add line_maps.
15650         (_cpp_do_file_change): Update.
15651         * cppinit.c (cpp_create_reader): Initialize line maps.
15652         (cpp_destroy): Destroy line maps.
15653         (cpp_start_read): Get logical line number right.
15654         * cpplex.c (parse_string): Only warn once for multi-line strings.
15655         Use boolean variable for null warning.
15656         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
15657         already.
15658         (do_include_common): End the directive early.
15659         (do_line): Don't warn about out-of-range lines in preprocessed
15660         source.  Update.  Remove unused variables.
15661         (_cpp_do_file_change): Update for new line mapping.
15662         (pragma_cb): New typedef.
15663         (cpp_register_pragma): Stop looking ahead before calling the
15664         handler.  Clean up.
15665         (do_pragma_system_header): End directive early.
15666         (cpp_get_line_maps): New.
15667         (cpp_pop_buffer): Fudge logical line.  Update.
15668         * cpplib.h: Include line-map.h
15669         (enum cpp_fc_reason): Remove.
15670         (struct cpp_file_change): Update.
15671         (cpp_get_line_maps): New.
15672         * cppmain.c (struct_printer): New member map.
15673         (cb_file_change): Update for new mappings.
15674         * fix-header.c (cb_file_change): Similarly.
15675
15676 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15677
15678         * Makefile.in (libgcc.mk): Define mkinstalldirs.
15679         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
15680
15681 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15682
15683         * config/vax/vax.c: include expr.h.
15684
15685 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15686
15687         * Makefile.in ($(srcdir)/configure): Only rebuild in
15688         maintainer mode.
15689         ($(srcdir)/config.in): Only define in maintainer mode.
15690         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
15691
15692 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
15693
15694         * doc/install.texi (Install GCC: Binaries): Update Bull info.
15695
15696 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15697
15698         * gcc.c (set_collect_gcc_options): New function, split out from
15699         main.
15700         Ignore elided switches.
15701         (do_spec_1): Invoke before executing command.
15702         (set_input): Export.
15703         Move declaration ...
15704         * gcc.h (set_input): ... here.
15705         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
15706         file.
15707
15708 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
15709
15710         Kill -fhonor-std.
15711         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
15712         interaction.
15713         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
15714
15715 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
15716
15717         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
15718         for the unnamed instructions it expands to.
15719
15720 2001-08-02  Richard Henderson  <rth@redhat.com>
15721
15722         * regclass.c (call_really_used_regs): Conditionally define.
15723         (init_reg_sets_1): Don't use it if not defined.
15724         (fix_register): Similarly, don't set it.
15725
15726 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15727
15728         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
15729         Correct comment that had been missed in the previous change.
15730
15731 2001-08-01  Stan Shebs  <shebs@apple.com>
15732
15733         * config/darwin.c (machopic_stub_name): Try matching by name.
15734         (update_stubs): New function.
15735         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
15736         unconditionally.
15737
15738 2001-08-01  Richard Henderson  <rth@redhat.com>
15739
15740         * except.c (output_function_exception_table): Use assemble_align.
15741         * varasm.c (assemble_eh_label): Remove.
15742         (assemble_eh_align, assemble_eh_integer): Remove.
15743
15744 2001-08-01  Robert Lipe  <robertl@caldera.com>
15745
15746         * dwarfout.c: Remove reference to README.DWARF.
15747
15748 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
15749
15750         * regclass.c (call_really_used_regs): New array for registers which
15751         are actually used by a call.
15752         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
15753         new array.
15754         (fix_register): Set call_really_used too.
15755         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
15756         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
15757
15758 2001-08-01  Richard Henderson  <rth@redhat.com>
15759
15760         * read-rtl.c (read_name): Consider \r whitespace.
15761
15762 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
15763
15764         * config.gcc: Recognize powerpc-*-netbsd*.
15765
15766         * doc/install.texi (Host/target specific installation notes for
15767         GCC): Mention powerpc-*-netbsd*.
15768
15769         * config/rs6000/netbsd.h: New file.
15770         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
15771         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
15772         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
15773         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
15774         (TARGET_VERSION): Redefine.
15775
15776         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
15777         mcall-netbsd as a match for mcall-sysv.
15778         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
15779         (ncrti.S, ncrtn.S): New targets.
15780         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
15781
15782         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
15783         "netbsd' as a V4 ABI.
15784         (ASM_SPEC): Check for -mcall-netbsd.
15785         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
15786         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
15787         (LIB_SPEC, ENDFILE_SPEC): Ditto.
15788         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
15789         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
15790         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
15791         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
15792
15793         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
15794         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
15795
15796 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
15797
15798         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
15799         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
15800         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
15801         including "unwind-pe.h".
15802
15803 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15804
15805         * rs6000.md (define_splits): Kill unused constraints.
15806
15807 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
15808                               Jan Hubicka  <jh@suse.cz>
15809
15810         * function.c (thread_prologue_and_epilogue_insns): Kill code
15811         dealing with non-existent CFG.
15812
15813 2001-08-01  Kazu Hirata  <kazu@hxi.com>
15814
15815         * alias.c: Fix comment formatting.
15816         * bitmap.c: Likewise.
15817         * builtins.c: Likewise.
15818         * calls.c: Likewise.
15819         * c-common.c: Likewise.
15820         * c-decl.c: Likewise.
15821         * c-dump.c: Likewise.
15822         * c-lex.c: Likewise.
15823         * collect2.c: Likewise.
15824         * combine.c: Likewise.
15825         * conflict.c: Likewise.
15826         * cppfiles.c: Likewise.
15827         * cppinit.c: Likewise.
15828         * cpplex.c: Likewise.
15829         * cpplib.c: Likewise.
15830         * cppmacro.c: Likewise.
15831         * cppspec.c: Likewise.
15832         * c-pragma.c: Likewise.
15833         * crtstuff.c: Likewise.
15834         * cse.c: Likewise.
15835         * cselib.c: Likewise.
15836         * c-semantics.c: Likewise.
15837         * c-typeck.c: Likewise.
15838
15839 2001-08-01  H.J. Lu <hjl@gnu.org>
15840
15841         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
15842
15843 2001-08-01  H.J. Lu <hjl@gnu.org>
15844
15845         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
15846
15847 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
15848
15849         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
15850         contextualizing Objective-C class name lookup by the lexer.
15851         (typespec_reserved_nonattr): Disable ObjC class name lookup after
15852         seeing a TYPESPEC.
15853         (protocoldef): Add support for forward @protocol declarations.
15854         (yylexname): Suppress ObjC class name lookup in certain contexts;
15855         re-enable after lookup is complete.
15856         (_yylex): Re-enable ObjC class name lookup when certain
15857         punctuation marks are seen.
15858
15859         * objc/objc-act.c (check_protocol_recursively): New function used
15860         for finding circular dependencies in protocols.
15861         (objc_declare_protocols): New function for handling forward
15862         @protocol declarations.
15863         (receiver_is_class_object): Detect the case when 'self' is used
15864         inside of a class method.
15865         (build_message_expr): Issue a warning if class method is desired
15866         but instance method is found instead.
15867         (conforms_to_protocol): Streamline.
15868         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
15869         protocol Foo, even if 'Bar foo' does not.
15870         (check_protocols): Streamline.
15871         (start_protocol): Add checks for circular and duplicate protocol
15872         definitions.
15873         (encode_aggregate_within): For typedefs of structs, encode the
15874         underlying struct.
15875         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
15876         (objc_declare_protocols): New prototype.
15877
15878 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15879
15880         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
15881         * cpplex.c (handle_newline): Update prototype.  Maintain logical
15882         line number.
15883         (skip_escaped_newlines, skip_block_comment, parse_string):
15884         Update accordingly.
15885         (_cpp_lex_token): Update, and store token position within the token.
15886         * cpplib.h (struct cpp_token): Add line and column entries.
15887         * cppmacro.c (replace_args): Position stringified tokens correctly.
15888
15889 2001-08-01  Andreas Jaeger  <aj@suse.de>
15890
15891         * basic-block.h: Add prototype for last_loop_beg_note.
15892
15893 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
15894
15895         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
15896         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
15897         comment.
15898         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
15899         while handling WITH_CLEANUP_EXPR node. Use second operand calling
15900         expand_decl_cleanup.
15901         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
15902         the first RTX.
15903         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
15904         operand while calling simple_cst_equal.
15905         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
15906         operand is the cleanup expression, the third is the RTL_EXPR.
15907         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
15908
15909 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
15910
15911         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
15912
15913 2001-07-31  matthew green  <mrg@eterna.com.au>
15914
15915         * config.gcc (i386-*-netbsdelf): New description.
15916         * config/i386/netbsd-elf.h: New file.
15917
15918 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
15919
15920         * loop.c (check_dbra_loop): Use single_set to compute
15921         jump_label.
15922
15923 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
15924
15925         PowerPC reorg and support for powerpc64-*-linux*.
15926
15927         Also fixes emitting of constants on 32 bit and 64 bit
15928         platforms.
15929
15930         * config.gcc: powerpc64-*-linux* is a new target.
15931         Things that needed aix.h now also include xcoff.h
15932
15933         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
15934         xcoff.h.
15935         Move AIX specific stuff into aix.h.
15936         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
15937         with more than just XCOFF now.
15938         (SET_ASM_OP): Remove, now defined where needed.
15939         (FUNCTION_PROLOGUE): New macro definition.
15940         (FUNCTION_EPILOGUE): New macro definition.
15941         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
15942
15943         * config/rs6000/xcoff.h: New file.
15944
15945         * config/rs6000/linux64.h: New file.
15946
15947         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
15948
15949 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
15950
15951         * rs6000.c (print_operand_address): Handle ELF syntax.
15952         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
15953         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
15954         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
15955
15956 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
15957
15958         * rs6000.c (rs6000_override_options): Only disable
15959         flag_function_sections for XCOFF.
15960         (exact_log2_cint_operand): New predicate.
15961         (reg_or_{add,sub}_cint64_operand): New predicates.
15962         (add_operand): Compare CONST_INT with fewer function calls.
15963         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
15964         (print_operand, case 'p'): Ensure positive operand.
15965         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
15966         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
15967         (PREDICATE_CODES): Add new predicates.
15968         * rs6000.md (addsi3): Split 32-bit constants more correctly.
15969         (divsi3, modsi3): Ensure positive power-of-2.
15970         (adddi3): Use new predicate.  Split 32-bit constants more
15971         correctly.  Re-arrange splitter to handle any constant.
15972         (subdi3): Use new predicate.
15973         (divdi3, moddi3): Ensure positive power-of-2.
15974         (movdi): Use rs6000_emit_set_const.
15975         (load_toc_v4_pic_di): Delete.
15976
15977 2001-07-31  Graham Stott <grahams@redhat.com>
15978
15979         * function.c (pad_below): Revert 2001-07-26 patch.
15980
15981 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
15982
15983         * reg-stack (convert_regs_1): Fix best edge condition.
15984
15985 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15986
15987         * jump.c (duplicate_loop_exit_test): Better test for jumps
15988         entering the loop; create loop pre_header.
15989
15990 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
15991
15992         * doc/install.texi: Add s390 and s390x as new targets.
15993         * doc/invoke.texi: Add documentation of S/390 and zSeries
15994         target options.
15995         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
15996
15997 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15998
15999         * config/m68k/m68k.md: Replace all general_operand with
16000         nonimmediate_operand for all destinations.
16001         * config/m68k/m68k.c (not_sp_operand): Likewise.
16002
16003 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
16004
16005         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
16006
16007 2001-07-30  Richard Henderson  <rth@redhat.com>
16008
16009         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
16010         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
16011
16012 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
16013
16014         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
16015         Add missing doc strings
16016         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
16017         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
16018
16019 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
16020
16021         * i386.c (ix86_output_main_function_alignment_hack): New function.
16022         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
16023
16024         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
16025         edges by EDGE_DFS_BACK flag.
16026         (dump_edge_info): Add dfs_back flag.
16027         * basic-block.h (EDGE_DFS_BACK): New constant.
16028         (mark_dfs_back_edges): Declare.
16029         * alias.c (loop_p): Remove.
16030         (mark_constant_function): Use mark_dfs_back_edges.
16031
16032         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
16033         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
16034         (compensate_edge): Break out from ...
16035         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
16036         (convert_regs_2): Set block_done once block is really done;
16037         Do updating of the predecessors counts.
16038
16039         * toplev.c (rest_of_compilation): Recompute block_for_insn
16040         before post-reload cfg_cleanup.
16041         * function.c (thread_prologue_epilogue_insns):
16042         Call set_block_for_new_insns when emitting prologue directly.
16043
16044 2001-07-30  Andreas Jaeger  <aj@suse.de>
16045
16046         * jump.c: Add prototype for mark_modified_reg.
16047
16048         * cse.c (set_live_p): Add unused attribute.
16049
16050         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
16051         overflow.
16052         (scan_for_source_files): Use long for count to avoid overflow.
16053         (output_data): Likewise.
16054         (output_data): Don't use string concatatenation to silence gcc
16055         -traditional.
16056
16057         * predict.c: Fix typos and grammar.
16058
16059         * gcse.c (insert_insn_end_bb): Remove unused variables.
16060
16061 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
16062
16063         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
16064         (attempt_auto_inc): LIkewise.
16065         (mark_used_reg): Likewise.
16066         (try_pre_increment_1): Likewise.
16067         * regclass.c (regclass): Likewise.
16068         * global.c (allocno_compare): Update comment; change scaling factor.
16069         * local-alloc.c (QTY_CMP_PRI): Likewise.
16070         * regs.h (REG_FREQ_FROM_BB): New.
16071         (REG_FREQ_MAX): Likewise.
16072
16073 2001-07-30  H.J. Lu <hjl@gnu.org>
16074
16075         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
16076         -D_GNU_SOURCE.
16077
16078 2001-07-30  H.J. Lu  (hjl@gnu.org)
16079
16080         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
16081         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
16082         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
16083
16084 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
16085
16086         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
16087         as -mthumb-interwork when -mcpu=arm7 is specified.
16088
16089 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
16090
16091         * predict.def (noreturn, loop branch, loop exit): Mark as first
16092         match heuristics.
16093
16094 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
16095
16096         * combine.c (try_combine): Avoid barrier after noop jumps.
16097
16098 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16099
16100         * cpphash.h (struct cpp_reader): Remove import_warning.
16101         * cpplib.c (skip_rest_of_line): Don't bother turning off
16102         macro expansion.
16103         (parse_include): Move include handling to...
16104         (do_include_common): ... here.  Move import warning from...
16105         (do_import): ... here.
16106         (do_pragma_poison): Don't do a callback for poison identifiers.
16107         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
16108         * cppmain.c (setup_callbacks): Similarly.
16109
16110 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
16111
16112         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
16113         handle multiple sets.
16114         * except.c (sjlj_mark_call_sites): .... here.
16115         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
16116
16117 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
16118
16119         Suggested by Richard Henderson and Richard Kenner:
16120         * combine.c (recog_for_combine): Use the fake recog
16121         only if instruction does not match.
16122         * rtl.h (NOOP_MOVE_INSN_CODE): New.
16123         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
16124
16125         * combine.c (try_combine): Discover noop jump as direct jump.
16126
16127 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
16128
16129         * df.c (df_rd_global_compute): Add successors to worklist, not
16130         current item.
16131         (df_ru_global_compute): Ditto.
16132
16133 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
16134
16135         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
16136         increment REG_N_SETS.
16137
16138 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
16139
16140         * sbitmap.h: New prototype for sbitmap_a_xor_b.
16141
16142         * sbitmap.c (sbitmap_a_xor_b): New function.
16143         ifdef the basic block stuff on IN_GCC.
16144
16145 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16146
16147         * cppexp.c (parse_defined): Always record the macro name.
16148         (lex): Don't worry about identifiers, or special-case
16149         CPP_NOT here.
16150         (_cpp_parse_expr): Figure out at the end of the routine
16151         whether we saw a valid !defined() expression.
16152         * cppfiles.c (stack_include_file): Update for mi_valid.
16153         (_cpp_pop_file_buffer): Similarly.
16154         * cpplex.c (_cpp_lex_token): Similarly.
16155         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
16156         mi_if_not_defined, mi_lexed): Remove.
16157         (mi_valid): New.
16158         * cpplib.c (do_if): Simplify.
16159         (do_endif, push_conditional, _cpp_handle_directive): Update
16160         for renaming of mi_state to mi_valid.
16161 doc:
16162         * cpp.texi: Add index entries for digraphs, and add comment
16163         that C++ refers to them as alternative tokens.
16164
16165 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
16166
16167         * basic-block.h (CLEANUP_PRE_LOOP): New.
16168         * except.c (finish_eh_generation): Update call of cleanup_cfg.
16169         * sibcall.c (optimize_sibling_calls): Likewise.
16170         * toplev.c (rest_of_compilation): Likewise.
16171         * flow.c (try_forward_edges): Take argument MODE;
16172         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
16173         (try_optimize_cfg): Update call of try_forward_edges.
16174
16175 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16176                                 Jan Hubicka  <jh@suse.cz>
16177
16178         * (validate_replace_rtx_1): Fix simplification of MINUS.
16179
16180 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
16181
16182         PR preprocessor/3669
16183         * cppinit.c (init_dependency_output): Turn off dump requests
16184         if sending dependencies to stdout.
16185
16186 2001-07-28  Richard Henderson  <rth@redhat.com>
16187
16188         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
16189         not optimizing.
16190
16191 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
16192
16193         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
16194
16195 2001-07-28  Kazu Hirata  <kazu@hxi.com>
16196
16197         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
16198         is VAR_DECL first to prevent an ICE.
16199
16200 2001-07-28  Richard Henderson  <rth@redhat.com>
16201
16202         * varasm.c (immed_real_const_1): Don't elide special cases for
16203         nested functions.
16204         (clear_const_double_mem): Clear const_tiny_rtx too.
16205
16206 2001-07-28  Richard Henderson  <rth@redhat.com>
16207
16208         * dwarf2out.c (dw_val_class_offset): New.
16209         (struct dw_ranges_struct, dw_ranges_ref): New.
16210         (ranges_table, ranges_table_allocated): New.
16211         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
16212         (add_AT_offset, add_ranges, output_ranges): New.
16213         (print_die, output_die): Handle dw_val_class_offset.
16214         (attr_checksum, size_of_die, value_format): Likewise.
16215         (gen_lexical_block_die): Handle non-contiguous blocks.
16216         (gen_block_die): Likewise.
16217         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
16218         if needed.  Dump the ranges table.
16219         * final.c (final_start_function): Remove unnecessary notes and
16220         rebuild the block tree before numbering the blocks.
16221         * function.c (reorder_blocks_0): Walk the existing block tree
16222         to unmark all blocks.
16223         (reorder_blocks_1): Create block fragments when duplicate block
16224         notes are seen.
16225         (reorder_fix_fragments): New.
16226         (reorder_blocks): Call it.
16227         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
16228
16229 2001-07-28  Richard Henderson  <rth@redhat.com>
16230
16231         * emit-rtl.c (adjust_address): Make a copy of the memory address.
16232
16233 2001-07-28  Richard Henderson  <rth@redhat.com>
16234
16235         * flow.c (add_to_mem_set_list): New function.
16236         (init_propagate_block_info): Use it.
16237         (mark_set_1): Likewise.
16238         (insn_dead_p): Canonicalize memory address for dead store
16239         comparison.  Allow wider mode stores to kill narrower mode stores.
16240         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
16241         (invalidate_mems_from_set): Don't handle MEMs.
16242
16243 2001-07-28  Kazu Hirata  <kazu@hxi.com>
16244
16245         * config/h8300/h8300.h: Fix formatting.
16246
16247 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
16248
16249         * basic-block.h (EDGE_FREQUENCY): New macro.
16250         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
16251         for new BB/edges.
16252         * flow.c (find_sub_basic_blocks): Likewise.
16253         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
16254         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
16255
16256         * predict.c (DEF_PREDICTOR): New argument FLAGS.
16257         (HITRATE): New macro.
16258         (PRED_FLAG_FIRST_MATCH): New constant.
16259         (predictor_info): New field flgags.
16260         (combine_predictions_for_insn): Use DS theory to combine
16261         probabilities; set the edge probabilities when finished.
16262         (estimate_probability): Avoid duplicated matches
16263         of LOOP_BRANCH heuristics for nested loops; update comment.
16264         * predict.def: Add flags for each prediction, set probabilities
16265         according to B&L paper.
16266         * predict.h (DEF_PREDICTOR): New argument FLAGS.
16267
16268         * profile.c (compute_branch_probabilities):  Cleanup way the edge
16269         probabilities are computed and REG_BR_PROB notes are dropped; if
16270         values does not match, emit error.
16271         (init_branch_prob): Do error instead of warning when profile driven
16272         feedback is missing or corrupt.
16273
16274 2001-07-27  DJ Delorie  <dj@redhat.com>
16275
16276         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
16277         against a constant, try to adjust the compare to have the desired
16278         constant in it so that min/max optimizations happen more often.
16279
16280 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16281
16282         * flow.c (last_loop_beg_note): New function.
16283         (redirect_edge_and_branch): Use it.
16284         (split_edge): Likewise.
16285
16286         * alias.c (loop_p): Avoid uninitialized memory access.
16287
16288         * flow.c (try_forward_edges): Avoid accessing freed memory.
16289
16290         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
16291         variable access.
16292
16293 2001-07-26  Andrew Haley  <aph@redhat.com>
16294         Joern Rennecke <amylaar@redhat.com>
16295
16296         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
16297         (SUBTARGET_CPP_ENDIAN_SPEC): New.
16298         (SUBTARGET_CPP_SPEC): New.
16299         (CPP_SPEC): Remove.
16300         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
16301         (SUBTARGET_CPP_PTR_SPEC): New.
16302         (CPP_DEFAULT_CPU_SPEC): New.
16303         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
16304         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16305         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
16306         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16307         (SUBTARGET_CPP_SPEC): Define as an empty string.
16308
16309 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16310
16311         * doc/install.texi (Configuration): Properly link the host
16312         specific instructions also when generating HTML.
16313
16314 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
16315
16316         * flow.c (redirect_edge_and_branch_force): Test
16317         target->global_live_at_start.
16318
16319 2001-07-26  Richard Henderson  <rth@redhat.com>
16320
16321         * simplify-rtx.c (avoid_constant_pool_reference): Export.
16322         * rtl.h (avoid_constant_pool_reference): Declare it.
16323         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
16324         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
16325
16326 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
16327
16328         * rtl.h (cleanup_barriers): Declare.
16329         * jump.c (cleanup_barriers): New function.
16330         * toplev.c (rest_of_compilation): Call cleanup_barriers
16331         before loop optimizer and after bb_reorder.
16332
16333         * flow.c (back_edge_of_syntactic_loop_p): New.
16334         (split_edge): Use it.
16335
16336 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16337
16338         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
16339
16340 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
16341
16342         * cse.c (cse_process_notes): Replace any registers if the address
16343         remains valid.
16344
16345 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
16346
16347         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
16348         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
16349         (propagate_block): Update prototype.
16350         * flow.c (update_life_info): Simplify the CFG and
16351         recalculate the global regs which are alive when
16352         removing dead code during a global update.
16353         (propagate_block): Return non-zero if an INSN is
16354         deleted.
16355
16356 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16357
16358         * Makefile.in (LIBICONV): Define.
16359
16360 2001-07-26  Catherine Moore  <clm@redhat.com>
16361
16362         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
16363         of conditional to avoid tree checking errors.
16364
16365 2001-07-26  Kazu Hirata  <kazu@hxi.com>
16366
16367         * regmove.c (regmove_optimize): Don't replace a reg with
16368         another reg of a different mode.
16369
16370 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
16371
16372         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
16373         limit length of dependency flush list.
16374         * params.h (MAX_PENDING_LIST_LENGTH): Define.
16375         * sched-int.h  (struct deps): Add pending_flush_length field.
16376         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
16377         has 1 element in it.
16378         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
16379         (sched_analyze): After a jump, if the pending memory flush list is too
16380         large, flush the pending lists.
16381         (init_deps): Initialize pending_flush_length to 0.
16382         * doc/invoke.texi (max_pending_list_length): Document parameter.
16383
16384 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
16385
16386         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
16387         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
16388         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
16389
16390 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16391
16392         * cpphash.h (struct_lexer_state): Delete was_skipping.
16393         Move skipping here from struct cpp_reader.
16394         * cpplex.c (parse_identifier): Update.
16395         (_cpp_lex_token): Don't skip tokens in a directive.
16396         * cpplib.c (struct if_stack): Update.
16397         (start_directive, end_directive): Don't change skipping state.
16398         (_cpp_handle_directive): Update.
16399         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
16400         (do_else, do_endif): Update; only check for excess tokens if not
16401         in a skipped conditional block.
16402         (push_conditional): Update for new struct if_stack.
16403
16404 2001-07-26  Graham Stott  <grahams@redhat.com>
16405
16406         * function.c (locate_and_pad_parm): Also pad initial offset
16407         so that the total argument size also includes the padding.
16408
16409 2001-07-26  Graham Stott <grahams@redhat.com>
16410
16411         * gensupport.c (alter_output_for_insn): Correct enable checking failure
16412         change XSTR to XTMPL.
16413
16414         (process_one_cond_exec): Likewise
16415
16416 2001-07-25  Richard Henderson  <rth@redhat.com>
16417
16418         * varasm.c (assemble_variable): Create DECL_RTL before setting
16419         TREE_ASM_WRITTEN.
16420
16421 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
16422
16423         * predict.c (estimate_probability): Avoid duplicated predictions.
16424
16425         * loop.c (find_and_verify_loops): Grok multiple barriers.
16426
16427 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16428
16429         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
16430
16431         * dbxout.c: Consistently use putc instead of fputc.
16432         (print_wide_int): New function; call instead of direct fprintf.
16433         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
16434         (dbxout_type_fields, dbxout_type_method_1): Likewise.
16435         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
16436         (print_int_cst_octal): Likewise.
16437         (print_octal): Show we wrote characters.
16438         (dbxout_type): Set have_used_extensions in more places.
16439
16440 2001-07-25  Catherine Moore  <clm@redhat.com>
16441
16442         * config/v850/v850.c (v850_va_arg):  Use addr
16443         instead of valist to build incr.
16444
16445 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
16446
16447         * flow.c (delete_dead_jumptables): New function.
16448         (life_analyzis): Call it.
16449         * bb-reorder.c (skip_insns_after_block): Handle contradictory
16450         sequences.
16451
16452 2001-07-25  Richard Henderson  <rth@redhat.com>
16453
16454         * except.c (reachable_handlers): Handle a region being removed
16455         out from under a RESX.
16456
16457 2001-07-25  Richard Henderson  <rth@redhat.com>
16458
16459         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
16460         swap GE/GT if it is an fp comparison.
16461
16462 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
16463
16464         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
16465         operands.
16466
16467 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
16468
16469         * ssa.c (rename_insn_1): Do not wrap an assignment to a
16470         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
16471         glitch.
16472
16473         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
16474         throw an exception.
16475         (visit_expression): When attempting to simplify an expression,
16476         retrieve any modes for arguments before they are simplified
16477         to constants.
16478
16479 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16480             Janis Johnson  <janis@us.ibm.com>
16481
16482         * stmt.c (expand_goto): A nonlocal goto can be a call too.
16483         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
16484         pointer parameters to match documented usage of nonlocal_goto.
16485         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
16486         parameters to their correct order.
16487         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
16488         parameters to their correct order.
16489
16490 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16491
16492         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
16493
16494 2001-07-25  Jan Hubicka  <jh@suse.cz>
16495             Richard Henderson  <rth@redhat.com>
16496
16497         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
16498         the sequence.
16499         (make_edges): New argument update_p; populate the edge cache if set.
16500         (find_basic_blocks): Update make_edges invocation.
16501
16502 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16503
16504         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
16505
16506 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16507
16508         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
16509         -Acpu and -Amachine.h.
16510         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
16511         Corrected header to say ELF not a.out.
16512         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
16513         when given -msoft-float.
16514
16515 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16516
16517         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
16518         extra multilib parts like arm-elf.
16519         (i960-*-coff*, i960-*-rtems): Should not use collect2.
16520         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
16521         crtfini.o as extra multilib parts.
16522
16523 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16524
16525         * configure.in: Add rtems as a supported thread model.
16526         * gthr-rtems.h: Add missing entry point __gthread_active_p.
16527         * configure: Rebuilt.
16528
16529 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
16530
16531         * stor-layout.c (get_mode_alignment): make it work when
16532         BITS_PER_UNIT is not a power of two.
16533         * builtins.c (get_pointer_alignment): Likewise.
16534
16535 2001-07-24  Richard Henderson  <rth@redhat.com>
16536
16537         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
16538         the retrieved constant into the expected mode.
16539
16540 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
16541
16542         * flow.c (try_simplify_condjump): Avoid duplicated edges.
16543         (verify_flow_info): Check for duplicated edges; clarify
16544         error reporting.
16545
16546         * flow.c (block_label): Update basic_block_for_insn.
16547         (commit_edge_insertions): Call compute_bb_for_insn.
16548
16549         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
16550         returns too.
16551
16552         * flow.c (redirect_edge_and_branch,
16553         try_optimize_cfg): Use redirect_edge_succ_nodup
16554         (redirect_edge_succ_nodup): New.
16555         * basic_block.h (redirect_edge_succ_nodup): Declare.
16556
16557         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
16558         after gcse.
16559
16560 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
16561
16562         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
16563         (try_crossjump_to_edge): Update commetns.
16564         (try_crossjump_bb): Likewise.
16565
16566 2001-07-24  Richard Henderson  <rth@redhat.com>
16567
16568         * combine.c (distribute_notes): Move set of need_refresh
16569         for noop_move_p down to catch all cases.
16570
16571 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
16572
16573         * recog.c (split_all_insns_noflow): New.
16574         * rtl.h (split_all_insns_noflow): Declare.
16575         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
16576         * m68hc11.c (m68hc11_reorg): Likewise.
16577         * sh.c (machine_dependent_reorg): Likewise.
16578         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
16579         call.
16580
16581 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16582
16583         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
16584         (ashlsi3_n splitter): Likewise.
16585         (lshrsi3_n splitter): Likewise.
16586
16587         (GOTaddr2picreg): Make const SImode.
16588         (sym_label2reg): Likewise.
16589         (symGOT2reg): Likewise.
16590         (symGOTOFF2reg) Likewise.
16591
16592         (casesi_worker_0): Make unspec SImode.
16593
16594 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16595
16596         * config/sh/sh.c (barrier_align): Check that an operand really is
16597         an insn before extracting its INSN_CODE.
16598
16599 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
16600
16601         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
16602         dangling else.
16603
16604         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
16605         for SImode to prevent overflow.
16606
16607 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16608
16609         * config/mips/irix6-libc-compat.c: New file.
16610         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
16611         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
16612         passing workaround.
16613
16614 2001-07-24  lars brinkhoff  <lars@nocrew.org>
16615
16616         * rtl.texi (REG_POINTER): Document.
16617         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
16618         QFmode, HFmode, TQFmode, QCmode, and HCmode.
16619
16620 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
16621
16622         * flow.c (delete_noop_moves): Do not confuse libcall regions.
16623
16624 2001-07-23  Richard Henderson  <rth@redhat.com>
16625
16626         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
16627
16628 2001-07-23  Kazu Hirata  <kazu@hxi.com>
16629
16630         * config/h8300/h8300-protos.h: Add a prototype for
16631         general_operand_dst_push.
16632         * config/h8300/h8300.c (general_operand_dst_push): New.
16633         * config/h8300/h8300.h (OK_FOR_T): New.
16634         (EXTRA_CONSTRAINT): Use it.
16635         * config/h8300/h8300.md (movqi_push): Remove and integrate into
16636         the existing movqi pattern.
16637         (movhi_push): Likewise.
16638
16639         * reload.c: Fix comment typos.
16640
16641 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
16642
16643         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
16644
16645 2001-07-23  H.J. Lu  (hjl@gnu.org)
16646
16647         * doc/extend.texi: Update __builtin_return_address and
16648         __builtin_frame_address.
16649
16650 2001-07-23  Richard Henderson  <rth@redhat.com>
16651
16652         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
16653         before CSE.
16654         * config/i386/i386.md: New setcc+movzbl peephole2.
16655
16656 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16657
16658         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
16659         * objc/objc-act.c: Include debug.h.
16660         (synth_module_prologue): Save and restore debug hooks too.
16661
16662 2001-07-23  lars brinkhoff  <lars@nocrew.org>
16663
16664         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
16665         and C4X_FLOAT_FORMAT.
16666         (BOOL_TYPE_SIZE): Document.
16667
16668 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
16669
16670         * unroll.c (loop_iterations): Fix miscalculation of initial
16671         giv offset.
16672
16673 2001-07-13  Andrew Haley  <aph@redhat.com>
16674
16675         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
16676         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
16677         * config/sh/sh.c (sh_can_redirect_branch): New function.
16678         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
16679         * reorg.c (steal_delay_list_from_target): Use
16680         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
16681
16682 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
16683
16684         * flow.c (try_simplify_condjump): Unlink insn chain on
16685         fallthru edge; use can_fallthru.
16686
16687 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
16688
16689         * basic-block.h (find_sub_basic_block): Declare.
16690         * flow.c (make_edges): New arguments MIN and MAX;
16691         (find_sub_basic_blocks): Revamp to use make_edges
16692         and purge_dead_edges.
16693         (find_basic_blocks): Update call of find_sub_basic_block.
16694
16695         * recog.c (split_all_insns): Always expect CFG to be consistent;
16696         call find_sub_basic_blocks in case something has changed.
16697         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
16698         has been built.
16699
16700         * basic-block.h (delete_noop_moves): Declare.
16701         * combine.c (combine_instructions): Call it.
16702         (recog_for_combine): Tolerate noop moves
16703         (distribute_notes): Force refresh when register dies at noop move.
16704         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
16705         too.
16706         (life_analysis): Update delete_noop_moves call.
16707         (set_noop_p): Move too ...
16708         * rtlanal.c (noop_move_p): ... here.
16709         * rtl.h (noop_move_p): Declare.
16710
16711         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
16712         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
16713         after combine.
16714         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
16715         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
16716
16717 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
16718
16719         * reload.c (push_reload): Fix typo in comment.
16720         (find_reloads_address): Ditto.
16721         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
16722
16723 2001-07-22  Richard Henderson  <rth@redhat.com>
16724
16725         * flow.c: Grammar check and clarify a lot of comments.
16726         (try_simplify_condjump): Rename variables to be clearer.
16727         (try_forward_edges): Skip complex and fallthru edges.
16728         Rearrange tests to avoid duplicate checks.
16729         (flow_find_cross_jump): Likewise.
16730         (outgoing_edges_match): Allow match if neither branch has
16731         probability data.  Loosen probability match to 5%.
16732         (try_crossjump_to_edge): Hoist repeated indirection into
16733         local variables.
16734         (try_crossjump_bb): Don't check complex edges.  Eliminate
16735         redundant crossjump tests.
16736         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
16737         checks before more expensive checks.
16738
16739 2001-07-22  Richard Henderson  <rth@redhat.com>
16740
16741         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
16742         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
16743         arguments.
16744
16745 2001-07-22  Richard Henderson  <rth@redhat.com>
16746
16747         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
16748         (const_sint32_operand): Likewise.
16749         * m68k.md (anon mulsi pattern): Use const_int_operand not
16750         const_sint32_operand.
16751         (umulsi3_highpart): Zero extend a constant input.
16752         (smulsi3_highpart): Don't bother checking SImode constant.
16753         (const_umulsi3_highpart): Give op3 DImode.
16754         (const_smulsi3_highpart): Likewise.
16755
16756 2001-07-22  Richard Henderson  <rth@redhat.com>
16757
16758         * flow.c (split_block): Make sure bb_note is included in the
16759         new block when splitting before a label.
16760
16761 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
16762
16763         * basic-block.h (redirect_edge_and_branch_force,
16764         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
16765         * flow.c (redirect_edge_and_branch_force,
16766         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
16767         (redirect_edge_and_branch_force): Fix copying of lifeness information.
16768         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
16769         * ifcvt.c (dead_or_predictable): Take BB as an new destination
16770         instead of label; update CFG after transformation.
16771         (find_if_case_1): Update call, use redirect_edge_and_branch_force
16772         for finishing the transformation; handle even case where ELSE
16773         does not follow THEN.
16774         (find_if_case_2): Update call of dead_or_predictable; simplify
16775         CFG update.
16776
16777         * emit-rtl.c (split_branch_probability): New global variable.
16778         (try_split): Take care to set split_branch_probability and
16779         create REG_BR_PROB note for new jump insns.
16780         * md.texi (define_split): Document new feature.
16781
16782         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
16783
16784 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
16785
16786         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
16787         (asm_out_file): Remove redundant declaration.
16788         (assemble_asm): Remove old #if 0 block.
16789         (assemble_variable): Remove end of function; debug output is
16790         now handled with global_decl.  Remove old #if 0 block.  Update.
16791         Remove saved_in_section and associated no-op code.
16792         * Makefile.in (varasm.o): Correct dependencies.
16793
16794 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
16795
16796         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
16797         the definition in defaults.h.
16798
16799 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
16800
16801         * jump.c: Update comments.
16802         (delete_barrier_successors, delete_unreferenced_labels,
16803         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
16804         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
16805         jump_optimize, jump_optimize_minimal): Kill.
16806         (rebuild_jump_labels): Move code from jump_optimize_1.
16807         (purge_line_number_notes): Likewise.
16808         (copy_loop_headers): Likewise.
16809         * reg-stack.c: Update comment.
16810         * stmt.c: Likewise.
16811         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
16812         JUMP_AFTER_REGSCAN): Kill.
16813         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
16814         purge_line_number_notes and copy_loop_headers.
16815
16816 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
16817            Richard Henderson  <rth@redhat.com>
16818
16819         * dbxout.c (dbxout_global_decl): New.
16820         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16821         * sdbout.c (sdbout_finish): New.
16822         (sdbout_debug_hooks): Use it, add comments.
16823         (sdbout_global_decl): Defer initialised public vars to
16824         sdbout_finish.
16825         * varasm.c (assemble_variable): Don't output debug information
16826         for file-scope variables.
16827
16828 2001-07-22  Richard Henderson  <rth@redhat.com>
16829
16830         * config/alpha/alpha.c (get_trap_mode_suffix): New.
16831         (get_round_mode_suffix): New.
16832         (print_operand): Use them for [/].  Remove support for [&'`()+].
16833         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
16834         * config/alpha/alpha.md (attr round_suffix): New.
16835         (attr trap_suffix): New.
16836         (all insns): Set them appropriately.  Use %/ instead of the
16837         myriad punctuators.
16838
16839 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16840
16841         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
16842
16843 2001-07-22  Richard Henderson  <rth@redhat.com>
16844
16845         * regrename.c (regrename_optimize): Compute nregs for each
16846         potential target register.
16847
16848 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
16849            Richard Henderson  <rth@redhat.com>
16850
16851         * dbxout.c (dbxout_global_decl): New.
16852         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16853         * sdbout.c (sdbout_finish): New.
16854         (sdbout_debug_hooks): Use it, add comments.
16855         (sdbout_global_decl): Defer initialised public vars to
16856         sdbout_finish.
16857         * varasm.c (assemble_variable): Don't output debug information
16858         for file-scope variables.
16859
16860 2001-07-21  H.J. Lu  (hjl@gnu.org)
16861
16862         * config/mips/mips.c (mips_cpu): Moved into ...
16863         (override_options): Here.
16864
16865         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
16866         mips_tune.
16867         (mips_cpu): Removed.
16868
16869 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16870
16871         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
16872         ("iorqi3"): Likewise.
16873         ("xorqi3"): Likewise.
16874         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
16875         ("*subhi3_sp): Likewise.
16876         ("*subhi3"): Likewise.
16877         ("extendhisi2"): Accept D, X and Y as source operand to avoid
16878         reload problems.
16879
16880 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
16881
16882         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
16883         * config/freebsd.h: Likewise.
16884         * config/linux.h: Likewise.
16885         * config/openbsd.h: Likewise.
16886         * config/alpha/linux-elf.h: Likewise.
16887         * config/arm/linux-elf.h: Likewise.
16888         * config/d30v/d30v.h: Likewise.
16889         * config/fr30/fr30.h: Likewise.
16890         * config/ia64/aix.h: Likewise.
16891         * config/ia64/ia64.h: Likewise.
16892         * config/mips/linux.h: Likewise.
16893         * config/pj/pj.h: Likewise.
16894         * config/rs6000/linux.h: Likewise.
16895         * config/sparc/linux.h: Likewise.
16896         * config/sparc/linux64.h: Likewise.
16897
16898 2001-07-20  Bruce Korb  <bkorb@gnu.org>
16899
16900         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
16901         because getc() and char* may disagree on signedness.
16902
16903 2001-07-20  Richard Henderson  <rth@redhat.com>
16904
16905         * doc/rtl.texi (REG_DEAD): Update for current semantics.
16906
16907         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
16908         insns to delete in the presence of cc0 in a jump insn.
16909
16910 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16911                                 Jan Hubicka  <jh@suse.cz>
16912
16913         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
16914         of doing the change by hand.
16915
16916 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
16917
16918         * rtlanal.c (set_noop_p): Return true for noop jumps.
16919
16920         * expr.c (emit_single_push_insn): Add call to push expander.
16921         * expr.h (optab_index): Add OTI_push
16922         (push_optab): New constant.
16923         * genopinit.c (optabs): Add push_optab.
16924         * optabs.c (init_optab): Init push optab.
16925         * md.texi (push??1): Document
16926
16927 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16928
16929         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
16930         expand to emit the pattern; put a REG_INC note for push/pop
16931         instructions.
16932         ("movdf", "movdf_internal"): Likewise.
16933         ("movsi", "movsi_internal"): Likewise.
16934         ("movsf", "movsf_internal"): Likewise.
16935         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
16936
16937 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16938
16939         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
16940         gen_highpart.
16941
16942 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
16943
16944         * params.def: Change default max inline insns to 100.
16945
16946 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
16947
16948         * combine.c (combine_simplify_rtx): Generate a new shift operation
16949         when simplifying the first operand of a (neg (ashift)) expression.
16950
16951 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16952
16953         * regclass.c (N_REG_INTS): Use only 32 bits per element.
16954
16955 2001-07-20  Kelley Cook  <kelley.cook@home.com>
16956
16957         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
16958         information.   Move rest into ...
16959         (*-*-solaris): ... here.  Eliminate redundant information and
16960         reword necessary packages section.  Delete 4.x assembler bug info.
16961         (sparc-sun-*): Merge into ...
16962         (sparc-sun-sunos*): here.
16963
16964 2001-07-20  Catherine Moore  <clm@redhat.com>
16965
16966         * config/v850/v850.md (casesi): Generate LABEL_REF
16967         with Pmode.
16968
16969 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
16970
16971         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
16972         * i386.c (ix86_zero_extend_to_Pmode): Make global.
16973         * i386.md (strclrsi expander): Use it.
16974
16975 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16976
16977         * integrate.c (copy_insn_list): handle
16978         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
16979         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
16980         identically as to CODE_LABEL.
16981
16982         * fold-const (fold): Convert A/B/C to A/(B*C) and
16983         A/(B/C) to (A/B)*C
16984
16985         * except.c (connect_post_landing_pads): Delete the RESX insns.
16986
16987 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
16988
16989         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
16990
16991         * config/mips/mips.md (nmadd/nmsub): Use macro.
16992
16993 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
16994
16995         * cppinit.c (remove_dup_dir): Make static.
16996         (remove_dup_dirs): Make static. Only warn about preempting a
16997         system directory with a non-system directory.
16998
16999 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
17000
17001         * ifcvt.c (noce_try_store_flag_constants): Correct order
17002         of parameters to trunc_int_for_mode.
17003
17004 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
17005
17006         * reorg.c (fill_simple_delay_slots): If an instruction might throw
17007         an exception that will be caught within this function, do not fill
17008         its delay slot with any subsequent instruction.
17009
17010 2001-07-19  Steve Ellcey <sje@cup.hp.com>
17011
17012         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
17013         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
17014         pointer extension instruction.
17015         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
17016         * simplify-rtx.c (simplify_unary_operation) Likewise.
17017         * explow.c (convert_memory_address) Check value of
17018         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
17019         less than zero.
17020         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
17021         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
17022         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
17023         Add Multilib Support.
17024         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
17025         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
17026         Add Multilib Support.
17027         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
17028         support.
17029         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
17030         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
17031         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
17032
17033 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
17034
17035         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
17036         old and new operands in `<', `3' and `b'.
17037
17038 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17039
17040         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
17041         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
17042         (toplev.o): Don't depend on xcoffout.h.
17043         * c-decl.c: Include debug.h
17044         (duplicate_decls): Use debug hook.
17045         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
17046         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17047         (dbxout_types): Remove.
17048         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
17049         * debug.c (do_nothing_debug_hooks): Update.
17050         (debug_true_tree, debug_nothing_rtx): New.
17051         * debug.h (struct rtx_def): New.
17052         (struct gcc_debug_hooks): New hooks ignore_block,
17053         outlining_inline_function and label.
17054         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
17055         dwarf2out_frame_finish): New.
17056         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
17057         Make static, update prototype.
17058         (dwarf2_debug_hooks): Update.
17059         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
17060         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
17061         * dwarfout.c (dwarf_debug_hooks): Update.
17062         * emit-rtl.c: Include debug.h.
17063         (remove_unnecessary_notes): Use debug hook.
17064         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
17065         (final_scan_insn): Use debug hook.
17066         * integrate.c (output_inline_function): Use debug hook.
17067         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
17068         (sdb_debug_hooks): Update.
17069         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
17070         * toplev.c: Don't include xcoffout.h.
17071         (note_outlining_of_inline_function, debug_ignore_block): Remove.
17072         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
17073         Remove.
17074         * tree.h (dwarf2out_do_frame): Remove.
17075
17076 2001-07-19  Catherine Moore  <clm@cygnus.com>
17077
17078         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
17079
17080 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
17081
17082         * reload1.c (eliminate_regs_in_insn): When updating a set
17083         to the frame pointer to the hardware frame pointer, perform
17084         the update always not just when REPLACE is set.
17085
17086         * reload1.c (choose_reload_regs): Don't inherit a reload
17087         that crosses multiple registers if registers past the first
17088         don't fit in the desired class.
17089
17090         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
17091         when negating constants.
17092
17093 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
17094
17095         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
17096         * doc/tree.texi: Ditto.
17097
17098 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
17099             Jakub Jelinek  <jakub@redhat.com>
17100
17101         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
17102         (extract_cie_info): Handle "eh" augmentation properly,
17103         remember eh_ptr.
17104         (struct frame_state, __frame_state_for): New.
17105
17106 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17107
17108         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
17109         HANDLE_SYSV_PRAGMA): Define.
17110         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
17111         previous args.
17112         (copy_object): Caller changed.
17113
17114 2001-07-19  Andreas Schwab  <schwab@suse.de>
17115
17116         * configure.in (assembler dwarf2 debug_line support): Define nop
17117         insn for m68k.
17118         * configure: Regenerated.
17119
17120 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17121
17122         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
17123         dwarfout.h.
17124         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
17125         to conditionally compiled block.
17126         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17127         * dbxout.h (dbxout_function): Remove.
17128         * debug.c (do_nothing_debug_hooks): Update.
17129         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
17130         global_decl, deferred_inline_function.
17131         * dwarf2out.c (dwarf2_debug_hooks): Update.
17132         (dwarf2out_global_decl): New.
17133         * dwarfout.c: Don't include dwarfout.h.
17134         (dwarfout_global_decl, dwarfout_function_decl,
17135         dwarfout_deferred_inline_function): New.
17136         (dwarf_debug_hooks): Update.
17137         * dwarfout.h: Remove.
17138         * final.c: Don't include dwarfout.h.
17139         * sdbout.c (sdbout_global_decl): New.
17140         (sdbout_debug_hooks): Update.
17141         * toplev.c: Don't include dwarfout.h.
17142         (check_global_declarations, rest_of_compilation): Use new debug hooks.
17143         (note_deferral_of_defined_inline_function): Remove.
17144         * toplev.h (note_deferral_of_defined_inline_function): Remove.
17145         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
17146         * ch/lex.c: Don't include dwarfout.h.
17147         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
17148         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
17149         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
17150         * cp/optimize.c: Include debug.h.
17151         (maybe_clone_body): Use debug hook.
17152         * cp/semantics.c: Include debug.h.
17153         (expand_body): Use debug hook.
17154         * po/POTFILES.in: Remove dwarfout.h.
17155
17156 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17157
17158         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
17159         * c-parse.in (yyerror, _yylex): Similarly.
17160         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
17161         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
17162         Update comments.
17163         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
17164         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
17165
17166 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
17167
17168         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
17169         in-class declaration at -g1.  Fixes c++/2814.
17170
17171 2001-07-18  Richard Henderson  <rth@redhat.com>
17172
17173         * doc/md.texi (reload_in/out): Document restrictions in predicates
17174         and constraints for these patterns.  Document empty string matching
17175         ALL_REGS.
17176
17177 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17178
17179         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
17180
17181 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
17182
17183         * cse.c: Undo my previous patch.
17184
17185 2001-07-18  Tom Tromey  <tromey@redhat.com>
17186
17187         For PR java/2812:
17188         * configure: Rebuilt.
17189         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
17190         instead.
17191         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
17192
17193 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
17194                                 Jan Hubicka  <jh@suse.cz>
17195
17196         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
17197         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
17198         * jump.c (mark_jump_label): Do not forward branches.
17199
17200 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
17201
17202         * cse.c (delete_trivially_dead_insns): Delete the libcall block
17203         when return value is unused.
17204
17205 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17206
17207         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
17208
17209 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
17210
17211         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
17212         on error.  We can't blindly return the result of
17213         pthread_mutex_trylock because it returns a positive number on
17214         error, while we must return -1 on error.
17215         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
17216         fixes.
17217         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
17218
17219 2001-07-18  Andreas Jaeger  <aj@suse.de>
17220
17221         * integrate.c (output_inline_function): Correct type of debug_hooks.
17222
17223 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
17224
17225         * combine.c (combine_simplify_rtx): DIV can be treated
17226         associatively for floats if unsafe math optimisations are enabled.
17227
17228 2001-07-17  Richard Henderson  <rth@redhat.com>
17229
17230         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
17231
17232 2001-07-17  Richard Henderson  <rth@redhat.com>
17233
17234         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
17235         don't force the function address into a register.
17236         (expand_call, emit_library_call_value_1): Update callers.
17237         * builtins.c (expand_builtin_apply): Likewise.
17238         * expr.h (prepare_call_address): Update decl.
17239
17240 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
17241
17242         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
17243         config directory.
17244         * config/i386/chorus.h: Move up.
17245         * config/sparc/chorus.h: Likewise.
17246         * config/rs6000/chorus.h: Likewise.
17247         * config/chorus.h: Moved here.
17248
17249 2001-07-17  Andreas Schwab  <schwab@suse.de>
17250
17251         * configure.in  (assembler eh_frame optimization): Handle big
17252         endian.
17253         * configure: Regenerated.
17254
17255 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
17256
17257         * expr.c (epxand_expr): Convert divisions into multiplications by
17258         reciprocals if -ffast-math.
17259
17260 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
17261
17262         * dbxout.c (dbxout_really_begin_function): Rename to
17263         dbxout_begin_function.
17264         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17265         (dbxout_begin_function): Remove.
17266         (dbxout_function): Update.
17267         (dbxout_source_line): Update prototype.
17268         * dbxout.h (dbxout_begin_function): Remove.
17269         * debug.c (do_nothing_debug_hooks): Update.
17270         (debug_nothing_tree): Update.
17271         (debug_nothing_charstar_rtx): Remove.
17272         * debug.h (union tree_node): Declare.
17273         (struct rtx_def): Remove.
17274         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
17275         begin_function.  Change source_line prototype.
17276         (debug_nothing_tree): New.
17277         (debug_nothing_charstar_rtx): Delete.
17278         (dwarf2out_begin_prologue): Moved from ...
17279         * tree.h: ... here.
17280         * dwarf2out.c (dwarf2_debug_hooks): Update.
17281         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
17282         debug info, call dwarf2out_source_line.
17283         (dwarf2out_souce_line): Update prototype.
17284         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
17285         Change prototype, make static.
17286         (dwarfout_source_line): Update prototype.
17287         (dwarf_debug_hooks): Update.
17288         * dwarfout.h (dwarfout_begin_function): Remove.
17289         * final.c (final_start_function, final_scan_insn): Use appropriate
17290         debug hooks, update to use notice_source_line.
17291         (output_source_line): Rename notice_source_line.  Don't call the
17292         source_line debug hook.
17293         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
17294         make static, update prototype.
17295         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
17296         prototype.
17297         (sdbout_end_prologue): New.
17298         (sdbout_source_line): Update prototype.
17299         (sdbout_debug_hooks): Update.
17300         (sdbout_symbol): Remove unused var.
17301         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
17302         Delete.
17303         * varasm.c: Include debug.h.
17304         (assemble_start_function): Use begin_function debug_hook.
17305         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17306         update with prototype.
17307         (xcoffout_source_line): Update prototype.
17308         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17309         update prototype.
17310         (xcoffout_source_line): Update prototype.
17311
17312 2001-07-17  Richard Henderson  <rth@redhat.com>
17313
17314         * c-typeck.c (build_binary_op): Do not shorten unsigned
17315         right shift after sign extension.
17316
17317 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
17318
17319         * combine.c (combine_simplify_rtx): Attempt to simplify
17320         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
17321
17322         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
17323         (simplify_binary_operation, simplify_unary_operation,
17324          simplify_relational_operation): Use it.
17325
17326         * combine.c (combine_simplify_rtx): Don't do associative law
17327         on divisions; allow associative law on floats.
17328
17329 2001-07-17  H.J. Lu <hjl@gnu.org>
17330             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17331
17332         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
17333         ASM_OUTPUT_WEAK_ALIAS are defined.
17334         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
17335         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
17336         Moved ...
17337         * config/mips/iris5.h: ... here.
17338         (HANDLE_SYSV_PRAGMA): Defined as 1.
17339         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
17340         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
17341         symbol.
17342
17343 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
17344
17345         * c-parse.in (all_prefix_attributes): New variable.
17346         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
17347         (maybe_resetattrs): New production.
17348         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
17349         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
17350         notype_initdcl, nested_function, notype_nested_function,
17351         component_decl, components, components_notype,
17352         component_declarator, component_notype_declarator,
17353         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
17354         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
17355         after a comma being applied to more than one declarator.
17356         * doc/extend.texi (Attribute Syntax): Update.  Remove
17357         documentation of bugs that are no longer present.
17358
17359 2001-07-13  Eric Christopher  <echristo@redhat.com>
17360
17361         * config/mips/mips.h: Change TUNE_MIPS* options to use
17362         mips_tune.
17363         (EXTRA_SPECS): Add cc1_cpu_spec.
17364         * config/mips/mips.md (muldf3): Fix typo.
17365
17366 2001-07-16  Richard Henderson  <rth@redhat.com>
17367
17368         * config/m68k/m68k.c: Include expr.h and reload.h.
17369         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
17370         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
17371
17372 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17373             Richard Henderson  <rth@redhat.com>
17374
17375         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
17376         (insn_live_p): Fix fall off end of function.
17377         (dead_libcall_p): Remove COUNTS argument; update callers.
17378         (delete_trivially_dead_insns): Remove unused variables.
17379
17380 2001-07-17  Andreas Jaeger  <aj@suse.de>
17381
17382         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
17383         x86-64 pic support.
17384
17385         * lcm.c (optimize_mode_switching): Avoid warning for unused
17386         variable if !NORMAL_MODE.
17387
17388         * flow.c (try_crossjump_to_edge): Remove unused variable.
17389
17390 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17391
17392         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
17393         atexit declaration in stdlib.h.
17394
17395 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
17396
17397         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
17398
17399 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17400
17401         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
17402         * except.c (finish_eh_generation): Update call of cleanup_cfg;
17403         do rebuild_jump_labels instead of jump_optimize
17404         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
17405         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
17406         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
17407
17408         * flow.c: Include timevar.h
17409         (find_basic_block): Push/pop timevar;
17410         (cleanup_cfg): Likewise.
17411         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
17412         * Makefile: Add dependencies on timevar.h
17413
17414         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
17415         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
17416
17417         * rtl.h (delete_trivially_dead_insns): Add new parameter.
17418         * toplev.c (rest_of_compilation): Update calls.
17419         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
17420         (delete_trivially_dead_insns): ... here; accept new argument
17421         preserve_basic_blocks; preserve basic blocks if set.
17422
17423         * reg-stack.c (stack_regs_mentioned): Return 0 if
17424         stack_regs_mentioned_data is not initialized.
17425         (reg_to_stack): Make stack_regs_mentioned survive after the
17426         reg-stack is completted; do not call cleanup_cfg.
17427         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
17428         make cleanup_cfg after bb-reorder to output to debug file.
17429
17430 2001-07-16  Richard Henderson  <rth@redhat.com>
17431
17432         * regclass.c (init_reg_sets): Use only 32 bits per initializer
17433         from int_reg_class_contents.
17434
17435 2001-07-16  Richard Henderson  <rth@redhat.com>
17436
17437         * hard-reg-set.h (regs_invalidated_by_call): Declare.
17438         * regclass.c (regs_invalidated_by_call): Move from cse.c.
17439         (init_reg_sets_1): Move initialization from cse_main.
17440         * cse.c (regs_invalidated_by_call): Move to regclass.c.
17441         (cse_main): Move its initialization also.
17442         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
17443         * flow.c (propagate_one_insn): Likewise.
17444         * gcse.c (compute_hash_table): Likewise.
17445         (compute_kill_rd, compute_store_table): Likewise.
17446         * sched-deps.c (sched_analyze_1): Likewise.
17447
17448 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
17449
17450         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
17451         gen_rtx_SET.
17452
17453 2001-07-16  Steve Ellcey <sje@cup.hp.com>
17454
17455         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
17456         in if statement so we don't access undefined memory.
17457
17458 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17459
17460         * gcse.c: Update comment at top.
17461         Update comment on mem handling.
17462         mem_last_set, mem_first_set, mem_set_in_block: gone.
17463         Declaration of reg_set_info: gone.
17464         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
17465         pointless with load_killed_in_block_p (they are *more*
17466         conservative then it, not less, and less accurate).
17467         (oprs_not_set_p): Ditto.
17468         (alloc_gcse_mem): Don't allocate mem_set_in_block
17469         (free_gcse_mem): Don't free it, either.
17470         (record_last_mem_set_info): Update comment in front, remove
17471         mem_*set_* stuff. Note the reason we don't handle stores directly
17472         here.
17473         (compute_hash_table): Update comments to reflect reality. Remove
17474         mem_*set_* references.
17475         (reset_opr_set_tables): Remove mem_*set_* references.
17476         (mark_call): Ditto.
17477         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
17478         (mark_clobber): Ditto (on both parts, we double set here too).
17479         (expr_killed_p): Remove mem_set_in_block test.
17480         (compute_transp): Remove mem_set_in_block test.
17481
17482         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
17483         of edge, and removal of phi alternative to dump file.
17484         (ssa_ccp_substitute_constants): Add note about register now being
17485         constant, and which uses were replaced in what insns to dump file.
17486
17487 2001-07-16  Andreas Jaeger  <aj@suse.de>
17488
17489         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
17490         variables of type HOST_WIDEST_INT.
17491
17492         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
17493         (__bb_exit_func): Correct type of count_max to avoid overflow.
17494         (num_digits): Handle long long argument.
17495
17496         * combine.c (gen_lowpart_for_combine): Remove unused variable.
17497
17498 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
17499
17500         * output.h (sdb_begin_function_line): Restore as an extern
17501         variable.
17502         * sdbout.c (sdb_begin_function_line): Make extern.
17503
17504 2001-07-15  Richard Henderson  <rth@redhat.com>
17505
17506         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
17507         * genrecog.c (maybe_both_true_mode): New.
17508         (maybe_both_true_2): Use it.
17509         (write_switch): Don't put Pmode in a switch.
17510         * rtl.c (mode arrays): Don't explicitly size them.
17511
17512 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
17513
17514         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
17515         handling; move unconditional splitting before mode switching.
17516
17517         * i386.md (type): Add fistp type.
17518         (i387, length_attr, scheduling definitions): Handle this type.
17519         (fix_trunc?f?i2): Revamp to use mode switching.
17520         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
17521         * i386.h (fp_cw_mode): New enum
17522         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
17523         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
17524
17525 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17526
17527         * Makefile.in (integrate.o): Add debug.h.
17528         * integrate.c (debug.h): Add.
17529         (output_inline_function): Save, reset, and restore debug_hooks.
17530
17531 2001-07-15  Richard Henderson  <rth@redhat.com>
17532
17533         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
17534         instead of COMPARE for the EQUIV expression.
17535
17536 2001-07-15  Richard Henderson  <rth@redhat.com>
17537
17538         * flow.c (redirect_edge_and_branch_force): Initialize
17539         global_live_at_start and global_live_at_end.
17540         (allocate_bb_life_data): Export.
17541         * basic-block.h (allocate_bb_life_data): Declare.
17542         * toplev.c (rest_of_compilation): Call it.
17543
17544 2001-07-15  Richard Henderson  <rth@redhat.com>
17545
17546         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
17547         (alpha_tablejump_best_label): New.
17548         * config/alpha/alpha-protos.h: Declare them.
17549         * config/alpha/alpha.md: Use braced strings for code blocks.
17550         (tablejump_osf): Break out add with r29.
17551         (tablejump_osf_internal): Remove.
17552         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
17553         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
17554
17555 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
17556
17557         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
17558         of the movable.
17559
17560         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
17561
17562         * i386-protos.h (ix86_split_fp_branch): Update prototype.
17563         (ix86_fp_jump_nontrivial_p): New.
17564         * i386.md (fp_jcc_?): Update call of split_fp_branch;
17565         use ix86_fp_jump_nontrivial_p.
17566         * i386.c (ix86_fp_jump_nontrivial_p): New.
17567         (ix86_split_fp_branch): Accept code instead of rtx.
17568         (ix86_expand_compare): Expand comparison early in case
17569         doing so is resonably cheap.
17570
17571 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
17572
17573         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
17574         not 'machine'.
17575         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
17576         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
17577
17578 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
17579
17580         * dbxout.c (dbxout_source_line): Make static, update prototype.
17581         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
17582         (dbxout_init, dbxout_finish, dbxout_source_line,
17583         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
17584         * dbxout.h (dbxout_source_line): Delete.
17585         * debug.c (debug_nothing_file, debug_nothing_file_int,
17586         debug_nothing_file_charstar_rtx): New.
17587         (do_nothing_debug_hooks): Update.
17588         (debug_nothing_void, debug_nothing_charstar_rtx,
17589         dwarf2out_end_epilogue): New.
17590         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17591         * debug.h (struct rtx_def): Declare.
17592         (gcc_debug_hooks): New hooks source_line, end_epilogue
17593         and end_function.
17594         (debug_nothing_void, debug_nothing_charstar_rtx,
17595         dwarf2out_end_epilogue): New.
17596         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17597         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
17598         (dwarf2_debug_hooks): Update.
17599         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
17600         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
17601         * dwarf2out.h (dwarf2out_source_line): Remove.
17602         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
17603         Make static, update prototype.
17604         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
17605         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
17606         (dwarf_debug_hooks): Update.
17607         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
17608         dwarfout_end_function): Remove.
17609         * final.c (profile_function): Use debug hooks for ending functions
17610         and epilogues.
17611         (output_source_line, final_end_function): Update prototype,
17612         use debug hooks.
17613         (final_start_function, final_scan_insn): Update.
17614         * output.h (sdb_begin_function_line): Remove.
17615         (final_end_function): Update prototype.
17616         * sdbout.c (sdb_begin_function_line): Make static.
17617         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
17618         (sdbout_source_line): New.
17619         (sdbout_end_epilogue, sdbout_end_function): Make static, update
17620         prototypes.
17621         (sdb_debug_hooks): Update.
17622         (sdbout_init, sdbout_source_line,
17623         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
17624         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
17625         * toplev.c (compile_file, rest_of_compilation): Update.
17626         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
17627         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
17628         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
17629         Update for prototype changes.
17630         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
17631         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
17632
17633 2001-07-15  Richard Henderson  <rth@redhat.com>
17634
17635         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
17636         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
17637         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
17638         * config/alpha/alpha.c: Likewise.
17639         * config/alpha/alpha.md: Likewise.
17640         * config/alpha/alpha32.h: Likewise.
17641         * config/alpha/vms.h: Likewise.
17642         (OPEN_VMS): Remove.
17643
17644 2001-07-14  Richard Henderson  <rth@redhat.com>
17645
17646         * config/alpha/alpha.md: Use define_constants for unspec values.
17647         Substitute throughout.
17648
17649 2001-07-14  Tim Josling  <tej@melbpc.org.au>
17650
17651         * tree.def (EXPON_EXPR) remove. Never supported anyway.
17652
17653 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17654
17655         * pa.md: Remove unused constraints from define_split's.
17656
17657 2001-04-14  Richard Henderson  <rth@redhat.com>
17658
17659         * ifcvt.c (find_cond_trap): Test for exit block.
17660
17661 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
17662
17663         Re-install recently reverted patch.
17664         * emit-rtl.c (try_split): Update mark_jump_label call.
17665         * flow.c (find_sub_basic_blocks): Likewise.
17666         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17667         jump_back_p): Kill.
17668         (mark_all_labels): Kill second parameter.
17669         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17670         (rebuild_jump_labels, jump_optimize_minimal): Update call
17671         of jump_optimize_1.
17672         (jump_optimize_1): Kill crossjumping code.
17673         (mark_jump_label): Kill cross_jump parameter.
17674         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17675         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17676         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17677          splitting.
17678         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17679         DFI_bpro.
17680         (dump_file_info): Likewise.
17681         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17682         reorganize passes to do reg-stack first, bb-reorder second.
17683         * invoke.texi (-d letters doc): Remove the jump2 pass.
17684
17685 2001-07-14  Richard Henderson  <rth@redhat.com>
17686
17687         * ifcvt.c (find_cond_trap): New.
17688         (find_if_header): Call it.
17689         (merge_if_block): Relax existing jump sanity check.
17690         * jump.c (jump_optimize_1): Remove conditional trap handling.
17691
17692 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
17693
17694         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
17695         millicode.
17696         (insn_refs_are_delayed): Correct comment.
17697         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
17698         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
17699         instead of r31.  Make associated insn !TARGET_64BIT, and
17700         provide an additional 64-bit insn that clobbers r2.
17701         (divsi3): Likewise.
17702         (udivsi3): Likewise.
17703         (modsi3): Likewise.
17704         (umodsi3): Likewise.
17705
17706 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
17707
17708         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
17709
17710         * flow.c (redirect_edge_and_branch_force, split_edge,
17711         try_crossjump_to_edge): Use set_block_for_new_insns.
17712         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
17713
17714 2001-07-13  H.J. Lu  (hjl@gnu.org)
17715
17716         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
17717         the correct patch.
17718
17719 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17720
17721         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
17722
17723 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
17724
17725         * c-common.c (decl_attributes): Take a pointer to the node to
17726         which attributes are to be attached, and a flags argument.
17727         * c-common.h (enum attribute_flags): New.
17728         (decl_attributes): Update prototype.
17729         * c-decl.c (start_decl, push_parm_decl, finish_struct,
17730         finish_enum, start_function): Update calls to decl_attributes.
17731         * c-parse.in (component_declarator, component_notype_declarator,
17732         label): Update calls to decl_attributes.
17733
17734 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
17735
17736         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
17737         * config/avr/avr.c (legitimate_address_p): Return value changed
17738         from letter to register classes. For better debugging.
17739
17740 2001-07-13  Kazu Hirata  <kazu@hxi.com>
17741
17742         * jump.c (reversed_comparison_code_parts): Fix comment typos.
17743
17744 2001-07-13  H.J. Lu  (hjl@gnu.org)
17745
17746         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
17747
17748 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
17749
17750         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
17751         correctly for shared configurations.
17752         * config/t-libgcc-pic:  New.
17753         * config/{i386,m68k,sparc}/t-openbsd:  New.
17754         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
17755         Support -shared.  Support debugging libraries with -g.
17756         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
17757         frame information does not emit pointer diffs.
17758         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
17759         emit pointer diffs.
17760
17761 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17762
17763         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
17764
17765 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
17766
17767         * combine.c (try_combine): Ensure const_int pow2 is positive.
17768
17769 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
17770
17771         * config.gcc: Add configuration for s/390.
17772         * config/s390/s390.c: New. Subroutines for code generation.
17773         * config/s390/s390.h: New. Definitions for s/390.
17774         * config/s390/s390-protos.h: New. Prototypes.
17775         * config/s390/linux.h: New. Definitions for linux for s/390.
17776         * config/s390/linux64.h: New. Definitions for linux for zSeries.
17777         * config/s390/t-linux: New. Makefile fragment.
17778         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
17779         * config/s390/fixdfdi.h: New. Fix L_fix*di.
17780
17781 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
17782
17783         * emit-rtl.c (try_split): Update mark_jump_label call.
17784         * flow.c (find_sub_basic_blocks): Likewise.
17785         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17786         jump_back_p): Kill.
17787         (mark_all_labels): Kill second parameter.
17788         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17789         (rebuild_jump_labels, jump_optimize_minimal): Update call
17790         of jump_optimize_1.
17791         (jump_optimize_1): Kill crossjumping code.
17792         (mark_jump_label): Kill cross_jump parameter.
17793         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17794         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17795         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17796          splitting.
17797         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17798         DFI_bpro.
17799         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17800         reorganize passes to do reg-stack first, bb-reorder second.
17801         * invoke.texi (-d letters doc): Remove the jump2 pass.
17802
17803 2001-07-12  Steve Ellcey <sje@cup.hp.com>
17804
17805         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
17806
17807 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17808
17809         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
17810         basic blocks.
17811         (verify_flow_info): Make diagnostics prettier.
17812
17813 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
17814
17815         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
17816
17817         * flow.c (outgoing_edges_match): Return early if condition reversal
17818         failed.
17819
17820 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
17821
17822         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
17823         (mips_move_2words): When splitting a move into two instructions,
17824         prefix the second address operand with '%D'.
17825
17826 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
17827
17828         * Makefile.in (final.o): Depend on debug.h.
17829         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
17830         (dbx_debug_hooks): Add new hooks.
17831         (xcoff_debug_hooks): New.
17832         * debug.c (debug_nothing_file_int_int): New.
17833         (do_nothing_debug_hooks): Update.
17834         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
17835         (debug_nothing_file_int_int): New.
17836         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
17837         static, update prototype.
17838         (dwarf2_debug_hooks): Update.
17839         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
17840         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
17841         static, update prototype.
17842         (dwarf_debug_hooks): Update.
17843         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
17844         * final.c: Include debug.h.
17845         (final_scan_insn): Use debug hooks when beginning and ending blocks.
17846         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
17847         static, update prototype.
17848         (sdb_debug_hooks): Update.
17849         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
17850         * toplev.c: Distinguish between xcoff and dbx.
17851
17852         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
17853         Call all debug hooks, not just dwarf ones.
17854
17855 2001-07-11  Timothy Wall  <twall@redhat.com>
17856
17857         * config.gcc: Add configuration for AIX5/IA64.
17858         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
17859         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
17860         support prefix/suffix code.
17861         * config/ia64/t-aix: New.  Makefile fragment.
17862         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
17863
17864 2001-07-11  Kazu Hirata  <kazu@hxi.com>
17865
17866         * recog.c (validate_change): Fix a comment typo.
17867
17868 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
17869
17870         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
17871         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
17872         hooks directly.
17873         * dbxout.c (dbx_debug_hooks): Add new hooks.
17874         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
17875         make static.
17876         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
17877         make static.
17878         * dbxout.h (dbxout_start_new_source_file,
17879         dbxout_resume_previous_source_file): Delete.
17880         * debug.c (do_nothing_debug_hooks): Add new hooks.
17881         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17882         (debug_nothing_int_charstar, debug_nothing_int): New.
17883         * debug.h (gcc_debug_hooks): New hooks define, undef,
17884         start_source_file and end_source_file.
17885         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17886         (debug_nothing_int_charstar, debug_nothing_int): New.
17887         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
17888         the conditionally compiled section.
17889         (dwarf2out_start_source_file, dwarf2out_end_source_file,
17890         dwarf2out_define, dwarf2out_undef): Make static.
17891         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
17892         dwarf2out_define, dwarf2out_undef): Remove.
17893         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
17894         (dwarfout_start_source_file, dwarfout_end_source_file,
17895         dwarfout_define, dwarfout_undef): Make static.
17896         (dwarfout_start_source_file_check,
17897         dwarfout_end_source_file_check): New.
17898         (dwarfout_define, dwarfout_finish): Update.
17899         * dwarfout.h (dwarfout_start_new_source_file,
17900         dwarfout_resume_previous_source_file, dwarfout_define,
17901         dwarfout_undef): Remove.
17902         * sdbout.c (sdb_debug_hooks): Add new hooks.
17903         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
17904         make static.
17905         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
17906         make static, take an arg.
17907         * sdbout.h (sdbout_start_new_source_file,
17908         sdbout_resume_previous_source_file): Delete.
17909         * toplev.c (debug_start_source_file, debug_end_source_file,
17910         debug_define, debug_undef): Delete.
17911         * toplev.h (debug_start_source_file, debug_end_source_file,
17912         debug_define, debug_undef): Delete.
17913
17914         * java/jcf-parse.c: Include debug.h.
17915         (parse_class_file): Update to use debug hooks directly.
17916         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
17917
17918 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17919
17920         * alias.c (set_mem_alias_set): New function.
17921         * rtl.h (set_mem_alias_set): Declare it.
17922         * builtins.c (expand_builtin_return_addr): Call it instead of
17923         using MEM_ALIAS_SET accessor.
17924         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
17925         (get_memory_rtx, expand_builtin_va_arg): Likewise.
17926         (expand_builtin_va_copy):Likewise.
17927         * caller-save.c (setup_save_areas): Likewise.
17928         * calls.c (compute_argument_addresses): Likewise.
17929         * explow.c (set_mem_attributes): Likewise.
17930         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
17931         (expand_assignment, store_constructor_field, store_field): Likewise.
17932         (expand_expr_unaligned): Likewise.
17933         * function.c (assign_stack_temp_for_type): Likewise.
17934         (put_reg_into_stack, gen_mem_addressof): Likewise.
17935         * ifcvt.c (noce_try_cmove_arith): Likewise.
17936         * reload1.c (reload, alter_reg): Likewise.
17937         * config/alpha/alpha.c (get_aligned_mem): Likewise.
17938         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
17939         (alpha_expand_unaligned_store): Likewise
17940         (alpha_expand_unaligned_load_words): Likewise.
17941         (alpha_expand_unaligned_store_words): Likewise.
17942         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
17943         (alpha_expand_epilogue): Likewise.
17944         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
17945         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
17946         * config/i386/i386.c (legitimize_pic_address): Likewise.
17947         * config/i960/i960.c (setup_incoming_varargs): Likewise.
17948         * config/ia64/ia64.c (spill_restore_mem): Likewise.
17949         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
17950         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
17951         * config/mips/mips.c (mips_va_arg): Likewise.
17952         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
17953         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
17954         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
17955         (setup_incoming_varargs, rs6000_va_arg): Likewise.
17956         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
17957         (rs6000_emit_epilogue): Likewise.
17958         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
17959         * config/sparc/sparc.c (sparc_va_arg): Likewise.
17960         * config/v850/v850.c (v850_va_arg): Likewise.
17961
17962 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
17963
17964         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
17965         when fallthru edge is present.
17966         (mege_blocks): Handle case where creation of jump insn
17967         is required.
17968
17969         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
17970         CLEANUP_POST_REGSTACK): New constants.
17971         * except.c (finish_eh_generation): Update call of cleanup_cfg,
17972         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
17973         * output.h (cleanup_cfg): Update prototype.
17974         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
17975         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
17976         cleanup_cfg call; kill missleading comment.
17977         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
17978         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
17979         parameter; control optimizations performed using it.
17980         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
17981         try_crossjump_bb): New functions.
17982
17983 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17984
17985         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
17986         extern.
17987         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
17988         pa_output_function_prologue.
17989         * pa-protos.h (pa_output_function_prologue): New prototype.
17990
17991 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17992
17993         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
17994         and low to get correct sign extension in low+high test.
17995
17996 2001-07-11  Janis Johnson <janis@us.ibm.com>
17997
17998         * gcov.c (arcdata): Use gcov_type to fix branch percentage
17999         for large hit count.
18000
18001         * profile.c (branch_prob): Fix .bbg info for computed gotos
18002         and C++ EH code.
18003
18004 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
18005
18006         * stmt.c (parse_output_constraint): New function, split out
18007         from ...
18008         (expand_asm_operands): ... here.  Use parse_output_constraint.
18009         * tree.h (parse_output_constraint): Declare it.
18010
18011 2001-07-11  Richard Henderson  <rth@redhat.com>
18012
18013         * bitmap.c: Comment some functions; fiddle whitespace.
18014         (bitmap_free): Don't export.
18015         (bitmap_element_allocate): Use memset.
18016         * bitmap.h (bitmap_free): Don't declare.
18017
18018 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
18019
18020         * gcse.c, lcm.c, sched-deps.c:
18021         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
18022
18023         * flow.c (flow_loops_find): Free dom if we found no loops, since
18024         we aren't going to save it.
18025
18026         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
18027         done.
18028
18029 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
18030
18031         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
18032
18033 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18034
18035         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
18036         #ifndef DWARF2_DEBUGGING_INFO.
18037
18038 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18039
18040         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
18041
18042 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18043
18044         * config/mips/mips.c (gen_int_relational): Tell the caller not to
18045         reverse a branch if a NE comparison is implemented with GTU.
18046
18047 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18048             H.J. Lu  <hjl@gnu.org>
18049
18050         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
18051         constant addresses.
18052         (call_internal2): Likewise.
18053         (call_value_internal1): Likewise.
18054         (call_value_internal2): Likewise.
18055         (call_value_multiple_internal1): Likewise.
18056         (call_value_multiple_internal2): Likewise.
18057
18058 2001-07-10  Kazu Hirata  <kazu@hxi.com>
18059
18060         * calls.c (emit_library_call_value_1): Fix a comment typo.
18061         * dwarf2out.c (mem_loc_descriptor): Likewise.
18062         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
18063
18064 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
18065
18066         * simplify-rtx.c (simplify_subreg): Fix typo in comment
18067
18068 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18069
18070         * recog.c (offsettable_address_p): Handle LO_SUM case.
18071         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
18072         instead of plus_constant.
18073
18074 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18075
18076         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
18077         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
18078
18079 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18080
18081         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
18082         adjust_address_nv instead of plus_constant.
18083
18084 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
18085
18086         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
18087         dwarf2out.o): Depend on debug.h, wrap long lines.
18088         * dbxout.c: Include debug.h.
18089         (dbx_debug_hooks): New.
18090         (dbxout_init): Make static, take just 2 args.
18091         (dbxout_finish): Make static.
18092         * dbxout.h (dbxout_init, dbxout_finish): Delete.
18093         * debug.c: New file.
18094         * debug.h: New file.
18095         * dwarf2out.c: Include debug.h.
18096         (dwarf2_debug_hooks): New.
18097         (dwarf2out_init): Make static.
18098         (dwarf2out_finish): Make static, take 2 args.
18099         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
18100         * dwarfout.c: Include debug.h.
18101         (dwarf_debug_hooks): New.
18102         (dwarfout_init): Make static.
18103         (dwarfout_finish): Make static, take 2 args.
18104         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
18105         * sdbout.c: Include debug.h.
18106         (sdb_debug_hooks): New.
18107         (sdbout_init): Make static, take 2 args.
18108         * sdbout.h (sdbout_init): Delete.
18109         * toplev.c: Include debug.h.
18110         (debug_hooks): New.
18111         (compile_file): Set deubg_hooks based on command line options.
18112         Use the hooks unconditionally rather than conditional compilation.
18113
18114 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
18115
18116         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
18117         first_insn_after_basic_block_note instead.
18118
18119         * df.c (df_bb_refs_unlink): #if 0 out for now.
18120
18121 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
18122
18123         * ssa.h: Add prototype for ssa_const_prop
18124         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
18125         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
18126         (ssa_fast_dce): Remove unused variable
18127
18128 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
18129
18130         * diagnostic.c (finish_diagnostic): Rename to
18131         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
18132         calls thourghout.
18133
18134 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
18135
18136         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
18137         .loc support.
18138
18139         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
18140         (dump_file): Only pad the demangled name with spaces if the
18141         mangled name was padded with spaces.
18142
18143 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
18144
18145         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
18146         edge detection.
18147
18148 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18149
18150         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
18151         extraction if no direct load if either EXPAND_CONST_ADDRESS or
18152         EXPAND_INITIALIZER.
18153
18154         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
18155         whether can put offset inside LO_SUM to check mode alignment, not size.
18156
18157 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
18158
18159         * doc/tm.texi (Misc): Fix thinko.
18160
18161 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
18162
18163         * regmove.c (replace_in_call_usage): Fix warnings.
18164         * sched-deps.c (add_dependence): Fix warnings.
18165         * simplify-rtx.c (simplify_subreg): Likewise.
18166         Return NULL_RTX instead of NULL.
18167
18168         * reg-stack.c (emit_swap_insn): Eliminate warnings.
18169         (subst_asm_stack_regs): Likewise.
18170
18171         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
18172         warnings.
18173
18174         * dwarf2out.c (output_call_frame_info): Declare i as int.
18175         (build_abbrev_table): Declare n_alloc as int.
18176         (dwarf2out_finish): Initialize die.
18177         * except.c: Declare sjlj_funcdef_number as unsigned.
18178         (connect_post_landing_pads): Declare j as unsigned.
18179         (convert_to_eh_region_ranges): Initialize call_site.
18180         (output_function_exception_table): Initialize tt_format_size.
18181         * expr.c (move_by_pieces_1): Initialize to1.
18182         (store_constructor): Initialize minelt and maxelt.
18183         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
18184         * function.c (instantiate_decls): Avoid signed/unsigned warning.
18185
18186         * c-decl.c (combine_parm_decls): Unused, remove.
18187         * c-tree.h: Remove prototype for combine_parm_decls.
18188
18189         * reload.c (push_reload): Fix warning.
18190         (regno_clobbered_p): Likewise.
18191         * reload1.c (replace_pseudos_in_call_usage): Likewise.
18192         (reload_combine): Likewise.
18193
18194         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
18195         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
18196         warnings.
18197         * bitmap.c (bitmap_operation): Change user.
18198         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
18199
18200 2001-07-10  Eric Christopher  <echristo@redhat.com>
18201
18202         * config/mips/mips.c (override_options): Fix typo.
18203
18204 2001-07-09  Stan Shebs  <shebs@apple.com>
18205
18206         * target.h (struct gcc_target): New fields init_builtins and
18207         expand_builtin.
18208         * target-def.h (TARGET_INIT_BUILTINS): New macro.
18209         (TARGET_EXPAND_BUILTIN): New macro.
18210         (TARGET_INITIALIZER): Add them.
18211         * builtins.c: Include target.h.
18212         (expand_builtin): Use targetm.expand_builtin.
18213         (default_init_builtins): New function.
18214         (default_expand_builtin): New function.
18215         * expr.h (default_init_builtins): Declare.
18216         (default_expand_builtin): Declare.
18217         * c-common.c (c_common_nodes_and_builtins): Use
18218         targetm.init_builtins.
18219         * defaults.h (MD_INIT_BUILTINS): Remove.
18220         * Makefile.in (builtins.o): Depend on target.h.
18221
18222         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
18223         (TARGET_EXPAND_BUILTIN): Define.
18224         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
18225         (MD_EXPAND_BUILTIN): Remove.
18226
18227         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
18228         (TARGET_EXPAND_BUILTIN): Define.
18229         (c4x_init_builtins): Make endlink arg a local.
18230         (c4x_print_operand): Fix typos in adjust_address usages.
18231         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
18232         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
18233         (MD_EXPAND_BUILTIN): Remove.
18234
18235         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
18236         (TARGET_EXPAND_BUILTIN): Define.
18237         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
18238         (ix86_init_builtins): Call new function only if TARGET_MMX.
18239         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
18240         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
18241         (MD_EXPAND_BUILTIN): Remove.
18242
18243         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
18244         (TARGET_EXPAND_BUILTIN): Define.
18245         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
18246         (MD_EXPAND_BUILTIN): Remove.
18247
18248         * doc/tm.texi: Document these changes.
18249
18250 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
18251
18252         * basic-block.h (tree_node): Forward declare if needed.
18253         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
18254         (BLOCK_HEAD_TREE): Define.
18255         (BLOCK_END_TREE): Define.
18256         (struct loops): Rename field 'tree' to 'tree_root'.
18257         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
18258         'end_tree'.
18259         (flow_loops_tree_build): Rename reference to field 'tree' to
18260         'tree_root'.
18261         (flow_loops_level_compute): Ditto.
18262         * predict.c (estimate_bb_frequencies): Ditto.
18263         * tree.h (struct tree_common): Add field 'aux'.
18264
18265 2001-07-09  Stan Shebs  <shebs@apple.com>
18266
18267         * config/darwin.c (darwin_encode_section_info): Don't mark any
18268         DECL_EXTERNAL node as defined.
18269
18270 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18271
18272         * pa.c (pa_init_machine_status, pa_mark_machine_status,
18273         pa_free_machine_status, hppa_init_pic_save): Delete.
18274         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
18275         (hppa_profile_hook): Use hppa_pic_save_rtx.
18276         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
18277         hppa_init_pic_save): Delete.
18278         (hppa_pic_save_rtx): Declare.
18279         * pa.md (call, call_value, sibcall, sibcall_value,
18280         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
18281
18282 2001-07-09  Kazu Hirata  <kazu@hxi.com>
18283
18284         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
18285         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
18286
18287 2001-07-09  Andreas Jaeger  <aj@suse.de>
18288
18289         * output.h: Add declaration of final_forward_branch_p.
18290
18291         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
18292
18293         * varray.c: Include errors.h for internal_error and trim_filename
18294         declarations.
18295
18296         * Makefile.in (varray.o): Add errors.h.
18297
18298 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
18299
18300         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
18301         * optabs.c (have_add2_insn): Check whether the add insn chosen
18302         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
18303         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
18304
18305 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
18306
18307         * Makefile.in (OBJS): Add ssa-ccp.o
18308         (ssa-ccp.o): Add dependencies.
18309         * toplev.c (DFI_ssa_ccp): New dump file enum.
18310         (dump_file): Add entry for dumping after SSA CCP.
18311         (flag_ssa_ccp): New flag variable.
18312         (f_options): Add -fssa-ccp.
18313         (rest_of_compilation): Run SSA CCP if requested.
18314         * timevar.def (TV_SSA_CCP): New timevar.
18315         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
18316         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
18317         Fix minor typo in SSA DCE documentation.
18318         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
18319         Add documentation for new dump option.  Renumber dump files
18320         appropriately.
18321
18322 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18323
18324         * emit-rtl.c (gen_highpart_mode): New.
18325         * rtl.h (gen_highpart_mode): Declare.
18326         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
18327         operand can be VOIDmode constant.
18328
18329 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
18330
18331         * flow.c (redirect_edge_and_branch_force): New.
18332         (can_fallthru): Ensure that basic blocks are succeeding.
18333         (try_optimize_cfg): Do not delete basic block if it is the last one.
18334
18335         * flow.c (try_redirect_by_replacing_jump): Do not remove
18336         jumps with side effects, unlink chain on fallthru edge;
18337         set block for new jump instruction; avoid basic block to
18338         over by line number note.
18339
18340         * flow.c (try_simplify_condjump): Verify that the condjump
18341         is not always falling through.
18342
18343         Re-install patch:
18344         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18345
18346         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18347         (try_redirect_by_replacing_jump): Update properly the count
18348         and frequency information.
18349
18350 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18351
18352         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
18353         address that is a LO_SUM specially.
18354         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
18355
18356         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
18357
18358         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
18359         (operand_subword): Use them.
18360         (change_address_1): Renamed from change_address; new arg VALIDATE.
18361         * expr.h: Reflect above changes; change_address now macro.
18362         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
18363         making MEM.
18364         * cselib.c (add_mem_for_addr): Likewise.
18365         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
18366         * regmove.c (try_apply_stack_adjustment): Likewise.
18367         * reload.c (push_reload, make_memloc): Likewise.
18368         * reload1.c (eliminate_regs): Likewise.
18369         * simplify-rtx.c (simplify_replace_rtx): Likewise.
18370         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
18371         adjust_addess.
18372         * combine.c (make_extraction, simplify_shift_const): Likewise.
18373         (gen_lowpart_for_combine): Likewise.
18374         * cse.c (gen_lowpart_if_possible): Likewise.
18375         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
18376         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
18377         * optabs.c (gen_move_insn): Likewise.
18378         * reload1.c (alter_reg): Likewise.
18379         * simplify-rtx.c (simplify_subreg): Likewise.
18380         * stmt.c (expand_anon_union_decl): Likewise.
18381         * recog.c (validate_replace_rtx_1): Likewise.
18382         (expr.h): Include.
18383         * Makefile.in (recog.o): Add $(EXPR_H).
18384         * explow.c (stabilize): Call replace_equiv_address.
18385         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
18386         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
18387
18388 2001-07-03  Andrew Haley  <aph@redhat.com>
18389
18390         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
18391         the mode of the memory location.
18392
18393 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
18394
18395         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
18396
18397 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
18398
18399         * final.c (output_addr_const): Use target opening and
18400         closing parentheses.
18401         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
18402         defaults, add to TARGET_ASM_OUT.
18403         * target.h (struct gcc_target): Add open_paren and close_paren.
18404         * doc/md.texi: Update.
18405         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
18406         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
18407         TARGET_ASM_CLOSE_PAREN.
18408         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18409         Override.
18410         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18411         Override.
18412         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
18413         * config/a29k/a29k.h: Similarly.
18414         * config/alpha/alpha.h: Similarly.
18415         * config/arc/arc.h: Similarly.
18416         * config/arm/aof.h: Similarly.
18417         * config/arm/aout.h: Similarly.
18418         * config/avr/avr.h: Similarly.
18419         * config/c4x/c4x.h: Similarly.
18420         * config/clipper/clipper.h: Similarly.
18421         * config/convex/convex.h: Similarly.
18422         * config/d30v/d30v.h: Similarly.
18423         * config/dsp16xx/dsp16xx.h: Similarly.
18424         * config/elxsi/elxsi.h: Similarly.
18425         * config/fr30/fr30.h: Similarly.
18426         * config/h8300/h8300.h: Similarly.
18427         * config/i370/i370.h: Similarly.
18428         * config/i386/i386.h: Similarly.
18429         * config/i860/i860.h: Similarly.
18430         * config/i960/i960.h: Similarly.
18431         * config/ia64/ia64.h: Similarly.
18432         * config/m32r/m32r.h: Similarly.
18433         * config/m68hc11/m68hc11.h: Similarly.
18434         * config/m68k/m68k.h: Similarly.
18435         * config/m88k/m88k.h: Similarly.
18436         * config/mcore/mcore.h: Similarly.
18437         * config/mips/mips.h: Similarly.
18438         * config/mn10200/mn10200.h: Similarly.
18439         * config/mn10300/mn10300.h: Similarly.
18440         * config/ns32k/ns32k.h: Similarly.
18441         * config/pa/pa.h: Similarly.
18442         * config/pdp11/pdp11.h: Similarly.
18443         * config/pj/pj.h: Similarly.
18444         * config/romp/romp.h: Similarly.
18445         * config/rs6000/rs6000.h: Similarly.
18446         * config/sh/sh.h: Similarly.
18447         * config/sparc/sparc.h: Similarly.
18448         * config/v850/v850.h: Similarly.
18449         * config/vax/vax.h: Similarly.
18450         * config/we32k/we32k.h: Similarly.
18451
18452 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
18453
18454         * doc/c-tree.texi: Document representation of attributes.
18455
18456 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18457
18458         * doc/tm.texi: Update some places for the rename of target to
18459         targetm.  Fix typo.
18460
18461 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18462
18463         * target.h (struct gcc_target): Add insert_attributes.
18464         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
18465         (TARGET_INITIALIZER): Update.
18466         * tree.c, tree.h (default_insert_attributes): New function.
18467         Update comments on other default functions to refer to targetm,
18468         not target.
18469         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
18470         TARGET_INSERT_ATTRIBUTES.
18471         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
18472         * c-common.c (decl_attributes): Use targetm.insert_attributes.
18473         Don't use PRAGMA_INSERT_ATTRIBUTES.
18474         * Makefile.in (c-common.o): Depend on $(TARGET_H).
18475         * c-decl.c (start_decl, start_function): Don't call
18476         SET_DEFAULT_DECL_ATTRIBUTES.
18477         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18478         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
18479         declare.
18480         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
18481         (c4x_check_attribute): Avoid modifying attribute list itself.
18482         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
18483         Make static.
18484         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
18485         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
18486         declare.
18487         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
18488         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
18489         Make static.
18490         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18491         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
18492         declare.
18493         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
18494         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
18495         Adjust parameters.  Make static.
18496
18497 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18498
18499         * c-common.c (decl_attributes): Only take a single attributes
18500         parameter.
18501         * c-common.h (decl_attributes): Update prototype.
18502         * c-decl.c (start_decl, start_function): Only take a single
18503         attributes parameter.  Update calls to decl_attributes.
18504         (finish_struct, finish_enum): Update calls to decl_attributes.
18505         (push_parm_decl): Expect unified list of attributes.  Update call
18506         to decl_attributes.
18507         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
18508         notype_nested_function, component_declarator,
18509         component_notype_declarator, label): Update calls to
18510         decl_attributes.
18511         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
18512         lists that are passed to push_parm_decl.
18513         * c-tree.h (start_function, start_decl): Update prototypes.
18514         * config/sh/sh-protos.h, config/sh/sh.c
18515         (sh_pragma_insert_attributes): Only take a single attributes
18516         parameter.
18517         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
18518         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
18519         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
18520         build_module_descriptor, generate_static_references,
18521         generate_strings, build_selector_translation_table,
18522         generate_descriptor_table, generate_protocols,
18523         generate_ivars_list, generate_dispatch_table,
18524         generate_protocol_list, generate_category,
18525         generate_shared_structures, really_start_method, add_objc_decls,
18526         generate_classref_translation_entry): Update calls to start_decl
18527         and start_function.
18528         (build_tmp_function_decl, start_method_def): Unify attribute lists
18529         that are passed to push_parm_decl.
18530
18531 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
18532
18533         * final.c (no_asm_to_stream): New.
18534         (final_scan_insn): Use target structures for prologue ends
18535         and epilogue starts.
18536         * output.h (no_asm_to_stream): New.
18537         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
18538         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
18539         (TARGET_ASM_OUT): Update.
18540         * target.h (struct gcc_target): New members function_end_prologue
18541         and function_begin_epilogue.
18542         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
18543         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
18544         * config/alpha/alpha.c (output_end_prologue): Rename to
18545         alpha_output_function_end_prologue.  Use in target struct
18546         and make static.
18547         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
18548         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
18549         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
18550         ia64_output_function_end_prologue.  Use in target struct
18551         and make static.
18552         (ia64_function_prologue, ia64_funciton_epilogue): Rename
18553         mistyped prototypes.
18554         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
18555         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
18556         Delete.
18557         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
18558         an use in target struct, make static.
18559         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
18560         Delete.
18561
18562 2001-07-08  Richard Henderson  <rth@redhat.com>
18563
18564         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
18565
18566 2001-07-08  Richard Henderson  <rth@redhat.com>
18567
18568         * config/i386/i386.md: Remove constraints strings from define_split
18569         and define_peephole2 patterns.
18570         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
18571         (eh_return): Use them.
18572
18573 2001-07-08  Richard Henderson  <rth@redhat.com>
18574
18575         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
18576         Document MD_FALLBACK_FRAME_STATE_FOR.
18577
18578 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18579
18580         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
18581         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
18582         elimination.
18583         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
18584
18585 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
18586
18587         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
18588         of the label inside NAME as opposed to just the end of NAME.
18589
18590 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
18591
18592         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
18593         * config/alpha/alpha.c (alpha_init_machine_status,
18594         alpha_mark_machine_status, alpha_free_machine_status): Delete.
18595         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
18596         (vms_valid_decl_attribute_p): Make static, conditionally compile.
18597         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
18598
18599 2001-07-06  Stan Shebs  <shebs@apple.com>
18600
18601         * target.h (targetm): Rename global from "target", so as not to
18602         conflict with local variables.
18603         * c-decl.c: Ditto.
18604         * c-typeck.c: Ditto.
18605         * final.c: Ditto.
18606         * tree.c: Ditto.
18607         * cp/decl.c: Ditto.
18608         * cp/decl2.c: Ditto.
18609         * cp/typeck.c: Ditto.
18610         * 1750a/1750a.c: Ditto.
18611         * a29k/a29k.c: Ditto.
18612         * arc/arc.c: Ditto.
18613         * arm/arm.c: Ditto.
18614         * avr/avr.c: Ditto.
18615         * clipper/clipper.c: Ditto.
18616         * convex/convex.c: Ditto.
18617         * d30v/d30v.c: Ditto.
18618         * dsp16xx/dsp16xx.c: Ditto.
18619         * elxsi/elxsi.c: Ditto.
18620         * fr30/fr30.c: Ditto.
18621         * h8300/h8300.c: Ditto.
18622         * i370/i370.c: Ditto.
18623         * i386/i386.c: Ditto.
18624         * i860/i860.c: Ditto.
18625         * i960/i960.c: Ditto.
18626         * ia64/ia64.c: Ditto.
18627         * m32r/m32r.c: Ditto.
18628         * m68hc11/m68hc11.c: Ditto.
18629         * m68k/m68k.c: Ditto.
18630         * m88k/m88k.c: Ditto.
18631         * mips/mips.c: Ditto.
18632         * ns32k/ns32k.c: Ditto.
18633         * pa/pa.c: Ditto.
18634         * pdp11/pdp11.c: Ditto.
18635         * romp/romp.c: Ditto.
18636         * rs6000/rs6000.c: Ditto.
18637         * sh/sh.c: Ditto.
18638         * sparc/sparc.c: Ditto.
18639         * vax/vax.c: Ditto.
18640         * we32k/we32k.c: Ditto.
18641         * doc/tm.texi: Update the manual to match.
18642
18643 2001-07-06  Richard Henderson  <rth@redhat.com>
18644
18645         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
18646         DWARF2_UNWIND_INFO not just whether it is defined.
18647
18648 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
18649
18650         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
18651         call to simplify_binary_operation returns a new pattern.
18652
18653 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18654
18655         * glimits.h (__SHRT_MAX__): New.
18656         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
18657         (SHRT_MAX): Define in terms of __SHRT_MAX__.
18658
18659 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
18660
18661         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
18662         avoid warnings.
18663
18664 2001-07-06  Richard Henderson  <rth@redhat.com>
18665
18666         * bitmap.c (bitmap_release_memory): Move adjacent to the
18667         allocation functions.
18668         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
18669         the implementation.  Binary search for the set bit.
18670         (bitmap_union_of_diff): Allocate the temporary on the stack
18671         instead of using xmalloc.
18672
18673 2001-07-06  Richard Henderson  <rth@redhat.com>
18674
18675         * genrecog.c (validate_pattern): Warn for constraints in
18676         define_{expand,split,peephole2}.  Remove strict_low_part
18677         before looking up match_dup.
18678
18679 2001-07-06  DJ Delorie  <dj@redhat.com>
18680
18681         * doc/gcc.texi (Makefile): Rename to be a more general purpose
18682         chapter about various build hints and history.  Add section
18683         talking about the various types of native and cross builds.
18684
18685 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
18686
18687         * Makefile.in (final.o): Depend on target.h.
18688         * final.c: Include target.h.
18689         (default_function_pro_epilogue): New.
18690         (final_start_function): Use target structure for function prologues.
18691         (final_end_function): Use target structure for function epilogues.
18692         * fold-const.c (real_hex_to_f): Constify s and p.
18693         * output.h (default_function_pro_epilogue): New.
18694         * real.h (real_hex_to_f): Update prototype.
18695         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
18696         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
18697         (TARGET_INITIALIZER): Update.
18698         * target.h (gcc_target): Add struct asm_out.
18699         * doc/tm.texi: Update.
18700
18701 config:
18702         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
18703         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
18704         in cpu/cpu.c, or rename old functions consistently.  Take
18705         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
18706         redundant macros and prototypes.  Make new functions static.
18707
18708         * 1750a/1750a.c: Similarly.
18709         * 1750a/1750a.h: Similarly.
18710         * a29k/a29k-protos.h: Similarly.
18711         * a29k/a29k.c: Similarly.
18712         * a29k/a29k.h: Similarly.
18713         * arc/arc-protos.h: Similarly.
18714         * arc/arc.c: Similarly.
18715         * arc/arc.h: Similarly.
18716         * arm/arm-protos.h: Similarly.
18717         * arm/arm.c: Similarly.
18718         * arm/arm.h: Similarly.
18719         * avr/avr-protos.h: Similarly.
18720         * avr/avr.c: Similarly.
18721         * avr/avr.h: Similarly.
18722         * clipper/clipper-protos.h: Similarly.
18723         * clipper/clipper.c: Similarly.
18724         * clipper/clipper.h: Similarly.
18725         * convex/convex.c: Similarly.
18726         * convex/convex.h: Similarly.
18727         * d30v/d30v-protos.h: Similarly.
18728         * d30v/d30v.c: Similarly.
18729         * d30v/d30v.h: Similarly.
18730         * d30v/d30v.md: Similarly.
18731         * dsp16xx/dsp16xx-protos.h: Similarly.
18732         * dsp16xx/dsp16xx.c: Similarly.
18733         * dsp16xx/dsp16xx.h: Similarly.
18734         * elxsi/elxsi.c: Similarly.
18735         * elxsi/elxsi.h: Similarly.
18736         * fr30/fr30.c: Similarly.
18737         * fr30/fr30.md: Similarly.
18738         * h8300/h8300-protos.h: Similarly.
18739         * h8300/h8300.c: Similarly.
18740         * h8300/h8300.h: Similarly.
18741         * i370/i370-protos.h: Similarly.
18742         * i370/i370.c: Similarly.
18743         * i370/i370.h: Similarly.
18744         * i386/i386.c: Similarly.
18745         * i386/osf1elf.h: Similarly.
18746         * i386/osfrose.h: Similarly.
18747         * i860/i860-protos.h: Similarly.
18748         * i860/i860.c: Similarly.
18749         * i860/i860.h: Similarly.
18750         * i960/i960-protos.h: Similarly.
18751         * i960/i960.c: Similarly.
18752         * i960/i960.h: Similarly.
18753         * ia64/ia64-protos.h: Similarly.
18754         * ia64/ia64.c: Similarly.
18755         * ia64/ia64.h: Similarly.
18756         * m32r/m32r-protos.h: Similarly.
18757         * m32r/m32r.c: Similarly.
18758         * m32r/m32r.h: Similarly.
18759         * m68hc11/m68hc11-protos.h: Similarly.
18760         * m68hc11/m68hc11.c: Similarly.
18761         * m68hc11/m68hc11.h: Similarly.
18762         * m68k/crds.h: Similarly.
18763         * m68k/dpx2.h: Similarly.
18764         * m68k/m68k-protos.h: Similarly.
18765         * m68k/m68k.c: Similarly.
18766         * m68k/m68k.h: Similarly.
18767         * m68k/news.h: Similarly.
18768         * m88k/m88k-protos.h: Similarly.
18769         * m88k/m88k.c: Similarly.
18770         * m88k/m88k.h: Similarly.
18771         * mips/mips-protos.h: Similarly.
18772         * mips/mips.c: Similarly.
18773         * mips/mips.h: Similarly.
18774         * ns32k/merlin.h: Similarly.
18775         * ns32k/ns32k.c: Similarly.
18776         * ns32k/ns32k.h: Similarly.
18777         * ns32k/tek6000.h: Similarly.
18778         * pa/pa-protos.h: Similarly.
18779         * pa/pa.c: Similarly.
18780         * pa/pa.h: Similarly.
18781         * pdp11/2bsd.h: Similarly.
18782         * pdp11/pdp11-protos.h: Similarly.
18783         * pdp11/pdp11.c: Similarly.
18784         * pdp11/pdp11.h: Similarly.
18785         * romp/romp-protos.h: Similarly.
18786         * romp/romp.c: Similarly.
18787         * romp/romp.h: Similarly.
18788         * rs6000/rs6000-protos.h: Similarly.
18789         * rs6000/rs6000.c: Similarly.
18790         * rs6000/rs6000.h: Similarly.
18791         * rs6000/sysv4.h: Similarly.
18792         * sh/sh-protos.h: Similarly.
18793         * sh/sh.c: Similarly.
18794         * sh/sh.h: Similarly.
18795         * sparc/sparc-protos.h: Similarly.
18796         * sparc/sparc.c: Similarly.
18797         * sparc/sparc.h: Similarly.
18798         * vax/vax.c: Similarly.
18799         * vax/vax.h: Similarly.
18800         * vax/vms.h: Similarly.
18801         * we32k/we32k.c: Similarly.
18802         * we32k/we32k.h: Similarly.
18803
18804 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
18805
18806         * basic-block.h (first_insn_after_basic_block_note): Declare.
18807         * flow.c (first_insn_after_basic_block_note): Define.  Moved
18808         from...
18809         * ssa.c (first_insn_after_basic_block_note): Remove.
18810         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
18811         necessary.
18812         (ssa_eliminate_dead_code): Properly update the CFG and PHI
18813         nodes when we find a dead conditional branch.  Insert BARRIERs
18814         after any blocks with no successors, but which do not have
18815         any BARRIERs.
18816
18817 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
18818
18819         * varray.c (varray_check_failed): Use internal_error.
18820
18821 2001-07-05  Andrew Haley  <aph@redhat.com>
18822
18823         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
18824         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
18825         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
18826
18827 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
18828
18829         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
18830         reference if the target constant is also a SYMBOL_REF.
18831
18832 2001-07-05  Eric Christopher  <echristo@redhat.com>
18833
18834         * config/mips/mips.h (MASK_MIPS3900): Remove.
18835         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
18836         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
18837         (TARGET_MIPS3900): Change to use mips_arch.
18838         (TARGET_MIPS4000): New.
18839         (TARGET_MIPS4100): New.
18840         (TARGET_MIPS4300): New.
18841         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
18842         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
18843         for -mipsX.
18844         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
18845         (ISA_HAS_BRANCHLIKELY): To here.
18846         (CC1_CPU_SPEC):  New.
18847         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
18848         (mips_arch_string): Declare.
18849         (mips_arch): Declare.
18850         (TARGET_OPTIONS): Add -march and -mtune.
18851
18852         * config/mips/mips.c (mips_arch_string): New.
18853         (mips_arch): New.
18854         (override_options): Handle -march for codegen and -mtune
18855         for scheduling. Use mips_arch. Move tx39 target default here.
18856         (mips_parse_cpu): Move error message to override_options.
18857
18858         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
18859
18860         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
18861
18862         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
18863         (MIPS Options): Ditto.  Change mcpu entry to historical text.
18864
18865 2001-07-05  H.J. Lu  (hjl@gnu.org)
18866
18867         * config/mips/mips.c (mips_parse_cpu): New function to parse
18868         -march=*/-mcpu=*.
18869
18870 2001-07-05  Jim Wilson  <wilson@redhat.com>
18871
18872         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
18873         * config/ia64/t-ia64: Likewise.
18874         (LIB1ASMFUNCS): Update comment.
18875
18876 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
18877
18878         * doc/install.texi (Install GCC: Binaries): Fix typo.
18879
18880 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18881
18882         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
18883         reference using the stack pointer, adjust it since we push Y
18884         temporarily.
18885         ("*ashrsi3"): Likewise.
18886         ("*lshrsi3"): Likewise.
18887
18888 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18889
18890         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
18891         when -fomit-frame-pointer is used.
18892
18893 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
18894
18895         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
18896         (try_redirect_by_replacing_jump): Reverse updating properly the
18897         count and frequency information.  Reverse removing cc0 setter.
18898         (forwarder_block_p): Reverse fixing for fallthru blocks.
18899
18900 2001-07-05  DJ Delorie  <dj@redhat.com>
18901
18902         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
18903         (translate_options): If the above is defined, use it to map
18904         given options to new options.
18905         * doc/tm.texi: Document it.
18906
18907 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
18908             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18909
18910         * doc/invoke.texi (Optimize Options): Document that -fgcse may
18911         cause programs using computed gotos to run more slowly.
18912
18913 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18914
18915         * doc/install.texi (Specific): Markup, spelling and typo fixes.
18916         Fixed sorting.
18917         Consistently require binutils 2.11.2, not prereleases.
18918         (Specific, decstation-*): Canonicalize as mips-dec-*.
18919         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
18920         always necessary.
18921         (Specific, m68k-altos): Removed reference to README.altos, deleted.
18922         (Specific, mips-*): Reword MIPS C compiler requirements.
18923         (Specific, powerpc*-*-*): New, mention --with-cpu once.
18924         (Specific, sunv5): Removed, obsolete.
18925
18926 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
18927
18928         * dwarf2out.c (output_loc_list): Use an all ones mask for
18929         .text asm output and don't rely on long long
18930         literals. Reformat some long lines.
18931
18932 2001-07-05  Andreas Jaeger  <aj@suse.de>
18933
18934         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
18935         section.
18936
18937 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18938
18939         * dwarf2out.c (dwarf2out_define): Update comment.
18940         (dwarf2out_undef): Ditto.
18941         (dwarf2out_start_source_file): Ditto.
18942         (dwarf2out_end_source_file): Ditto.
18943         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
18944         since we never call the start/end debug hook for the primary file.
18945
18946 2001-07-04  Kazu Hirata  <kazu@hxi.com>
18947
18948         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
18949         from shll.
18950
18951 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18952
18953         * cppinit.c (remove_dup_dirs): Inform if a system include
18954         directory is being reordered.
18955         * doc/invoke.texi (Directory Options): GCC warns if you hide a
18956         system include.
18957         * doc/cpp.texi (Search Paths): Likewise.
18958         * doc/gcc.texi (Interoperation): Remove information about
18959         -I/usr/include.
18960
18961 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18962
18963         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
18964         (VARRAY_TOP_CHAR_PTR): Likewise.
18965
18966 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18967
18968         * gcc.c (process_command): Don't assign elements of a const char*.
18969
18970 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18971
18972         * emit-rtl.c (change_address): Don't abort if invalid address while
18973         reload is in progress.
18974
18975 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18976
18977         * c-lex.c (cb_file_change): Pass line number to
18978         debug_start_source_file.
18979         (cb_undefine): Pass correct line number to debug_undef.
18980
18981         * toplev.c (debug_start_source_file): Add line number to
18982         parameters. Pass it along to dwarf2out_start_source_file.
18983         (decode_g_option): Stop resetting debug level back to normal when
18984         we change debug formats, unless the current level is
18985         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
18986         3).
18987
18988         * toplev.h (debug_start_source_file): Add line number to
18989         parameters.
18990
18991         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
18992         parameters.
18993
18994         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
18995         parameters.
18996         Output debug_macinfo data for starting file if requested.
18997         (dwarf2out_end_source_file): Output debug_macinfo data for ending
18998         file if requested.
18999         (dwarf2out_define): Output debug_macinfo data for defining a macro
19000         if requested.
19001         (dwarf2out_undef): Output debug_macinfo data for undefining a
19002         macro if requested.
19003         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
19004         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
19005         (macinfo_section_label): New. DWARF2 macro info section label.
19006         (dwarf2out_init): If we want macro info, output the start label
19007         for the section.
19008         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
19009         attribute to the compilation unit die pointing to the macro info.
19010
19011 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
19012
19013         * dwarf2out.c (new_loc_list): Move to inside #ifdef
19014         DWARF2_DEBUGGING_INFO.
19015         (add_loc_descr_to_loc_list): Ditto.
19016         (output_loc_list): Ditto.
19017         Also, fix thinko in curr not being initialized.
19018         (gen_internal_sym): Ditto.
19019
19020 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19021
19022         * emit-rtl.c (replace_equiv_address): New function.
19023         * expr.h (replace_equiv_address): New declaration.
19024         * explow.c (validize_mem): Call it instead of change_address and
19025         also call if -fforce-addr and address is constant.
19026         * expr.c: Replace more calls to change_address with adjust_address
19027         and/or replace_equiv_address or to validize_mem.
19028         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
19029         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
19030         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
19031         * config/i370/i370.md, config/i860/i860.md: Likewise.
19032         * config/i960/i960.md, config/mips/mips.c: Likewise.
19033         * config/mips/mips.md, config/pa/pa.md: Likewise.
19034         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
19035         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
19036
19037 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19038
19039         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
19040
19041         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
19042         function.
19043
19044 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
19045
19046         * doc/include: New directory.
19047         * doc/fdl.texi: Move to doc/include/fdl.texi.
19048         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
19049         * doc/include/funding.texi, doc/include/gpl.texi: New files.
19050         * doc/gcc.texi: Use funding.texi and gpl.texi.
19051         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
19052         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
19053         Update dependencies and use -I $(docdir)/include.
19054
19055 2001-07-04  Anthony Green  <green@redhat.com>
19056
19057         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
19058
19059 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19060
19061         * doc/install.texi (sparc64-*-*): Remove garbage.
19062
19063 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
19064
19065         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
19066         Fix typo in last change to use adjust_address.
19067
19068 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19069
19070         * doc/install.texi (Specific): Update information for *-*-solaris*.
19071
19072 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19073
19074         * explow.c (plus_constant_wide): Reinitialize Y for restart.
19075
19076 2001-07-03  Stan Shebs  <shebs@apple.com>
19077
19078         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
19079         case for flag_no_mach_text_sections.
19080         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
19081         * config/darwin.c (flag_no_mach_text_sections): Remove.
19082         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
19083
19084 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19085
19086         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
19087         and avoid checking for constant as first operand.
19088         * recog.c (find_constant_term_loc): No longer static.
19089         (adj_offettable_operand): Delete.
19090         * rtl.h (adj_offsettable_operand): Delete declaration.
19091         (find_constant_term): Add declaration.
19092         * caller-save.c: Replace calls to adj_offsettable_operand with calls
19093         to adjust_address.
19094         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
19095         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
19096         * config/i386/i386.c, config/i386/i386.md: Likewise.
19097         * config/i860/i860.c, config/i960/i960.c: Likewise.
19098         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
19099         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
19100         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
19101         * config/mips/mips.c, config/mips/mips.md: Likewise.
19102         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
19103         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
19104         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
19105         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
19106         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
19107         * config/ns32k/ns32k.md: Likewise.
19108
19109 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
19110
19111         * rtl.c (copy_rtx): Handle 'T' format letter.
19112         * gensupport.c (collect_insn_data): Likewise.
19113         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
19114
19115 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
19116
19117         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
19118         -B option.  Use 'dir' not 'foo' as example directory name.
19119
19120 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19121
19122         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
19123         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
19124
19125 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
19126
19127         * doc/cppinternals.texi: Improve formatting and logical markup.
19128
19129 2001-07-03  Andreas Jaeger  <aj@suse.de>
19130
19131         * Makefile.in (insn-recog.o): Add dependency on reload.h.
19132
19133         * genrecog.c (write_header): Include reload.h for prototypes in
19134         insn-recog.c.
19135
19136 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
19137
19138 config:
19139         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
19140         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
19141         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
19142         i386_pe_valid_type_attribute_p): Add.
19143         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
19144         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
19145
19146 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19147
19148         * explow.c (plus_constant_wide, case LO_SUM): New case.
19149         (plus_constant_for_output_wide): Delete.
19150         * rtl.h (plus_constant_for_output): Delete.
19151         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
19152         instead of plus_constant_for_output.
19153         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
19154         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
19155         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
19156         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
19157         * config/sparc/sparc.md: Likewise.
19158         Convert some change_address calls to adjust_address.
19159
19160 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
19161
19162         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
19163         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
19164         documentation of -std and -Wwrite-strings.
19165
19166 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
19167
19168         * cse.c (canon_hash): Don't register registers in very small
19169         register classes, as extending their lifetime might cause
19170         reload to fail.
19171
19172 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
19173
19174         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
19175
19176         * flow.c (forwarder_block_p): Fix for fallthru blocks.
19177         (try_redirect_by_replacing_jump): Update properly the count
19178         and frequency information.
19179
19180 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
19181
19182         * toplev.c (dump_file_index): Move SSA dumps just after first
19183         jump dump.
19184         (dump_file): Corresponding changes.
19185         (rest_of_compilation): Move SSA path to just after the first
19186         jump pass.
19187         * doc/gcc.texi (Passes): Update due to movement of SSA path.
19188         * doc/invoke.texi: Update dump file #s as they were completely
19189         out of date with reality.
19190
19191 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
19192
19193         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
19194
19195         * expr.c (emit_move_insn_1): Deal with non-default
19196         STACK_PUSH_CODE.
19197
19198         * expr.c (emit_single_push_insn): Fix warning.
19199
19200 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
19201
19202         * expr.c (emit_move_insn_1): Avoid modifying
19203         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
19204
19205 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19206
19207         * emit-rtl.c (adjust_address): New function.
19208         * expr.h (adjust_address): Add declaration.
19209         * builtins.c: Replace some calls to change_address with calls to it
19210         or to validize_mem.
19211         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
19212         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
19213         * config/arm/arm.c, config/convex/convex.c: Likewise.
19214         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
19215         * config/i386/i386.c, config/i386/i386.md: Likewise.
19216         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
19217         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
19218         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
19219         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
19220         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
19221
19222 2001-07-02  Jim Wilson  <wilson@redhat.com>
19223
19224         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
19225
19226 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
19227
19228         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
19229         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
19230
19231 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
19232
19233         * cppinit.c (lang_defaults): New table.
19234         (set_lang): Just read from lang_defaults into the live options
19235         structure.
19236
19237 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
19238
19239         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
19240         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
19241         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
19242
19243 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19244
19245         * doc/install.texi: Various spelling and markup fixes.
19246         (Installing GCC): Component specific installation instructions are
19247         gone.
19248         Fix reference.
19249         Warn about removing old install dir in the presence of shared libs.
19250         (Configuration): Invoke with options target to match configure
19251         --help.
19252         Consistently refer to gas, gld pathnames.
19253         Invert --enable-multilib documentation.
19254         Remove references to old compiler versions.
19255
19256 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19257
19258         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
19259
19260 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19261
19262         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
19263         section.
19264         (Specific, mips*-sgi-irix5): Note IDO download.
19265         Reworded MIPS C hints.
19266         Use GNU as instead of GAS.
19267         Markup fixes.
19268         Removed SGI Freeware reference, IRIX 6 only.
19269         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
19270         Note N64 library requirement/workaround.
19271         Update O32 hints.
19272         Complete list of structure passing bug victims.
19273
19274 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19275
19276         * doc/install.texi: Remove CVS Id.
19277
19278 2001-07-02  Andreas Jaeger  <aj@suse.de>
19279
19280         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
19281         (find_inherently_necessary): Remove unused variable.
19282
19283 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
19284
19285         * c-common.h (TDI_inlined): New ast dump phase.
19286         (dump_flag_name): New function.
19287         * c-dump.c (dump_files): Add inlined phase.
19288         (dump_flag_name): Define.
19289         * doc/invoke.texi (-fdump-ast-inlined): Document.
19290
19291 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19292
19293         * stor-layout.c (layout_decl): Revert change to handling of alignment
19294         in packed types.
19295
19296 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19297
19298         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
19299         for FIELD_DECL.
19300
19301 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
19302
19303         * doc/tm.texi (FUNCTION_ARG): Document that the last call
19304         is special.
19305
19306 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
19307
19308         * tlink.c (recompile_files): Remove COMPILER_PATH and
19309         LIBRARY_PATH from the environment.
19310
19311 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
19312
19313         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
19314         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
19315         enumerators.
19316         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
19317
19318         * c-parse.in (OBJC_STRING): Kill.
19319         (objc_string): Decompose to [objc_string] '@' STRING.
19320         (reswords): Take the leading '@' off all the Objective C keywords.
19321         (objc_rid_sans_at): Kill.
19322         (init_reswords): Don't initialize it.
19323         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
19324         (_yylex): Kill reconsider label.  Look ahead one token after
19325         an '@'; if we get an identifier, check whether it's an
19326         Objective C @-keyword.  If so, return the keyword.  Otherwise,
19327         put back the token and return the '@' as a terminal.
19328
19329         * cpplib.c (lex_macro_node): Remove unnecessary check for
19330         leading '@' on identifier.  Clarify control flow and commentary.
19331
19332 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19333
19334         * cse.c (new_label_ref): Variable deleted.
19335         (insert): Remove set of new_label_ref.
19336         (check_for_label_ref): New function.
19337         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
19338
19339 See ChangeLog.5 for earlier changes.