OSDN Git Service

* tree.h: Update copyright date.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2000-01-03  Graham Stott  <grahams@redhat.com>
2
3         * tree.h: Update copyright date.
4         (IS_EXPR_CODE_CLASS): Add parenthesis.
5         (TREE_SET_CODE): Add whitespace.
6         (TREE_CHECK): Add parenthesis.
7         (TREE_CLASS_CODE): Add parenthesis and wrap long line.
8         (CST_OR_CONSTRUCTOR_CHECK):
9         (EXPR_CHECK): Add parenthis, whitespace and wrap line.
10         (TREE_SYMBOL_REFERENCED): Whitespace.
11         (INT_CST_LT): Likewise.
12         (INT_CST_LT_UNSIGNED): Likewise.
13         (tree_real_cst): Unwrap comment.
14         (tree_string): Likewise.
15         (tree_complex): Likewise.
16         (IDENTIFIER_POINTER): correct cast.
17         (SAVE_EXPR_CONTEXT): Whitespace.
18         (EXPR_WFL_FILENAME_NODE): Likewise.
19         (EXPR_WFL_FILENAME): Remove parenthesis.
20         (DECL_ORIGIN): Add parenthesis.
21         (DECL_FROM_INLINE): Use NULL_TREE.
22         (build_int_2): Whitespace.
23         (build_type_variant): Add parenthesis.
24
25         * gcc/jcf-parse.c: Update copyright date.
26         (yyparse): Constify resource_filename.
27
28 2002-01-03  Graham Stott  <grahams@redhat.com>
29
30         * rtl.h: Update copyright date.
31         (RTL_CHECK1): Wrap long line.
32         (RTL_CHECK2): Likewise.
33         (RTL_CHECKC1): Wrap long line and whitespace.
34         (RTL_CHECKC2): Likewise.
35         (XWINT): Whitespace.
36         (XINT): Likewise.
37         (XSTR): Likewise.
38         (XEXP): Likewise.
39         (XVEC): Likewise.
40         (XMODE): Likewise.
41         (XBITMAP): Likewise.
42         (XTREE): Likewise.
43         (XBBDEF): Likewise.
44         (XTMPL): Likewise.
45         (X0WINT): Likewise.
46         (X0INT):Likewise.
47         (X0UINT): Likewise.
48         (X0STR): Likewise.
49         (X0EXP): Likewise.
50         (X0VEC): Likewise.
51         (X0MODE): Likewise.
52         (X0BITMAP): Likewise.
53         (X0TREE): Likewise.
54         (X0BBDEF): Likewise.
55         (X0ADVFLAGS): Likewise.
56         (X0CSELIB): Likewise.
57         (X0MEMATTR): Likewise.
58         (XCWINT): Likewise.
59         (XCINT): Likewise.
60         (XCUINT): Likewise.
61         (XCSTR): Likewise.
62         (XCEXP): Likewise.
63         (XCVEC): Likewise.
64         (XCMODE): Likewise.
65         (XCBITMAP): Likewise.
66         (XCTREE): Likewise.
67         (XCBBDEF): Likewise.
68         (XCADVFLAGS): Likewise.
69         (XCCSELIB): Likewise.
70         (XC2EXP): Likewise.
71         (INSN_UID): Likewise.
72         (PREV_INSN): Likewise.
73         (PATTERN): Likewise.
74         (INSN_CODE): Likewise.
75         (PUT_REG_NOTE_KIND): Likewise.
76         (CODE_LABEL_NUMBER): Likewise.
77         (NOTE_SOURCE_FILE): Likewise.
78         (NOTE_BLOCK): Likewise.
79         (NOTE_EH_HANDLER): Likewise.
80         (NOTE_RANGE_INFO): Likewise.
81         (NOTE_LIVE_INFO): Likewise.
82         (NOTE_BASIC_BLOCK): Likewise.
83         (NOTE_EXPECTED_VALUE): Likewise.
84         (NOTE_LINE_NUMBER): Likewise.
85         (LABEL_NAME): Likewise.
86         (LABEL_NUSES): Likewise.
87         (LABEL_ALTERNATE_NAME): Likewise.
88         (ADDRESSOF_DECL): Likewise.
89         (JUMP_LABEL): Likewise.
90         (LABEL_NEXTREF): Likewise.
91         (REGNO): Likewise.
92         (ORIGINAL_REGNO: Likewise.
93         (HARD_REGISTER_NUM_P): Add parenthesis.
94         (SUBREG_REG): Whitespace.
95         (SUBREG_BYTE): Likewise.
96         (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
97         (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
98         (ASM_OPERANDS_OUTPUT_IDX): Likewise.
99         (ASM_OPERANDS_INPUT_VEC): Likewise.
100         (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
101         (ASM_OPERANDS_INPUT): Likewise.
102         (ASM_OPERANDS_INPUT_LENGTH): Likewise.
103         (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
104         (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
105         (ASM_OPERANDS_INPUT_MODE): Likewise.
106         (ASM_OPERANDS_SOURCE_FILE): Likewise.
107         (ASM_OPERANDS_SOURCE_LINE): Likewise.
108         (MEM_SET_IN_STRUCT_P): Minor reformat.
109         (TRAP_CONDITION): Whitespace.
110         (TRAP_CODE): Likewise.
111         (COND_EXEC_TEST): Likewise.
112         (COND_EXEC_CODE): Likewise.
113         (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
114         (PHI_NODE_P): Add parenthesis.
115         (plus_constant): Whitespace and add parenthesis.
116
117 2002-01-03  Kazu Hirata  <kazu@hxi.com>
118
119         * config/avr/avr.c: Fix comment typos.
120         * config/c4x/c4x.md: Likewise.
121         * config/dsp16xx/dsp16xx.h: Likewise.
122         * config/dsp16xx/dsp16xx.md: Likewise.
123         * config/i386/i386.md: Likewise.
124         * config/ia64/ia64.c: Likewise.
125         * config/m32r/m32r.h: Likewise.
126         * config/m68hc11/m68hc11.md: Likewise.
127         * config/mmix/mmix.c: Likewise.
128         * config/mn10200/mn10200.c: Likewise.
129         * config/romp/romp.c: Likewise.
130         * config/sh/sh.c: Likewise.
131         * config/stormy16/stormy16.c: Likewise.
132         * config/stormy16/stormy16.h: Likewise.
133         * config/stormy16/stormy16.md: Likewise.
134
135 2002-01-03  Graham Stott  <grahams@redhat.com>
136
137         * loop.h: Update copyright date.
138         (LOOP_MOVABLES): Fix typo.
139         (LOOP_REGS): Likewise.
140         (LOOP_IVS): Likewise.
141         
142 2002-01-03  Graham Stott  <grahams@redhat.com>
143
144         * cppinit.c: Update copyright date.
145         Don't include output.h
146         * Makefile.in: Update copyright date.
147         Update dependency.
148
149 2002-01-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
150
151         PR c/5226
152         * invoke.texi (-mthreads): Remove from documented RS/6000 options.
153         (-pthread) Add to RS/6000 options.
154
155 2002-01-02  Kazu Hirata  <kazu@hxi.com>
156
157         * except.c: Fix comment typos.
158         * loop.c: Likewise.
159         * varasm.c: Likewise.
160         * doc/tm.texi: Fix a typo.
161
162 2002-01-02  Jakub Jelinek  <jakub@redhat.com>
163
164         * c-typeck.c (output_init_element): Allow initializing static storage
165         duration objects with compound literals.
166
167 2002-01-02  Richard Henderson  <rth@redhat.com>
168
169         * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
170         after abusing it.
171
172 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
173
174         * gcc.c (default_compilers): Const-ify.
175         * mips-tdump.c (stab_names): Likewise.
176         * mips-tfile.c (map_coff_types, map_coff_storage,
177         map_coff_sym_type, map_coff_derived_type, stabs_symbol,
178         pseudo_ops_t, pseudo_ops): Likewise.
179         * protoize.c (default_include): Likewise
180
181         * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
182         (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
183         Add array size in declaration.
184         (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
185         emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
186         esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
187         etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
188         eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
189         efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
190         c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
191         emtens, make_nan): Const-ify.
192         (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
193         DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
194
195 2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>
196
197         * config.gcc (ia64-*-*): Set extra_headers.
198         (alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
199         * config/alpha/t-osf: Remove.
200         * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
201
202 2002-01-02  David Edelsohn  <edelsohn@gnu.org>
203
204         * config/rs6000/t-aix43: Revert previous change.
205
206 2002-01-02  Jason Merrill  <jason@redhat.com>
207
208         * c-decl.c (c_expand_body): Call outlining_inline_function when
209         emitting an inline function out of line.
210
211 2002-01-02  Richard Henderson  <rth@redhat.com>
212
213         * dwarf2out.c (limbo_die_node): Add created_for member.
214         (new_die): New argument created_for.  Update all callers.
215         (mark_limbo_die_list): New.
216         (dwarf2out_init): Register limbo_die_list as a root.
217         (dwarf2out_finish): Force insert limbo dies into their function
218         context.
219
220 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
221
222         PR c++/5089
223         * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
224
225 2002-01-02  Kazu Hirata  <kazu@hxi.com>
226
227         * config/h8300/fixunssfsi.c: Update copyright.
228         Fix comment typos.
229         Fix formatting.
230         * config/h8300/h8300.c: Update copyright.
231         Eliminate warnings.
232
233 2002-01-02  Kazu Hirata  <kazu@hxi.com>
234
235         * config/romp/romp.c: Fix comment formatting.
236         * config/romp/romp.h: Likewise.
237         * config/romp/romp.md: Likewise.
238         * config/s390/s390.c: Likewise.
239         * config/stormy16/stormy16.c: Likewise.
240         * config/stormy16/stormy16.h: Likewise.
241
242 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
243
244         * c-common.h (genrtl_expr_stmt_value): Declare.
245         * c-semantics.c (genrtl_goto_stmt): Redirect to...
246         (genrtl_goto_stmt_value): ... this new function.  Pass new
247         argument down to expand_expr_stmt_value, taking
248         TREE_ADDRESSABLE into account.
249         * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
250         STMT_EXPR as addressable, i.e., one whose result we want.
251         * expr.c (expand_expr): Don't save expression statement value
252         of labeled_blocks or loop_exprs.
253         * stmt.c (expand_expr_stmt): Redirect to...
254         (expand_expr_stmt_value): ... this new function.  Use new
255         argument to tell whether to save expression value.
256         (expand_end_stmt_expr): Reset last_expr_type and
257         last_expr_value if we don't have either.
258         * tree-inline.c (declare_return_variable): Mark its use
259         statement as addressable.
260         * tree.h: Document new use of TREE_ADDRESSABLE.
261         (expand_expr_stmt_value): Declare.
262
263 2002-01-01  Tom Rix  <trix@redhat.com>
264
265         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
266         rs6000_emit_allocate_stack.
267
268 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
269
270         * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
271         ${srcdir}/ginclude/ to every entry in extra_headers.
272         * configure: Regenerate.
273         * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
274         * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
275         * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
276         * ginclude/proto.h: Rename to config/convex/proto.h.
277
278 Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
279
280         * attribs.c (handle_vector_size_attribute): Use host_integerp
281         and tree_int_cst; remove warnings.
282         * caller-save.c (insert_restore): Add cast to get rid of warning.
283         (insert_save): Likewise.
284         * emit-rtl.c (adjust_address_1, offset_address): Likewise.
285         * regmove.c (find_matches): Add temporary var to kill a warning.
286
287 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
288
289         * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
290         LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
291         * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
292         (vms-dwarf2eh.o): Add Makefile rule.
293         * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
294         * config/alpha/vms-dwarf2eh.asm: New file.
295
296         * gcc.c (delete_if_ordinary): Delete all versions.
297
298 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
299
300         * config/mmix/mmix.md: Update FIXME to not mention
301         define_constants.
302         (MMIX_rJ_REGNUM): New define_constants constant.
303         ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
304         "*movdicc_real"): Adjust contraints formatting.
305         ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
306         for branch prediction.
307         ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
308         output template.
309         ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
310         "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
311         number.  Delete related FIXMEs.
312         * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
313         from number to MMIX_rJ_REGNUM.
314         (TARGET_MASK_BRANCH_PREDICT): New.
315         (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
316         (TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
317         value.  Add -mbranch-predict and -mno-branch-predict.
318         (TARGET_VERSION): Drop date.
319         (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
320         * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
321         for finding out global symbols.
322         (mmix_asm_output_labelref): Revert condition for global symbol.
323         (mmix_print_operand): <case '+'>: Emit P for a likely branch.
324         (mmix_print_operand_punct_valid_p): A '+' is valid.
325
326 2001-12-31  Richard Henderson  <rth@redhat.com>
327
328         * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS.
329
330 2001-12-31  Richard Henderson  <rth@redhat.com>
331
332         * regrename.c (build_def_use): Don't rename asm operands that
333         were originally hard registers. 
334         (copyprop_hardreg_forward_1): Likewise.
335         (find_oldest_value_reg): Copy ORIGINAL_REGNO from source.
336         * varasm.c (make_decl_rtl): Use gen_rtx_raw_REG.  Set ORIGINAL_REGNO.
337
338 2001-12-31  Douglas B Rupp  <rupp@gnat.com>
339
340         * config/alpha/vms.h (HAS_INIT_SECTION, NEED_ATEXIT): Remove.
341         (NAME__MAIN, SYMBOL__MAIN): Define.
342
343 2001-12-31  Richard Henderson  <rth@redhat.com>
344
345         * cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL
346         before decrementing LABEL_NUSES from a jump table.
347
348         * final.c (alter_subreg): Assign REGNO after changing the rtx code.
349
350         * config/alpha/alpha.c (reg_no_subreg_operand): Reject all
351         non-registers.
352
353 2001-12-31  Graham Stott  <grahams@redhat.com>
354
355         * halfpic.h: Remove foward defs of tree_node and rtx_def.
356
357         * toplev.h: Remove forward def of tree_node, rtx_def.
358
359         * except.h: Remove forward def of tree_node, rtx_def and
360         define of tree, rtx. Also remove undefs.
361
362         * basic-block.h: Remove forward def of tree_node and
363         define of tree.
364
365 2001-12-30  Richard Henderson  <rth@redhat.com>
366
367         * cfglayout.c (scope_def, scope_forest_info, forest,
368         relate_bbs_with_scopes, make_new_scope, build_scope_forest,
369         remove_scope_notes, insert_intra_before_1, insert_intra_1,
370         insert_intra_bb_scope_notes, insert_inter_bb_scope_notes,
371         rebuild_scope_notes, free_scope_forest_1, dump_scope_forest,
372         dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove.
373         (fixup_reorder_chain): Don't set scope for bb.
374         (insn_scopes, scope_to_insns_initialize, set_block_levels,
375         change_scope, scope_to_insns_finalize): New.
376         (cfg_layout_initialize, cfg_layout_finalize): Update to match.
377         * cfglayout.h (scope_def, scope): Remove.
378         (reorder_block_def): Remove scope member.
379         (scope_to_insns_initialize, scope_to_insns_finalize): Declare.
380         * haifa-sched.c: Revert reemit_other_notes change.
381         * sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes.
382         Use scope_to_insns_initialize and scope_to_insns_finalize.
383         * sched-rgn.c (schedule_insns): Likewise.
384
385 2001-12-31  Graham Stott  <grahams@redhat.com>
386
387         * c-lex.c: Include tree.h before expr.h
388
389         * c-typeck.c: Include rtl.h earlier.
390
391         * tree.h (STRIP_NOPS): Remove extraneous semicolon.
392         (STRIP_SIGN_NOPS): Likewise.
393         (STRIP_TYPE_NOPS): Likewise.
394         (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): Add Parenthesis around
395         macro paramater.
396
397         * final.c (struct bb_list): Delete.
398         (struct bb_str): Likewise.
399
400         * cfgloop.c (flow_loop_entry_edges_find): Fix typo.
401         (flow_loop_exit_edges_find): Likewise.
402
403         * gcse.c (gcse_main): Fix typos.
404         (alloc_gcse_mem): Likewise.
405
406         * function.h: Remove undefs for rtx and tree.
407
408 2001-12-30  Richard Henderson  <rth@redhat.com>
409
410         * loop.c (check_dbra_loop): Fix last change: examine both
411         has_multiple_exit_targets and exit_count.
412
413 2001-12-30  Richard Henderson  <rth@redhat.com>
414
415         * integrate.c (copy_rtx_and_substitute): Fix error last change:
416         we need to unconditionally create a new mem.
417
418 2001-12-30  Hans-Peter Nilsson  <hp@bitrange.com>
419
420         * config/mmix/mmix.md ("*call_real"): Fix typo in comment.
421         * config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT
422         to mmix_extra_constraint.
423         * config/mmix/mmix.c (mmix_secondary_reload_class): Only handle
424         non-global register classes.  Mark now unused parameters as such.
425         (mmix_extra_constraint, 'U'): Use new parameter strict and call
426         calling memory_operand_p or strict_memory_address_p, not
427         address_operand.
428         * config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter.
429
430 2001-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
431
432         * unroll.c: Move include files above first use of `const'.
433
434 2001-12-30  Jakub Jelinek  <jakub@redhat.com>
435
436         * cfgrtl.c (try_redirect_by_replacing_jump): Allow redirect_jump
437         to fail if target is EXIT_BLOCK_PTR, die otherwise.
438         (redirect_edge_and_branch): Likewise.
439         * cfgcleanup.c (try_forward_edge): Don't force jump redirecting
440         if target is EXIT_BLOCK_PTR.
441
442 2001-12-29  David Edelsohn  <edelsohn@gnu.org>
443
444         * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
445         gcc invoked with -shared.
446
447 2001-12-29  Graham Stott  <grahams@redhat.com>
448
449         * config/i386/i386.c (ix86_asm_dialect): Fix enum type.
450
451         (override_options): Delete abs macro unused. 
452
453         (output_pic_addr_const): Use ASM_ATT/ASM_INTEL enumerations
454         when testing ASSEMBLER_DIALECT.
455
456         (print_reg): Likewise.
457         (print_operand): Likewise.
458         (print_operand_address): Likewise.
459         (print_operand): abort if ASSEMBLER_DIALECT is unknown dialect.
460
461         * config/i386/i386.h (ix86_asm_dialect): Fix enum type.
462
463         (FIND_BASE_TERM): Fix typo.
464
465 Sat Dec 29 15:48:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
466
467         * expr.c (store_field): Use adjust_address, not PUT_MODE.
468         (expand_expr, case VIEW_CONVERT_EXPR): Likewise.
469         * reload1.c (eliminate_regs, case SUBREG): Likewise, but use
470         adjust_address_nv.
471         * varasm.c (make_decl_rtl): Likewise.
472         * integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use
473         replace_equiv_address_nv.
474
475         * varasm.c (decode_addr_const, case INTEGER_CST): Call
476         output_constant_def instead of looking at TREE_CST_RTL.
477
478         * expr.c (convert_move): If -fforce-mem, force FROM to not be memory.
479
480         * stor-layout.c (layout_decl): Don't misalign field of variable size
481         for packed record.
482
483         * dwarf2out.c (compute_section_prefix): Avoid cast warning.
484         (gen_decl_die): Only check DECL_IGNORED_P on decls.
485         (dwarf2out_decl): Check for DECL_IGNORED_P only when needed.
486
487 2001-12-29  Jakub Jelinek  <jakub@redhat.com>
488
489         * cfglayout.c (insert_intra_before_1): New.
490         (insert_inter_bb_scope_notes): Emit sibling block notes which don't
491         span multiple basic blocks.
492
493 2001-12-29  Richard Henderson  <rth@redhat.com>
494
495         * loop.c (prescan_loop): Set has_multiple_exit_targets for exception
496         edges.  Rearrange jump interpretation code to use pc_set.
497         (check_dbra_loop): Examine has_multiple_exit_targets not exit_count.
498
499         * sched-deps.c (sched_analyze_insn): Set scheduling barrier for
500         all insns that can throw, not just if flag_non_call_exceptions.
501
502 2001-12-29  Stan Shebs  <shebs@apple.com>
503
504         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove.
505         (default_constant_string_class_name): New global.
506         (objc_init): Set it.
507         (synth_module_prologue): Use it.
508
509         * objc/objc-act.c: Apply various cosmetic and formatting changes.
510
511 2001-12-29  Kazu Hirata  <kazu@hxi.com>
512
513         * config/rs6000/darwin-tramp.asm: Fix comment formatting.
514         * config/rs6000/freebsd.h: Likewise.
515         * config/rs6000/rs6000.c: Likewise.
516         * config/sh/sh.c: Likewise.
517         * config/sh/sh.h: Likewise.
518
519 2001-12-28  Stan Shebs  <shebs@apple.com>
520
521         * objc/objc-act.c (build_module_descriptor): Make sure the init
522         function is not deferred.
523         (build_dispatch_table_initializer): Compute the method encoding if
524         not already done.
525
526 2001-12-28  Kazu Hirata  <kazu@hxi.com>
527
528         * doc/md.texi: Add @findex define_insn_and_split.
529
530 2001-12-28  Hans Bohem  <hans_boehm@hp.com>
531
532         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
533         * config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp,
534         bsp setup.  Set pri_unat_loc to something reasonable.
535         (uw_install_context): Add missing cast.
536         (unw_access_gr): Fix off-by-1 indexing error.
537
538 2001-12-28  Kazu Hirata  <kazu@hxi.com>
539
540         * except.c: Fix comment formatting.
541         * flags.h: Likewise.
542         * flow.c: Likewise.
543         * predict.c: Likewise.
544         * simplify-rtx.c: Likewise.
545         * system.h: Likewise.
546         * vmsdbg.h: Likewise.
547         * vmsdbgout.c: Likewise.
548
549 2001-12-28  Kazu Hirata  <kazu@hxi.com>
550
551         * config/h8300/h8300.md: Fix formatting.
552
553 2001-12-28  Geoff Keating  <geoffk@redhat.com>
554
555         * varasm.c (record_constant_1): Correct parameter to recursive
556         call in default case.
557
558 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
559
560         * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT,
561         ASM_OUTPUT_DWARF_PCREL): Define.
562         * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
563         * configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports
564         .uaword %r_disp32() and linker handles it correctly.
565         * configure, config.in: Rebuilt.
566
567 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
568
569         * c-typeck.c (store_init_value): If initializing object with array
570         type of unknown size by a compound literal, set object's size from
571         compound literal size.
572         * doc/extend.texi (Compound Literals): Adjust documentation.
573
574 2001-12-28  Richard Henderson  <rth@redhat.com>
575
576         * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
577         (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
578         (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
579         * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
580         INTEL_EXTENDED_IEEE_FORMAT.
581
582 2001-12-27  Geoff Keating  <geoffk@redhat.com>
583
584         * combine.c (try_combine): Mask off sign bits when combining
585         stores to the low and high parts of a two-word value.
586
587         * expr.c (expand_expr): Don't mark memory for non-constants as
588         constant.
589
590 Thu Dec 27 20:39:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
591
592         * integrate.c (copy_rtx_and_substitute, case MEM): If inlining
593         and not for LHS, clear RTX_UNCHANGING_P.
594
595 2001-12-28  Philipp Thomas  <pthomas@suse.de>
596
597         * cppfiles.c (stack_include_file): Don't translate <stdin>.
598
599 2001-12-27  Roger Sayle <roger@eyesopen.com>
600
601         * builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
602         when all arguments are known constant.  Fixes PR opt/3508.
603
604 2001-12-27  Kazu Hirata  <kazu@hxi.com>
605
606         * config/h8300/h8300.md (two anonymous patterns): Remove.
607
608 2001-12-27  Richard Henderson  <rth@redhat.com>
609
610         * haifa-sched.c (reemit_other_notes): New.
611         (schedule_block): Use it.
612         * sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
613         * sched-rgn.c (schedule_insns): Likewise.
614         * cfglayout.c (remove_scope_notes): Handle removing note at
615         the end of the insn chain.
616         * function.c (debug_find_var_in_block_tree): New.
617
618 2001-12-27  Alan Modra  <amodra@bigpond.net.au>
619             David Edelsohn  <edelsohn@gnu.org>
620
621         * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
622
623 2001-12-27  Jakub Jelinek  <jakub@redhat.com>
624
625         * toplev.c (independent_decode_option): Re-add -aux-info option
626         handling.
627
628 Thu Dec 27 09:50:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
629
630         * integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
631         if special value.
632
633 2001-12-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
634
635         * collect2.c (is_ctor_dtor): Const-ify.
636         * m88k-protos.h (output_file_start): Likewise.
637         * m88k.c (m88k_lang_independent_options, output_options,
638         output_file_start): Likewise.
639         * fix-header.c (files_to_ignore, std_include_entry, include_entry,
640         std_include_table, main): Likewise.
641         * protoize.c (longopts): Likewise.
642         * regclass.c (int_reg_class_contents): Likewise.
643         * toplev.c (dump_file, f_options, W_options): Make static.
644         (lang_independent_options, f_options, W_options): Const-ify.
645         * tree-dump.c (dump_file_info): Likewise.
646         * unroll.c (_factor): Make static.
647
648 Wed Dec 26 17:55:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
649
650         * config/alpha/alpha.c (alpha_align_insns): Remove warning.
651
652         * config/sparc/sparc.md (call struct patterns): Show starting
653         at two words long.
654
655 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
656
657         * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
658         * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
659
660 2001-12-26  DJ Delorie  <dj@redhat.com>
661
662         * function.c (expand_main_function): Make sure stack adjustments
663         happen before sjlj exception setup.
664
665 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
666
667         * rs6000.md (indirect_jump): Prefer CTR over LR.
668         * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
669
670 Tue Dec 25 12:04:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
671
672         * dwarf2out.c: Reformatting and minor code rearrangement.
673
674 2001-12-24  Douglas B. Rupp (rupp@gnat.com)
675
676         * configure.in (quoted_stage_prefix_set_by_configure): Generate.
677         * configure: Regenerated.
678         * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
679         quoted_stage_prefix_set_by_configure.
680
681 Mon Dec 24 10:24:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
682
683         * rtl.h (in_expr_list_p): New declaration.
684         * rtlanal.c (in_expr_list_p): New function.
685         * cfgcleanup.c: Reformatting and minor code rearrangement.
686         * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
687
688 2001-12-23  Richard Henderson  <rth@redhat.com>
689
690         PR c/5163:
691         * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
692         we have a function body associated.  Minor cleanups.
693         (grokdeclarator): Do not set DECL_INLINE without a function body.
694
695 2001-12-23  Richard Henderson  <rth@redhat.com>
696
697         * stmt.c (resolve_operand_names): Handle operand modifiers.
698
699 2001-12-23  Richard Henderson  <rth@redhat.com>
700
701         * stmt.c (parse_input_constraint): Break out from ...
702         (expand_asm_operands): ... here.  Loop over the operands twice,
703         the first time only calling mark_addressable.  Correct and simplify
704         the conditions for spilling an output operand to memory.
705
706 2001-12-23  Richard Henderson  <rth@redhat.com>
707
708         * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
709
710         * config/alpha/alpha.md (UNSPEC_SIBCALL): New.
711         (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
712         (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
713
714 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
715
716         * c-typeck.c (c_start_case): Don't strip conversions from the
717         controlling expression.  Partially fixes PR c/2454.
718
719 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
720
721         * Makefile.in (USER_H): Remove proto.h.
722         * config.gcc (c*-convex-*): Set extra_headers=proto.h.
723
724 2001-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
725
726         * arc.c (arc_hard_regno_mode_ok): Const-ify.
727         * arc.h (arc_hard_regno_mode_ok): Likewise.
728         * i386.c (x86_64_reg_class_name): Make static.
729         * m68k.c (regno_reg_class): Const-ify.
730         * m68k.h (regno_reg_class): Likewise.
731         * mcore.c (reg_class_from_letter): Likewise.
732         * mcore.h (reg_class_from_letter): Likewise.
733         * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
734         ext_shift_insns, ext_shift_amounts): Likewise.
735         * sh.h (reg_class_from_letter): Likewise.
736         * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
737         hard_64bit_mode_classes): Likewise.
738         * sparc.h (hard_regno_mode_classes): Likewise.
739
740         * gcc.c (modify_target): Make static.
741         * gengenrtl.c (defs, formats): Likewise.
742         * reload1.c (elim_table_1, init_elim_table): Const-ify.
743         * tradcpp.c (directive, directive_table, handle_directive,
744         skip_if_group, run_directive): Likewise.
745
746 2001-12-23  Richard Henderson  <rth@redhat.com>
747
748         * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
749         an invalid result register; do end the sequence properly.
750         (emit_library_call_value_1): Likewise.
751
752 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
753
754         * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
755
756         * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
757
758         * config/rs6000/rs6000.c: Clean up some spacing and indentation.
759         (altivec_init_builtins): Add tree types for builtins with 4 bit
760         literals.
761         (bdesc_3arg): Add vsldoi variants.
762
763 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
764
765         * 1750a.h (datalbl, jmplbl): Declare array size explicitly.
766         * a29k.h (a29k_debug_reg_map): Likewise.
767         * arc.h (arc_regno_reg_class): Likewise.
768         * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
769         * convex.h (regno_reg_class, reg_class_from_letter): Likewise.
770         * d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
771         * i386.h (regclass_map): Likewise.
772         * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
773         * mcore.h (regno_reg_class): Likewise.
774         * mips.h (mips_print_operand_punct, mips_char_to_class):
775         Likewise.
776         * ns32k.h (regclass_map): Likewise.
777         * pj.h (pj_debugreg_renumber_vec): Likewise.
778         * s390.h (regclass_map): Likewise.
779         * sh.h (regno_reg_class): Likewise.
780         * sparc.h (sparc_regno_reg_class): Likewise.
781
782         * hard-reg-set.h (reg_class_contents): Likewise.
783         * machmode.h (class_narrowest_mode): Likewise.
784
785 2001-12-22  David Edelsohn  <edelsohn@gnu.org>
786
787         * loop.c (scan_loop, move_movables, count_one_set): Do not
788         overlook hard registers when computing statistics.
789
790 Sun Dec 23 00:49:37 CET 2001  Jan Hubicka  <jh@suse.cz>
791
792         * calls.c (ECF_LIBCALL_BLOCK): New constant.
793         (emit_call_1, initialize_argument_information,
794         precompute_arguments, expand_call,
795         emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
796         instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
797
798 2001-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
799
800         * config.gcc (extra_headers): Move settings to math-68881.h and
801         ppc-asm.h to common code for CPU types.  Use math-68881.h on all
802         m68k targets.
803         (header_files): Remove unused setting.
804
805 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
806
807         * elxsi.c: Include "hard-reg-set.h" and/or don't declare
808         `call_used_regs' explicitly.
809         * i860.c: Likewise.
810         * m68k.c: Likewise.
811         * ns32k.c: Likewise.
812         * pa.c: Likewise.
813         * vax.c: Likewise.
814         * we32k.c: Likewise.
815
816 Fri Dec 21 23:30:14 CET 2001  Jan Hubicka  <jh@suse.cz>
817
818         * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
819         (TARGET_CPU_DEFAULT_*): Renumber.
820
821 Sat Dec 22 12:20:20 EST 2001  John Wehle  (john@feith.com)
822
823         * rtl.h (subreg_lsb): Declare.
824         * rtlanal.c (subreg_lsb): Implement.
825
826 Sat Dec 22 08:59:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
827
828         * predict.c: Reformatting and minor cleanups.
829         * cfg.c, cfganal.c, cfgbuild.c: Likewise.
830
831         * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
832         SAVE_EXPR.
833         * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
834         (put_addressof_into_stack): Clarify code in setting of used_p.
835
836         * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
837         (expand_call): Delete from here.
838         Do pending stack adjustments if ECF_SP_DEPRESSED.
839
840         * dwarf2out.c (save_rtx): Deleted.
841         (mem_loc_descriptor): Do equivalent operation.
842         (add_const_value_attribute, case CONST): Likewise.
843         (add_name_and_src_coords_attributes): Likewise.
844
845 2001-12-21  Kazu Hirata  <kazu@hxi.com>
846
847         * config/h8300/h8300.h: Fix comment formatting.
848
849 Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
850
851         * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
852         (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
853
854 2001-12-21  Robert Lipe  <robertlipe@usa.net>
855
856          * system.h (PREFETCH): Explictly undefine.
857
858 2001-12-21  Richard Henderson  <rth@redhat.com>
859
860         * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
861         (RESTORE_WARN_FLAGS): Restore it.
862         (extension): Zero warn_traditional.
863
864 2001-12-21  Kazu Hirata  <kazu@hxi.com>
865
866         * doc/passes.texi: Fix a typo.
867
868 2001-12-21  Kazu Hirata  <kazu@hxi.com>
869
870         * config/h8300/h8300.h: Fix a comment typo.
871
872 2001-12-21  Jakub Jelinek  <jakub@redhat.com>
873
874         * combine.c (nonzero_bits): If using reg_nonzero_bits,
875         we don't know anything about bits outside of X mode.
876         (num_sign_bit_copies): Likewise.
877
878 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
879
880         * config/arm/arm.md (prefetch): Use 'a' operand code.
881
882 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
883
884         * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
885         subshells.
886         * configure.in: Likewise for perl Pod::Man.
887
888         * configure: Regenerated.
889
890 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
891
892         * builtin-attrs.def (__builtin_printf_unlocked,
893         __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
894         Mark with the __printf__ attribute.
895         
896         * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
897         and set the replacement function depending on it.
898         (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
899         Handle BUILT_IN_*_UNLOCKED when optimizing.
900         
901         * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
902         DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
903         Declare the "unlocked" stdio functions.
904         
905         * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
906         Add an `unlocked' parameter and set the replacement function
907         depending on it.
908         (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
909         BUILT_IN_FPRINTF_UNLOCKED.
910
911         * doc/extend.texi (printf_unlocked, fprintf_unlocked,
912         fputs_unlocked): Document.
913
914 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
915
916         * cfgloop.c (flow_loops_find): Use the information of the depth
917         first search order of the CFG correctly when finding natural loops.
918
919 2001-12-20  Richard Henderson  <rth@redhat.com>
920
921         * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
922
923 2001-12-20  Richard Henderson  <rth@redhat.com>
924
925         * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
926         * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
927         operand into $27.
928
929 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
930
931         * configure.in (all_headers, all_lib2funcs): Remove.
932         * configure: Regenerate.
933         * Makefile.in (LANG_EXTRA_HEADERS): Remove.
934         (USER_H): Don't include $(LANG_EXTRA_HEADERS).
935         * config/alpha/t-interix (USER_H): Don't include
936         $(LANG_EXTRA_HEADERS).
937         * config/i386/t-interix: Likewise.
938         * config/t-openbsd: Likewise.
939
940 2001-12-20  Andreas Jaeger  <aj@suse.de>
941
942         * libgcc2.c (__bb_exit_func): Remove unused variable.
943         (num_digits): Remove unused function.
944
945 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
946
947         * config/arm/arm.c (arm_output_epilogue): Changed IP restore
948         to use ldmfd instead of ldmea.
949         * config/arm/arm.c (arm_compute_initial_elimination_offset):
950         Modified to reflect behavior of arm_expand_prologue when generating
951         interrupt handlers
952
953 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
954
955         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
956         function. Compute which of registers r0 through r12 should be
957         saved onto the stack during a function's prologue.
958         (arm_compute_save_reg_mask): Use
959         arm_compute_save_reg0_reg12_mask.
960         (arm_compute_initial_elimination_offset): Use
961         arm_compute_save_reg0_reg12_mask.
962
963         (arm_expand_prologue): Do not mark as save of the IP register
964         for an interrupt handler as being part of the frame creation
965         code.
966
967 2001-12-20  Richard Henderson  <rth@redhat.com>
968
969         * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
970         to emit floating point values.
971         (assemble_real_1): Remove.
972
973         * 1750a/1750a.c (real_value_to_target_single): New.
974         (real_value_to_target_double): New.
975         * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
976         (REAL_VALUE_TO_TARGET_SINGLE): New.
977         (REAL_VALUE_TO_TARGET_DOUBLE): New.
978         * 1750a/1750a-protos.h: Update.
979
980         * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
981         alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
982         avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
983         d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
984         fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
985         i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
986         i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
987         i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
988         m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
989         m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
990         m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
991         m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
992         mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
993         mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
994         ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
995         romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
996         sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
997         vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
998         ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
999         ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
1000         associated support routines.
1001
1002 Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
1003
1004         * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
1005         if one of block does not contain jump.
1006         (outgoing_edge_math): Revert last path; require edges to be noncomplex
1007         nonfake to match single exit edge; require conditional jumps to not
1008         have side effect.
1009
1010 2001-12-20  Turly O'Connor  <turly@apple.com>
1011
1012         * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
1013         "recog_operand" to "recog_data.operand".
1014         * rtl.def: Likewise.
1015
1016 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
1017
1018         * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
1019         narrower mode than op0, only return the bits in DIV's mode.
1020
1021 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
1022
1023         * combine.c (distribute_notes): Avoid adding REG_LABEL notes
1024         to JUMP_INSNs with JUMP_LABEL.
1025
1026 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
1027
1028         * doc/install.texi: Add documentation for --enable-altivec.
1029
1030         * config.gcc: Add support for --enable-altivec.
1031
1032         * config/rs6000/altivec.h: New.
1033
1034         * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
1035         Define.  Fix typo.
1036
1037         * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
1038         unspec_volatile.
1039         (generate_set_vrsave): Generate the unspec here instead of calling
1040         an .md pattern.
1041         (generate_set_vrsave): Use gen_rtvec.
1042         (rs6000_emit_prologue): Replace call to gen_get_vrsave with
1043         gen_rtx_SET.
1044
1045         * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
1046         for setting special registers.
1047         ("*set_vrsave_internal"): Use unspec_volatile.
1048         ("set_vrsave"): Remove.
1049         ("get_vrsave"): Remove.
1050
1051         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
1052         SPECIAL_REGS.
1053
1054 2001-12-19  Bruce Korb  <bkorb@gnu.org>
1055
1056         * gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
1057         (strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
1058         * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
1059         * gcc/fixinc/base/...: adjust for changes in fixes
1060
1061 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1062
1063         * po/gcc.pot: Regenerate.
1064
1065         * configure.in (all_diff_excludes, diff_excludes): Remove.
1066         * configure: Regenerate.
1067         * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
1068         * objc/config-lang.in (diff_excludes): Remove.
1069
1070 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
1071
1072         * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
1073         the destination register as a parameter to mems_ok_for_ldd_peep.
1074         For store peepholes pass NULL_RTX.  Move all volatile checks ...
1075         * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
1076         register parameter, check it's not the same as base for an address.
1077         * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
1078
1079 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
1080
1081         * config/ia64/ia64.c (ia64_single_set): Return first set for
1082         prologue_allocate_stack and epilogue_deallocate_stack instructions.
1083
1084 2001-12-19  Dale Johannesen  <dalej@apple.com>
1085
1086          * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
1087          redefine in terms of rs6000_legitimize_reload_address().
1088          * config/rs6000/rs6000-protos.h: Add this function.
1089          * config/rs6000/rs6000.c: Add this function.  Includes
1090          handling for Darwin FP constants.
1091
1092 Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
1093
1094         * config/pa/t-hpux-shlib: New file.
1095         * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
1096         for 32bit hpux10 & hpux11 configurations.
1097
1098 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
1099
1100         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
1101         -mno-fpu onto gas unless -mhard-float is specified.
1102         (MULTILIB_DEFAULTS): Include msoft-float.
1103
1104         * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
1105
1106         * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
1107         * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
1108
1109 Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
1110
1111         * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
1112         descriptor output.
1113
1114 2001-12-18  Stan Shebs  <shebs@apple.com>
1115
1116         * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
1117
1118 Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1119
1120         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
1121         on an INTEGER_CST.
1122
1123 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
1124
1125         * rs6000.c (rs6000_override_options): Only use DI ops when
1126         TARGET_64BIT.  Fix typo.
1127
1128 Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
1129
1130         * att.h (ASM_FILE_START): Use asm_dialect.
1131         * linux.h (ASM_FILE_START): Likewise.
1132         * gas.h (ASM_FILE_START): Likewise.
1133         * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
1134         ix86_asm_string, ix86_asm_dialect): New.
1135         (override_options): Set asm_dialect.
1136         * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
1137         MASK_DEBUG_ADDR): Kill.
1138         (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
1139         (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
1140         (ASSEMBLER_DIALECT): Use asm_dialect.
1141         (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
1142         remove debug-addr and debug-arg.
1143         (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
1144         (asm_dialect): New enum.
1145         (ix86_debug_arg_string, ix86_debug_addr_string,
1146         ix86_asm_string, ix86_asm_dialect): Declare.
1147         * invoke.texi (-mintel-syntax): Remove.
1148         (-masm): Document.
1149
1150 Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
1151
1152         * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
1153
1154 2001-12-18  Jason Merrill  <jason@redhat.com>
1155
1156         C++ ABI change: destroy value arguments in caller.
1157         * calls.c (initialize_argument_information): Pass the address of
1158         the TARGET_EXPR temporary rather than storing it into another.
1159
1160 Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
1161
1162         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
1163         * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
1164
1165 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
1166
1167         * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
1168         * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
1169         * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
1170         (CC1_SPEC): Don't default to -gstabs+ if -m32.
1171
1172 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
1173
1174         * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
1175
1176 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
1177
1178         * po/gcc.pot: Regenerate.
1179
1180 2001-12-18  Kazu Hirata  <kazu@hxi.com>
1181
1182         * config/h8300/h8300.c: Fix comment typos.
1183         * config/h8300/h8300.h: Fix comment formatting.
1184
1185 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1186
1187         * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
1188         mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
1189         declaration to NUM_MACHINE_MODES.
1190         (mode_size, mode_unit_size): Set array type to unsigned char.
1191         (mode_bitsize): Set array type to unsigned short.
1192
1193         * rtl.c (rtx_length): Set array type to unsigned char.
1194         (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
1195         NUM_RTX_CODE.
1196         (mode_bitsize): Set array type to unsigned short.
1197         (mode_size, mode_unit_size): Set array type to unsigned char.
1198         (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
1199         mode_wider_mode, mode_mask_array): Set array size to
1200         NUM_MACHINE_MODES.
1201
1202         * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
1203         size in declaration to NUM_RTX_CODE.
1204
1205 2001-12-17  Richard Henderson  <rth@redhat.com>
1206
1207         * config/alpha/alpha.md (unop): Encode RB as $sp.
1208
1209 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1210
1211         * Makefile.in: Update dependencies.
1212         * c-lang.c: Remove unnecessary includes.
1213         (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
1214         c-objc-common.c.
1215         (finish_file): Move body to c_common_finish_file.
1216         * c-objc-common.c: Include varray.h and ggc.h.
1217         (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
1218         expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
1219         (c_objc_common_init): Initialize deferred function array.
1220         * c-tree.h (c_objc_common_finish_file,
1221         static_ctors, static_dtors): New.
1222 objc:
1223         * Make-lang.in: Update dependencies.
1224         * objc/objc-act.c: Don't include varray.h.
1225         (defer_fn, deferred_fns): Move to c-objc-common.c.
1226         (objc_init): Similarly for initialization of it.
1227         (finish_file): Move some to c-objc-common.c, use
1228         c_objc_common_finish_file.
1229
1230 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
1231
1232         * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
1233
1234 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1235
1236         * doc/cppinternals.texi: Update.
1237
1238 Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
1239
1240         * expmed.c (emit_store_flag): Extract updated comparison code
1241         from the return value of compare_from_rtx.
1242         * expr.c (do_store_flag): Similarly.
1243
1244 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
1245
1246         * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
1247         preference to BASE_REG_CLASS.
1248         * recog.c (preprocess_constraints): Ditto.
1249         * regclass.c (record_operand_costs, scan_one_insn, regclass,
1250         record_reg_classes, record_address_regs): Ditto.
1251         * regrename.c (scan_rtx_address, scan_rtx,
1252         replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
1253         * reload.c (find_reloads, find_reloads_address,
1254         find_reloads_address_1): Ditto.
1255         * reload1.c (maybe_fix_stack_asms): Ditto.
1256         * defaults.h (MODE_BASE_REG_CLASS): Provide default
1257         definition.
1258         * doc/tm.texi: Document MODE_BASE_REG_CLASS.
1259
1260         * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
1261
1262 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
1263
1264         * doc/install.texi2html: Use -I $SOURCEDIR.
1265
1266         Separate user and internals manuals.
1267         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
1268         dependencies.
1269         ($(docdir)/gccint.info, gccint.dvi): New targets.
1270         (maintainer-clean, install-info, uninstall): Update.
1271         * doc/.cvsignore: Add gccint.info*.
1272         * doc/include/gcc-common.texi: New file.
1273         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
1274         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
1275         is defined.
1276         * doc/gccint.texi: New file.
1277         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
1278         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
1279         Update for separate user and internals manuals.
1280
1281 2001-12-17  Dale Johannesen  <dalej@apple.com>
1282
1283          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
1284          ASM_CPU_SPEC: Ditto.
1285          RTX_COSTS: Fix timing info for 7450 multiply.
1286          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
1287          Allow floats to be kept in int regs in movsf_low,
1288          movsf_low_st (Darwin only)
1289
1290 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
1291
1292         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
1293         parallel.
1294         (is_gpr_return_reg): New.
1295         (rs6000_emit_prologue): Call generate_set_vrsave with additional
1296         argument.  Save only registers in the mask.  Attach
1297         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
1298         rs6000_frame_related when saving VRSAVE.
1299         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
1300         argument.  Restore only registers in the mask.  Restore altivec
1301         registers after we restore CR.
1302         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
1303         sets instead of clobbers for call saved registers.
1304         (altivec_frame_fixup): New.
1305
1306 2001-12-17  Richard Henderson  <rth@redhat.com>
1307
1308         * config/sparc/sparc.md (movdi_zero): Remove.
1309         (movdi_insn_sp32_v9): New.
1310
1311 2001-12-17  Richard Henderson  <rth@redhat.com>
1312
1313         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
1314         a single outgoing edge too.
1315
1316 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
1317
1318         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
1319         edges resulting from computed jump
1320
1321 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
1322
1323         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
1324         * basic-block.h (CLEANUP_THREADING): New constant.
1325         * cfgcleanup.c: Include cselib.h
1326         (thread_jump, mark_effect): New functions.
1327         (try_forward_edges): Do jump threading when asked for.
1328         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
1329         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
1330         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
1331         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
1332         CLEANUP_THREAD instead.
1333
1334 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1335
1336         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
1337
1338 2001-12-17  Tom Rix  <trix@redhat.com>
1339
1340         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
1341         of bytes.
1342
1343 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
1344
1345         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
1346         asm_out.integer): New fields.
1347         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
1348         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
1349         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
1350         the individual initialisers together.
1351         (TARGET_ASM_OUT): Add the new initialisers.
1352         * output.h (assemble_integer): Return bool.
1353         (integer_asm_op): Declare.
1354         (default_assemble_integer): Declare.
1355         (assemble_aligned_integer): New interface to assemble_integer.
1356         * varasm.c (integer_asm_op): New function to select pseudo-op.
1357         (default_assemble_integer): Default implementation of asm_out.integer.
1358         (assemble_integer): Use the new target hook.  Split objects into
1359         words or bytes if the target hook fails.  Return bool.
1360         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
1361         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
1362         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1363         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
1364         Document new target hooks.
1365
1366         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
1367         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
1368         (dw2_assemble_integer): New.
1369         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
1370         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
1371         dw2_asm_output_encoded_addr_rtx): Use it.
1372         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
1373         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
1374         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
1375         if it returns NULL.
1376         * dwarf2asm.h (dw2_assemble_integer): Declare.
1377         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
1378         default implementation of most macros.
1379         (output_unsigned_leb128): Use dw2_asm_output_data.
1380         (output_signed_leb128, dwarfout_source_line): Likewise.
1381         (output_reg_number): Use dw2_assemble_integer.
1382         (generate_macinfo_entry): Separate the type and offset arguments.
1383         Use assemble_integer to write the value.
1384         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
1385         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
1386         * final.c (output_addr_const): Don't put brackets round a subtracted
1387         symbol value or ".".
1388         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
1389
1390         * config/1750a/1750a.c (assemble_integer_1750a): New,
1391         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
1392         * config/arc/arc.c (arc_assemble_integer): New.
1393         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1394         * config/arm/arm.c (arm_poke_function_name): Likewise.
1395         (arm_assemble_integer): New, extracted from...
1396         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
1397         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
1398         (ARM_FUNCTION_PROFILER): Likewise.
1399         * config/avr/avr-protos.h (asm_output_byte): Remove.
1400         (asm_output_char, asm_output_short): Remove.
1401         * config/avr/avr.c (avr_assemble_integer): New.
1402         (asm_output_byte, asm_output_char, asm_output_short): Remove.
1403         * config/clipper/clipper.h (ASM_LONG): Remove.
1404         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
1405         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
1406         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
1407         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
1408         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
1409         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
1410         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1411         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
1412         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
1413         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
1414         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1415         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
1416         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
1417         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
1418         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
1419         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1420         (ASM_SHORT, ASM_LONG): Undefine.
1421         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1422         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
1423         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1424         * config/ia64/ia64.c (ia64_assemble_integer): New.
1425         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
1426         (ASM_OUTPUT_DWARF_PCREL): Likewise.
1427         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1428         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
1429         (ASM_SHORT, ASM_LONG): Remove.
1430         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
1431         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
1432         macros, the allowed values for INT_OP_GROUP.
1433         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
1434         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
1435         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
1436         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
1437         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1438         * config/m68k/dpx2.h (ASM_LONG): Undefine.
1439         (INT_OP_GROUP): Define to INT_OP_DC.
1440         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
1441         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1442         * config/m68k/lynx.h (ASM_LONG): Undefine.
1443         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
1444         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1445         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1446         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
1447         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
1448         for GAS and INT_OP_NO_DOT otherwise.
1449         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
1450         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1451         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
1452         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1453         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
1454         (INT_OP_GROUP): Define to INT_OP_STANDARD.
1455         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1456         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
1457         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
1458         * config/m68k/tower-as.h (ASM_LONG): Remove.
1459         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1460         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
1461         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1462         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
1463         * config/mips/iris5.h (TARGET_IRIX5): Define.
1464         * config/mips/mips.c (mips_assemble_integer): New.
1465         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
1466         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
1467         * config/mmix/mmix.c (mmix_assemble_integer): New.
1468         (mmix_asm_output_double_int): Remove.
1469         (mmix_print_operand): Call mmix_output_octa directly.
1470         * config/mmix/mmix.h (ASM_LONG): Remove.
1471         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1472         * config/pa/pa.c (pa_assemble_integer): New.
1473         (pa_override_options): Only use aligned DI ops on 64-bit targets.
1474         Only use the unaligned ops if TARGET_GAS.
1475         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
1476         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
1477         * config/pj/pj.h (ASM_LONG): Undefine.
1478         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
1479         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
1480         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
1481         and in_toc_section() rather than the in_section variable.
1482         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
1483         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
1484         (RELOCATABLE_NEEDS_FIXUP): Define.
1485         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
1486         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
1487         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
1488         to get the word directive.
1489         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1490         * config/s390/s390.c (s390_assemble_integer): New.
1491         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
1492         integer_asm_op to get the word directive.
1493         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
1494         * config/sparc/sparc-protos.h (output_double_int): Remove.
1495         * config/sparc/sparc.c (output_double_int): Move to...
1496         (sparc_assemble_integer): ...this new function.
1497         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
1498         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
1499         * config/sparc/sysv4.h (ASM_LONG): Remove.
1500         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
1501         ASM_LONG.
1502         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
1503         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
1504
1505         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
1506         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
1507         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
1508         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
1509         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
1510         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
1511         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1512         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
1513         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
1514         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
1515         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
1516         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
1517         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
1518         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
1519         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
1520         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
1521         appropriate.
1522
1523         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
1524         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
1525         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
1526         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
1527         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
1528         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
1529         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
1530         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
1531         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
1532         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
1533         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
1534         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
1535         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
1536         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
1537         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
1538         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
1539         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
1540         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
1541         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
1542         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
1543         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
1544         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
1545         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
1546         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
1547         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1548         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
1549
1550 2001-12-17  Stan Shebs  <shebs@apple.com>
1551
1552         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
1553         (STACK_BOUNDARY): Remove definition.
1554         (CPP_PREDEFINES): Define __POWERPC__.
1555
1556 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1557
1558         * doc/c-tree.texi (Trees): Only refer to GCC.
1559
1560 2001-12-17  Andreas Jaeger  <aj@suse.de>
1561
1562         * c-common.def: Fix typo in comment.
1563
1564 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
1565
1566         * config.gcc (sparc64-*-freebsd*): Add target.
1567         * config/sparc/freebsd.h: New file.
1568         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
1569         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
1570         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
1571
1572 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1573
1574         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
1575         PLUS operands into registers for altivec mode.
1576
1577 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1578
1579         * builtins.c (apply_args_size): Change regno to unsigned.
1580
1581 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1582
1583         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
1584         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
1585
1586 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
1587
1588         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
1589         gettext on argument before printing.
1590
1591         * fold-const.c (negate_expr): Always call fold on new
1592         NEGATE_EXPR.
1593
1594 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
1595
1596         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
1597         a DECL directly.
1598         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
1599         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
1600         * c-decl.c (build_compound_literal): Put the decl inside a
1601         DECL_STMT.
1602         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
1603         Fixes PR c/5105.
1604
1605 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1606
1607         * config.gcc: Add powerpc-*-eabisimaltivec*.
1608
1609 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1610
1611         * c-common.c, c-common.h (back_end_hook): Remove.
1612         * c-lang.c (finish_file): Remove back_end_hook.
1613
1614 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1615
1616         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
1617         last change.
1618
1619 2001-12-16  Richard Henderson  <rth@redhat.com>
1620
1621         * toplev.c (parse_options_and_default_flags): Don't enable
1622         flag_cprop_registers at -O1.
1623
1624 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1625
1626         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
1627         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
1628         * avr.h (reg_class): Likewise.
1629         * avr.md: Likewise.
1630         * mcore.c (try_constant_tricks, mcore_byte_offset,
1631         mcore_halfword_offset): Likewise.
1632         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
1633         * v850.c (not_power_of_two_operand): Likewise.
1634
1635         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
1636         warnings.
1637         * convex.h (ASM_OUTPUT_ASCII): Likewise.
1638         * i370.h (ASM_OUTPUT_ASCII): Likewise.
1639         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
1640         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
1641         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
1642         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
1643         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
1644         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
1645         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
1646         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
1647         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
1648         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
1649         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
1650         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
1651         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
1652         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1653         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
1654         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
1655         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
1656         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
1657         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
1658         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
1659         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
1660         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
1661         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
1662         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
1663
1664         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
1665         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
1666         * psos.h (CPP_PREDEFINES): Likewise.
1667         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
1668         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
1669         ASM_OUTPUT_EXTERNAL): Likewise.
1670         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1671         Likewise.
1672         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
1673         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1674         Likewise.
1675         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
1676
1677         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
1678         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
1679         * fold-const.c (real_hex_to_f): Use hex_value.
1680         * real.c (asctoeg): Use hex_value & ISXDIGIT.
1681         * toplev.c (toplev_main): Call hex_init.
1682         * tradcpp.c (main): Call hex_init.
1683
1684         * nextstep-protos.h: New file.
1685         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
1686         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
1687         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
1688         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
1689         handle_pragma): Move prototypes to nextstep-protos.h.
1690         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
1691         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
1692
1693 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1694
1695         PR other/3725
1696         * configure.in: Add AC_SUBST(target_alias).
1697         * configure: Regenerated.
1698
1699 2001-12-15  Richard Henderson  <rth@redhat.com>
1700
1701         * config/alpha/alpha.md (sibcall_osf_1_er): New.
1702         (sibcall_value_osf_1_er): New.
1703
1704 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
1705
1706         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
1707         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
1708         addrs; eliminate restriction of only using fp and sp as base
1709         registers.
1710         * config/sparc/sparc-protos.h: Update.
1711         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
1712         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
1713         from old define_peepholes.
1714         Convert all the ldd/std peepholes to peephole2.
1715
1716 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1717
1718         * s390.md (prologue, epilogue, *return_si, *return_di): New.
1719         s390.c (find_unused_clobbered_reg, s390_frame_info,
1720         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
1721         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
1722         s390.c (s390_arg_frame_offset): Use s390_frame_info.
1723         (leaf_function_flag, cur_is_leaf_function,
1724         save_fprs, restore_fprs, force_const_mem_late): Remove.
1725         (s390_function_prologue, s390_function_epilogue): Mostly remove.
1726         s390.md (lit): New.  Uses ...
1727         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
1728         s390-protos.h (s390_output_constant_pool): Declare.
1729         s390.md (load_multiple, store_multiple): Allow use after reload.
1730         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
1731         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
1732         s390.h (CALL_REALLY_USED_REGISTERS): Define.
1733         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
1734         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
1735         s390.c (s390_sr_alias_set): New global variable, initialized ...
1736         (override_options): ... here.  New.
1737         s390-protos.h (override_options): Declare.
1738         s390.h (OVERRIDE_OPTIONS): Call it.
1739         s390.c (s390_function_profiler): New.
1740         s390-protos.h (s390_function_profiler): Declare.
1741         s390.h (FUNCTION_PROFILER): Call it.
1742         s390.c (s390_profile): Remove.
1743
1744         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
1745         (addr_generation_dependency_p): Consider literal pool register loads.
1746         (s390_adjust_priority): Do not schedule load_multiple.
1747         s390.md (attribute "type"): Define some additional types.
1748         (function_unit "integer"): Adapt.
1749         (many insns): Adapt "type" attribute setting.
1750
1751         * s390.c (general_s_operand, s_imm_operand): New.
1752         (s_operand): Remove old definition, call general_s_operand instead.
1753         s390-protos.h (s_imm_operand): Declare.
1754         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
1755         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
1756         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
1757         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
1758         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
1759         s390.md (many insns): Rework insn predicates.
1760
1761         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
1762         non-symbolic constants.  Reload will force them because of ...
1763         (s390_preferred_reload_class): ... this.  New.
1764         s390-protos.h (s390_preferred_reload_class): Declare.
1765         s390.h (PREFERRED_RELOAD_CLASS): Call it.
1766         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
1767         *reload_la_31 splitters): Handle constants after reload.
1768         (many insns): no longer force all constants immediately.
1769         s390.c (legitimate_reload_constant_p): New helper routine.
1770         s390-protos.h (legitimate_reload_constant_p): Declare.
1771         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
1772
1773         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
1774         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
1775         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
1776         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
1777         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
1778         (DWARF_FRAME_REGISTERS): Define.
1779         s390.c (regclass_map): Add virtual frame pointer.
1780         (legitimate_la_operand_p): Allow use of virtual frame pointer.
1781         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
1782         (addaddr, addsi_64): Delete.
1783
1784         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
1785         floating point registers.
1786         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
1787         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
1788         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
1789
1790         * s390.md (movti): Replace multi-insn output with splitters.
1791         (movdi_31, movdf_31): Likewise.
1792         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
1793         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
1794         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
1795         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
1796         (movsf_64, movsf_31): Remove, replace by ...
1797         (movsf): ... this.
1798         (movqi_64): Use lhi instead of llill.
1799         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
1800
1801         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
1802         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
1803         extendqihi2 and associated splitters): Reworked.
1804         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
1805         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
1806         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
1807         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
1808         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
1809         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
1810         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
1811         and associated splitters): Likewise.
1812         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
1813         and associated splitters): New.
1814         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
1815         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
1816         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
1817         s390.h (PROMOTE_PROTOTYPES): Remove.
1818         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
1819
1820         * s390.md (muldi3): Delete, use instead ...
1821         (mulsidi3): ... this.
1822         (*muldi3_64): Rename to muldi3.
1823         (mulsi_6432): Fix template.
1824         (divdi3, moddi3): Delete, replace by ...
1825         (divmoddi4): ... this.
1826         (divmodtidi3): Fix template.
1827         (divmodtisi3): New.
1828         (udivdi3, umoddi3): Delete, replace by ...
1829         (udivmoddi4): ... this.
1830         (udivmodtidi3): Fix template.
1831         (divsi3, modsi3): Delete, replace by ...
1832         (divmodsi4): ... this.
1833         (divmoddisi3): Fix template.
1834         (udivsi3, umodsi3): Adapt.
1835
1836         * s390.md (anddi3): Remove SS alternative, use instead ...
1837         (anddi3_ss, anddi3_ss_inv): ... these.
1838         (anddi3_ni): New.
1839         (andsi3*, andhi3*, andqi3*): Likewise.
1840         (iordi3): Remove SS alternative, use instead ...
1841         (iordi3_ss, iordi3_ss_inv): ... these.
1842         (iordi3_oi): New.
1843         (iorsi3*, iorhi3*, iorqi3*): Likewise.
1844         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
1845         (xordi3): Remove SS alternative, use instead ...
1846         (xordi3_ss, xordi3_ss_inv): ... these.
1847         (xordi3_oi): New.
1848         (xorsi3*, xorhi3*, xorqi3*): Likewise.
1849         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
1850         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
1851         Expand to XOR with -1.
1852         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
1853         (cmpdi_tm): Delete, replace by ...
1854         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
1855         (cmpsi_cct): Delete, replace by ...
1856         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
1857         (cmpdi_tm2, cmpsi_tm2): Improve.
1858         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
1859         s390.c (s390_single_hi, s390_extract_hi,
1860         s390_single_qi, s390_extract_qi): New helper routines.
1861         s390-protos.h (s390_single_hi, s390_extract_hi,
1862         s390_single_qi, s390_extract_qi): Declare.
1863         s390.c (tmxx_operand, const1_operand): Remove.
1864         s390-protos.h (tmxx_operand, const1_operand): Likewise.
1865         s390.h (PREDICATE_CODES): Likewise.
1866
1867         * s390.md (sqrtdf2, sqrtsf2): New.
1868
1869         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
1870         (check_and_change_labels): Remove section-change special case.
1871
1872         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
1873         in leaf functions.  Needs ...
1874         (DYNAMIC_CHAIN_RTX):  ... this.  New.
1875
1876         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
1877
1878         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
1879         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
1880         input operands using a match_dup clause.
1881         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
1882
1883         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
1884         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
1885
1886         * s390.md (floatsidf2_ibm): Use correct operand.
1887
1888         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
1889         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
1890         non-portable constants.
1891         s390.c (s390_gen_rtx_const_DI): New helper routine.
1892         s390-protos.h (s390_gen_rtx_const_DI): Declare.
1893
1894         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
1895
1896         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
1897         ASM_OUTPUT_BYTE): Clean up assembly output.
1898         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
1899         (ASM_OUTPUT_ASCII): Remove.
1900
1901         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
1902
1903 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
1904
1905         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
1906         before including unwind-dw2-fde.c, if we are not using the
1907         special code in this file.
1908
1909 2001-12-15  Richard Henderson  <rth@redhat.com>
1910
1911         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
1912         MASK_EXPLICIT_RELOCS if the assembler supports it.
1913         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
1914         * configure, config.in: Rebuild.
1915
1916 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1917
1918         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
1919         for rounded_stack_size.
1920
1921 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1922
1923         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
1924         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
1925         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
1926         "bit-field" spellings in messages.
1927         * po/gcc.pot: Regenerate.
1928
1929 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1930
1931         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
1932         American spelling in messages.
1933         * po/gcc.pot: Regenerate.
1934
1935 2001-12-15  Kazu Hirata  <kazu@hxi.com>
1936
1937         * config/h8300/h8300.md: Adjust whitespacing.  Remove
1938         constraints from expanders.  Replace \@ with @.
1939
1940 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
1941
1942         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
1943
1944 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1945
1946         * regrename.c (copyprop_hardreg_forward): Do not keep register
1947         value data live across abnormal call or eh egdes.
1948
1949 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1950
1951         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
1952         BIGGEST_ALIGNMENT for 0.
1953
1954 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
1955
1956         * predict.def (PRED_NORETURN): Make probabilities match reality.
1957         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
1958         Likewise.
1959
1960 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
1961
1962         * configure.in: Check for ld.
1963         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
1964         * configure, config.in: Rebuilt.
1965         * config.gcc: Add crtbeginT.o to extra_parts where needed.
1966         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
1967         frame unwinding on Linux.
1968         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
1969         frame unwinding.
1970         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1971         (LINK_EH_SPEC): Define.
1972         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1973         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
1974         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
1975         iterate further if pc falls into current library, but fde was not
1976         found.
1977         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
1978         if using glibc.
1979         (LINK_EH_SPEC): Define.
1980         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
1981         Use crtbeginT.o for -static.
1982         (LINK_EH_SPEC): Define.
1983         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1984         * Makefile.in (crtbeginT.o): Add rule.
1985         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
1986         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
1987         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
1988         If none of the above switches are passed, use -lgcc -lgcc_eh.
1989         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
1990         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
1991         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
1992         * unwind-dw2-fde.c: Don't include any headers if this file
1993         is included from other .c file.
1994         * unwind-dw2-fde-glibc.c: New file.
1995         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
1996         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
1997
1998 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1999
2000         * builtins.c (expand_builtin_memcmp): Mark parameter with
2001         ATTRIBUTE_UNUSED.
2002         * cfgcleanup.c (insns_match_p): Likewise.
2003         * regrename.c (mode_change_ok): Likewise.
2004         * gcc.c (execute): Const-ify.
2005
2006 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
2007
2008         * c-parse.in (typename): Do not split attributes.
2009         Remove unsupported attributes warning.
2010
2011         * c-decl.c (groktypename): Apply attributes.
2012
2013 2001-12-14  Richard Henderson  <rth@redhat.com>
2014
2015         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
2016         initialization as possibly dead.
2017
2018 2001-12-14  Richard Henderson  <rth@redhat.com>
2019
2020         * regrename.c (mode_change_ok): New.
2021         (find_oldest_value_reg): Use it.
2022
2023 2001-12-14  Richard Henderson  <rth@redhat.com>
2024
2025         * regrename.c (struct value_data): Add max_value_regs.
2026         (init_value_data): Initialize it.
2027         (kill_value): Kill values that overlap the dying register.
2028         (set_value_regno): New.
2029         (kill_set_value, kill_autoinc_value, copy_value): Use it.
2030         (copyprop_hardreg_forward_1): Kill earlyclobber operands
2031         before looking at inputs.
2032
2033 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
2034
2035         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
2036         DECL_WEAK for function descriptors.
2037         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
2038         weak support present.
2039         (ASM_WEAKEN_LABEL): Same.
2040
2041 2001-12-14  Kazu Hirata  <kazu@hxi.com>
2042
2043         * config/h8300/h8300.md (anonymous pattern): Add a missing
2044         mode.
2045
2046 2001-12-14  Kazu Hirata  <kazu@hxi.com>
2047
2048         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
2049         comment typo.
2050
2051 2001-12-14  Kazu Hirata  <kazu@hxi.com>
2052
2053         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
2054         Remove the initialization requierment.
2055         (h8300_handle_tiny_data_attribute): Likewise.
2056
2057 2001-12-14  Kazu Hirata  <kazu@hxi.com>
2058
2059         * config/h8300/h8300.md (udivqi3): Remove.
2060         (divqi3): Likewise.
2061         (udivhi3): Likewise.
2062         (divhi3): Likewise.
2063         (umodqi3): Likewise.
2064         (modqi3): Likewise.
2065         (umodhi3): Likewise.
2066         (modhi3): Likewise.
2067         (udivmodqi3): New.
2068         (divmodqi3): Likewise.
2069         (udivmodhi3): Likewise.
2070         (divmodhi3): Likewise.
2071
2072 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
2073
2074         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
2075         by active_insn_p; count conditional jump as instruction.
2076
2077 2001-12-14  DJ Delorie  <dj@redhat.com>
2078             Danny Smith  <dannysmith@users.sourceforge.net>
2079
2080         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
2081         at SYM_NAME[0] or SYM_NAME[3].
2082         (STRIP_NAME_ENCODING): Don't check for leading '*'.
2083
2084 2001-12-14  Ira Ruben   <ira@apple.com>
2085
2086         Add -### option (displays driver-generated commands without
2087         executing and quotes all arguments).
2088         * doc/invoke.texi: Add -###.
2089         * gcc.c (verbose_only_flag) - New flag.
2090         * (execute): If -### write quoted arguments and return.
2091         * (display_help): Print meaning of -###.
2092         * (process_command): Handle -###.
2093
2094 2001-12-14  Ira Ruben   <ira@apple.com>
2095
2096         Fix to no allow -save-temps to clobber user's source file.
2097         * gcc.c: Add static globals input_stat and input_stat_set.
2098         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
2099         set, check that user's input file is not overwritten.
2100         (set_input): Reset input_stat_set for each new file.
2101
2102 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
2103
2104         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
2105
2106 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
2107
2108         * combine.c (record_dead_and_set_regs): Use
2109         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
2110
2111 2001-12-14  Roger Sayle <roger@eyesopen.com>
2112
2113         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
2114         __builtin_fsqrt to __builtin_sqrt.
2115
2116         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
2117         * doc/extend.texi: Simplify documentation to match patch.
2118
2119 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
2120
2121         * config.gcc: Revamp target_cpu_default2 to strings;
2122         support new x86 variants.
2123         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
2124         properly; set prefetch_sse.
2125         * i386.h (x86_prefetch_sse): Declare.
2126         (TARGET_PREFETCH_SSE): New.
2127         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
2128         (TARGET_CPU_DEFAULT_*): New.
2129
2130 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
2131                               Jan Hubicka  <jh@suse.cz>
2132
2133         * config/i386/i386.h (struct processor_costs): Add new members
2134           prefetch_block and simultaneous_prefetches.
2135           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
2136         * config/i386/i386.c (processor_costs structs): Add values for
2137           prefetch_block and simultaneous_prefetches.
2138         * config/i386/i386.md (unspec values): Remove values for prefetch
2139           operations, which now use the PREFETCH rtx code.
2140           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
2141           unified prefetch support.
2142
2143 2001-12-14  Jason Merrill  <jason@redhat.com>
2144
2145         * diagnostic.c (sorry): Increment sorrycount before saving the
2146         buffer state.
2147
2148 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
2149
2150         * i386.md (sqrt?f): Fix conditionals.
2151
2152 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
2153
2154         * config.gcc (alpha64-dec-*vms*): New case.
2155         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
2156         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
2157         * config/alpha/xm-vms64.h: Likewise.
2158
2159         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
2160         (alpha_write_linkage): Test for null alpha_links.
2161         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
2162         (vms_section_type_flags, vms_asm_named_section): Handle them.
2163
2164 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
2165
2166         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
2167         (override_option): Set ix86_fpmath.
2168         * i386.h (MASK_MIX_SSE_I387): Remove.
2169         (TARGET_SSE_MATH): New.
2170         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
2171         (TARGET_SWITCHES): Remove "mix-sse-i387".
2172         (fpmath_unit): New enum.
2173         (ix86_fpmath, ix86_fpmath_string): Declare.
2174         * i386.md (swapsf): Fix condition.
2175         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
2176         (fp_?f_*_nosse): New.
2177         (fp_*): Use TARGET_SSE_MATH.
2178         * invoke.texi (-mfpmath): Document.
2179         (-msse2): Add.
2180
2181 2001-12-14  Jason Merrill  <jason@redhat.com>
2182
2183         * dwarf2out.c (output_die): Print the string in the comment for
2184         a DW_FORM_strp.
2185
2186 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
2187
2188         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
2189         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
2190         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
2191         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
2192
2193 2001-12-13  Richard Henderson  <rth@redhat.com>
2194
2195         * regrename.c (kill_value_regno): Simplify chain removal.
2196         (kill_value): Kill all of HARD_REGNO_NREGS.
2197         (kill_set_value): Use kill_value not kill_value_regno.
2198         (kill_autoinc_value): Likewise.
2199         (copyprop_hardreg_forward): Don't collect refresh_blocks.
2200         Call delete_noop_moves.
2201
2202 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
2203
2204         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
2205         for the mode attribute.
2206         (handle_mode_attribute): Handle types, not decls.
2207
2208 2001-12-13  Jason Merrill  <jason@redhat.com>
2209
2210         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
2211
2212 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
2213
2214         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
2215         constraint to base register.
2216         (eh_set_lr_si): Same.
2217
2218 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
2219
2220         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
2221         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
2222         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
2223
2224 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2225
2226         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
2227         warning and reformat comments.
2228         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
2229         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
2230         if overflow.
2231
2232 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
2233
2234         * config/rs6000/rs6000.c (rs6000_override_options): Add
2235         SUBSUBTARGET_OVERRIDE_OPTIONS.
2236
2237         * config/rs6000/eabialtivec.h: New file.
2238
2239         * config/rs6000/linuxaltivec.h: New file.
2240
2241         * config.gcc: Add powerpc-*-eabialtivec and
2242         powerpc-*-linux-gnualtivec.
2243
2244 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2245
2246         * toplev.c (process_options, parse_options_and_default_flags):
2247         Set flag_no_inline before the post_options hook.
2248
2249 2001-12-13  Richard Henderson  <rth@redhat.com>
2250
2251         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
2252         is false.
2253
2254 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
2255
2256         * collect2.c (COLLECT_SHARED_INIT_FUNC)
2257         (COLLECT_SHARD_FINI_FUNC): Define default values.
2258         (write_c_file_stat): Use them to call construtor and destructor
2259         functions in shared libraries.
2260         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
2261         (COLLECT_SHARD_FINI_FUNC): Document them.
2262         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
2263         (COLLECT_SHARD_FINI_FUNC): Define.
2264
2265         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
2266         shared library.  Pass -shared through to the linker.
2267         * config/arm/netbsd.h (LINK_SPEC): Likewise.
2268
2269         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
2270         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
2271         (SHLIB_INSTALL): Define.
2272
2273 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
2274
2275         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
2276         the same way as we handle SYMBOL_REFS.
2277
2278 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2279
2280         * loop.c (remove_constant_addition): Fix prototype and whitespace.
2281         (emit_prefetch_instructions): Remove warnings and whitespace
2282         changes.
2283
2284 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
2285
2286         * config/alpha/vms-cc.c (preprocess_args): Fix forward
2287         declaration.
2288
2289 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
2290
2291         * predict.c (estimate_probability): Reorganize opcode heuristics.
2292         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
2293         PRED_FPOPCODE): New.
2294
2295         * i386.c (override_options): Recognize various CPU variants and set
2296         SSE/MMX/3dNOW flags accordingly.
2297         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
2298         MASK_3DNOW_A_SET): New.
2299         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
2300         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
2301         (MASK_*): Renumber.
2302         (TARGET_FLAGS): Use new masks.
2303         (CPP_CPU_SPECS): Recognize new CPU variants.
2304         * invoke.texi (-mcpu): Update documentation.
2305
2306         * flags.h (flag_prefetch_loop_arrays): Declare.
2307         * loop.h (LOOP_PREFETCH): Define new constant.
2308         * loop.c (strength_reduce): Call emit_prefetch_instructions.
2309         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
2310         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
2311         constants.
2312         (check_store_data): New structure.
2313         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
2314         New functions.
2315         * toplev.c: Include insn-flags.h.
2316         (flag_prefetch_loop_arrays): New global variable.
2317         (lang_independent_option): Add -fprefetch-loop-arrays.
2318         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
2319         is set.
2320         * Makefile.in (toplev.c): Depend on insn-flags.h.
2321         * invoke.texi (-fprefetch-loop-arrays): Document.
2322
2323         * predict.c (estimate_probability): Distribute the loop exit
2324         probability according to number of exit edges.
2325
2326         * cfgcleanup.c (insns_match_p): Break out from ...;
2327         (flow_find_cross_jump): ... here;
2328         (outgoing_edges_match): Add parameter MODE; attempt to match everything
2329         except for tablejumps.
2330         (try_crossjump_to_edge): Accept complex edges.
2331         (try_crossjump_bb): Likewise.
2332
2333 2001-11-29  Corey Minyard <minyard@acm.org>
2334
2335         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
2336         instead of plus_constant.
2337         * simplify-rtx.c (neg_const_int): New.
2338         (simplify_gen_binary, simplify_plus_minus): Use it.
2339
2340 2001-12-12  Roger Sayle  <roger@eyesopen.com>
2341
2342         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
2343         expand_builtin_strcpy): Additional arguments TARGET and MODE.
2344         (expand_builtin_bzero, expand_builtin_strcpy,
2345         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
2346         TARGET and MODE parameters to the above functions.
2347         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
2348         case where the LEN parameter is constant zero.
2349         (expand_builtin_memcmp): No longer conditional on
2350         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
2351         the cases where len is either constant zero or one.
2352         Optimize to call to memcpy, even if the memcpy isn't inlined.
2353         (expand_builtin_strncpy): Optimize to call memcpy, even if the
2354         memcpy isn't inlined.
2355         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
2356         to optimize to a call to memcmp.
2357         (expand_builtin): expand_builtin_memcmp can always be called,
2358         and pass the required parameters to expand_builtin_memcmp,
2359         expand_builtin_memset, expand_builtin_memcpy and
2360         expand_builtin_strcpy.
2361
2362 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
2363
2364         * config.gcc (arm-*-freebsd*): Add target.
2365         * config/arm/freebsd.h: New file.
2366         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
2367         (CPP_SPEC): #undef before defining.
2368         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
2369         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
2370         -Amachine=arm.
2371         * config/arm/linux-elf.h: Likewise.
2372         * config/arm/netbsd.h: Likewise.
2373         * config/arm/riscix.h: Likewise.
2374         * config/arm/riscix1-1.h: Likewise.
2375         * config/arm/semiaof.h: Likewise.
2376
2377 2001-12-12  Richard Henderson  <rth@redhat.com>
2378
2379         * regrename.c (copyprop_hardreg_forward): New optimization.
2380         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
2381         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
2382         replace_oldest_value_reg, replace_oldest_value_addr,
2383         replace_oldest_value_mem, copyprop_hardreg_forward_1,
2384         debug_value_data, validate_value_data): New.
2385         * rtl.h (copyprop_hardreg_forward): Declare.
2386         * toplev.c (flag_cprop_registers): New.
2387         (f_options): Add -fcprop-registers
2388         (rest_of_compilation): Invoke it.
2389         (parse_options_and_default_flags): Set it at -O1.
2390         * doc/invoke.texi: Document it.
2391
2392 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
2393
2394         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
2395         (DEBUG_RANGES_SECTION_LABEL): Define.
2396         (ranges_section_label): Add.
2397         (add_AT_range_list): New.
2398         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
2399         (output_loc_list): Location expression length is always 2-byte.
2400         (output_die): Handle dw_val_class_range_list.
2401         (gen_lexical_block_die): Call add_AT_range_list.
2402         (dwarf2out_init): Initialize ranges_section_label.
2403         (dwarf2out_finish): Emit ranges_section_label.
2404
2405 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
2406
2407         * c-typeck.c (digest_init): Allow initializing
2408         static storage duration objects with compound literals.
2409         * doc/extend.texi (Compound literals): Document the extension.
2410
2411 2001-12-12  Richard Henderson  <rth@redhat.com>
2412
2413         * emit-rtl.c (adjust_address_1): Always copy address to avoid
2414         shared rtl.
2415
2416 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
2417
2418         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
2419         to avoid overflow.
2420
2421 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
2422
2423         * cppfiles.c (read_include_file): Set buffer size properly when
2424         file is shorter than expected.
2425
2426 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2427
2428         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
2429         enumeral types - encode them using 'i'.
2430
2431 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
2432
2433         * doc/extend.texi (Deprecated Features): Deprecate implicit
2434         typename. Document that named return and initializer lists are now
2435         removed.
2436
2437 2001-12-11  Roger Sayle <roger@eyesopen.com>
2438
2439         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
2440         compiler warning about enumeration values not being handled.
2441
2442 2001-12-11  Momchil Velikov  <velco@fadata.bg>
2443
2444         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
2445         shifts.
2446
2447 2001-12-11  Richard Henderson  <rth@redhat.com>
2448
2449         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
2450         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
2451         * config/alpha/alpha.md (prefetch): New.
2452
2453 2001-12-11  Richard Henderson  <rth@redhat.com>
2454
2455         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
2456         if C has only low bits set and doesn't intersect with X or Y.
2457
2458 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
2459
2460         * basic-block.h (flow_preorder_transversal_compute): Declare.
2461         * cfganal.c (flow_preorder_transversal_compute): Implement.
2462
2463 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
2464
2465         * cfganal.c (flow_depth_first_order_compute): Always
2466         increment dfsnum.
2467
2468 2001-11-30 Alan Matsuoka <alanm@redhat.com>
2469
2470         * combine.c (combine_simplify_rtx) : Can't simplify
2471         cases that use mode class MODE_CC.
2472
2473 2001-12-11  Richard Henderson  <rth@redhat.com>
2474
2475         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
2476         which there is no divide expander.
2477
2478 2001-12-11  Richard Henderson  <rth@redhat.com>
2479
2480         * except.c (sjlj_find_directly_reachable_regions): Don't
2481         consider RNL_BLOCKED a directly reachable region.
2482         (sjlj_assign_call_site_values): Trust directly_reachable.
2483         (sjlj_emit_dispatch_table): Likewise.
2484
2485 2001-12-11  Richard Henderson  <rth@redhat.com>
2486
2487         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
2488         we represent the address load's dependency on the gp.
2489         (divmoddi_internal_er): Likewise.
2490         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
2491
2492 2001-12-11  Richard Henderson  <rth@redhat.com>
2493
2494         * emit-rtl.c (widen_memory_access): New.
2495         * expr.h (widen_memory_access): Declare it.
2496         * config/alpha/alpha.c (get_aligned_mem): Use it.
2497
2498 2001-12-11  Richard Henderson  <rth@redhat.com>
2499
2500         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
2501         simplification above out of range check.
2502
2503 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
2504
2505         * config/sparc/sparc.md (prefetch): New.
2506
2507 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2508
2509         * output.h (regno_uninitialized): Make argument unsigned.
2510
2511         * flow.c (regno_uninitialized): Make regno unsigned.
2512
2513 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2514
2515         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
2516         * config/cris/cris.h (ENDFILE_SPEC): Define.
2517         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
2518         * config/pa/elf.h: Likewise.
2519
2520 2001-12-11  Richard Henderson  <rth@redhat.com>
2521
2522         * objc/objc-act.c (build_string_class_template): New.
2523         (build_objc_string_object): Call it.
2524
2525 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
2526
2527         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2528         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2529         * calls.c (store_unaligned_arguments_into_pseudos): Check
2530         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
2531         are passed/returned.
2532         * expr.c (move_block_from_reg): Ditto.
2533         (move_block_from_reg): Ditto.
2534         (copy_blkmode_from_reg): Ditto.
2535         * stmt.c (expand_return): Ditto.
2536         * stor-layout.c (compute_record_mode): If
2537         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
2538         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
2539         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
2540         so that Structures of one field are still treated as structures.
2541         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
2542         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
2543         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
2544         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
2545         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
2546         to special case handling of structure padding.
2547
2548 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
2549
2550         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
2551         (may_trap_exp): Stores only are risk if they trap, too, not just
2552         if code == MEM.
2553
2554 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2555
2556         * flow.c (find_regno_partial): Indent properly.  Add a default to
2557         switch.
2558
2559 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2560
2561         * c-common.c (combine_strings): Complain if concatenating
2562         __FUNCTION__.
2563         * c-parse.in (yylexname): Flag artificial strings.
2564         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
2565 doc:
2566         * extend.texi: Update.
2567
2568 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2569
2570         * c-common.c (type_for_mode): Handle unsigned vectors.
2571         (type_for_mode): Remove redundant calls to TYPE_MODE.
2572
2573         * tree.c (make_vector): New.
2574         (build_common_tree_nodes_2): Use make_vector for vector types.
2575         Add unsigned vector types.
2576
2577         * tree.h (tree_index): Add unsigned types for vectors.
2578         (unsigned_V16QI_type_node): New.
2579         (unsigned_V4SI_type_node): New.
2580         (unsigned_V8QI_type_node): New.
2581         (unsigned_V8HI_type_node): New.
2582         (unsigned_V4HI_type_node): New.
2583         (unsigned_V2SI_type_node): New.
2584
2585 2001-12-11  Stan Shebs  <shebs@apple.com>
2586
2587         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
2588         test of class names.
2589
2590 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2591
2592         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
2593         cpu configuration headers.
2594         * config/h8300/elf.h: Include dbxelf.h.
2595         * config/m68k/linux.h: Likewise.
2596         * config/m68k/m68020-elf.h: Likewise.
2597         * config/m68k/m68kv4.h: Likewise.
2598         * config/sh/elf.h: Likewise.
2599         * config/m68k/m68kemb.h: Add comment about the its purpose.
2600
2601 2001-12-11  Richard Henderson  <rth@redhat.com>
2602
2603         * objc/objc-act.c (build_constructor): Cast initializer values
2604         to the proper field types.
2605
2606 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
2607
2608         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
2609
2610 2001-12-10  Roger Sayle <roger@eyesopen.com>
2611
2612         * builtins.c (expand_builtin): Use a switch statement to list
2613         those functions not expanded without optimizations, instead of a
2614         series of equality tests.
2615
2616 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2617
2618         * config/alpha/vms.h (LIB_SPEC): Define.
2619         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
2620
2621         * libgcc2.c (_bb): Remove ctime declaration.
2622
2623         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
2624         that works if LN_S = cp.
2625
2626         * config/alpha/x-vms (version): Change "." to "_".
2627
2628         * configure.in: Hardcode that vfork works on VMS host.
2629         * configure: Regenerated.
2630
2631 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
2632
2633         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
2634         unless do_obj true.
2635         (process_command): Modify calls to convert_filename.
2636
2637 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2638
2639         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
2640
2641 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
2642
2643         * combine.c (known_cond): Check mode of each operand to determine
2644         if COND is comparing floating point values.
2645
2646 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
2647
2648         * rs6000.h (processor_type): Add PPC405.
2649         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
2650         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
2651         rios1, rs64, and ppc630 processors.
2652         * rs6000.c (processor_target_table): Add PPC405.
2653
2654 2001-12-10  Richard Henderson  <rth@redhat.com>
2655
2656         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
2657         instead of hardcoding subregs into the _be and _le patterns.
2658
2659 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
2660
2661         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
2662
2663 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2664
2665         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
2666         what insn does.
2667
2668 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2669
2670         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
2671         copyright notice formerly conditioned on @ifinfo on @ifnottex
2672         instead.
2673
2674 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2675
2676         * vmsdbgout.c (lookup_filename): Remove warning.
2677
2678 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2679
2680         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
2681
2682         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
2683         (exeext, target_alias, prefix, local_prefix): Define.
2684         * config/alpha/x-vms (USE_COLLECT2): Make empty.
2685         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
2686         file specifications. Remove ".".
2687         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
2688         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
2689
2690 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
2691
2692         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
2693
2694 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
2695
2696         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
2697         Add rules for building [vp]crt0.o
2698         * config/alpha/vms.h (START_FILE_SPEC): Define.
2699         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
2700         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
2701         * doc/invoke.texi: Document special Alpha/VMS options.
2702
2703 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2704
2705         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
2706         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
2707         not GNUC.
2708
2709 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2710                           Douglas B. Rupp  <rupp@gnat.com>
2711
2712         * tree.c (append_random_char): Conditionalize INO for VMS.
2713
2714 2001-12-09  Richard Henderson  <rth@redhat.com>
2715
2716         * cfgcleanup.c (label_is_jump_target_p): New function.
2717         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
2718         target of a JUMP_INSN from the preceding block.
2719
2720 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
2721
2722         * vmsdbgout.c (lookup_filename): Assign null string instead
2723         of null pointer to fnam.
2724
2725 2001-12-09  Richard Henderson  <rth@redhat.com>
2726
2727         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
2728         immediately after a call; insert nops before a call.
2729
2730 2001-12-09  Richard Henderson  <rth@redhat.com>
2731
2732         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
2733         not FUNCTION_BOUNDARY.
2734         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
2735         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
2736         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
2737
2738 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
2739
2740         * config/mmix/mmix.c (mmix_function_block_profiler,
2741         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2742         unused functions.
2743         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
2744         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2745         prototypes.
2746
2747         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
2748         Delete obsoleted macros.
2749
2750 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2751
2752         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
2753         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
2754
2755         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
2756         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
2757         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
2758         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
2759         config/i370/i370.c, config/i386/i386.c,
2760         config/i386/i386-interix.h, config/i386/i386.md,
2761         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
2762         config/m32r/m32r-protos.h, config/mcore/mcore.h,
2763         config/rs6000/rs6000.h, config/sparc/linux64.h,
2764         config/sparc/sparc.c, config/v850/v850-protos.h,
2765         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
2766         spelling errors.
2767
2768 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
2769
2770         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
2771         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
2772
2773         * config/rs6000/rs6000.c: Ditto.
2774
2775         * config/rs6000/rs6000.md: Ditto.
2776
2777 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2778
2779         * 1750a.md: Add default case in switch.
2780         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2781         if-else statement.
2782         * dsp16xx.c (print_operand_address): Likewise.
2783         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
2784         * ia64.md: Add missing braces.
2785         * rs6000-protos.h (s8bit_cint_operand): Prototype.
2786         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2787         if-else statement.
2788         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
2789         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
2790         * dbxout.c (dbxout_source_file): Move a variable into the scope
2791         where it is used.
2792         * final.c (profile_function): Mark parameter with
2793         ATTRIBUTE_UNUSED.
2794         * genemit.c (gen_expand): Likewise for generated file.
2795         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
2796
2797         * vmsdbg.h: Delete spurious close-comment.
2798         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
2799         * vmsdbgout.c (write_modbeg): Define return type.
2800
2801         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
2802         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2803         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2804         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
2805         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
2806         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
2807         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
2808
2809 2001-12-08  Tom Rix  <trix@redhat.com>
2810
2811         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
2812         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
2813         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
2814         for powerpc64.
2815         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
2816         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
2817         * config/rs6000/rs6000.c (expand_block_move): Do not use
2818         gen_movstrsi_2reg and powerpc64.
2819
2820 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
2821
2822         * c-common.h (rid): Add RID_CHOOSE_EXPR and
2823         RID_TYPES_COMPATIBLE_P.
2824
2825         * c-parse.in (reswords): Add __builtin_choose_expr.
2826         Add __builtin_types_compatible_p.
2827         Add CHOOSE_EXPR token.
2828         Add TYPES_COMPATIBLE_P token.
2829         Add production for CHOOSE_EXPR.
2830         Add production for TYPES_COMPATIBLE_P.
2831
2832         * doc/extend.texi (__builtin_choose_expr): Add documentation.
2833         (__builtin_types_compatible_p): Likewise.
2834
2835 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
2836
2837         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2838         to unions.
2839
2840 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2841
2842         * c-parse.in: Take string literals in assembler constructs,
2843         not expressions.
2844         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
2845         check the strings are STRING_CSTs.
2846
2847 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2848
2849         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
2850         using combine_strings to do the concatenation.
2851         * c-parse.in: Replace uses of the string non-terminal with STRING.
2852         Don't attempt string concatenation.
2853         (OBJC_STRING): New terminal.
2854         (string): Remove non-terminal.
2855         (_yylex): Call combine_strings on function names.  Generate
2856         OBJC_STRING terminals; don't pass '@' on to yacc.
2857         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
2858         (build_asm_stmt): Similarly.
2859
2860 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2861
2862         * rtlanal.c (get_jump_table_offset): Delete unused variable.
2863
2864 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2865
2866         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
2867         (prefetch): Rewrite using PREFETCH RTL primitive.
2868         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
2869         * arm.c (arm_init_builtins): Don't initialize a builtin for
2870         __builtin_prefetch here.
2871         (arm_expand_builtin): Don't expand __builtin_prefetch here.
2872
2873 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2874
2875         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
2876         in test for a subreg.
2877
2878 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2879
2880         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
2881         strings.
2882
2883 2001-12-07  Richard Henderson  <rth@redhat.com>
2884
2885         * doc/extend.texi: Fix typo last change.
2886
2887         * c-decl.c (c_language): Remove duplicate.
2888
2889 2001-12-07  Dale Johannesen  <dalej@apple.com>
2890
2891         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
2892         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
2893         specific codegen, eliminate a register copy.
2894         (print_operand_address): Add support for Darwin's lo16(constant)
2895         syntax.
2896         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
2897         generation of addresses within very large data objects.
2898         (s8bit_cint_operand):  New.
2899         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
2900         Move "mtjmpr" to correct functional unit for 750/7400/7450.
2901         Add imul2 and imul3 insn types for multiplication by 16- and
2902         8-bit constants.
2903         Change tablejump patterns to strongly discourage using LR
2904         rather than CTR.
2905         Add %lo16 patterns for Darwin loads and stores.
2906
2907 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2908
2909         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
2910
2911 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
2912
2913         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
2914         with %sp because it can cause the delayed instruction to load
2915         below the stack.
2916
2917 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2918
2919         * alpha.c (alpha_expand_unaligned_store,
2920         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
2921         call to immed_double_const.
2922
2923 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
2924
2925         * doc/extend.texi (Variable Attributes): Document vector_size.
2926
2927         * attribs.c (c_common_attribute_table): Add vector_size.
2928         (handle_vector_size_attribute): New.
2929         (vector_size_helper): New.
2930         (decl_attributes): Relayout the decl after calculating attribs.
2931
2932 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2933
2934         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
2935         description for Trouble section.
2936         * doc/install-old.texi: Adjust for inclusion as chapter of new
2937         installation manual.
2938         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
2939         Adjust to include old installation chapter as chapter of new
2940         installation manual.
2941
2942 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
2943
2944         * rtl.h (get_jump_table_offset): Declare.
2945         * rtlanal.c (get_jump_table_offset): Implement.
2946
2947 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2948
2949         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
2950         Deleted; were used only by BB profiler code.
2951         (sbb_head, sbb_tail, sbb_label_num): Likewise.
2952         (end_final): Delete now-unused vars I, PTR, and SPTR.
2953
2954         * expr.c (store_field): Remove warning.
2955         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
2956         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
2957         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
2958         divisor constant power of 2.
2959         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
2960
2961 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2962
2963         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
2964         shifting.
2965
2966 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2967
2968         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
2969         (DWARF_FRAME_REGISTERS): Delete.
2970
2971 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
2972
2973         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
2974         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
2975         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
2976         with defaults for read prefetch with high degree of locality.
2977         * doc/extend.texi (__builtin_prefetch): Update documentation.
2978         * doc/md.texi (prefetch): Add documentation.
2979
2980 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2981
2982         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
2983         UNIX V5.1A stdio.h.
2984         * fixinc/fixincl.x: Regenerate.
2985         Fixes PR libf2c/4826.
2986
2987 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2988             Richard Henderson  <rth@redhat.com>
2989
2990         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
2991         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
2992
2993         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
2994         to PRE_GCC3_DWARF_FRAME_REGISTERS.
2995         (frame_state): Same.
2996         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
2997
2998 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2999
3000         * langhooks.c (lhd_staticp): Mark parameter with
3001         ATTRIBUTE_UNUSED.
3002
3003 2001-12-06  H.J. Lu <hjl@gnu.org>
3004
3005         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
3006         reduce noise.
3007         (.po.pox): Likewise.
3008         (o/$(PACKAGE).pot): Likewise.
3009
3010 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
3011
3012         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
3013         * tree-inline.c (expand_call_inline): ... here.
3014
3015 2001-12-06  H.J. Lu <hjl@gnu.org>
3016
3017         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
3018         (.po.pox): Likewise.
3019         (o/$(PACKAGE).pot): Likewise.
3020
3021 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
3022
3023         * config.gcc: Include dbxelf.h before elfos.h.
3024         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
3025
3026 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
3027
3028         * cppfiles.c (open_file): If we've opened a directory by
3029         mistake, close it.
3030         (find_include_file): Avoid turning / into // or // into ///.
3031
3032 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
3033
3034         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
3035         (STRUCT_VALUE_REGNUM): Restore definition.
3036
3037 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
3038
3039         * flow.c (find_regno_partial): Return register, not the expression
3040         the register is in.
3041
3042 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3043
3044         * function.c (handle_epilogue_set): Check for FP setting case when
3045         SP is set from FP in same insn.
3046
3047 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
3048
3049         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
3050         RTX when calling alter_subreg().
3051         (store_multiple_sequence): Pass pointer to RTX when calling
3052         alter_subreg().
3053
3054 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3055
3056         * function.c (assing_parms): Fix typo in last change.
3057         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
3058         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
3059         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3060         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
3061
3062 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
3063
3064         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
3065         correct code selecting section.
3066
3067 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
3068
3069         * final.c (count_basic_block, add_bb, add_bb_string):
3070         Kill.
3071         (end_final, final_start_function, final, final_scan_insn,
3072         leaf_function_p): Kill BB profiler related code.
3073         * flags.h (profile_block_flag): Kill.
3074         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
3075         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
3076         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
3077         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
3078         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
3079         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
3080         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
3081         __bb_init_trace_func): Kill.
3082         * toplev.c (profile_block_flag): Kill.
3083         (indepdendent_decode_option, process_options): Kill -a related code.
3084         * alpha.c (direct_call_operand): Likewise.
3085         * arm.c (arm_expand_prologue, thumb_expand_prologue,
3086         thumb_expand_epilogue): Likewise.
3087         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
3088         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3089         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3090         MACHINE_STATE_RESTORE): Kill.
3091         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3092         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3093         MACHINE_STATE_RESTORE): Kill.
3094         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
3095         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
3096         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
3097         code.
3098         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
3099         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3100         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3101         MACHINE_STATE_RESTORE): Kill.
3102         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
3103         * i960.c (i960_output_function_prologue): Kill BB profiler related
3104         code.
3105         * ia64.c (ia64_compute_frame_size): Likewise.
3106         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3107         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3108         MACHINE_STATE_RESTORE): Kill.
3109         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
3110         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3111         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3112         MACHINE_STATE_RESTORE): Kill.
3113         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
3114         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3115         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3116         MACHINE_STATE_RESTORE): Kill.
3117         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
3118         Kill BB profiler related code.
3119         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3120         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3121         MACHINE_STATE_RESTORE): Kill.
3122         * mips.c (mips_expand_prologue): Kill BB profiler related code.
3123         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3124         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3125         MACHINE_STATE_RESTORE): Kill.
3126         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
3127         * s960.c (s390_function_prologue): Kill BB profiler related code.
3128         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3129         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3130         MACHINE_STATE_RESTORE): Kill.
3131         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3132         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3133         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3134         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3135         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
3136         sparc_nonflat_function_epilogue): Kill BB profiler related code.
3137         (sparc_function_block_profiler, sparc_block_profiler,
3138         sparc_function_block_profiler_exit): Kill.
3139         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
3140         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3141         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3142         MACHINE_STATE_RESTORE): Kill.
3143         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3144         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3145         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3146         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3147         MACHINE_STATE_RESTORE): Kill.
3148         * doc/invoke.texi: Kill documentation of -a and -ax.
3149         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3150         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3151         MACHINE_STATE_RESTORE): Kill.
3152
3153 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
3154
3155         * doc/rtl.texi: Use a table to display RTL format characters.
3156
3157 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
3158
3159         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
3160
3161 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3162
3163         * function.c (keep_stack_depressed): Check global_live_at_start
3164         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
3165
3166 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
3167
3168         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
3169         as set by the generic FreeBSD configure framework.
3170
3171 2001-12-04  Jason Merrill  <jason@redhat.com>
3172
3173         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3174         start_inlining, end_inlining.
3175         * tree-inline.c (expand_call_inline): Call them.
3176         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
3177         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
3178         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
3179         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
3180         (lhd_tree_inlining_end_inlining): New fn.
3181
3182 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3183
3184         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
3185         * c-common.h (shadow_warning): New.
3186         * c-decl.c: Include c-common.h.
3187         (warn_if_shadowing): New, broken out of pushdecl.
3188         (pushdecl): Use warn_if_shadowing.
3189         (store_parm_decls): Prevent duplicate -Wshadow warnings.
3190
3191 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
3192
3193         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
3194         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
3195         (LIB_SPEC): Remove.
3196
3197 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3198
3199         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
3200         (QUAL_UNION_TYPE): New type.
3201
3202         * varasm.c (output_constant, case ERROR_MARK): New case.
3203
3204         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
3205         (c_com): Delete its reference.
3206         * builtins.c: Delete memory checking code.
3207         * calls.c, expr.c, function.c, stmt.c: Likewise.
3208         * builtins.c (expand_builtin_arg_info): Remove reference to
3209         EXPAND_MEMORY_USE_* modifiers.
3210         * explow.c (expr_size): Likewise.
3211         * expr.c (expand_expr, expand_increment): Likewise.
3212         * expr.h (ARGS_SIZE_RTX): Likewise.
3213         * function.c (assign_parms, expand_pending_sizeso): Likewise.
3214         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
3215         * expr.c (in_check_memory_usage): Delete.
3216         (get_push_address, get_memory_usage_from_modifier): Delete.
3217         (expand_assigment): Use EXPAND_WRITE on destination.
3218         (expand_expr): Delete ro_modifier.
3219         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
3220         add EXPAND_WRITE.
3221         (memory_use_mode): Delete.
3222         * flags.h (flag_check_memory_usage): Deleted.
3223         (flag_prefix_function_name): Likewise.
3224         * function.c (expand_function_start): Don't set
3225         current_function_check_memory_usage.
3226         * function.h (check_memory_usage): Delete.
3227         * libfuncs.h, optabs.c: Delete chkr_* stuff.
3228         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
3229         EXPAND_WRITE.
3230         * toplev.c (flag_check_memory_usage): Deleted.
3231         (flag_prefix_function_name): Likewise.
3232         (f_options, process_options): Delete references to above.
3233         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
3234         * varasm.c (CHKR_PREFIX): Deleted.
3235         (make_decl_rtl): Remove flag_prefix_function_name handling.
3236         (assemble_name): Likewise.
3237         * doc/extend.texi: Remove no_check_memory_usage attribute.
3238         * doc/invoke.texi: Remove -fcheck-memory-usage
3239         and -fprefix-function-name.
3240
3241 2001-12-05  Andreas Schwab  <schwab@suse.de>
3242
3243         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
3244         from autoconf.
3245
3246 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
3247
3248         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
3249
3250 2001-12-05  William Cohen  <wcohen@redhat.com>
3251
3252         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
3253         instruction.
3254
3255 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
3256
3257         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
3258         builtins.
3259
3260         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
3261         better reflect reality (change from Apple's tree).
3262         Add more of altivec instructions.
3263         Add ftruncv4sf2 pattern.
3264         Remove more unspecs (vector merge instructions, etc).
3265
3266         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
3267         builtins.
3268         (bdesc_1arg): New, for 1 argument altivec builtins.
3269         (altivec_expand_builtin): Handle unary and ternary ops.
3270         (altivec_init_builtins): Ditto.
3271
3272 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3273
3274         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
3275         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
3276
3277 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3278
3279         * gcse.c (store_killed_in_insn): Consider pure calls
3280         as potential store killers in addition to normal calls.
3281
3282 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3283
3284         * expr.c (expand_expr): When checking promoted value, use
3285         DECL_MODE (exp) and not mode.
3286
3287 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3288
3289         * c-typeck.c (output_init_element): Call digest_init
3290         just once, not in each if branch and check its return value for
3291         error_mark_node.
3292
3293 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3294
3295         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
3296         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
3297         (finish_struct): Break the loop if n_incomplete went to 0.
3298         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
3299
3300 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
3301
3302         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
3303
3304 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3305                           Douglas B. Rupp  <rupp@gnat.com>
3306
3307         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
3308         * doc/invoke.texi: Add -gvms.
3309         * doc/passes.texi: Add mention of vmsdbgout.c.
3310         * doc/tm.texi: Document VMS debugging output.
3311
3312 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3313
3314         * function.h (tree, rtx): Remove no-longer-needed definitions.
3315
3316         * function.c (keep_stack_depressed): Refine check for register
3317         clobbered over call.
3318
3319         * expr.c (store_expr): When copying string constant into array,
3320         use functions that update memrefs instead of computations on
3321         addresses to better track MEMs.  Also properly handle 32/64 pointers.
3322         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
3323         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
3324
3325         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
3326         underneath COMPONENT_REFs.
3327         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
3328
3329 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3330
3331         * toplev.c (display_target_options): Don't print twice.
3332
3333 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
3334
3335         * emit-rtl.c (set_unique_reg_note): Don't set
3336         a REG_EQUAL or REG_EQUIV note if multiple sets
3337         are present.
3338
3339 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3340
3341         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
3342         CASE_DROPS_THROUGH.
3343
3344 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
3345
3346         * rtl.h (initialize_uninitialized_subregs): New prototype.
3347         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
3348         when optimization is on.
3349         * flow.c (find_regno_partial): Find subregs within an expression.
3350         (initialize_uninitialized_subregs): Initialize live on entry registers
3351         which are used in subreg expressions.
3352
3353 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
3354
3355         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
3356
3357 2001-12-04  DJ Delorie  <dj@redhat.com>
3358
3359         * fixinc/fixincl.c (initialize): Avoid problemsome macro
3360         parameter names (PR 3388).
3361
3362 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
3363
3364         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
3365         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
3366
3367 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3368
3369         * c-common.def (COMPOUND_LITERAL_EXPR): New.
3370         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
3371         (c_staticp): New function.
3372         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
3373         (c_staticp): Declare.
3374         * c-typeck.c (default_function_array_conversion, build_unary_op):
3375         Don't handle CONSTRUCTOR specially.
3376         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
3377         * c-decl.c (build_compound_literal): New function.
3378         * c-tree.h (build_compound_literal): Declare.
3379         * c-parse.in (primary): Use build_compound_literal.
3380         * c-lang.c (LANG_HOOKS_STATICP): Define.
3381         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
3382         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
3383         * doc/extend.texi: Update documentation of compound literals.
3384         Fixes PR c/4787.
3385
3386 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3387
3388         * langhooks.h (struct lang_hooks): Add staticp.
3389         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
3390         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
3391         * langhooks.c (lhd_staticp): New function.
3392         * tree.c (staticp): Call lang_hooks.staticp for language-specific
3393         tree codes.
3394
3395 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3396
3397         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
3398         * gcc.c (process_command): Ensure the cpp driver sees
3399         --help and --target-help, and that the help is printed
3400         exactly once.
3401
3402 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
3403
3404         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
3405
3406 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
3407
3408         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
3409         flag_strict_aliasing.  Use separate assignment statements.
3410
3411 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
3412
3413         * build-make, cross-make: Delete file.
3414         * configure.in: Set and substitute CROSS, ALL,
3415         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
3416         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
3417         whether build == host and host == target.  Do not
3418         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
3419         AC_SUBST cross_defines or extra_c_flags.
3420         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
3421         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
3422         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
3423         partially or completely with autoconf-substituted @variable@
3424         notation.
3425         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
3426         @build_overrides@, @extra_c_flags@, all.build, install-build,
3427         install-cross-rest, install-float-h-cross): Deleted.
3428         (install-normal): Rename to install.  Delete old "install"
3429         indirection rule.
3430
3431 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
3432
3433         * stmt.c (expand_return): Clear destination instead of clobbering it
3434         when setting a return value via bitsets.
3435
3436 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
3437
3438         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
3439         it has DECL_SAVED_TREE.
3440
3441         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
3442         is in a different binding level, get its abstract origin to be
3443         olddecl.
3444         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
3445         check earlier.
3446         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
3447         DECL_INITIAL is NULL.
3448
3449 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
3450
3451         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
3452         Return correct value if one of the subexpressions was optimized to
3453         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
3454         (and_reg_cond): Similarly.
3455
3456 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
3457
3458         * function.c (assign_parms): Set last_named only for last named
3459         argument.
3460
3461 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3462
3463         * doc/install.texi: Use the GFDL.  Include years from old install
3464         manual in copyright notice.  Include copyright and GFDL notice on
3465         HTML index page.  Include usual footer on testing.html.
3466         * doc/install.texi2html: Build gfdl.html.  Use -I
3467         $SOURCEDIR/include.
3468         * doc/include/fdl.texi: Adapt for use in the install manual.
3469
3470 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3471
3472         * doc/install.texi: Document that installed native compiler for
3473         building cross compilers should be GCC 2.95 or later.
3474
3475 2001-12-03  Eric Christopher  <echristo@redhat.com>
3476
3477         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
3478         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
3479         patterns.
3480
3481 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
3482
3483         * rtl.def (PREFETCH): New rtx code.
3484         * doc/rtl.texi (PREFETCH): Add documentation.
3485         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
3486         * rtlanal.c (reg_referenced_p): Ditto.
3487         * sched-vis.c (print_exp):  Ditto.
3488         * ssa-dce.c (find_inherently_necessary):  Ditto.
3489
3490         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
3491           (PREFETCH_BLOCK): Define.
3492         * config/ia64/ia64.md (itanium_class): Add lfetch.
3493           (prefetch, prefetch_internal): New.
3494
3495         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
3496         * builtins.def (BUILT_IN_PREFETCH): New.
3497         * builtins.c (expand_builtin_expect): New.
3498           (expand_builtin): Call it.
3499         * doc/extend.texi: Document __builtin_prefetch.
3500
3501         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
3502           conflicts with new generic prefetch functionality.
3503         * config/i386/i386.c (ix86_expand_builtin): Use new name for
3504           prefetch_sse.
3505
3506 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
3507
3508         * objc/Make-lang.in: Update copyright.
3509         (OBJC_OBJS): Add objc-lang.o.
3510         (objc-lang.o): New rule.
3511         * objc/config-lang.in: Fix file description and update
3512         copyright.
3513         * objc/objc-act.c: Do not include langhooks.h and
3514         langhooks-def.h
3515         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
3516         (objc_post_options): Move to objc-lang.c.
3517         (objc_init_options): Move to objc-lang.c.
3518         (objc_init): Make non-static.
3519         (objc_decode_option): Make non-static.
3520         (HASHFUNCTION): Remove macro.
3521         (hash_func): New function.
3522         (hash_enter): Replace HASHFUNCTION with hash_func.
3523         (hash_lookup): Replace HASHFUNCTION with hash_func.
3524         (maybe_objc_tree_codes): New function.
3525         (init_objc): Move ObjC tree code initialization to
3526         maybe_objc_tree_codes().
3527         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
3528         (objc_init): New public prototype.
3529         (objc_decode_option): New public prototype.
3530         (maybe_add_objc_tree_codes): New public prototype.
3531         * objc/objc-lang.c: New file.
3532         (lang_hooks): Moved from objc-act.c.
3533         (objc_post_options): Moved from objc-act.c.
3534         (objc_init_options): Moved from objc-act.c.
3535
3536 2001-12-03  Geoff Keating  <geoffk@redhat.com>
3537
3538         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
3539         of array elements.
3540
3541 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3542
3543         PR c/4988
3544         * gcc.c (process_command): Don't add a preprocessor option for
3545         --help and --target-help; cc1 is enough.
3546
3547 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3548
3549         * c-decl.c (grokdeclarator): Use ISO word.
3550         * cppinit.c: Remove leading capital from diagnostic messages, as
3551         per GNU coding standards.
3552         * emit-rtl.c: Similarly.
3553         * final.c: Similarly.
3554         * gcc.c: Similarly.
3555         * tradcpp.c: Similarly.
3556         * config/arm/arm.c: Similarly.
3557         * config/arm/arm.h: Similarly.
3558         * config/avr/avr.c: Similarly.
3559         * config/avr/avr.h: Similarly.
3560         * config/c4x/c4x.c: Similarly.
3561         * config/cris/cris.c: Similarly.
3562         * config/cris/cris.h: Similarly.
3563         * config/d30v/d30v.c: Similarly.
3564         * config/dsp16xx/dsp16xx.c: Similarly.
3565         * config/dsp16xx/dsp16xx.h: Similarly.
3566         * config/h8300/h8300.c: Similarly.
3567         * config/i386/i386.c: Similarly.
3568         * config/i386/xm-djgpp.h: Similarly.
3569         * config/i960/i960.h: Similarly.
3570         * config/m32r/m32r.c: Similarly.
3571         * config/m68hc11/m68hc11.c: Similarly.
3572         * config/m88k/m88k.c: Similarly.
3573         * config/m88k/m88k.h: Similarly.
3574         * config/mcore/mcore.c: Similarly.
3575         * config/mcore/mcore.h: Similarly.
3576         * config/mips/mips.c: Similarly.
3577         * config/mmix/mmix.c: Similarly.
3578         * config/pa/pa.c: Similarly.
3579         * config/rs6000/rs6000.c: Similarly.
3580         * config/rs6000/sysv4.h: Similarly.
3581         * config/s390/s390.c: Similarly.
3582         * config/sparc/sparc.c: Similarly.
3583         * config/v850/v850-c.c: Similarly.
3584         * config/v850/v850.c: Similarly.
3585
3586 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
3587
3588         * rs6000.h (RETURN_IN_MEMORY): Cast result of
3589         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
3590
3591 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
3592
3593         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
3594         bit twiddling constant.
3595
3596 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
3597
3598         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
3599         call purge_dead_edges after removing.
3600         (delete_null_pointer_checks): Do not handle delete_list.
3601
3602         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
3603         (count_basic_blocks): ... here.
3604         (find_basic_blocks, find_bb_boundaries): Cleanup.
3605
3606         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
3607         overflow for types greater then 2 * HOST_WIDE_INT.
3608
3609         * reload.c (find_reloads): Update the duplicates after swapingg.
3610
3611 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3612
3613         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
3614
3615 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
3616
3617         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
3618         MASK_LONG_DOUBLE_128): Delete.
3619         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
3620         TARGET_AIX_STRUCT_RET): New flags.
3621         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
3622         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
3623         and -m(no-)svr4-struct-return.
3624         (TARGET_OPTIONS): Add entry for -mlong-double-.
3625         (rs6000_long_double_size_string, rs6000_long_double_type_size,
3626         rs6000_altivec_abi): Declare.
3627         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
3628         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
3629         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
3630         structures of size <= 8 bytes in registers.
3631         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
3632
3633         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
3634         rs6000_long_double_type_size, rs6000_altivec_abi): New
3635         globals.
3636         (rs6000_override_options): Set rs6000_long_double_type_size
3637         from rs6000_long_double_size_string, if nonzero.  Set the
3638         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
3639         not already set.
3640         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
3641         target_flags bit.
3642         (rs6000_init_builtins): This hook now takes no arguments.
3643
3644         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
3645         DRAFT_V4_STRUCT_RET to 1.
3646
3647 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3648
3649         * c-typeck.c (really_start_incremental_init, push_init_level):
3650         Avoid constructor_max_index being other than an INTEGER_CST.
3651
3652 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3653
3654         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
3655         unsigned.
3656         (ASM_GENERATE_INTERNAL_LABEL): Same.
3657         (UNIQUE_SECTION): Fix typo.
3658
3659 2001-12-02  Richard Henderson  <rth@redhat.com>
3660
3661         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
3662
3663 2001-12-02  Richard Henderson  <rth@redhat.com>
3664
3665         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
3666         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
3667         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
3668         * expr.h, final.c, reload1.c: Adjust users.
3669
3670         * alias.c (nonoverlapping_component_refs_p): New.
3671         (decl_for_component_ref, adjust_offset_for_component_ref): New.
3672         (nonoverlapping_memrefs_p): Use them.
3673         * emit-rtl.c (component_ref_for_mem_expr): New.
3674         (set_mem_attributes): Use it.
3675         (set_mem_offset): New.
3676         * expr.c (expand_assignment): Call set_mem_attributes for
3677         inner references; adjust the memory offset as needed.
3678         * print-rtl.c (print_mem_expr): New.
3679         (print_rtx): Use it.
3680
3681 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
3682
3683         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
3684
3685         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
3686         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
3687         (ASM_SPEC): Don't redefine.
3688         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
3689         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
3690         * config/alpha/vms-dwarf2.asm: New file.
3691
3692         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
3693         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
3694         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
3695         (vmsdbgout_after_prologue): New declaration.
3696         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
3697         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
3698         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
3699         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
3700         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
3701         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
3702         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
3703         Test VMS_DEBUGGING_INFO.
3704         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
3705         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
3706         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
3707         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
3708         VMS_AND_DWARF2_DEBUG.
3709         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
3710         (decode_g_option): Add "vms" to debug_type_names.
3711         (process_options): Set vmsdbg_debug_hooks if -gvms.
3712         (lang_independent_init): Emit line number for VMS unless -g0.
3713         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
3714         * vmsdbg.h, vmsdbgout.c: New files.
3715
3716 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3717
3718         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
3719
3720 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3721
3722         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
3723         * dwarf2out.c (is_cxx): Prototype.
3724         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
3725         warning.
3726         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
3727
3728 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3729
3730         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
3731
3732 2001-12-02  Geoff Keating  <geoffk@redhat.com>
3733
3734         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
3735         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
3736         rather than simplify_subreg.  Check for volatile-ness.  Check that
3737         we're not splitting one slow operation into two slow operations.
3738
3739 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3740
3741         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
3742         before shifting.
3743
3744 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3745
3746         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
3747         capital from diagnostics.
3748         * c-lex.c (cb_file_change): Similarly.
3749         * c-parse.in : Similarly.
3750         * cfgrtl.c (verify_flow_info): Similarly.
3751         * collect2.c: Similarly.
3752         * cppfiles.c (find_include_file): Similarly.
3753         * cppinit.c (cpp_handle_option): Similarly.
3754         * cpplex.c (cpp_spell_token): Similarly.
3755         * cppmain.c (do_preprocessing): Similarly.
3756         * gcc.c (translate_options, process_command, do_spec1,
3757         main, pfatal_execute): Similarly.
3758         * genattr.c (main): Similarly.
3759         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
3760         write_test_expr, main): Similarly.
3761         * gencodes.c (main): Similarly.
3762         * genconfig.c (main): Similarly.
3763         * genconstants.c (main): Similarly.
3764         * genemit.c (main): Similarly.
3765         * genextract.c (main): Similarly.
3766         * genflags.c (main): Similarly.
3767         * genopinit.c (main): Similarly.
3768         * genoutput.c (process_template, main): Similarly.
3769         * genpeep.c (main): Similarly.
3770         * genrecog.c (main): Similarly.
3771         * gensupport.c (is_predicable, identify_predicable_attribute,
3772         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
3773         * ggc-page.c (alloc_anon): Similarly.
3774         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
3775         parse_begin, parse_bend, parse_def, parse_end, parse_file,
3776         parse_stabs_common, parse_stabs, write_varray, write_object,
3777         read_seek, copy_object, main, error): Similarly.
3778         * profile.c (compute_branch_probabilities): Similarly.
3779         * reg-stack.c (check_asm_stack_operands): Similarly.
3780         * reload.c (find_reloads): Similarly.
3781         * reload1.c (spill_failure, failed_reload): Similarly.
3782         * rtl-error.c (_fatal_insn_not_found): Similarly.
3783         * toplev.c (read_integral_parameter, crash_signal,
3784         decode_f_option, set_target_switch, parse_options_and_default_flags)
3785         : Similarly.
3786         * tradcif.y (parse_number, yylex): Similarly.
3787         * tradcpp.c (main, fancy_abort): Similarly.
3788         * tree.c (tree_check_failed): Similarly.
3789         * varray.c (varray_check_failed): Similarly.
3790         * xcoffout.c (xcoff_output_standard_types): Similarly.
3791 objc:
3792         * objc-act.c (get_object_ref, lookup_and_install_protocols,
3793         build_objc_string_object, objc_declare_alias, build_ivar_chain,
3794         finish_message_expr, build_protocol_expr, is_public,
3795         start_class): Similarly.
3796
3797 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3798
3799         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
3800         trailing period from diagnostics.
3801         * c-lex.c (cb_file_change): Similarly.
3802         * cppmacro.c (check_trad_stringification): Similarly.
3803         * gcc.c (do_spec_1): Similarly.
3804         * genattr.c (main): Similarly.
3805         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
3806         * gencodes.c (main): Similarly.
3807         * genconfig.c (main): Similarly.
3808         * genconstants.c (main): Similarly.
3809         * genemit.c (main): Similarly.
3810         * genextract.c (main): Similarly.
3811         * genopinit.c (main): Similarly.
3812         * genoutput.c (main): Similarly.
3813         * genpeep.c (main): Similarly.
3814         * genrecog.c (main): Similarly.
3815         * mips-tfile.c (add_file, error): Similarly.
3816         * profile.c (init_branch_prob): Similarly.
3817         * reload1.c (spill_failure): Similarly.
3818         * stmt.c (parse_output_constraint): Similarly.
3819         * varasm.c (assemble_variable): Similarly.
3820
3821 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3822
3823         * m68k.c (init_FPA_table): Provide static prototype.
3824         * mips/abi64.h (mips_function_value): Move prototype to ...
3825         * mips-protos.h (mips_function_value): ... here.
3826         * mips.c: Include halfpic.h.
3827         * output.h (rdata_section): Prototype.
3828
3829         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3830         * m88k.c (m88k_svr3_asm_out_constructor,
3831         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
3832         !OBJECT_FORMAT_ELF.
3833         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3834         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3835         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3836
3837 2001-12-01  Geoff Keating  <geoffk@redhat.com>
3838
3839         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
3840         LO_SUM addresses less than word size are not legitimate,
3841         because they lead to invalid SUBREGs.
3842         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
3843
3844 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
3845
3846         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
3847         while scanning for multiple back edges.
3848
3849 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3850
3851         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
3852         * config/rs6000/tramp.asm: Use it.
3853
3854 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
3855
3856         * gencheck.c, gengenrtl.c: Don't define xmalloc.
3857         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
3858         xmalloc.
3859
3860 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3861
3862         * pa.c (output_ascii): Cast `p' to unsigned char.
3863
3864 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3865
3866         * config/rs6000/rs6000.c (altivec_expand_builtin): add
3867         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
3868         *_16qi,_8hi, rename existing V4SI ones to *_4si.
3869         (altivec_init_builtins): Ditto.
3870         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
3871
3872         * config/rs6000/rs6000.md: Add attribute types vecsimple,
3873         veccomplex, vecfloat, and vecperm, for altivec instructions.
3874         Modify altivec patterns to use appropriate attribute type.
3875         Modify altivec patterns to match RTL operations where appropriate
3876         (IE no unspec where we can avoid it).
3877         Add vector unit scheduling for ppc7450.
3878         Rename patterns to what they are where appropriate
3879         (altivec_vaddfp->addv4sf3, etc)
3880
3881         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
3882         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
3883
3884         * config/rs6000/sysv4.h: Add -mcpu=7450.
3885
3886         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
3887         _builtin_altivec_ld_interal function.
3888
3889 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3890
3891         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
3892         strchr, strrchr, isascii, gettimeofday.
3893         * config.in, configure: Regenerate.
3894
3895 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3896
3897         * unroll.c (unroll_loop): Correct special exit cases.
3898
3899 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
3900
3901         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
3902         accept DFmode and DImode only.
3903
3904 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3905
3906         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
3907         (STACK_DYNAMIC_OFFSET): Same.
3908
3909 2001-11-30  Richard Henderson  <rth@redhat.com>
3910
3911         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
3912
3913 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3914
3915         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
3916         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
3917         the values in call_used_registers.
3918
3919 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
3920
3921         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
3922         gthr-single.
3923
3924 2001-11-30  Jason Merrill  <jason@redhat.com>
3925
3926         * dwarf2out.c (is_cxx): New fn.
3927         (add_data_member_location_attribute): Check it.
3928         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
3929
3930 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3931
3932         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
3933
3934 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3935
3936         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
3937         MODE_VECTOR_FLOAT as allowed.
3938
3939 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
3940
3941         Purge cruft now we have build libiberty.
3942
3943         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
3944         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
3945         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
3946         USE_HOST_STRSTR): Delete variables.
3947         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
3948         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
3949         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3950         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
3951         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
3952         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
3953         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
3954         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
3955         (HOST_LIBS): Ditto.
3956         (HOST_RTL): Remove hashtab.o safe-ctype.o.
3957         (OBJS): Remove splay-tree.o.
3958         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
3959         (distclean): No need to delete splay-tree.c obstack.c
3960         hashtab.c safe-ctype.c.
3961         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
3962         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
3963         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
3964         Delete.
3965         * configure.in: Don't use them.
3966         Set and substitute @FORBUILD@.
3967         * config.in, configure: Regenerate.
3968         * doprint.c: Move to libiberty/_doprnt.c.
3969         * doc/configterms.texi: Document that libiberty is now built
3970         up to three times.  Fix typo.
3971
3972 2001-11-30  Jason Merrill  <jason@redhat.com>
3973
3974         * dwarf2out.c (add_data_member_location_attribute): Do the
3975         right thing for virtual bases.
3976         * dbxout.c (dbxout_type): For a virtual base, print the offset
3977         within the vtable.
3978
3979 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3980
3981         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
3982
3983 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
3984
3985         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
3986         go in memory.
3987         Remove unused attribute for named.
3988
3989 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3990
3991         * genattrtab.c (attr_rtx_1): New function containing the
3992         majority of `attr_rtx'.  Move variable declarations into the
3993         scope where they are used.  Eliminate unnecessary gotos.
3994         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
3995         VA_FIXEDARG, and VA_CLOSE.
3996
3997 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
3998
3999         * config/cris/cris.c (cris_notice_update_cc): Check first
4000         destination also against overlap with cc_status.value2 and second
4001         destination against overlap with cc_status.value1.  For overlaps,
4002         clear overlapped value, don't just CC_STATUS_INIT.
4003
4004         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
4005         Fix typo in comment.
4006         (LINK_SPEC): Remove whitespace at end of line.
4007
4008 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
4009
4010         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
4011
4012 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
4013
4014         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
4015         macros for the supported debugging types.
4016
4017 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4018
4019         PR other/4932
4020         * config/i386/i386.c (print_operand):  Verify that the
4021           argument to %c is a constant and not a conditional which
4022           needs to be reversed.
4023
4024 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
4025
4026         * emit-rtl.c (gen_lowpart_common): Fix conversion of
4027         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
4028         of low part of those arrays for 32bit and 64bit hosts.
4029
4030 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4031
4032         * Makefile.in (insn-output.o): Depend on insn-codes.h.
4033
4034 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
4035
4036         * configure.in (target_list): Add generated-manpages.
4037         * configure: Regenerate.
4038         * Makefile.in (generated-manpages): Depend on
4039         lang.generated-manpages.
4040         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
4041
4042 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
4043
4044         * config/arm/crti.asm (_init): Add .thumb_func if compiled
4045         with -mthumb.
4046         (_fini): Add .thumb_func if compiled with -mthumb.
4047
4048 2001-11-28  Eric Christopher  <echristo@redhat.com>
4049
4050         * config/mips/mips.c (override_options): Fix thinko in mips_tune
4051         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
4052
4053 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
4054
4055         * alpha.md (tablejump): Use pic_offset_table_rtx
4056         instead of gen_rtx_REG.
4057
4058 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
4059
4060         * expr.c (store_expr): When copying a string constant into an
4061         array, reset the known alignment of the MEM for the section to
4062         be cleared to BITS_PER_UNIT.
4063
4064 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
4065
4066         * config/cris/cris.c: Remove whitespace at end of line.
4067
4068 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
4069
4070         * config.gcc (i[34567]86-*-interix3*): New case.
4071         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
4072         New files.
4073
4074 2001-11-28  Richard Henderson  <rth@redhat.com>
4075
4076         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
4077         symbolic_operand as the predicate.
4078
4079 2001-11-28  Richard Henderson  <rth@redhat.com>
4080
4081         * doloop.c (doloop_modify_runtime): Properly select induction
4082         variable; skip late entry test if biv initializer created by loop.
4083
4084 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4085
4086         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
4087         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
4088
4089         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
4090
4091         * tree.h: Add missing checks on some macros; make formatting more
4092         consistent.
4093
4094         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
4095         level; only add to pending_sizes if find it.
4096
4097         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
4098
4099         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
4100         Add casts to remove warnings.
4101
4102         * Makefile.in (OBJS): Sort alphabetically.
4103
4104         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
4105         Also minor cleanups.
4106
4107 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
4108
4109         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
4110         (FLAGS_TO_PASS): Add STAGE_PREFIX.
4111         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
4112         to STAGE_PREFIX.
4113
4114 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
4115
4116         * cse.c (true_dependence_in_rtx): New function.
4117         (invalidate): Use it.
4118
4119         * c-common.h (GOTO_FAKE_P): New macro.
4120         * tree-inline.c (GOTO_FAKE_P): Set.
4121         * c-tree.texi (GOTO_FAKE_P): Document.
4122
4123         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
4124         containing pointers.
4125         (output_addressed_constants): Check for local/external relocations.
4126         * elfos.h (SELECT_SECTION): Classify data section.
4127         * tm.texi (SELECT_SECTION): Update documentation.
4128
4129         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
4130         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
4131
4132 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4133
4134         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
4135         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
4136         OBJECT_FORMAT_ROSE.
4137
4138 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
4139
4140         * config/cris/cris.c: Tweak spacing for prototypes.
4141         (LOSE_AND_RETURN): New macro.
4142         (cris_operand_lossage): New function.
4143         (cris_print_index, cris_print_base): Use cris_operand_lossage
4144         rather than fatal_insn.
4145         (cris_print_operand, cris_print_operand_address): Use
4146         LOSE_AND_RETURN rather than fatal_insn and internal_error.
4147         (cris_output_addr_const): Use LOSE_AND_RETURN and
4148         output_operand_lossage rather than fatal_insn and internal_error
4149         for valid but unexpected rtx expressions.
4150
4151         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
4152         for a SUBREG in src or dest, abort instead.
4153
4154 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4155
4156         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
4157         doc.
4158
4159 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
4160
4161         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
4162         preprocessor define.  If only DBX_DEBUGGING_INFO or only
4163         DWARF2_DEBUGGING_INFO is supported for the target, provide
4164         appropriate definitions.
4165
4166 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4167
4168         * Makefile.in: Update, and add c-objc-common.o dependencies.
4169         * c-lang.c: Remove unnecessary includes.
4170         (c_init): Move bulk of code to c_objc_common_init, and call it.
4171         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
4172         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
4173         c-objc-common.c.
4174         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
4175         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
4176         c_objc_common_init, c_missing_noreturn_ok_p): New.
4177         * toplev.c: Update comment.
4178         * doc/passes.texi: Update.
4179 objc:
4180         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
4181         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
4182         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
4183         (objc_init): Update to use c_objc_common_init.
4184
4185 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4186
4187         * cpphash.c (_cpp_init_hashtable): Update.
4188         * cpphash.h (struct spec_nodes): Remove n_L.
4189         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
4190
4191 2001-11-17  Richard Henderson  <rth@redhat.com>
4192
4193         * unroll.c (loop_iterations): Move last change ...
4194         * doloop.c (doloop_modify_runtime): ... here.
4195
4196 2001-11-17  Corey Minyard  <minyard@acm.org>
4197             Richard Henderson  <rth@redhat.com>
4198
4199         * unroll.c (loop_iterations): Detect one situation in which we
4200         overestimate the number of iterations.
4201
4202 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4203
4204         * gcc.c (set_input): Export.
4205         Move declaration ...
4206         gcc.h (set_input): ... here.
4207
4208 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4209
4210         * gcc.c (set_collect_gcc_options): New function, split out from
4211         main.
4212         Ignore elided switches.
4213         (do_spec): Invoke before executing command.
4214         (do_spec_1): Likewise.
4215         Fixes PR other/3968.
4216
4217 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
4218
4219         * config/cris/cris.h (INT_ASM_OP): Remove.
4220
4221 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4222
4223         * config/i386/sol2.h (WINT_TYPE): Redefine.
4224         (WINT_TYPE_SIZE): Likewise.
4225
4226 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4227
4228         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
4229         (dup2): Make static and add prototype.
4230         * m68k/plexus.h: Don't define NO_DUP2.
4231         * configure.in (AC_CHECK_FUNCS): Add dup2.
4232         * config.in, configure: Regenerate.
4233
4234         * ia64/aix.h (REG_SIZE): Don't #undef.
4235         * sparc.h (REG_SIZE): Delete.
4236         * flow.c (mark_used_regs): Don't use REG_SIZE.
4237         * regs.h (REG_SIZE): Delete.
4238
4239 2001-11-27  Andreas Schwab  <schwab@suse.de>
4240
4241         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
4242         PREFERRED_DEBUGGING_TYPE.
4243
4244 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4245
4246         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
4247         (expr.o, varasm.o): Depends on langhooks.h.
4248         * c-common.c (c_safe_from_p): Always declare.
4249         (c_expand_expr): Refine when declared.
4250         * c-lang.c (c-common.h): Now include.
4251         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
4252         (c_init): Don't set lang_safe_from_expr.
4253         * expr.c (langhooks.h): Now include.
4254         (lang_safe_from_p): No longer define.
4255         (safe_from_p): Use lang hook.
4256         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
4257         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
4258         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
4259         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
4260         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
4261         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
4262         * langhooks.h (struct lang_hooks): New fields expand_constant
4263         and safe_from_p.
4264         * output.h (output_constant): Size arg is HOST_WIDE_INT.
4265         * stmt.c (expand_decl_init): No longer need to expand constant
4266         for CONST_DECL.
4267         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
4268         * toplev.c (lang_expand_constant): Delete var.
4269         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
4270         operations on SAVE_EXPR.
4271         * varasm.c (langhooks.h): Now include.
4272         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
4273         (record_constant_1, output_addressed_constants): Likewise.
4274         (initializer_constant_valid_p, output_constant): Likewise.
4275         (output_constant_def): Process no-defer of string constant.
4276         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
4277         (output_constant): Strip more conversions.
4278         Track our size and pad for the rest.
4279         (array_size_for_constructor): Remove code for non-byte STRING_CST.
4280         (output_constructor): SIZE now HOST_WIDE_INT.
4281
4282 2001-11-27  Richard Henderson  <rth@redhat.com>
4283
4284         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
4285         in computing DIFF.
4286
4287 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
4288
4289         * cppfiles.c (read_include_file): Add comment.
4290
4291 2001-11-26  Richard Henderson  <rth@redhat.com>
4292
4293         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
4294
4295 2001-11-26  Richard Henderson  <rth@redhat.com>
4296
4297         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
4298         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
4299         commented out override.
4300
4301 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4302
4303         * cppfiles.c (stack_include_file): Don't optimize zero-length
4304         files.
4305         (read_include_file): NUL-terminate read files.
4306         * cpplex.c (handle_newline, skip_escaped_newlines,
4307         get_effective_char, skip_whitespace, parse_identifier,
4308         parse_identifier_slow, parse_number, parse_string,
4309         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
4310         NUL-terminated.
4311         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
4312         Be sure buffers are NUL terminated.
4313         * cppmacro.c (warn_of_redefinition): Kill compile warning.
4314
4315 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4316
4317         * c-common.c: Include tree-inline.h.
4318         (c_language): Move separate definitions here.
4319         (c_common_init_options, c_common_post_options): New.
4320         (c_common_lang_init): Rename c_common_init.
4321         * c-common.h (c_common_lang_init): Similarly.
4322         (c_common_init_options, c_common_post_options): New.
4323         * c-lang.c (c_post_options): Move body to c_common_post_options.
4324         (c_init_options): Use c_common_init_options.
4325         (c_init): Update.
4326         * langhooks.def: Rearrange.
4327         * langhooks.h: Rearrange, and improve comments.
4328         * toplev.c (do_compile): New function.
4329         (toplev_main): Use it.
4330         (lang_independent_f_options, parse_options_and_default_flags,
4331         process_options): Remove trailing periods.
4332         * Makefile.in: Update.
4333 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
4334         functions.
4335         (ojbc_init): Update.
4336
4337 2001-11-26  Richard Henderson  <rth@redhat.com>
4338
4339         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
4340
4341 2001-11-26  DJ Delorie  <dj@redhat.com>
4342
4343         * expr.c (store_constructor): Actually use the value computed
4344         if WORD_REGISTER_OPERATIONS.
4345
4346 2001-11-26  Richard Henderson  <rth@redhat.com>
4347
4348         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
4349         for CONSTRUCTOR.
4350
4351 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
4352
4353         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
4354         correct function on AIX.
4355
4356 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
4357
4358         * toplev.c (process_options): Don't force
4359         flag_optimize_sibling_calls to zero just because exceptions are
4360         enabled.
4361
4362 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
4363
4364         * df.h (transfer_function_sbitmap): Use PARAMS around argument
4365         list in function prototypes.
4366         (transfer_function_bitmap): Likewise.
4367
4368 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
4369
4370         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
4371         * config/i386/netbsd-elf.h: Likewise.
4372
4373 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
4374
4375         * doc/trouble.texi: Remove outdated RS/6000 comments.
4376
4377 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
4378
4379         * final.c (walk_alter_subreg): Fix return value.
4380
4381 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
4382
4383         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
4384         alter_subreg.
4385         * sparc.md (post-reload splitters): Do not call alter_subreg.
4386         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
4387
4388 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
4389
4390         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
4391
4392 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
4393
4394         * final.c: (insn_lengths): Make it an int *, so that large jump
4395         tables don't overflow.
4396
4397 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
4398
4399         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
4400         (format_types): Use it for scanf.
4401         (dollar_arguments_pointer_p): New.
4402         (init_dollar_format_checking): Store details of which arguments
4403         are pointers.
4404         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
4405         (finish_dollar_format_checking): Take extra parameter
4406         pointer_gap_ok.  Treat unused arguments differently if
4407         pointer_gap_ok and the unused arguments are pointers.
4408         (check_format_info_main): Pass extra argument to
4409         finish_dollar_format_checking.
4410         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
4411         unused arguments are present between used arguments with operand
4412         numbers.
4413
4414 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
4415
4416         * df.c: Add prototypes for hybrid_search_bitmap and
4417         hybrid_search_sbitmap.
4418         (hybrid_search_bitmap): New function.
4419         (hybrid_search_sbitmap): New function.
4420         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
4421         (iterative_dataflow_bitmap): Ditto.
4422
4423 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4424
4425         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
4426         address computations.
4427
4428 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4429
4430         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
4431         register b (low part of d).
4432
4433 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4434
4435         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
4436         passed to mcount.
4437
4438 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
4439
4440         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
4441         * config/alpha/x-vms: New file, to compile the above.
4442         * config.gcc (alpha*-dec-vms*): Add x-vms.
4443
4444 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
4445
4446         * genextract.c (main): Set ro_loc for peepholes.
4447
4448 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
4449
4450         * fix-header.c (main): Move inf_buffer termination and inf_limit
4451         calculation to after read.
4452
4453         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
4454         (__UNIX_FOPEN): Define.
4455
4456 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4457
4458         * function.c (assign_stack_temp_for_type): Clear alias set before
4459         setting new one.
4460
4461 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
4462
4463         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
4464         format.
4465         * rs6000.md (cmptf): Fix typo.
4466
4467 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
4468
4469         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
4470         * varasm.c (output_constructor): Use assemble_integer rather
4471         than ASM_OUTPUT_BYTE.
4472
4473 2001-11-23  Andreas Jaeger  <aj@suse.de>
4474
4475         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
4476         extension.
4477
4478 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
4479
4480         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
4481         default definition.
4482         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
4483         (MULTILIB_DEFAULTS): Remove previous definition.
4484
4485 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4486
4487         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
4488         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
4489
4490 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4491
4492         * cris.h: Revert thinko in last patch.
4493
4494 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4495
4496         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
4497         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
4498         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
4499         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
4500         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
4501         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
4502
4503         * predict.c, reg-stack.c: Fix spelling errors.
4504
4505 2001-10-09  Andrew Haley  <aph@redhat.com>
4506
4507         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
4508         start of stack slot.
4509
4510 2001-11-22  Graham Stott  <grahams@redhat.com>
4511
4512         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
4513         replacement jump after original jump.
4514
4515         (verify_flow_info): Remove redundent initialisation.
4516         Handle reaching end of insn list before finding a BARRIER.
4517         Only issue one missing barrier diagnostic.
4518
4519 2001-11-22  Graham Stott  <grahams@redhat.com>
4520
4521         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
4522
4523 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4524
4525         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
4526         insn actually does.
4527
4528 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
4529
4530         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
4531         Fix typo -mm32rx=> -m32rx.
4532
4533         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
4534         targets.
4535
4536         * config.gcc (xscale-coff): Add necessary header files to
4537         tm_file variable.
4538
4539 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4540
4541         * rs6000.c (output_cbranch): Use $, not %$, in output template.
4542
4543 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4544
4545         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
4546         (lang_type_quals): Declare.
4547         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
4548         retrieve language-specific qualifiers for a type node, instead of
4549         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
4550         lang_dump_tree.
4551         * tree-dump.h: Rename from c-dump.h.
4552         * c-common.h (C_TYPE_QUALS): Removed.
4553         Move declarations for tree-dump.c interface to...
4554         * tree.h: ... here. Remove lang_dump_tree.
4555         * langhooks.h (struct lang_hooks_for_tree_dump): New.
4556         (struct lang_hooks): Add tree_dump hooks.
4557         * langhooks.c (lhd_tree_dump_dump_tree): New function.
4558         (lhd_tree_dump_type_quals): New function.
4559         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
4560         Declare.
4561         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
4562         * Makefile.in: Move tree-dump.o to language-independent back-end.
4563
4564 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4565
4566         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
4567         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
4568         * arc.h (DBX_REGISTER_NUMBER): Likewise.
4569         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
4570         * avr.h (DBX_REGISTER_NUMBER): Likewise.
4571         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
4572         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
4573         * convex.h (DBX_REGISTER_NUMBER): Likewise.
4574         * cris.h (DBX_REGISTER_NUMBER): Likewise.
4575         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
4576         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
4577         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
4578         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
4579         * i370.h (DBX_REGISTER_NUMBER): Likewise.
4580         * i860.h (DBX_REGISTER_NUMBER): Likewise.
4581         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
4582         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
4583         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4584         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
4585         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
4586         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
4587         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
4588         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
4589         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
4590         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
4591         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
4592         * romp.h (DBX_REGISTER_NUMBER): Likewise.
4593         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
4594         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4595         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
4596         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
4597         * v850.h (DBX_REGISTER_NUMBER): Likewise.
4598         * vax.h (DBX_REGISTER_NUMBER): Likewise.
4599         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
4600
4601         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
4602         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
4603
4604 2001-11-21  H.J. Lu <hjl@gnu.org>
4605
4606         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
4607
4608 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4609
4610         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
4611         emit_cmp_and_jump_insns.
4612
4613         * stormy16.c (xstormy16_expand_builtin_va_arg,
4614         xstormy16_expand_casesi): Likewise.
4615
4616 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4617
4618         * function.c (keep_stack_depressed): Major rework.
4619         (handle_epilogue_set, emit_equiv_load): New functions.
4620         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
4621         has return value.
4622         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
4623         * rtl.h (SET_IS_RETURN_P): New macro.
4624
4625         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
4626         and also support TREE_ADDRESSABLE.
4627         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
4628
4629 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
4630
4631         * rs6000.md (cmptf_internal1): Replace %$ with $.
4632
4633 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
4634
4635         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
4636         (read_include_file): Use STAT_SIZE_TOO_BIG.
4637
4638         * cppinit.c (INO_T_COPY): Define.
4639         (INO_T_EQ): Uppercase parameters.
4640         (append_include_chain): Use INO_T_COPY.
4641
4642 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
4643
4644         * cfg.c: Fix typos and formatting in the introductory comment.
4645
4646 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
4647
4648         * profile.c (compute_branch_probabilites):  Compute probabilities
4649         for entry/exit edges; estimate probabilities for zero counts.
4650
4651 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4652
4653         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
4654         to emit_library_call.
4655         * function.c (expand_main_function, expand_function_start,
4656         expand_function_end): Likewise.
4657         * profile.c (output_func_start_profiler): Likewise.
4658         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
4659         second argument to emit_library_call.
4660         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
4661         as second argument to emit_library_call.
4662         * calls.c (emit_library_call): Update fn_type description.
4663
4664 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4665
4666         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
4667         if fndecl is still DECL_INLINE and has DECL_RESULT.
4668
4669 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4670
4671         * clipper.c (clipper_movstr): Avoid uninitialized warning.
4672         * i960.c (is_mask, legitimize_address): Likewise.
4673         * m88k.c (m88k_expand_prologue): Likewise.
4674         * m88k.md: Likewise.
4675         * mcore.c (emit_new_cond_insn): Likewise.
4676         * stormy16.c (xstormy16_emit_cbranch): Likewise.
4677
4678 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4679
4680         * config.gcc: Delete powerpcle-*-solaris2* stanza.
4681         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
4682         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
4683         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
4684         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
4685         config/rs6000/t-ppcos: Expunge all references to Solaris.
4686
4687         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
4688
4689         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
4690         output templates.
4691         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
4692         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
4693
4694 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4695
4696         * sh.md: Avoid uninitialized warnings.
4697         * vax.c (vax_rtx_cost): Likewise.
4698
4699 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4700
4701         * rs6000.c (direct_return): Check if we are saving altivec
4702         registers.
4703         (first_altivec_reg_to_save): New.
4704         Updated stack frame layout comments.
4705         (rs6000_stack_info): Calculate altivec register save size.
4706         Save link register if we saved some altivec registers.
4707         (rs6000_stack_info): Align save size to 16 if altivec abi or
4708         abi_darwin.
4709         (rs6000_stack_info): Calculate altivec register offsets.
4710         (rs6000_stack_info): Add altivec info to save_size.
4711         (debug_stack_info): Add altivec debug info.
4712         (rs6000_emit_prologue): Save altivec registers and vrsave.
4713         (compute_vrsave_mask): New.
4714         (altivec_expand_builtin): Remove unused variables.
4715         (rs6000_parse_abi_options): Add static qualifier.
4716         (rs6000_expand_builtin): Remove unused parameters.
4717         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
4718         (altivec_init_builtins): Same.
4719         (is_altivec_return_reg): New.
4720         (vrsave_operation): New.
4721         (ALTIVEC_REG_BIT): New.
4722         (generate_set_vrsave): New.
4723
4724         * rs6000.md (get_vrsave): New.
4725         (set_vrsave): New.
4726         (*set_vrsave_internal): New.
4727
4728         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
4729         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
4730         altivec_padding_size, vrsave_mask.
4731         (TOTAL_ALTIVEC_REGS): New.
4732         (EPILOGUE_USES): Add VRSAVE_REGNO.
4733
4734 2001-11-20  Jeff Law <law@redhat.com>
4735
4736         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
4737         exit label as necessary.
4738
4739 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
4740
4741         * reload1.c (elimination_effects): Use function_invariant_p
4742         instead of CONSTANT_P when considering register equivalences.
4743
4744 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
4745
4746         * config.gcc: Add FreeBSD/PowerPC target.
4747         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4748         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4749         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4750         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4751         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4752         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
4753         freebsd-spec.h to tm_file.
4754         (rs6000-*-lynxos*): Add lynx.h to tm_file.
4755         * config/freebsd.h: Tidy up.
4756         (USING_CONFIG_FREEBSD): Define.
4757         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
4758         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
4759         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
4760         (TARGET_HAS_F_SETLKW): Define.
4761         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
4762         * config/freebsd-spec.h: New file.
4763         * config/rs6000/freebsd.h: New file.
4764         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
4765         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
4766         USING_SVR4_H to know when to turn on ELF support.
4767         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
4768         define only if not already defined.
4769         Add FreeBSD support.
4770         * config/rs6000/aix.h (TARGET_VERSION): Define.
4771         * config/rs6000/beos.h: Likewise.
4772         * config/rs6000/darwin.h: Likewise.
4773         * config/rs6000/mach.h: Likewise.
4774         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
4775         Don't include lynx.h directly.
4776
4777 2001-11-20  Graham Stott  <grahams@redhat.com>
4778
4779         * unwind-dw2-fde.c (__deregister_frame_info_bases):
4780         Fix lossage in last change return OB.
4781
4782 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
4783
4784         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
4785         Remove unneeded exit related macros.
4786
4787 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
4788
4789         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
4790
4791         * rs6000.c (rs6000_emit_move): Add TFmode case.
4792         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
4793         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
4794         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
4795         * rs6000.h: ... to here.
4796         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
4797         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
4798         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
4799
4800 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4801
4802         * emit-rtl.c (get_mem_attrs): Fix typo.
4803
4804 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4805
4806         * c-lang.c (finish_file): Backout 2001-11-16
4807         changes, instead set DECL_DEFER_OUTPUT for static inline functions
4808         before calling c_expand_deferred_function.
4809
4810 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4811
4812         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
4813         Don't register empty .eh_frame sections.
4814         (__deregister_frame_info_bases, __deregister_frame): Don't
4815         unregister them either.
4816
4817 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4818
4819         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
4820         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
4821         * configure: Regenerate.
4822         * config.in: Add dummy definitions of new flags.
4823         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
4824         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
4825         * gcc.c (ASM_DEBUG_SPEC): New macro.
4826         (asm_debug): New static variable.
4827         (default_compilers): Add asm_debug when assembling from
4828         user input.
4829         (static_specs): Add asm_debug.
4830
4831 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
4832
4833         * config.gcc (*-*-freebsd*): Remove configuration block.
4834
4835 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4836
4837         bootstrap/4422
4838         * configure.in: Setup ability to run ./stage[1234]/xgcc in
4839         fixinc *as if* it were a proper lang subdirectory.
4840         * configure: Rebuilt.
4841
4842 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4843
4844         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
4845
4846 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4847
4848         * 1750a.md: Don't use hex format for a const_int.
4849
4850 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4851
4852         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
4853
4854 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
4855
4856         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
4857         defined (prevents link errors when gettext isn't in the system
4858         library).
4859
4860 2001-11-19  DJ Delorie  <dj@redhat.com>
4861
4862         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
4863         (validate_const_int): New.
4864         (read_rtx): Validate constant integers.
4865         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
4866
4867 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
4868
4869         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
4870
4871 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4872
4873         * toplev.c (DUMPFILE_FORMAT): Define default.
4874         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
4875         (close_dump_file, compile_file): Likewise.
4876         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
4877         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
4878
4879 2001-11-19  Jeff Law <law@redhat.com>
4880
4881         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
4882         a nop-jump.
4883
4884 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4885
4886         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
4887         Don't fall off the base token run.
4888
4889 2001-11-19  Jason Wilkins <fenix@io.com>
4890
4891         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
4892
4893 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4894
4895         * tree.def (VIEW_CONVERT_EXPR): New tree code.
4896         * tree.h (handled_component_p): New declaration.
4897         * alias.c (handled_component_p): Move function from here ...
4898         * expr.c (handled_component_p): ... to here and non longer static.
4899         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
4900         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
4901         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
4902         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
4903         (expand_expr, case VIEW_CONVERT_EXPR): New case.
4904         (expand_expr, cse ADDR_EXPR): No need to copy if already
4905         BIGGEST_ALIGNMENT.
4906         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
4907         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
4908         (output_constant): Handle VIEW_CONVERT_EXPR.
4909         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
4910         Add new case for VIEW_CONVERT_EXPR.
4911
4912 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4913
4914         * a29k/unix.h (ASM_FILE_START): Const-ify.
4915         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
4916         * i386/isc.h (ASM_FILE_START): Const-ify.
4917         * i386/sun386.h (ASM_FILE_START): Likewise.
4918         * m32r.md: Likewise.
4919         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
4920         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
4921         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
4922         * mn10200.md: Initialize variable.
4923
4924 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
4925
4926         * gcse.c (try_replace_reg): Copy RTX before creating note.
4927
4928         * df.h (df_ref_flags): New uenum.
4929         (DF_REF_FLAGS): New macro.
4930         (struct ref): Add field "flags".
4931         * df.c (HANDLE_SUBREG): Remove.
4932         (df_ref_create): Likewise; set flags field of ref.
4933         (df_def_record_1): Strip down read_write subreg; remove
4934         commented out code; set READ_WRITE flag.
4935         (read_modify_subreg_p): New static function.
4936         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
4937         new argument "flags".
4938         (df_insn_refs_record): Update call of df_uses_record.
4939         (df_insn_modify): Avoid #if 0 around comment.
4940         (df_dump): Dump the read/write flag.
4941
4942         * predict.c (propagate_freq): Make cyclic_probability and frequency
4943         volatile
4944
4945         * i386.c (ix86_cc_mode): Accept USE.
4946
4947         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
4948         jump is turned into simplejump.
4949
4950 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
4951
4952         * doc/fragments.texi, doc/trouble.texi: Remove links to old
4953         installation chapter.
4954         * doc/gcc.texi: Don't claim that this manual documents
4955         installation.  Mark Installation menu entry as being out of date.
4956
4957 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
4958
4959         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
4960         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
4961         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
4962
4963 2001-11-19  Jason Merrill  <jason@redhat.com>
4964
4965         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
4966         cur_token, not after.
4967
4968         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
4969         Lose ASM_OUTPUT_CONSTRUCTOR.
4970         * system.h: Poison it and INT_ASM_OP.
4971         * c-lang.c (finish_file): Don't check for it.
4972         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
4973
4974 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4975
4976         * mmix.c (mmix_cc1_ignored_option): Const-ify.
4977         (mmix_init_machine_status): Make static to match declaration.
4978         (mmix_unique_section): Const-ify.
4979         (mmix_output_quoted_string): Avoid automatic aggregate
4980         initialization.
4981         (mmix_output_register_setting): Likewise.
4982         (mmix_output_shiftvalue_op_from_str): Likewise.
4983
4984         * mmix.h (mmix_cc1_ignored_option): Const-ify.
4985         (ASM_OUTPUT_BYTE): Fix format specifier warning.
4986         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4987
4988 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4989
4990         PR c/4448
4991         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
4992         name __objc_thread_exit_status so that it matches the
4993         variable defined in objc/thr.h.
4994
4995 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4996
4997         PR bootstrap/4020
4998         * mklibgcc.in: Add missing semi-colons.
4999         * Makefile.in: Same.
5000
5001 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5002
5003         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
5004         after re-laying out decl in incomplete case.
5005         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
5006
5007 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
5008
5009         * doc/install-old.texi: Move some sections out to ...
5010         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
5011         ... here.  New files.  Make into chapters rather than sections.
5012         * doc/gcc.texi: Include the new files and add menu entries for
5013         them.
5014         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5015
5016 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5017
5018         * tree.h (TYPE_ALIGN_OK): New flag.
5019         * emit-rtl.c (set_mem_attributes): Handle it.
5020         * expr.c (emit_single_push_insn): Only set to alias set 0 if
5021         doing sibcall optimization.
5022         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
5023         when make temporary.
5024         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
5025         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
5026
5027         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
5028
5029 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
5030
5031         * c-decl.c (c_decode_option): Give deprecation warning for
5032         -traditional.
5033         * doc/invoke.texi (-traditional): Note that this option is
5034         deprecated.
5035
5036 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
5037
5038         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
5039         arg to HOST_WIDE_INT, not long.
5040
5041         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
5042         (HAS_INIT_SECTION): Define.
5043         (REAL_ARITHMETIC): Don't undefine.
5044
5045 2001-11-18  Egor Duda  <deo@logos-m.ru>
5046
5047         * config/i386/cygwin.h: Strip leading '*' from name, if any.
5048
5049 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
5050
5051         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
5052         * c-common.c: Include diagnostic.h.
5053         (c_common_finish): New.
5054         * c-common.h (c_common_finish): New.
5055         * c-lang.c (LANG_HOOKS_FINISH): Override.
5056         * c-parse.in: Don't include diagnostic.h.
5057         (finish_parse): Remove.
5058         * langhooks.h: Update comments.
5059         * toplev.c (lang_dependent_init): New prototype.
5060         (finalize): New.
5061         (compile_file): Split cleanup code out to finalize.
5062         (lang_dependent_init): Stop if lang_hooks.init fails.
5063         (toplev_main): Update.
5064         * tree.h (finish_parse): Remove.
5065 objc:
5066         * objc-act.c (LANG_HOOKS_FINISH): Override.
5067
5068 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
5069
5070         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
5071         * config/alpha/vms_tramp.asm: New file.
5072         * config/alpha/vms-tramp.asm: Removed.
5073
5074 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
5075
5076         * c-common.c (struct disabled_builtin, disabled_builtins,
5077         disable_builtin_function, builtin_function_disabled_p): New.
5078         (builtin_function_2): Check for disabled built-in functions.
5079         * c-common.h (disable_builtin_function): Declare.
5080         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
5081         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
5082         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
5083
5084 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5085
5086         PR target/4606
5087         * config.gcc: Remove reference to va-clipper.h.
5088
5089 2001-11-17  Stan Shebs  <shebs@apple.com>
5090
5091         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
5092         AltiVec-related bitfields.
5093
5094 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5095
5096         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
5097         (mark_eh_region, case ERT_UKNONW): New case.
5098
5099 2001-11-17  Christopher Faylor  <cgf@redhat.com>
5100             Corinna Vinschen  <vinschen@redhat.com>
5101
5102         * config/i386/cygwin.h: Search target specific include directory for
5103         w32api stuff, if appropriate.
5104
5105 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
5106
5107         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
5108
5109 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
5110
5111         * config/rs6000/rs6000.md: Change all ldvx to lvx.
5112
5113 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
5114
5115         * gensupport.c (process_rtx): Don't assume filename is the first
5116         argument of any rtl.
5117
5118 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5119
5120         * vax-protos.h (reg_was_0_p): New prototype.
5121         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
5122         * vax.c (follows_p, reg_was_0_p): New functions.
5123
5124 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5125
5126         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
5127         (casesi1): Likewise.  Define new pattern which arises by simplification
5128         when operand 1 is a constant int.  Correct pattern which arises by
5129         simplification when operand 1 is zero.
5130
5131 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
5132
5133         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
5134         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
5135         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
5136         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
5137         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
5138         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
5139         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
5140         * config/arm/aof.h: Don't include arm.h.
5141         * config/arm/aout.h: Likewise.
5142         * config/arm/coff.h: Don't include semi.h and aout.h.
5143         * config/arm/elf.h: Don't include aout.h.
5144         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
5145         (TARGET_VERSION): Undef before defining.
5146         (ARM_OS_NAME): Likewise
5147         (TARGET_DEFAULT): Likewise
5148         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
5149         * config/arm/pe.h: Don't include arm/coff.h.
5150         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
5151         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
5152         * config/arm/riscix1-1.h: Likewise.
5153         * config/arm/rix-gas.h: Don't include riscix.h.
5154         (DBX_CONTIN_LENGTH): Undef before defining.
5155         * config/arm/semi.h: Don't include aout.h.
5156         * config/arm/semiaof.h: Don't include aof.h.
5157         * config/arm/strongarm-coff.h: Don't include coff.h.
5158         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
5159         * config/arm/vxarm.h: Don't include arm/coff.h.
5160         * config/arm/xscale-coff.h: Don't include coff.h.
5161
5162 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5163
5164         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
5165         emit_cmp_insn.
5166
5167 2001-11-16  Andreas Jaeger  <aj@suse.de>
5168
5169         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
5170         to ....
5171         (fixup_fallthru_exit_predecessor): ... this.
5172         Change callers and prototype.
5173
5174 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
5175
5176         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
5177         hand; don't use gen_setcc_2.
5178         (ix86_expand_builtin): Fix pshufw.
5179         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
5180         case UNORDERED to emit the right assembler instruction.
5181         (mmx_pshufw): Lose operand 2.
5182         (cvtsi2ss): Fix representation.
5183         From Graham Stott:
5184         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
5185
5186 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
5187
5188         * doc/include/linux-and-gnu.texi: Remove.
5189         * doc/gnu.texi: New.
5190         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
5191         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5192
5193 2001-11-16  Kazu Hirata  <kazu@hxi.com>
5194
5195         * config/a29k/a29k.c: Fix comment formatting.
5196         * config/a29k/a29k.h: Likewise.
5197         * config/arc/arc.c: Likewise.
5198         * config/arc/arc.h: Likewise.
5199         * config/vax/vax.c: Likewise.
5200         * config/vax/vax.h: Likewise.
5201         * config/we32k/we32k.c: Likewise.
5202         * config/we32k/we32k.h: Likewise.
5203
5204 2001-11-16  Jeff Law  <law@redhat.com>
5205
5206         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
5207         creating a new jump insn.
5208
5209 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5210
5211         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
5212         copy misaligned data.
5213         * varasm.c (assemble_variable): Set alignment into MEM when changed.
5214
5215 2001-11-16  Graham Stott  <grahams@redhat.com>
5216
5217         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
5218         OPALIGN type.
5219
5220 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
5221
5222         * except.c: Support for catching a list of types with a single handler
5223         (struct eh_region): Change type and filter to lists for catch regions.
5224         (mark_eh_region): Mark the filter list for GC also.
5225         (expand_start_catch): Always build a list if argument not NULL and
5226         register each type of the list through add_type_for_runtime.
5227         (duplicate_eh_region_1): Change type into type_list for catch regions.
5228         (assign_filter_values): Assign a filter to each type associated with a
5229         catch region. Assign filter for NULL types in a unique entry in the
5230         filter list.
5231         (build_post_landing_pads): Emit compare and jump for each filter of
5232         the list associated with a catch region.
5233         (reachable_next_level): When the type thrown is known, stop the search
5234         as soon as one type within a catch list matches. Also, a handler is
5235         potentially reachable only if at least one of the types it catches
5236         has not been previously caught.
5237         (collect_one_action_chain): Retrieve the filter for a NULL type list
5238         from the first filter list entry. For non NULL type lists, add an
5239         action record for every filter assigned.
5240         * except.h: Reflect changes in comment before expand_start_catch.
5241
5242 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5243
5244         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
5245         BLKmode.
5246
5247 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
5248
5249         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
5250
5251 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
5252
5253         * c-lang.c (finish_file): Don't emit static inline functions if
5254         they weren't referenced.
5255
5256 2001-11-15  Stan Shebs  <shebs@apple.com>
5257
5258         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
5259
5260 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
5261
5262         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
5263         call.
5264         * config/i386/i386.md: Likewise.
5265
5266 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5267
5268         * timevar.c (rtl.h): Include so get fancy abort.
5269
5270 2001-11-15  Dale Johannesen  <dalej@apple.com>
5271
5272         * config/darwin.h (SELECT_RTX_SECTION):  Force address
5273         initializers into 'const' section
5274         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
5275         if_then_else to match result, not operands
5276
5277 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5278
5279         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
5280         * emit-rtl.c (change_address): Fix typo in default alignment.
5281         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
5282         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
5283         * rtl.h (REGNO_PTR_FRAME_P): New macro.
5284
5285         * expr.c (store_field): Pass tree instead of max size; callers changed.
5286         Change handling of alignment.
5287         Only copy to_rtx if is TARGET.
5288         (expand_expr_unaligned): Delete; callers now use expand_expr.
5289         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
5290         (expand_assignment): Change handling of alignment.
5291         Only copy to_rtx if was original.
5292         (get_inner_reference): No longer return alginment; callers changed.
5293         (expand_expr, case COMPONENT_REF): Change handling of alignment.
5294         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
5295         (compare_from_rtx): Delete ALIGN parm; all callers changed.
5296         (do_compare_rtx_and_jump): Likewise.
5297         * expr.h: Reflect above changes.
5298         * tree.h: Likewise.
5299         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
5300         to get_inner_reference.
5301         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
5302         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
5303         * optabs.c: Likewise.
5304         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
5305         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
5306         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
5307         compare_rtx_and_jump, and emit_cmp_jump_insns.
5308         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
5309         * function.c (assign_stack_temp_for_type): No longer static.
5310         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
5311         (prepare_cmp_insn): Delete declaration.
5312         * rtl.h (assign_stack_temp_for_type): Add declaration.
5313         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
5314         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
5315         * config/i386/i386.c,config/mips/mips.c: Likewise.
5316         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
5317         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
5318
5319 2001-11-15  Stan Shebs  <shebs@apple.com>
5320
5321         * config/rs6000/rs6000.h: Fix a comment typo.
5322         (RTX_COSTS): Sort processor versions better.
5323
5324 2001-11-15  Kazu Hirata  <kazu@hxi.com>
5325
5326         * config/h8300/h8300.md: Fix insn length of bit insns.
5327
5328 2001-11-15  Jason Merrill  <jason@redhat.com>
5329
5330         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
5331         DIEs if there were errors in the source.
5332
5333         * config/alpha/alpha-interix.h, config/alpha/elf.h,
5334         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
5335         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
5336         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
5337         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
5338         config/elfos.h, config/lynx.h, config/netware.h,
5339         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
5340         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
5341         uses to use ASM_LONG.
5342
5343 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
5344
5345         * gensupport.c  process_include : Change call to alloca to
5346         xmalloc.
5347
5348 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
5349
5350         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
5351         templates.
5352
5353 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5354
5355         * final.c (alter_subreg): If simplify_subreg can't do anything,
5356         handle REG ourselves and abort for others.
5357
5358 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
5359
5360         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
5361         routines.
5362
5363 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5364
5365         * fix-header.c (read_scan_file): Update.
5366
5367 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5368
5369         * toplev.c (toplev_main): Don't start timing until after
5370         command-line options are parsed.
5371
5372 2001-11-15  Andreas Schwab  <schwab@suse.de>
5373
5374         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
5375         makefile frag, not host makefile frag.
5376         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
5377         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
5378         used.
5379         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
5380         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
5381         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
5382         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
5383         * config/i386/t-dgux (STMP_FIXPROTO): Define.
5384         * config/x-interix: Don't define STMP_FIXPROTO and
5385         FIXPROTO_DEFINES.
5386         * config/t-interix: New file, define STMP_FIXPROTO.
5387         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
5388         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
5389         * config/t-svr4 (FIXPROTO_DEFINES): Define.
5390         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
5391         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
5392         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
5393         * config/m68k/t-hp3200: Renamed from x-hp3200.
5394         * config/i370/t-oe: Renamed from x-oe.
5395         * config/mips/t-iris: Renamed from x-iris.
5396         * config/pa/t-bsd: Renamed from x-pa.
5397         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
5398         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
5399         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
5400         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
5401         config/rs6000/x-cygwin: Remove files.
5402
5403         * configure.in: Check for target objdump and use that in eh_frame
5404         optimization test.
5405         * configure: Regenerated.
5406
5407 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
5408
5409         * jump.c (squeeze_notes): Return true if no real insns were found.
5410         * rtl.h (squeeze_notes): Adjust prototype.
5411         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
5412         squeeze_notes finds no real instructions, abort.
5413         (merge_blocks_move_successor_nojumps): Likewise.
5414         * loop.c (find_and_verify_loops): Likewise.
5415         * stmt.c (expand_end_case): Likewise.
5416         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
5417         find any real instructions.
5418
5419         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
5420
5421         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
5422         conditional jump, request updating life into for the block
5423         containing it.  Fix a typo which prevented life info update.
5424         Clear blocks bitmap before using it.
5425
5426 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5427
5428         * c-common.c: Include c-lex.h.
5429         (c_common_lang_init): Change prototype.  Call init_c_lex and
5430         init_pragma from here.
5431         * c-common.h (c_common_lang_init): Change prototype.
5432         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
5433         * c-lang.c (c_init): Change prototype.  Update.
5434         (c_init_options): Update.
5435         * c-lex.c (cpp_filename): Remove.
5436         (init_c_lex): Update.  Read the main file, and get the original
5437         file name.
5438         (yyparse): Finish the command line options.
5439         * c-parse.in (c_parse_init): Call init_reswords here.
5440         (init_parse): Remove.
5441         * c-tree.h (c_init_decl_processing): New.
5442         * cpphash.c (_cpp_init_hashtable): After initializing the hash
5443         table, populate it.
5444         * cppinit.c (read_original_filename, cpp_finish_options): New.
5445         (cpp_create_reader): New prototype. Defer hash table initialization.
5446         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
5447         hash table.  Get the original filename.
5448         * cpplib.h (cpp_create_reader): Update.
5449         (cpp_start_read): Remove.
5450         (cpp_read_main_file, cpp_finish_options): New.
5451         * cppmain.c (main, do_preprocessing): Update.
5452         * langhooks.h (struct langhooks): Update init prototype.
5453         * toplev.c (general_init, parse_options_and_default_flags,
5454         process_options, lang_indpendent_init, lang_dependent_init,
5455         init_asm_output): New; perform the bulk of initialization.
5456         (compile_file): Move most of initialization to above functions.
5457         (debug_hooks): Initialize statically.
5458         (set_Wunused): Relocate.
5459         (toplev_main): Move most of initialization to other init functions.
5460         Have a clear logic flow.
5461         * tree.h (init_parse, init_decl_processing): Remove.
5462 objc:
5463         * objc-act.c (objc_init): Update prototype, combine with old
5464         init_parse.
5465         (objc_init_options): Update.
5466
5467
5468 2001-11-15  Andreas Jaeger  <aj@suse.de>
5469
5470         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
5471         portability.
5472         * basic-block.h: Adjust prototype.
5473
5474 2001-11-15  Kazu Hirata  <kazu@hxi.com>
5475
5476         * config/rs6000/aix31.h: Fix comment formatting.
5477         * config/rs6000/beos.h: Likewise.
5478         * config/rs6000/darwin.h: Likewise.
5479         * config/rs6000/eabi.asm: Likewise.
5480         * config/rs6000/linux.h: Likewise.
5481         * config/rs6000/linux64.h: Likewise.
5482         * config/rs6000/lynx.h: Likewise.
5483         * config/rs6000/netbsd.h: Likewise.
5484         * config/rs6000/rs6000.c: Likewise.
5485         * config/rs6000/rs6000.h: Likewise.
5486         * config/rs6000/rs6000.md: Likewise.
5487         * config/rs6000/sol2.h: Likewise.
5488         * config/rs6000/tramp.asm: Likewise.
5489         * config/rs6000/xcoff.h: Likewise.
5490         * config/rs6000/xm-beos.h: Likewise.
5491
5492 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
5493
5494         * rtl.def (INCLUDE) : Define.
5495         * gensupport.c  (init_include_reader, process_include,
5496         save_string) :  New functions to implement an include facility
5497         in .md files.
5498         * gensupport.h : Add prototype for init_md_reader_args.
5499         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
5500         genextract.c genflags.c genopinit.c genoutput.c
5501         genpeep.c genrecog.c: Change call to init_md_reader to
5502         init_md_reader_args.
5503         * md.texi: Document (include "path") and -I directives for RTL
5504         generation tools.
5505
5506 2001-11-14  DJ Delorie  <dj@redhat.com>
5507
5508         * integrate.c (get_hard_reg_initial_reg): New.
5509         * integrate.h (get_hard_reg_initial_reg): Prototype.
5510         * local-alloc.c (block_alloc): Don't tie pseudos that
5511         represent call-saved hard regs' initial values.
5512
5513 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5514
5515         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
5516         recursion.
5517
5518 2001-11-14  Roger Sayle <roger@eyesopen.com>
5519
5520         * fold-const.c (fold): Optimize strlen comparisons against zero.
5521
5522 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
5523
5524         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
5525         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
5526         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
5527         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
5528         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
5529         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
5530         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
5531         Include various CPU headers via tm_file.  a.out based platforms now
5532         properly include sparc/aout.h.  sol2.h usage now implies including
5533         elfos.h, svr4.h, and sparc/sysv4.h.
5534         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
5535         Also define to '1'.
5536         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
5537         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5538         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
5539         Remove.  They are a.out specific and belong in sparc/aout.h.
5540         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
5541         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5542         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
5543         sparc/sparc.h.
5544         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
5545         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
5546         Moved here from sparc/sparc.h.
5547         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
5548         defining.
5549         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
5550         * config/sparc/lynx.h:  Don't include lynx.h.
5551         (SELECT_SECTION): Do not undef.
5552         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
5553         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
5554         and sparc/sysv4.h.
5555         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
5556         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
5557         sparc/aout.h now.
5558         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
5559         Don't undef, there is no need.
5560         * config/sparc/splet.h (CPP_PREDEFINES): Define.
5561         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
5562         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
5563         Don't include sparc/sparc.h.
5564         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
5565         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5566         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
5567         elfos.h and svr4.h.
5568         (TARGET_VERSION): Define.
5569         * config/sparc/vxsim.h (TARGET_VERSION): Define.
5570
5571 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
5572
5573         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
5574         (cfg_layout_finalize): Use it.
5575         * bb-reorder.c (HAVE_epilogue): Remove.
5576         (make_reorder_chain): Do not care special placement of
5577         last basic block.
5578
5579         * predict.c (expected_value_to_br_prob): Delete the note
5580         once transformed.
5581
5582         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
5583         measure integration time separately.
5584
5585 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5586
5587         * function.c (struct temp_slot): ALIGN now unsigned.
5588
5589 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5590
5591         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
5592         * config/dsp16xx/dsp16xx.h: Likewise.
5593         * config/dsp16xx/dsp16xx.md: Likewise.
5594
5595 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5596
5597         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
5598         that deals with 7-bit shifts in HImode.
5599
5600 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
5601
5602         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
5603         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
5604         (final_scan_insn): Update call of alter_subreg.
5605         (cleanup_subreg_operands): Likewise.
5606         (alter_subreg): Rewrite using simplify_subreg.
5607         (output_address, output_operand): Update call of alter_subreg.
5608         * output.h (alter_subreg): Update prototype.
5609         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
5610         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
5611         * Makefile.in (final.o): Add dependency on expr.h
5612
5613 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5614
5615         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
5616
5617 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
5618
5619         * doc/install.texi (sparc-*-linux*): Mention requirements for
5620         binutils and glibc.
5621
5622 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
5623
5624         * Makefile.in (POD2MAN): Don't include --section=1.
5625         (manext): Rename to man1ext.  All users changed.
5626         (man7ext): New.
5627         (man7dir): New.
5628         (generated-manpages): Also depend on $(docdir)/gfdl.7,
5629         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
5630         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
5631         --section=1 in calls to $(POD2MAN).
5632         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
5633         (maintainer-clean, install, uninstall): Handle the new man pages.
5634         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
5635         (installdirs): Create man7dir.
5636         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
5637         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
5638         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
5639         the SEE ALSO man page section.
5640         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
5641         and fsf-funding(7) in the SEE ALSO man page section.
5642         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
5643         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
5644         * doc/include/fdl.texi, doc/include/funding.texi,
5645         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
5646         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
5647
5648 2001-11-13  Richard Henderson  <rth@redhat.com>
5649
5650         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
5651         as appropriate for the artificial decl.
5652
5653 2001-11-13  Richard Henderson  <rth@redhat.com>
5654
5655         * loop.c (combine_movables): Turn off combination until
5656         move_movables validation bugs are fixed.
5657
5658 2001-11-13  DJ Delorie  <dj@redhat.com>
5659
5660         * config.gcc (powerpc|rs6000): Set default cpp options based
5661         on --with-cpu settings.
5662         * config/rs6000/softfloat.h: New.
5663
5664 2001-11-13  Kazu Hirata  <kazu@hxi.com>
5665
5666         * config/h8300/h8300.c (shift_alg_si): Use special code for
5667         25-bit shifts on H8/S.
5668         (get_shift_alg): Generate special code for 25-bit shifts on
5669         H8/S.
5670
5671 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
5672
5673         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
5674         (adjust_automodify_address_1): New.
5675         * expr.h (adjust_address, adjust_address_nv): Adjust.
5676         (adjust_automodify_address, adjust_automodify_address_nv): Define.
5677         (adjust_address_1): Update prototype.
5678         (adjust_automodify_address_1): Add prototype.
5679         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
5680         (store_by_pieces_2): Likewise.
5681
5682 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5683
5684         * Makefile.in (explow.o): Now depends on ggc.h.
5685         * explow.c (ggc.h): Include.
5686         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
5687
5688         * Makefile.in (expr.o): Depends on insn-attr.h.
5689         * expr.c (insn-attr.h): New include.
5690         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
5691         of MEM.
5692         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
5693         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
5694         clean up related usage in ADDR_EXPR.
5695         (expand_expr_unaligned): Likewise.
5696
5697         * emit-rtl.c (change_address): Fix typo in alias setting.
5698
5699 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5700
5701         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
5702
5703 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5704
5705         PR bootstrap/3451
5706         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
5707         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
5708
5709 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5710
5711         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
5712         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
5713         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
5714         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
5715         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
5716         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
5717         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
5718         sparc64-*-linux*):  Include various CPU headers via tm_file.
5719         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
5720         (SELECT_SECTION): Likewise.
5721         (SELECT_RTX_SECTION): Likewise.
5722         * config/sparc/sparc_bi.h: New file.
5723         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
5724         * config/sparc/linux-aout.h: Likewise.
5725         * config/sparc/linux.h: Don't include sparc/sysv4.h.
5726         * config/sparc/linux64.h: Likewise.
5727         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5728         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
5729         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
5730         and dbxcoff.h
5731         (ASM_OUTPUT_IDENT): Do not #undef.
5732         (SELECT_SECTION): Likewise.
5733         (SELECT_RTX_SECTION): Likewise.
5734         * config/sparc/liteelf.h: Don't include gofast.h.
5735         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
5736         * config/sparc/lynx.h: Don't include sparc/sparc.h.
5737         * config/sparc/pbd.h: Likewise.
5738         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
5739         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
5740         * config/sparc/rtemself.h: Don't include rtems.h.
5741         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
5742         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
5743         sparc_bi.h instead.
5744         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
5745         * config/sparc/sol2.h: Include sparc/sparc.h directly.
5746         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
5747         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
5748         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
5749         * config/sparc/sp86x-elf.h: Don't include gofast.h.
5750         * config/sparc/splet.h: Don't include sparc/aout.h.
5751         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
5752         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
5753         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
5754         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
5755         * config/sparc/vxsparc64.h: Don't include gofast.h.
5756         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5757
5758 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5759
5760         * doc/standards.texi: Mention C99 TC1.
5761
5762 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5763
5764         * mips-protos.h (mips_output_conditional_branch): Const-ify.
5765         * mips.c (mips_output_conditional_branch): Likewise.
5766
5767 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5768
5769         * config/h8300/h8300.c (shift_alg_si): Use special code for
5770         15-bit logical shifts and 31-bit logical shifts.
5771         (get_shift_alg): Generate special code for 15-bit and 31-bit
5772         logical shifts.
5773
5774 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5775
5776         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
5777         doing 6-bit logical shifts on H8/S.
5778         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
5779         (get_shift_alg): Generate special code for 21-bit shifts on
5780         H8/S.
5781
5782 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5783
5784         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
5785         label.
5786
5787 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5788
5789         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
5790         if both size and offset known.
5791
5792 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5793
5794         * config/ia64/freebsd.h: Fix misspelling.
5795
5796 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5797
5798         * doc/gcc.texi: Move several chapters out to ...
5799         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
5800         doc/include/linux-and-gnu.texi, doc/interface.texi,
5801         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
5802         ... here.  New files.
5803         * doc/gcc.texi, doc/contrib.texi: Move section headings into
5804         contrib.texi.
5805         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5806
5807 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5808
5809         * config/alpha/alpha-interix.h: Fix comment formatting.
5810         * config/alpha/alpha.c: Likewise.
5811         * config/alpha/alpha.h: Likewise.
5812         * config/alpha/alpha32.h: Likewise.
5813         * config/alpha/freebsd.h: Likewise.
5814         * config/alpha/unicosmk.h: Likewise.
5815         * config/alpha/vms.h: Likewise.
5816
5817 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5818
5819         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5820
5821 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
5822
5823         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
5824         numbers.
5825
5826 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5827
5828         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
5829         from type.
5830         (replace_equiv_address): Call update_temp_slot_address.
5831
5832         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
5833
5834         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
5835
5836 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5837
5838         * config/h8300/h8300.c (shift_alg_qi): New.
5839         (shift_alg_hi): Likewise.
5840         (shift_alg_si): Likewise.
5841         (get_shift_alg): Change the type of count to unsigned int.
5842         Use the tables.
5843
5844 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
5845
5846         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
5847         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
5848         to decide whether to defer a function.
5849         (finish_function): Adjust.
5850         (c_expand_deferred_function): New function.
5851         * c-lang.c (deferred_fns): New variable.
5852         (c_init): Initialize it, and mark it as a root.
5853         (defer_fn): New function.
5854         (finish_file): Expand all deferred functions.
5855         * c-tree.h (defer_fn): Declare.
5856         (c_expand_deferred_function): Likewise.
5857         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
5858         * objc-act.c (deferred_fns): New variable.
5859         (objc_init): Initialize it, and mark it as a root.
5860         (defer_fn): New function.
5861         (finish_file): Expand all deferred functions.
5862
5863 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5864
5865         * alpha.c (unicosmk_special_name): Prototype.
5866         (unicosmk_ssib_name): Delete unused variable.
5867         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
5868         * alpha/vms.h (PREFIX): Undef before defining.
5869         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
5870         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
5871         controlling usage.  Const-ify.
5872         (alias_number): Delete unused variable.
5873         * m32r/m32r.c (m32r_sched_init): Add missing argument.
5874         (m32r_expand_block_move): Fix uninitialized warnings.
5875         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
5876         always true' warnings.
5877         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
5878         * sh/sh.c: Include "integrate.h".
5879         (output_far_jump): Fix uninitialized warning.
5880         * final.c (shorten_branches): Avoid automatic aggregate
5881         initialization.
5882         * integrate.c (subst_constants): Likewise.
5883
5884 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5885
5886         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
5887         (get_shift_alg): Remove redundant code.
5888
5889 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5890
5891         * config/pa/milli64.S: Fix comment formatting.
5892         * config/pa/pa-64.h: Likewise.
5893         * config/pa/pa-linux.h: Likewise.
5894         * config/pa/pa-protos.h: Likewise.
5895         * config/pa/pa.c: Likewise.
5896         * config/pa/pa.h: Likewise.
5897         * config/pa/pa32-linux.h: Likewise.
5898         * config/pa/pa32-regs.h: Likewise.
5899         * config/pa/pa64-hpux.h: Likewise.
5900         * config/pa/pa64-regs.h: Likewise.
5901         * config/pa/som.h: Likewise.
5902
5903 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5904
5905         * doc/gcc.texi: Move several chapters out to ...
5906         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
5907         doc/service.texi, doc/standards.texi, doc/trouble.texi,
5908         doc/vms.texi: ... here.  New files.
5909         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5910
5911 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5912
5913         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
5914         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
5915         collect2.c, combine.c, config.in, configure, configure.in,
5916         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
5917         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
5918         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
5919         spelling errors.
5920
5921 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5922
5923         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
5924         Adjust operand number in CONST_DOUBLE.
5925
5926         * expmed.c (extract_bit_field): No longer pass in alignment.
5927         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
5928         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
5929         Likewise.
5930         * expr.c (store_constructor, store_constructor_field): Likewise.
5931         (store_field, emit_group_load, emit_group_store): Likewise.
5932         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
5933         (store_bit_field, extract_bit_field): Likewise.
5934         * calls.c, expr.c, function.c: Change calls to above functions.
5935         * ifcvt.c, stmt.c: Likewise.
5936
5937         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
5938         constant and one is on frame.
5939         If know memref offset, adjust size from decl.
5940
5941 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5942
5943         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
5944         format specifier warning.
5945         * convex.h (ASM_OUTPUT_BYTE): Likewise.
5946         * elfos.h (ALIGN_ASM_OP): Undef before defining.
5947         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
5948         warning.
5949         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5950         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5951         * i386-interix.h (gen_stdcall_suffix): Prototype.
5952         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5953         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5954         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5955         * i386/interix.c (gen_stdcall_suffix): Const-ify.
5956         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5957         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
5958         specifier warnings.
5959         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5960         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5961         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5962         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5963         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5964         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5965         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5966         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
5967         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
5968         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5969         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5970         Likewise.
5971         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5972         Likewise.
5973         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
5974         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5975         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
5976         Likewise.
5977         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
5978         Likewise.
5979         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5980         Likewise.
5981         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
5982         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5983         * m68k/news.h (PRINT_OPERAND): Likewise.
5984         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5985         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
5986         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5987         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
5988         definition.
5989         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5990         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
5991         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
5992         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5993         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
5994         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
5995         PRINT_OPERAND): Likewise.
5996         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5997         Likewise.
5998         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5999         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
6000         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
6001         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
6002         * mips.c (mips_output_external_libcall): Mark parameter with
6003         ATTRIBUTE_UNUSED.
6004         (mips_asm_file_start): Move variable into the scope where it's
6005         used.
6006         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
6007         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
6008         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
6009         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6010         * ns32k.c (print_operand): Likewise.
6011         * pa.c (print_operand, output_div_insn): Likewise.
6012         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
6013         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
6014         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
6015         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
6016         specifier warnings.
6017         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6018         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6019         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
6020         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
6021         specifier warnings.
6022         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6023
6024         * sdbout.c (sdbout_end_epilogue): Mark parameter with
6025         ATTRIBUTE_UNUSED.
6026         * varasm.c (assemble_global): Likewise.
6027
6028 2001-11-11  H.J. Lu <hjl@gnu.org>
6029
6030         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
6031
6032 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
6033
6034         * final.c (*_MAX_SKIP): Use *_max_skip variables.
6035         * flags.h (align_loops_max_skip, align_jumps_max_skip,
6036         align_labels_max_skip): New global variables.
6037         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
6038         align_labels_max_skip): New global variables.
6039         (toplev_main): Set new variables.
6040         * i386.c (override_options): Set max_skip values.
6041
6042 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
6043
6044         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
6045         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
6046         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
6047         don't print an @fptr for labels either.
6048         (xstormy16_output_addr_vec): Don't print @fptr here.
6049         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
6050
6051 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
6052
6053         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
6054         an ANSI/ISO definitino.
6055         (ssa_const_prop): Likewise.
6056
6057 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
6058
6059         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
6060         altivec registers.
6061
6062 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6063
6064         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
6065         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
6066         * cppmain.c (general_init): Call hex_init.
6067         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
6068
6069         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
6070
6071         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
6072         of dgux.c:output_file_start().
6073
6074         * i386/dgux.c: Delete file.
6075
6076 2001-11-09  Richard Henderson  <rth@redhat.com>
6077
6078         * config/alpha/alpha.c (decl_in_text_section): New.
6079         (current_file_function_operand): Use it.
6080         (alpha_encode_section_info, alpha_end_function): Likewise.
6081
6082 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
6083
6084         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
6085         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
6086         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
6087         so OS specific files and use CPP_PREDEFINES for their needs.
6088         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
6089         target headers to tm_file.
6090         * config/ia64/aix.h (TARGET_VERSION): Likewise.
6091         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
6092         * config/ia64/linux.h (TARGET_VERSION): Likewise.
6093         (FUNCTION_PROFILER): Remove.
6094         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
6095         version in config/ia64/linux.h.
6096         * config/ia64/freebsd.h: New file.
6097         * config/freebsd.h: Tidy up.
6098         (_USING_CONFIG_FREEBSD): Define.
6099         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
6100         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
6101         (FBSD_STARTFILE_SPEC): Likewise.
6102         (FBSD_ENDFILE_SPEC): Likewise.
6103         (FBSD_LIB_SPEC): Likewise.
6104         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
6105         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
6106         set an ELF-improper one.
6107
6108 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6109
6110         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
6111         constant can be loaded in a single instruction to a register.  When
6112         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
6113         depdi for insertion of most significant 32-bits on 64-bit hosts.
6114         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
6115         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
6116         * pa.md: New addmove pattern for adding constant_int to HImode
6117         register and moving result to HImode register.  Remove HImode HIGH
6118         and LO_SUM patterns.
6119
6120 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6121
6122         * Makefile.in: Update.
6123         * c-decl.c (print_lang_decl, print_lang_type): Remove.
6124         (print_lang_identifier): Rename c_print_identifier.
6125         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
6126         (print_lang_statistics, lang_print_xnode): Remove.
6127         * c-parse.in (set_yydebug): Rename c_set_yydebug.
6128         * c-tree.h (c_set_yydebug, c_print_identifier): New.
6129         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
6130         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
6131         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
6132         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
6133         (LANG_HOOKS_INITIALIZER): Update.
6134         * langhooks.h (struct lang_hooks): New members.
6135         (lang_print_tree_hook): New.
6136         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
6137         * print-tree.c: Include langhooks.h.
6138         (print_node): Update.
6139         * toplev.c (decode_d_option): Update.
6140         * tree.c: Include langhooks.h.
6141         (dump_tree_statistics): Update.
6142         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
6143         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
6144 objc:
6145         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
6146         LANG_HOOKS_SET_YYDEBUG): Override.
6147         (lang_print_xnode, print_lang_statistics): Remove.
6148
6149 2001-11-09  Richard Henderson  <rth@redhat.com>
6150
6151         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
6152         on the symbol string.
6153
6154 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6155
6156         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
6157         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
6158         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
6159
6160         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
6161
6162         * tlink.c (recompile_files): Copy strings passed to `putenv'.
6163
6164 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
6165
6166         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
6167         (TYPE_READONLY): Likewise.
6168
6169         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
6170
6171         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
6172         don't pass --gdwarf2 to the assembler if the compiler will also
6173         provide debug info.
6174
6175         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
6176         Don't change INDEX.
6177
6178 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6179
6180         * alias.c (nonoverlapping_memrefs_p): New function.
6181         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
6182
6183         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
6184
6185 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
6186
6187         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
6188         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
6189         generating altivec code.
6190         (FIXED_REGISTERS): VRSAVE is fixed.
6191         (CALL_USED_REGISTERS): VRSAVE is call used.
6192
6193 2001-11-09  Jason Eckhardt  <jle@rice.edu>
6194
6195         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
6196         code the branch target as ".+16/.+12", but rather use labels.
6197
6198 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
6199
6200         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
6201         to work around limitations of certain versions of GAS.
6202
6203         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
6204         (muldi3): Update due to SUBREG_BYTE changes.
6205         (casesi): Similarly.
6206
6207 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
6208
6209         * doc/invoke.texi: Remove comment referring to -xf77-version.
6210
6211 2001-11-09  Kazu Hirata  <kazu@hxi.com>
6212
6213         * config/convex/convex.c: Fix comment formatting.
6214         * config/convex/convex.h: Likewise.
6215
6216 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
6217
6218         * Makefile.in (.po.pox): Look both in srcdir and builddir
6219         for $(PACKAGE).pot.
6220         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
6221         to the source directory.
6222
6223 2001-11-09 Ben Elliston  <bje@redhat.com>
6224            Michael Meissner  <meissner@redhat.com>
6225            Andrew MacLeod  <amacleod@redhat.com>
6226            Richard Henderson  <rth@redhat.com>
6227            Nick Clifton  <nickc@redhat.com>
6228            Catherine Moore  <clm@redhat.com>
6229
6230         * m32r.c: Add support for m32rx processor.
6231         * m32r.h: Ditto.
6232         * m32r.md: Ditto.
6233         * t-m32r: Ditto.
6234         * m32r-protos.h: Add prototypes for m32rx functions.
6235         * doc/invoke.texi: Document -m32rx option.
6236
6237 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
6238
6239         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
6240         or after reload.
6241
6242 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6243
6244         * doc/install.texi2html: Use $MAKEINFO --no-split.
6245
6246 2001-11-09  Andreas Schwab  <schwab@suse.de>
6247
6248         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
6249         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
6250         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
6251         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
6252         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
6253
6254 2001-11-09  H.J. Lu <hjl@gnu.org>
6255
6256         * config/mips/mips.c (mips_output_function_prologues): Cast
6257         `tsize' to long for output.
6258
6259 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6260
6261         * c-lang.c (LANG_HOOKS_NAME): New.
6262         (lang_hooks): Constify.
6263         (c_init_options): Update.
6264         (lang_identify): Remove.
6265         * c-parse.in (language_string): Remove.
6266         * dbxout.c: Include langhooks.h.
6267         (dbxout_symbol_location): Update.
6268         * dwarf2out.c: Include langhooks.h.
6269         (gen_compile_unit_die): Update.
6270         * dwarfout.c: Include langhooks.h.
6271         (prototyped_attribute, output_compile_unit_die): Update.
6272         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
6273         (LANG_HOOKS_INITIALIZER): Update.
6274         * langhooks.h (struct lang_hooks): New members.  Constify.
6275         * stringpool.c: Don't include toplev.h.
6276         (set_identifier_size): Remove.
6277         * toplev.c (toplev_main): Initialize identifier size.
6278         (print_version): Update.
6279         * tree.h (language_string, init_lex, lang_identify,
6280         set_identifier_size): Remove.
6281         * Makefile.in: Update dependencies.
6282         * config/darwin.c: Include langhooks.h.
6283         (func_name_maybe_scoped): Update.
6284         * config/darwin.h (ASM_END_FILE): Update.
6285         * config/nextstep.h (ASM_END_FILE): Update.
6286         * config/nextstep21.h (ASM_END_FILE): Update.
6287         * config/i386/sun386.h (ASM_END_FILE): Update.
6288         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
6289         (rs6000_output_function_epilogue): Update.
6290 objc:
6291         * objc-act.c (LANG_HOOKS_NAME): Override.
6292         (struct lang_hooks): Constify.
6293         (objc_init_options): Update.
6294         (lang_identify): Remove.
6295
6296 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
6297
6298         * fold-const.c (lshift_double): Honor PREC.
6299         (rshift_double): Likewise.
6300
6301 2001-11-08  Kazu Hirata  <kazu@hxi.com>
6302
6303         * config/1750a/1750a.c: Fix comment formatting.
6304         * config/1750a/1750a.h: Likewise.
6305
6306 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
6307
6308         * configure.in (--enable-languages): Be more permissive about
6309         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
6310         * configure: Regenerated.
6311
6312 2001-11-08  Richard Henderson  <rth@redhat.com>
6313
6314         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
6315
6316 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
6317
6318         * config.gcc: Rename stormy16 to xstormy16.
6319         * config/stormy16/stormy-abi: Likewise.
6320         * config/stormy16/stormy16-protos.h: Likewise.
6321         * config/stormy16/stormy16.c: Likewise.
6322         * config/stormy16/stormy16.h: Likewise.
6323         * config/stormy16/stormy16.md: Likewise.
6324
6325 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
6326
6327         * tree.h (TYPE_VOLATILE): Add enable-checking code.
6328         (TYPE_READONLY): Likewise.
6329
6330 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6331
6332         * reload1.c (reload): Don't delete equiv insn if can throw.
6333
6334         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
6335         (clear_storage): Likewise, for OBJECT.
6336
6337 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
6338
6339         * pa.c (emit_move_sequence): Fix SUBREG expression to
6340         use proper byte offset when extending a constant from
6341         SImode to DImode.
6342
6343 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
6344
6345         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
6346         which cannot throw.
6347
6348 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6349
6350         * explow.c (convert_memory_address, case SUBREG): Only return
6351         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
6352
6353 2001-11-08  Richard Henderson  <rth@redhat.com>
6354
6355         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
6356         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
6357         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
6358
6359 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
6360
6361         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
6362
6363 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
6364
6365         * dwarf2out.c (debug_str_hash): New.
6366         (struct indirect_string_node): New.
6367         (struct dw_val_struct): Change type of val_str to it.
6368         (DEBUG_STR_SECTION_FLAGS): Define.
6369         (add_AT_string): Push string into hashtable, increment reference
6370         counter.
6371         (AT_string): Return string from ht_identifier.
6372         (AT_string_form): New.
6373         (free_AT): For dw_val_class_str, just decrement reference counter.
6374         (size_of_string): Remove.
6375         (size_of_die): Use AT_string_form to decide what size the string
6376         occupies in DIE.
6377         (size_of_pubnames): Use strlen instead of size_of_string.
6378         (value_format): Use AT_string_form for dw_val_class_str.
6379         (output_die): Output DW_FORM_strp strings using
6380         dw2_asm_output_offset.
6381         (indirect_string_alloc, output_indirect_string): New.
6382         (dwarf2out_finish): Emit .debug_str strings if there are any.
6383
6384 2001-11-08  Andreas Franck  <afranck@gmx.de>
6385
6386         * configure.in: Add AC_ARG_PROGRAM to support program name
6387         transformation with --program-prefix, --program-suffix and
6388         --program-transform-name.
6389         * configure: Regenerated.
6390         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
6391         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
6392         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
6393         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
6394         program_transform_name the way suggested by autoconf.
6395         (GCC_TARGET_INSTALL_NAME): Define.
6396         (install-driver): Use the transformed target alias name.
6397
6398 2001-11-08  Richard Henderson  <rth@redhat.com>
6399
6400         * config/mips/mips.c (save_restore_insns): Remove GP from the
6401         restore registers mask early instead of special casing it inside
6402         the loop.
6403
6404 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6405
6406         * cp/decl.c (shadow_warning): New function.
6407         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
6408         and an error when a block scope decl shadows a parameter.
6409
6410 2001-11-08  Richard Henderson  <rth@redhat.com>
6411
6412         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
6413         case as well.
6414
6415 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6416
6417         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
6418         to implement floating negation on processors prior to PA 2.0.
6419
6420 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
6421
6422         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
6423         (USE_LINKONCE_INDIRECT): Define.
6424         (dw2_output_indirect_constant_1): Try to output indirect constants
6425         into linkonce sections if possible.
6426         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
6427         (dw2_output_indirect_constants): Likewise.
6428
6429 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
6430
6431         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
6432
6433 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6434
6435         * c-decl.c (pushdecl): Remove file and line.
6436         * c-typeck.c (pop_init_level): Remove size.
6437
6438 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
6439
6440         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
6441         for rs6000.
6442
6443         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
6444         (TARGET_ALTIVEC): New.
6445         (TARGET_SWITCHES): Add altivec.
6446         (FIRST_PSEUDO_REGISTER): Change to 109.
6447         (CALL_USED_REGISTERS): Same.
6448         (FIRST_ALTIVEC_REGNO): New.
6449         (LAST_ALTIVEC_REGNO): New.
6450         (ALTIVEC_REGNO_P): New.
6451         (UNITS_PER_ALTIVEC_WORD): New.
6452         (ALTIVEC_VECTOR_MODE): New.
6453         (FIXED_REGISTERS): Add altivec registers.
6454         (REG_ALLOC_ORDER): Same.
6455         (HARD_REGNO_NREGS): Adjust for altivec registers.
6456         (HARD_REGNO_MODE_OK): Same.
6457         (MODES_TIEABLE_P): Same.
6458         (REGISTER_MOVE_COST): Same.
6459         (REGNO_REG_CLASS): Same.
6460         (reg_class): Add ALTIVEC_REGS.
6461         (REG_CLASS_NAMES): Same.
6462         (REG_CLASS_CONTENTS): Same.
6463         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
6464         (ALTIVEC_ARG_RETURN): New.
6465         (FUNCTION_VALUE): Handle VECTOR_TYPE.
6466         (LIBCALL_VALUE): Handle altivec vector modes.
6467         (VECTOR_MODE_SUPPORTED_P): New.
6468         (ALTIVEC_ARG_MIN_REG): New.
6469         (ALTIVEC_ARG_MAX_REG): New.
6470         (ALTIVEC_ARG_NUM_REG): New.
6471         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
6472         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
6473         (REGISTER_NAMES): Add altivec regs.
6474         (DEBUG_REGISTER_NAMES): Same.
6475         (ADDITIONAL_REGISTER_NAMES): Same.
6476         (rs6000_builtins): New.
6477         (MD_EXPAND_BUILTIN): New.
6478         (MD_INIT_BUILTINS): New.
6479         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
6480         for AltiVec instructions.
6481         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
6482         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
6483         registers.
6484         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
6485         (TARGET_SWITCHES): Add no-altivec.
6486         (DATA_ALIGNMENT): Align vectors to 128 bits.
6487         (TARGET_OPTIONS): Add abi= option.
6488         Add rs6000_abi_string extern.
6489         (LOCAL_ALIGNMENT): New.
6490         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
6491         (MASK_ALTIVEC_ABI): New.
6492         (TARGET_ALTIVEC_ABI): New.
6493         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
6494         call-saved.
6495         (STACK_BOUNDARY): Adjust for altivec.
6496         (BIGGEST_ALIGNMENT): Same.
6497         (rs6000_args): Add vregno.
6498         (USE_ALTIVEC_FOR_ARG_P): New.
6499         (FIXED_REGISTERS): Add vrsave register.
6500         (CALL_USED_REGISTERS): Same.
6501         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
6502         (VRSAVE_REGNO): New.
6503         (reg_class): Add VRSAVE_REGS.
6504         (REG_CLASS_NAMES): Same.
6505         (REG_CLASS_CONTENTS): Same.
6506         (REGNO_REG_CLASS): Same.
6507
6508         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
6509         (ABI_STACK_BOUNDARY): Same.
6510         (BIGGEST_ALIGNMENT): Same.
6511         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
6512         (ROUND_TYPE_ALIGN): Same.
6513
6514         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6515         to 64.
6516
6517         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6518         to 64.
6519
6520         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6521         to 64.
6522
6523         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
6524         (altivec_expand_builtin): New.
6525         (altivec_init_builtins): New.
6526         (TARGET_EXPAND_BUILTIN): New.
6527         (TARGET_INIT_BUILTINS): New.
6528         (rs6000_init_builtins): New.
6529         (struct builtin_description): New.
6530         (bdesc_2arg): New.
6531         (rs6000_reg_names): Add altivec registers.
6532         (alt_reg_names): Same.
6533         (secondary_reload_class): Altivec regs can hold altivec regs and
6534         memory.
6535         (rs6000_emit_move): Force constants into memory for AltiVec moves.
6536         (print_operand): Add 'y' case for printing altivec memory
6537         operands.
6538         (rs6000_legitimize_address): Legitimize vector addresses into
6539         [REG+REG] or [REG].
6540         (altivec_expand_binop_builtin): New.
6541         New string rs6000_current_abi.
6542         (rs6000_override_options): Call rs6000_parse_abi_options.
6543         (rs6000_parse_abi_options): New.
6544         (function_arg_boundary): Vector arguments must be 16
6545         byte aligned.
6546         (function_arg_advance): Handle vector arguments.
6547         (function_arg_partial_nregs): Same.
6548         (init_cumulative_args): Same.
6549         (function_arg): Same.
6550
6551         * config/rs6000/rs6000.md (altivec_lvx): New.
6552         (type): Add altivec attribute.
6553         (movv4si): New.
6554         (*movv4si_internal): New.
6555         (movv16qi): New.
6556         (*movv16qi_internal): New.
6557         (movv8hi): New.
6558         (*movv8hi_internal1): New.
6559         (movv4sf): New.
6560         (*movv4sf_internal1): New.
6561         (altivec_stvx): New.
6562         (vaddubm): New.
6563         (vadduhm): New.
6564         (vadduwm): New.
6565         (vaddfp): New.
6566         (vaddcuw): New.
6567         (vaddubs): New.
6568         (vaddsbs): New.
6569         (vadduhs): New.
6570         (vaddshs): New.
6571         (vadduws): New.
6572         (vaddsws): New.
6573         (vand): New.
6574         (vandc): New.
6575         (vavgub): New.
6576         (vavgsb): New.
6577         (vavguh): New.
6578         (vavgsh): New.
6579         (vavguw): New.
6580         (vavgsw): New.
6581         (vcmpbfp): New.
6582         (vcmpequb): New.
6583         (vcmpequh): New.
6584         (vcmpequw): New.
6585         (vcmpeqfp): New.
6586         (vcmpgefp): New.
6587         (vcmpgtub): New.
6588         (vcmpgtsb): New.
6589         (vcmpgtuh): New.
6590         (vcmpgtsh): New.
6591         (vcmpgtuw): New.
6592         (vcmpgtsw): New.
6593         (vcmpgtfp): New.
6594         (vcmpgefp): New.
6595         (vcmpgtub): New.
6596         (vcmpgtsb): New.
6597         (vcmpgtuh): New.
6598         (vcmpgtsh): New.
6599         (vcmpgtuw): New.
6600         (vcmpgtsw): New.
6601         (vcmpgtfp): New.
6602         (vmaxub): New.
6603         (vmaxsb): New.
6604         (vmaxuh): New.
6605         (vmaxsh): New.
6606         (vmaxuw): New.
6607         (vmaxsw): New.
6608         (vmaxfp): New.
6609         (vmrghb): New.
6610         (vmrghh): New.
6611         (vmrghw): New.
6612         (vmrglb): New.
6613         (vmrglh): New.
6614         (vmrglw): New.
6615         (vminub): New.
6616         (vminsb): New.
6617         (vminuh): New.
6618         (vminsh): New.
6619         (vminuw): New.
6620         (vminsw): New.
6621         (vminfp): New.
6622         (vmuleub): New.
6623         (vmulesb): New.
6624         (vmuleuh): New.
6625         (vmulesh): New.
6626         (vmuloub): New.
6627         (vmulosb): New.
6628         (vmulouh): New.
6629         (vmulosh): New.
6630         (vnor): New.
6631         (vor): New.
6632         (vpkuhum): New.
6633         (vpkuwum): New.
6634         (vpkpx): New.
6635         (vpkuhss): New.
6636         (vpkshss): New.
6637         (vpkuwss): New.
6638         (vpkswss): New.
6639         (vpkuhus): New.
6640         (vpkshus): New.
6641         (vpkuwus): New.
6642         (vpkswus): New.
6643         (vrlb): New.
6644         (vrlh): New.
6645         (vrlw): New.
6646         (vslb): New.
6647         (vslh): New.
6648         (vslw): New.
6649         (vsl): New.
6650         (vslo): New.
6651         (vsrb): New.
6652         (vrsh): New.
6653         (vrsw): New.
6654         (vsrab): New.
6655         (vsrah): New.
6656         (vsraw): New.
6657         (vsr): New.
6658         (vsro): New.
6659         (vsububm): New.
6660         (vsubuhm): New.
6661         (vsubuwm): New.
6662         (vsubfp): New.
6663         (vsubcuw): New.
6664         (vsububs): New.
6665         (vsubsbs): New.
6666         (vsubuhs): New.
6667         (vsubshs): New.
6668         (vsubuws): New.
6669         (vsubsws): New.
6670         (vsum4ubs): New.
6671         (vsum4sbs): New.
6672         (vsum4shs): New.
6673         (vsum2sws): New.
6674         (vsumsws): New.
6675         (vxor): New.
6676
6677 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
6678
6679         * Makefile.in (df.o): Add fibheap.h to dependencies.
6680
6681         * df.h: Add prototypes for transfer functions, iterative_dataflow
6682         functions.
6683         (enum df_flow_dir): New enum.
6684         (enum df_confluence_op): New enum.
6685         (struct df): Add inverse_rts_map.
6686
6687         * df.c: Add sbitmap.h to the list of includes.
6688         (df_rd_global_compute): Removed.
6689         (df_ru_global_compute): Removed.
6690         (df_lr_global_compute): Removed.
6691         (df_rd_transfer_function): New function.
6692         (df_ru_transfer_function): New function.
6693         (df_lr_transfer_function): New function.
6694         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
6695         Use iterative_dataflow_bitmap instead of df_*_global_compute.
6696         (iterative_dataflow_sbitmap): New function.
6697         (iterative_dataflow_bitmap): New function.
6698
6699 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6700
6701         * doc/gcc.texi: Move terminology and spelling conventions to
6702         htdocs/codingconventions.html.
6703
6704 2001-11-07  Graham Stott  <grahams@redhat.com>
6705
6706         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
6707
6708 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
6709
6710         * expmed.c (expand_mult): Force operand to register before computing
6711         cost.
6712         * i386.c (x86_decompose_lea): New global vairable.
6713         * i386.h (x86_decompose_lea): Declare.
6714         (TARGET_DECOMPOSE_LEA): New macro.
6715         (RTX_COST): Handle leas properly.
6716
6717 2001-11-06  Richard Henderson  <rth@redhat.com>
6718
6719         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
6720         defined for a CONSTRUCTOR; don't check it.
6721
6722 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
6723
6724         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
6725         test for absolute pathnames.
6726
6727 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
6728
6729         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
6730         instructions up to the target pc inclusive.
6731
6732 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
6733
6734         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
6735
6736 2001-11-06  Eric Christopher  <echristo@redhat.com>
6737
6738         * config/mips/mips.md(movdf_internal2): Add constraints for float
6739         to general register move.
6740         * config/mips/elf64.h: Add default ABI.
6741
6742 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6743
6744         * alias.c:: Include langhooks.h.
6745         * emit-rtl.c: Similarly.
6746         * toplev.c: Similarly.
6747         * tree-inline.c: Similarly.
6748         * langhooks-def.h: New, the old langhooks.h.  Give the default
6749         hooks a common prefix.
6750         * langhooks.h: Contents extracted from toplev.h.
6751         * toplev.h: Move langhook stuff to langhooks.h.
6752         * langhooks.c: Give default hooks a common prefix.
6753
6754         * c-lang.c: Include langhooks-def.h.
6755         * objc/objc-act.c: Similarly.
6756         * Makefile.in: Update.
6757         * objc/Make-lang.in: Update.
6758
6759 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6760
6761         * doc/install.texi: Document that configure options not listed in
6762         this file are unsupported.  Document --with-system-zlib.
6763
6764 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6765
6766         * rtl.h (mem_for_const_double): New declaration.
6767         * varasm.c (mem_for_const_double): New function.
6768         * config/convex/convex.md (movdf): Use it.
6769         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
6770         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
6771         * config/m68k/m68kv4.h: Likewise.
6772
6773         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
6774         of new GP reg classes.
6775
6776         * expr.c (store_field): When making temp object for unaligned
6777         component, set it to alias set 0.
6778
6779 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6780
6781         * c-common.c (c_expand_expr_stmt): Apply default conversions to
6782         non-lvalue arrays if C99.
6783         * c-typeck.c (default_conversion): Split out code handling
6784         array-to-pointer and function-to-pointer conversions into a
6785         separate default_function_array_conversion function.
6786         (default_function_array_conversion): New function.  Keep track of
6787         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
6788         arrays unchanged outside C99 mode instead of giving an error for
6789         them.
6790         (build_component_ref): Use pedantic_non_lvalue when handling
6791         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
6792         (convert_arguments): Use default_function_array_conversion.
6793         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
6794         non-lvalues are OK.
6795         (unary_complex_lvalue): Likewise.
6796         (internal_build_compound_expr): Use
6797         default_function_array_conversion.  Apply default conversions to
6798         function in compound expression.
6799         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
6800         Use default_function_array_conversion.
6801         * doc/extend.texi: Update documentation of subscripting non-lvalue
6802         arrays.
6803         Fixes PR c/461.
6804
6805 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
6806
6807         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
6808         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
6809         corresponding to the complete set of .po and .gmo files in
6810         the source directory's po subdir, modified by LINGUAS.  Don't
6811         look at ALL_LINGUAS.
6812         * configure.in: Don't set ALL_LINGUAS.
6813         * configure: Regenerate.
6814
6815         * Makefile.in (.po.gmo): Don't move into source directory.
6816         (.po.pox): Clarify comments.
6817         (install-po): Look for .gmo files in both srcdir and objdir;
6818         don't fail if a file is totally missing.
6819         (distclean): rmdir ada subdirectory too.
6820
6821 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6822
6823         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6824         CONSTRUCTORs _correctly_.
6825
6826 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6827
6828         * c-decl.c (delete_block): Remove.
6829         * c-tree.h (delete_block): Remove.
6830
6831 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6832
6833         * cppexp.c (lex, parse_defined): Update warning about defined.
6834
6835 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6836
6837         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6838         CONSTRUCTORs too.
6839
6840 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
6841
6842         * config/arm/arm.c (arm_return_in_memory): Cope with
6843         int_size_in_bytes returning -1.
6844
6845         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
6846         DECL being NULL.
6847
6848 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6849
6850         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
6851         remove unneeded dependencies;
6852         (cfglayout.o): New.
6853         * cfglayout.c, cfglayout.h: New files; break out from ...
6854         * bb-reorder.c: ... here; Remove unneeded includes;
6855
6856 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
6857
6858         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
6859
6860 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
6861
6862         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
6863         mode as well.  Do not explicitly create intermediate regs.
6864
6865 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6866
6867         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
6868         (common_section): Delete unused variable.
6869         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
6870         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6871         * arm-protos.h (arm_poke_function_name, aof_add_import,
6872         aof_delete_import): Const-ify.
6873         * arm.c (legitimize_pic_address): Wrap variables in the macro
6874         controlling their usage.
6875         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
6876         (arm_poke_function_name, pic_chain, import, aof_add_import,
6877         aof_delete_import): Const-ify.
6878         * i386.c (ix86_osf_output_function_prologue): Const-ify.
6879         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6880         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
6881         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
6882         * i860/sysv3.h: Add missing comment closure.
6883         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
6884         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
6885         to symbolic_operand.
6886
6887         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
6888         (i960-*-*): Set tmake_file.
6889         (sparc86x-*-elf*): Fix typo in header name.
6890
6891         * sched-rgn.c (schedule_insns): Delete unused variable.
6892
6893 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6894
6895         PR c/2820
6896         * c-typeck.c (lookup_field): Rework to return a chain down to
6897         the looked-up field.
6898         (build_component_ref): Use the new lookup_field to handle
6899         nested anonymous entities correctly.
6900
6901 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6902
6903         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
6904         Change parameters to gen_rtx_CONST_DOUBLE.
6905         (GEN_INT64, sparc_emit_set_const64): Likewise.
6906         * config/sparc/sparc.md (movdf split): Likewise.
6907
6908 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
6909
6910         * unroll.c (calculate_giv_inc): Use find_last_value rather
6911         than just hoping the last instruction is the right SET.
6912         [Fixes 990604-1.c on stormy16.]
6913
6914         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
6915         library at all if -T is used.
6916
6917         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
6918         some uses of uninitialized variables in error cases.
6919
6920         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
6921         look at 'temp' if we won't be using it.
6922
6923         * config/stormy16/stormy16.h (CONST_COSTS): Define.
6924         (RTX_COSTS): Define.
6925         (ADDRESS_COST): Define.
6926         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
6927
6928         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
6929
6930         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
6931         stormy16_asm_output_mi_thunk.
6932         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
6933         function.
6934         * config/stormy16/stormy16-protos.h
6935         (stormy16_asm_output_mi_thunk): New prototype.
6936
6937 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6938
6939         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
6940         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
6941         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
6942         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
6943         sched-int.h, toplev.c, config/alpha/alpha.c,
6944         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
6945         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
6946         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
6947         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
6948         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
6949         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
6950         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
6951
6952 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6953
6954         * Makefile.in (dbxout.o): Depend on function.h.
6955         * collect2.c (is_in_list): Hide unused function.
6956         * dbxout.c: Include function.h.
6957         (source_label_number, dbxout_source_line, dbxout_source_file,
6958         dbxout_function_end, dbxout_begin_function): Wrap/move inside
6959         macros controlling usage.
6960         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
6961         * output.h (exports_section): Prototype.
6962
6963         * convex.c (convex_output_function_prologue): Fix format specifier
6964         warning.
6965         (asm_declare_function_name): Fix signed/unsigned warning.
6966         (print_operand): Fix format specifier warning.
6967         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
6968         * dsp16xx-protos.h (uns_comparison_operator,
6969         num_1600_core_shifts): Prototype.
6970         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
6971         (frame_size, frame_pointer_offset): Delete.
6972         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
6973         Make static.  Fix format specifier warnings.
6974         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
6975         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
6976         * dsp16xx.md: Add default case in switches.
6977         * fr30.h (IN_RANGE): Delete.
6978         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6979         * mcore-protos.h (mcore_output_cmov): Const-ify.
6980         * mcore.c (mcore_output_cmov): Likewise.
6981         * mcore.h (switch_to_section): Make static and prototype.
6982         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
6983         unsigned>=0 warnings.
6984         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
6985         * rs6000-protos.h (read_only_data_section,
6986         read_only_private_data_section): Prototype.
6987         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6988         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
6989         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
6990
6991 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6992
6993         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
6994         ATTRIBUTE_UNUSED.
6995         * final.c (final_scan_insn): Add brackets around body of if-stmt.
6996         * gcc.c (convert_filename): Add static prototype.  Const-ify.
6997         Wrap variable in macros controlling its use.
6998         * output.h (sdata_section): Add prototype.
6999
7000         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
7001         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
7002         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
7003         (ASM_FILE_START): Const-ify.
7004         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
7005         specifier warning.
7006         * c4x.md: Don't use the 'U' integer suffix.
7007         * clipper.md (clipper_movstr): Delete declaration.
7008         * d30v-protos.h (d30v_move_2words): Const-ify.
7009         (debug_stack_info): Add prototype.
7010         * d30v.c: Include "integrate.h".
7011         (d30v_function_arg_boundary, d30v_function_arg,
7012         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
7013         signed/unsigned warnings.
7014         (d30v_print_operand_memory_reference, d30v_move_2words):
7015         Const-ify.
7016         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
7017         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
7018         * fr30.md: Const-ify.
7019         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
7020         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
7021         (mvs_get_label_page): Hide unused static function.
7022         * i860.c (current_function_original_name): Const-ify.
7023         * i860/sysv3.h (current_function_original_name): Likewise.
7024         * i860/sysv4.h (current_function_original_name): Likewise.
7025         * i960.md: Add default case in switches.  Remove unused variable.
7026         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
7027         * m32r.md: Const-ify.
7028         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
7029         * m68hc11.c: Include "reload.h".
7030         (static_chain_reg, print_options, m68hc11_asm_file_start):
7031         Const-ify.
7032         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
7033         around & in comparison.
7034         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
7035         * mn10200.c (shift_mode): Remove trailing comma.
7036         * mn10300-protos.h (output_tst): Const-ify.
7037         * mn10300.c (output_tst): Likewise.
7038         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
7039         warnings.
7040         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
7041         * pa.c (output_ascii): Likewise.
7042         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
7043         * pdp11.md (expand_unop): Delete declarations.
7044         * pj-protos.h (pj_output_addsi3): Const-ify.
7045         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
7046         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
7047         unique_src_operand): Add prototypes.
7048         (pj_output_store_into_lval): Make definition static.
7049         (pj_function_incoming_arg): Don't use unary plus.
7050         (pj_output_addsi3): Const-ify.
7051         * romp.md (get_symref): Delete declarations.
7052         * v850-c.c (mark_current_function_as_interrupt): Don't return
7053         value from void function.
7054         * v850.c: Include "integrate.h".
7055         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
7056         * vax-protos.h (const_section): Add prototype.
7057
7058 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
7059
7060         * machmode.def: Add documentation for the seventh argument in
7061         vector modes.
7062
7063 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
7064
7065         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
7066         consistently.
7067         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
7068         <-melf>: Don't have markup for ELF acronym.
7069
7070 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
7071
7072         * config.gcc (mmix-*-*): New target.
7073         * doc/invoke.texi: Document MMIX options.
7074         * doc/contrib.texi: Add note about MMIX port to my entry.
7075         * config/mmix/t-mmix: New file.
7076         * config/mmix/mmix.h: New file.
7077         * config/mmix/mmix-protos.h: New file.
7078         * config/mmix/mmix.c: New file.
7079         * config/mmix/mmix.md: New file.
7080         * config/mmix/crti.asm: New file.
7081         * config/mmix/crtn.asm: New file.
7082
7083 2001-11-03  Kazu Hirata  <kazu@hxi.com>
7084
7085         * config/sparc/linux-aout.h: Fix comment formatting.
7086         * config/sparc/linux.h: Likewise.
7087         * config/sparc/linux64.h: Likewise.
7088         * config/sparc/lynx.h: Likewise.
7089         * config/sparc/pbd.h: Likewise.
7090         * config/sparc/sol2-sld-64.h: Likewise.
7091         * config/sparc/sol2.h: Likewise.
7092         * config/sparc/sparc.c: Likewise.
7093         * config/sparc/sparc.h: Likewise.
7094         * config/sparc/sparc.md: Likewise.
7095         * config/sparc/sunos4.h: Likewise.
7096         * config/sparc/vxsim.h: Likewise.
7097         * config/sparc/vxsparc.h: Likewise.
7098         * config/sparc/vxsparc64.h: Likewise.
7099
7100 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7101
7102         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
7103         reference to CONST_DOUBLE_MEM in comment.
7104         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
7105         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
7106         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
7107         * function.c (pop_function_context_from): Don't call
7108         restore_varasm_status.
7109         * function.h (restore_varasm_status): Delete declaration.
7110         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
7111         * rtl.c: Likewise.
7112         * rtl.def (CONST_DOUBLE): Update comment.
7113         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
7114         (CONST_DOUBLE_CHAIN): Likewise.
7115         (CONST_DOUBLE_MEM): Delete.
7116         (gen_rtx_CONST_DOUBLE): Update parameters.
7117         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
7118         Remove reference to CONST_DOUBLE_MEM.
7119         (const_alias_set): New variable.
7120         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
7121         (immed_real_const_1): Adjust tests for 0, 1, and 2.
7122         Don't set CONST_DOUBLE_MEM.
7123         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
7124         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
7125         Put constant in const_alias_set.
7126         (struct pool_constant): ALIGN now unsigned.
7127         OFFSET now HOST_WIDE_INT.
7128         Delete LABEL.
7129         (restore_varasm_status): Deleted.
7130         (mark_pool_constant): Mark desc->rtl.
7131         (force_const_mem): Rework to store rtl in hash table,
7132         not CONST_DOUBLE_MEM.
7133         Put constant in const_alias_set.
7134         (find_pool_constant): Check desc->rtl.
7135         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
7136         (init_varasm_once): Initialize const_alias_set.
7137
7138         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
7139         force_const_mem.
7140
7141         * reload.c (combine_reloads): Don't combine an output reload if there
7142         are other reloads around for part of the output.
7143
7144         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
7145         constant expression.
7146         (set_mem_decl): New function.
7147         * expr.h (set_mem_decl): New declaration.
7148         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
7149         (output_asm_operand_names): Add tab.
7150         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
7151
7152         * builtins.c (get_memory_rtx): Properly set MEM alias set and
7153         attributes.
7154
7155 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
7156
7157         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
7158         Use "invalid" instead of "illegal".  Use @r in comments in
7159         examples.
7160
7161 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7162
7163         * c-decl.c (pushdecl): Move block inside if conditional to remove
7164         possibility of a segfault.  Lookup block-level extern
7165         variables in enclosing scopes correctly.
7166
7167         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
7168
7169 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
7170
7171         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
7172         SUBREG so we avoid SUBREGing memory.
7173
7174         * expmed.c (store_bit_field): Same.
7175
7176 2001-11-02  DJ Delorie  <dj@redhat.com>
7177
7178         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
7179         using FP registers for DImode mem-mem moves is acceptable.
7180
7181 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
7182
7183         * builtins.c (apply_args_size): Handle vector arguments.
7184         (apply_result_size): Same.
7185
7186         * machmode.def: Set WIDER mode field for all vector entries.
7187
7188 2001-11-02  Graham Stott  <grahams@redhat.com>
7189
7190         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
7191
7192 2001-11-01  Eric Christopher  <echristo@redhat.com>
7193
7194         * config.gcc: Revert part of earlier patch.
7195         * config/mips/linux.h: Ditto.
7196         * df.c: Include tm_p.h to avoid warnings.
7197         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
7198         #if/#endif.
7199         * config/mips/mips.c: Define mips_abi regardless.
7200         (mips_output_function_prologues): Add long casts for .frame
7201         output.
7202         (override_options): Allow use of ABI_32.
7203
7204 2001-11-01  Kazu Hirata  <kazu@hxi.com>
7205
7206         * config/m68hc11/m68hc11.c: Fix comment formatting.
7207         * config/m68hc11/m68hc11.h: Likewise.
7208         * config/m68hc11/m68hc11.md: Likewise.
7209
7210 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7211
7212         * c-typeck.c (default_conversion): Retain the original expression
7213         codes.
7214         * gcc.dg/Wparentheses.c: New tests.
7215
7216 2001-11-01  David S. Miller  <davem@redhat.com>
7217
7218         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
7219         64-bit Sparc description more in line with reality.
7220
7221 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
7222
7223         * Makefile.in (GCOV_OBJS): Add version.o.
7224         * gcov.c: Include "version.h" and <getopt.h>.
7225         (gcov_version_string): Remove.
7226         (print_usage): Take a parameter to determine whether this is a
7227         call from --help or an error message.  Give fuller output that
7228         follows the GNU Coding Standards for --help.
7229         (print_version): New function.
7230         (options): New.
7231         (process_args): Use getopt_long.  Support long options.  Follow
7232         GNU Coding Standards for --help and --version.
7233         * doc/gcov.texi: Document long options.
7234         Addresses part of PR other/704.
7235
7236 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7237
7238         * pa.c (output_move_double): Fix typo in double load.
7239
7240 2001-11-01  Kazu Hirata  <kazu@hxi.com>
7241
7242         * config/h8300/h8300.c (h8300_encode_label): Compute a string
7243         before passing it to ggc_alloc_string.
7244
7245 2001-11-01  Kazu Hirata  <kazu@hxi.com>
7246
7247         * config/m68k/3b1.h: Fix comment formatting.
7248         * config/m68k/3b1g.h: Likewise.
7249         * config/m68k/a-ux.h: Likewise.
7250         * config/m68k/amix.h: Likewise.
7251         * config/m68k/apollo68.h: Likewise.
7252         * config/m68k/atari.h: Likewise.
7253         * config/m68k/aux-exit.c: Likewise.
7254         * config/m68k/ccur-GAS.h: Likewise.
7255         * config/m68k/crds.h: Likewise.
7256         * config/m68k/dpx2.h: Likewise.
7257         * config/m68k/dpx2g.h: Likewise.
7258         * config/m68k/hp310.h: Likewise.
7259         * config/m68k/hp320.h: Likewise.
7260         * config/m68k/isi.h: Likewise.
7261         * config/m68k/linux.h: Likewise.
7262         * config/m68k/lynx.h: Likewise.
7263         * config/m68k/m68k-psos.h: Likewise.
7264         * config/m68k/m68k.c: Likewise.
7265         * config/m68k/m68k.h: Likewise.
7266         * config/m68k/m68k.md: Likewise.
7267         * config/m68k/m68kelf.h: Likewise.
7268         * config/m68k/m68kv4.h: Likewise.
7269         * config/m68k/mot3300.h: Likewise.
7270         * config/m68k/news.h: Likewise.
7271         * config/m68k/next.h: Likewise.
7272         * config/m68k/pbb.h: Likewise.
7273         * config/m68k/plexus.h: Likewise.
7274         * config/m68k/sgs.h: Likewise.
7275         * config/m68k/sun3.h: Likewise.
7276         * config/m68k/tower.h: Likewise.
7277         * config/m68k/vxm68k.h: Likewise.
7278
7279 2001-10-31  DJ Delorie  <dj@redhat.com>
7280
7281         * config/mips/mips.h (mips_cache_flush_func): Prototype.
7282         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
7283         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
7284         * config/mips/mips.c (mips_cache_flush_func): New.
7285         * doc/invoke.texi: Document the new options.
7286
7287 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
7288
7289         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
7290         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
7291
7292         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
7293
7294         * config/cris/cris.c: Include output.h after tree.h but before
7295         target.h.
7296
7297 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
7298
7299         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
7300         (INTL_SUBDIRS): Just intl.
7301         (.SUFFIXES): Add .gmo .po .pox.
7302         (native): Also depend on build-@POSUB@.
7303         (intl.all, intl.install): Depend on config.h and things it includes.
7304         (po-generated): New target; depend on c-parse.c and tradcif.c.
7305         (install-normal): Also depend on install-@POSUB@.
7306         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
7307         (build-, install-, build-po, update-po, install-po,
7308         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
7309
7310         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
7311         * configure.in: Don't munge XGETTEXT.  Don't generate
7312         po/Makefile.in.
7313         * configure: Regenerate.
7314
7315         * exgettext: Delete.
7316         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
7317         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
7318
7319 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7320
7321         * config/h8300/h8300.md (two anonymous patterns): New.
7322
7323 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
7324
7325         * tree.h (tree_index): Add support for V16QI and V8HI.
7326         (V8HI_type_node): New.
7327         (V16QI_type_node): New.
7328
7329         * tree.c (build_common_tree_nodes_2): Same.
7330
7331         * c-common.c (type_for_mode): Same.
7332
7333 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7334
7335         * config/i386/att.h: Fix comment formatting.
7336         * config/i386/beos-elf.h: Likewise.
7337         * config/i386/bsd.h: Likewise.
7338         * config/i386/bsd386.h: Likewise.
7339         * config/i386/crtdll.h: Likewise.
7340         * config/i386/cygwin.asm: Likewise.
7341         * config/i386/cygwin.h: Likewise.
7342         * config/i386/djgpp.h: Likewise.
7343         * config/i386/freebsd-aout.h: Likewise.
7344         * config/i386/freebsd.h: Likewise.
7345         * config/i386/gas.h: Likewise.
7346         * config/i386/i386-interix.h: Likewise.
7347         * config/i386/i386-protos.h: Likewise.
7348         * config/i386/i386.c: Likewise.
7349         * config/i386/i386.h: Likewise.
7350         * config/i386/i386.md: Likewise.
7351         * config/i386/i386elf.h: Likewise.
7352         * config/i386/interix.c: Likewise.
7353         * config/i386/isc.h: Likewise.
7354         * config/i386/isccoff.h: Likewise.
7355         * config/i386/iscdbx.h: Likewise.
7356         * config/i386/linux.h: Likewise.
7357         * config/i386/lynx.h: Likewise.
7358         * config/i386/mingw32.h: Likewise.
7359         * config/i386/netbsd-elf.h: Likewise.
7360         * config/i386/next.h: Likewise.
7361         * config/i386/osf1elf.h: Likewise.
7362         * config/i386/osfrose.h: Likewise.
7363         * config/i386/sco5.h: Likewise.
7364         * config/i386/seq-gas.h: Likewise.
7365         * config/i386/seq-sysv3.h: Likewise.
7366         * config/i386/sequent.h: Likewise.
7367         * config/i386/sol2.h: Likewise.
7368         * config/i386/sun386.h: Likewise.
7369         * config/i386/uwin.asm: Likewise.
7370         * config/i386/uwin.h: Likewise.
7371         * config/i386/vxi386.h: Likewise.
7372         * config/i386/win32.h: Likewise.
7373         * config/i386/winnt.c: Likewise.
7374         * config/i386/xm-cygwin.h: Likewise.
7375         * config/i386/xm-mingw32.h: Likewise.
7376
7377 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7378
7379         * builtins.def: Fix comment typos.
7380         * config/alpha.c: Likewise.
7381         * config/arm/arm.c: Likewise.
7382         * config/avr/avr.h: Likewise.
7383         * config/d30v/d30v.c: Likewise.
7384         * config/d30v/d30v.h: Likewise.
7385         * config/d30v/d30v.md: Likewise.
7386         * config/dsp16xx/dsp16xx.c: Likewise.
7387         * config/fr30/fr30.c: Likewise.
7388         * config/fr30/fr30.md: Likewise.
7389         * config/i386/i386.c: Likewise.
7390         * config/i860/i860.c: Likewise.
7391         * config/i960/i960.c: Likewise.
7392         * config/ia64/ia64.c: Likewise.
7393         * config/mips/mips.c: Likewise.
7394         * config/pa/pa.c: Likewise.
7395         * config/rs6000/rs6000.c: Likewise.
7396         * config/s390/s390.c: Likewise.
7397         * config/sparc/sparc.c: Likewise.
7398
7399 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7400
7401         * config/mips/elf.h: Fix comment formatting.
7402         * config/mips/elf64.h: Likewise.
7403         * config/mips/iris5.h: Likewise.
7404         * config/mips/iris5gas.h: Likewise.
7405         * config/mips/iris6.h: Likewise.
7406         * config/mips/isa3264.h: Likewise.
7407         * config/mips/linux.h: Likewise.
7408         * config/mips/mips.c: Likewise.
7409         * config/mips/mips.h: Likewise.
7410         * config/mips/mips.md: Likewise.
7411         * config/mips/mips16.S: Likewise.
7412         * config/mips/netbsd.h: Likewise.
7413         * config/mips/osfrose.h: Likewise.
7414         * config/mips/r3900.h: Likewise.
7415         * config/mips/sni-svr4.h: Likewise.
7416         * config/mips/svr4-t.h: Likewise.
7417         * config/mips/ultrix.h: Likewise.
7418
7419 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
7420
7421         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
7422         when we update head->current.
7423
7424 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
7425
7426         * tree.c (id_string_size): Remove.
7427         (dump_tree_statistics): Update.
7428         * toplev.c (compile_file): If dumping stats, dump tree stats too.
7429
7430 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
7431
7432         * sched-rgn.c (schedule_insns): Fix comment.
7433
7434 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
7435
7436         * configure.in: Correct previous change: don't assume that
7437         gas's version number _isn't_ the last thing on the line, or
7438         isn't the only number on the line, either.
7439         * configure: Regenerate.
7440
7441 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7442
7443         * cfgcleanup.c: Fix a comment typo.
7444
7445 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7446
7447         * alias.c: Fix comment formatting.
7448         * recog.c: Likewise.
7449         * config/cris/cris.c: Likewise.
7450         * config/cris/cris.h: Likewise.
7451         * config/i960/i960.c: Likewise.
7452         * config/i960/i960.h: Likewise.
7453
7454 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7455
7456         * config/arm/arm.c: Fix a comment typo.
7457         * config/arm/arm.h: Likewise.
7458         * config/ia64/ia64.c: Likewise.
7459
7460 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
7461
7462         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
7463         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
7464         * rtl.h (set_unique_reg_note): Change return value.
7465         * gcse.c (try_replace_reg): Use set_unique_reg_note.
7466         * cse.c (cse_insn): Likewise.
7467         * expr.c (emit_move_insn): Likewise.
7468         * explow.c (force_reg): Likewise.
7469         * local-alloc (update_equiv_regs): Likewise.
7470         * loop.c (move_moveables, load_mems): Likewise.
7471         * reload (find_reloads): Likewise.
7472
7473 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
7474
7475         Localization fixes.
7476         * c-decl.c (parmlist_tags_warning, start_struct,
7477         check_for_loop_decls): Separate messages for struct, union and
7478         enum cases to allow for languages in which they have different
7479         genders.
7480         * c-format.c (scanf_flag_specs): Separate short and long name of
7481         the assignment suppression feature.
7482         (check_format_types): Localize "pointer" and "different types"
7483         strings.
7484         * c-lex.c (lex_number): Localize "an unsigned long int" and
7485         related strings.
7486         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
7487         warning message.
7488         * c-typeck.c (build_unary_up): Separate messages for increment and
7489         decrement cases to allow for languages in which they use different
7490         articles.  Localize the strings "increment" and "decrement" in one
7491         case.
7492
7493 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
7494
7495         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
7496         when no changes has been made.
7497
7498         * gcse.c (reg_set_bitmap): Turn into reg_set.
7499         (modify_mem_list_set, canon_modify_mem_list_set)
7500         (clear_modify_mem_tables, free_modify_mem_tables): New.
7501         (gcse_main); Use free_modify_mem_tables.
7502         (free_gcse_mem): Likewise; free the bitmaps.
7503         (alloc_gcse_main): Initialize the bitmaps.
7504         (canon_list_insert): Set canon_modify_mem_list_set.
7505         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
7506         (compute_hash_table): Use clear_modify_mem_tables.
7507         (reset_opr_set_tables): Likewise.
7508         (oprs_not_set_p): reg_set_bitmap is regset.
7509         (mark_set, mark_clobber): Likewise.
7510
7511         * df.h (DF_EQUIV_NOTES): New constant.
7512         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
7513         when asked for.
7514
7515         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
7516         (init_regions, schedule_insns): Conditionalize the checking
7517         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
7518
7519 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
7520
7521         * i386.md (movti_rex64 splitter): Fix condition.
7522
7523 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
7524
7525         * configure.in: Do not assume that gas's version number is the
7526         last thing on the first line of as --version output.
7527         * configure: Regenerate.
7528
7529         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
7530         MT_WARNING, MT_ERROR, MT_FATAL.
7531         (main): Call gcc_init_libintl.
7532         (v_message): Call gettext on msgid and "warning: "
7533         * tradcif.y: Include intl.h.
7534         (yyerror): Make parameter definition consistent with
7535         prototype.  Call gettext on msgid argument.
7536
7537 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7538
7539         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
7540         warnings.
7541
7542         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
7543
7544 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7545
7546         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
7547         before referencing it.
7548
7549 2001-10-26  DJ Delorie  <dj@redhat.com>
7550
7551         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
7552         override -G, and force -G0.
7553
7554 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7555
7556         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
7557         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
7558         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
7559         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
7560
7561         * loop.h (struct induction): Rename ext_dependant to
7562         ext_dependent.
7563         * loop.c: Change all uses.
7564         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
7565         All callers changed.
7566         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
7567
7568 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7569
7570         * c-parse.in (expr_no_commas, primary), c-typeck.c
7571         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
7572
7573 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
7574
7575         Undo assemble_name change in earlier patch.
7576
7577 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
7578
7579         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
7580         determining the type of the receiver, do not check that TREE_CODE
7581         of receiver is CALL_EXPR before calling receiver_is_class_object().
7582         (receiver_is_class_object): For the GNU runtime: recognize
7583         the case that the receiver is self in a class method context.
7584         Check that TREE_CODE of receiver is CALL_EXPR when checking that
7585         the receiver is a call to objc_get_class.
7586
7587 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7588
7589         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
7590
7591 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7592
7593         * Makefile.in (OBJS): Put all files in alphabetical order.
7594
7595         * dwarf2out.c (add_const_value_attribute): Fix error in last
7596         change.
7597
7598 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7599
7600         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
7601         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
7602         fix warning.
7603         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
7604         (life_analysis): call purge_all_dead_edges after deleting noops.
7605         (delete_noop_move): Do not purge CFG.
7606         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
7607
7608 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
7609
7610         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
7611         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
7612         (ASM_GLOBALIZE_LABEL): Use assemble_name.
7613         (ASM_OUTPUT_COMMON): Likewise.
7614         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
7615         (rs6000_output_function_epilogue): Likewise.
7616         (output_mi_thunk): Fix typo.
7617         (rs6000_output_symbol_ref): Use assemble_name.
7618         (output_toc): Likewise.
7619         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
7620         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
7621         assemble_name calls STRIP_NAME_ENCODING.
7622         (ASM_OUTPUT_LABEL): Use assemble_name.
7623         (ASM_GLOBALIZE_LABEL): Likewise.
7624         (ASM_DECLARE_FUNCTION_NAME): Likewise.
7625         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
7626         (ASM_OUTPUT_LOCAL): Likewise.
7627
7628 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7629
7630         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
7631         (expand_builtin_apply, expand_builtin_return): Likewise.
7632         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
7633
7634 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7635
7636         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7637         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
7638         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
7639         configure, configure.in, except.c, except.h, flow.c, function.c,
7640         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
7641         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
7642         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
7643         unroll.c: Fix spelling errors.
7644
7645         * doc/extend.texi, doc/invoke.texi: Fix spelling.
7646
7647         * doc/gcc.texi: Document use of "dependent" and American spelling.
7648
7649 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
7650
7651         * expr.c (emit_group_load): Support CONCATs by storing them to memory
7652         and reloading.
7653
7654 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7655
7656         * expr.c (store_constructor_field): Only call adjust_address on MEM.
7657
7658 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
7659
7660         * genrecog.c (write_switch):  Output if before switch for
7661         DT_elt_zero_wide_safe.
7662
7663 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7664
7665         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
7666         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
7667         (FUNCTION_PROFILER): Const-ify.
7668         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
7669         (eliminate_constant_term, assemble_name, output_addr_const):
7670         Remove declarations.
7671         (ptr_half_pic_address_p, half_pic_hash): Prototype.
7672         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
7673         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
7674         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
7675         (half_pic_declare, half_pic_external): Const-ify.
7676         * toplev.c: Include "halfpic.h".
7677
7678 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7679
7680         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
7681         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
7682         config/i386/i386.c, config/i386/i386-interix.h,
7683         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
7684         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
7685         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
7686         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
7687         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
7688         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
7689         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
7690         spelling errors.
7691
7692         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7693         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
7694         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
7695         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
7696         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
7697         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
7698         system.h, toplev.c: Fix spelling errors.
7699
7700 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7701
7702         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
7703
7704         * dwarf2out.c (reg_number): Abort if pseudo.
7705         (reg_loc_descriptor): Return 0 if pseudo.
7706         (is_based_loc): Return 0 if pseudo.
7707         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
7708         recursive calls.
7709         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
7710         (loc_descriptor): Return 0 if can't find location and handle 0
7711         return from recursive calls.
7712         (loc_descriptor_from_tree): Likewise.
7713         Fix handling of indirect.
7714         Also return 0 for PLACEHOLDER_EXPR.
7715         Clean up COMPONENT_REF cases.
7716         (add_AT_location_descriptor): Simplify, but handle 0 return from
7717         loc_descriptor.
7718         (add_const_value_attribute): Avoid shift count warning.
7719         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
7720         Set comp_unit_die as context if not in function.
7721
7722         * config/mips/mips-protos.h: Break up long lines.
7723         Remove needless #ifdef/#endif blocks.
7724         Don't declare functions declared in file made by genpreds or recog.h.
7725         * config/mips/mips.c (mips_output_function_prologue): TSIZE
7726         is now HOST_WIDE_INT; delete unneeded casts.
7727         * config/mips/mips.h: Don't use #elif.
7728
7729         * expr.c (stor_constructor_field): Always call adjust_address.
7730         Copy TARGET before changing its alias set.
7731         (store_field): Likewise, for TO_RTX.
7732         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
7733         replacement.
7734         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
7735         (find_placeholder): Return 0 if can't find object.
7736         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
7737         returns 0.
7738
7739 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7740
7741         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
7742
7743 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
7744
7745         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
7746         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
7747         (merge_blocks): Properly udpate life after making edge nonfallthru.
7748         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
7749
7750 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7751
7752         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
7753
7754 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7755
7756         * c-typeck.c (convert_arguments): When comparing for enumeral
7757         type equality, use TYPE_MAIN_VARIANT.
7758         * gcc.dg/Wconversion.c: New tests.
7759
7760 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7761
7762         * s390/s390.c: Fix comment typos.
7763         * s390/s390.h: Likewise.
7764         * s390/s390.md: Likewise.
7765
7766 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7767
7768         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
7769         (walk_tree): Use it for tail calls where appropriate.
7770
7771 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7772
7773         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
7774         non-local label_refs.
7775
7776 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7777
7778         * config/h8300/h8300.md (4 anonymous patterns): New.
7779
7780 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7781
7782         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
7783         algorithm through the shift_info structure.
7784         (emit_a_shift): Update the use of get_shift_alg.
7785
7786 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
7787
7788         * sched-rgn.c: Remove bitset typedef.
7789         Change bitset to sbitmap in prototypes / variable types.
7790         Remove bbset_size.
7791         Remove edgeset_bits.
7792         Remove edgeset_size.
7793         s/BITSET_ADD/SET_BIT/g
7794         s/BITSET_INVERT/sbitmap_ones/g
7795         s/BITSET_INTER/sbitmap_a_and_b/g
7796         s/BITSET_UNION/sbitmap_a_or_b/g
7797         s/BITSET_DIFFER/sbitmap_difference/g
7798         s/bitset_member/TEST_BIT/g
7799         (BITSET_*): Removed.
7800         (bitset_member): Removed.
7801         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
7802         EXECUTE_IF_SET_IN_SBITMAP.
7803         (split_edges): Rewrite, use sbitmap functions instead of bitset
7804         operations.
7805         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
7806
7807 2001-10-26  Andreas Schwab  <schwab@suse.de>
7808
7809         * reload1.c (emit_input_reload_insns): Fix parens in last
7810         (undocumented) change that was supposed to change only whitespace.
7811
7812 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7813
7814         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
7815
7816         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
7817         ASM_OPERANDS.
7818
7819 2001-10-26  Andreas Jaeger  <aj@suse.de>
7820
7821         * flow.c (clear_log_links): Remove unused variable.
7822         * cfgcleanup.c (cleanup_cfg): Likewise.
7823
7824 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7825
7826         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
7827         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
7828
7829 2001-10-26  Richard Henderson  <rth@redhat.com>
7830
7831         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
7832         rename PV_REG to R27_REG.
7833         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
7834         (REG_CLASS_FROM_LETTER): Update.
7835         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
7836         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
7837         (udivsi3, modsi3, umodsi3): Likewise.
7838         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
7839
7840 2001-10-26  Richard Henderson  <rth@redhat.com>
7841
7842         * cfg.c (clear_aux_for_blocks): Split out of ...
7843         (free_aux_for_blocks): here.
7844         (clear_aux_for_edges): Split from ...
7845         (free_aux_for_edges): here.
7846         * basic-block.h: Declare them.
7847         * lcm.c (compute_antinout_edge): Use them.
7848         (compute_laterin, compute_available, compute_nearerout): Likewise.
7849         (optimize_mode_switching): Likewise.
7850
7851 2001-10-26  Richard Henderson  <rth@redhat.com>
7852
7853         * Makefile.in (unstage*): Remove as, ld, collect-ld before
7854         moving everything back to the main build directory.
7855
7856 2001-10-26  Christopher Faylor  <cgf@redhat.com>
7857
7858         * config/i386/cygwin.h: Search target specific include directory, if
7859         appropriate.
7860
7861 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7862
7863         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
7864         of macro guards. Fix #endif comment.
7865
7866         * output.h (default_exception_section, default_eh_frame_section):
7867         Move prototypes outside of macro guard.
7868
7869         * crtstuff.c: Fix #endif comment.
7870
7871 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
7872
7873         * doc/md.texi (movMM): Clarify semantics of storing into a
7874         non-paradoxical SUBREG.
7875
7876 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
7877
7878         * langhooks.c (lang_hook_default_clear_binding_stack): New.
7879         (lang_hook_default_get_alias_set): Move next to other alias
7880         hooks.
7881         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
7882         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
7883         (LANG_HOOKS_INITIALIZER): Add it.
7884         * toplev.h (struct lang_hooks): Add clear_binding_stack.
7885         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
7886         instead of a loop calling poplevel.
7887
7888 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
7889
7890         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
7891         occurrences of #elif with #if...#endif.
7892
7893 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7894
7895         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
7896
7897 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7898
7899         * alias.c (can_address_p): No longer static.
7900         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
7901         Return 0 if all parameters are default values.
7902         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
7903         (adjust_address_1): Try harder to compute a size.
7904         * expr.c (expand_assignment, store_constructor): If can't address,
7905         set MEM_KEEP_ALIAS_SET_P.
7906         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
7907         (store_field): Likewise.
7908         (store_constructor): Simplify call to store_constructor_field.
7909         * expr.h (can_address_p): New declaration.
7910         * gensupport.c (gen_rtx_CONST_INT): New function.
7911         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
7912         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
7913         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
7914
7915         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
7916
7917 2001-10-24  Christopher Faylor  <cgf@redhat.com>
7918
7919         * config/i386/cygwin.h: Use proper path for mingw crt files when
7920         -mno-cygwin.
7921
7922 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7923
7924         * dwarf2out.c (file_info_cmp): Always return consistent results.
7925
7926 2001-10-24  Roger Sayle <roger@eyesopen.com>
7927
7928         * stmt.c (expand_end_case): Index jumptables from zero for
7929         suitably small values of minval.
7930
7931 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7932
7933         * stor-layout.c (place_union_field): If any field was aligned with
7934         attribute aligned, set record type's TYPE_USER_ALIGN.
7935         (place_field): Likewise.
7936         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
7937         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
7938
7939 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
7940
7941         * c-common.h (struct c_common_identifier): Remove rid_code field.
7942         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
7943
7944         * c-typeck.c (constructor_designated): New local flag.
7945         (struct constructor_stack): Add "designated" field to match.
7946         (start_init): Clear it.
7947         (really_start_incremental_init, push_init_level): Push and
7948         clear it.
7949         (pop_init_level): Pop it.
7950         (set_designator): Set it.
7951
7952         (pop_init_level): Suppress "missing initializer" warnings if
7953         constructor_designated is true.
7954         (process_init_element): Suppress warning about union
7955         initialization under traditional C, if constructor_designated
7956         is true.
7957
7958 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7959
7960         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
7961         change.
7962
7963 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
7964
7965         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
7966
7967 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
7968
7969         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
7970         the node was already a set to a constant.
7971
7972 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7973
7974         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
7975         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
7976
7977 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7978
7979         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
7980         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
7981         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
7982         * s390.c (s390_final_chunkify): Don't use string concatenation.
7983         (s390_function_prologue, s390_function_epilogue): Const-ify.
7984         * s390.h (FUNCTION_PROFILER): Remove unused variable.
7985
7986 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7987
7988         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
7989         prototypes.
7990
7991 2001-10-23  Stan Shebs  <shebs@apple.com>
7992
7993         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
7994         -traditional-cpp in first-stage compilation.
7995
7996 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7997
7998         * gensupport.c (target_flags): Add.
7999
8000 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
8001
8002         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
8003         if needed.
8004         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
8005         * except.c (expand_builtin_frob_return_addr): Likewise.
8006         (expand_builtin_eh_return): Likewise.
8007         * stmt.c (expand_computed_goto): Likewise.
8008         * explow.c (memory_address): Likewise.
8009         (allocate_dynamic_stack_space): Clean up predicate testing.
8010         (probe_stack_range): Convert SIZE to Pmode.
8011         * calls.c (rtx_for_function_call): Only call convert_memory_address
8012         if needed.
8013         Pass function call operand as ptr_mode, not Pmode.
8014         * expr.c (expand_assignment): Clean up calls to convert_memory
8015         address by only doing so when needed and making offsets Pmode.
8016         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
8017         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
8018         is in Pmode, not ptr_mode.
8019
8020 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8021
8022         * darwin-protos.h (constructor_section, destructor_section,
8023         mod_init_section, mod_term_section): Prototype.
8024         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
8025         Const-ify.
8026         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
8027         Likewise.
8028         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
8029         objc_section_init declaration.
8030         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
8031         (objc_section_init, try_section_alias): Make static.
8032         (alias_section): Make static and hide unused function.
8033         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
8034
8035 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8036
8037         * alias.c (can_address_p): Compnonents are not addressable if
8038         the containing type has alias set 0.
8039         (get_alias_set): Rework to use STRIP_NOPS.
8040         Only call front-end routine on object, type, or object with
8041         NOPs stripped, not inner values.
8042         Use language hook to call front-end routine.
8043         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
8044         (expand_builtin_apply): Call set_mem_align on MEMs we make.
8045         Don't pass alignment to emit_block_move.
8046         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
8047         (expand_builtin_memset): Likewise, but for clear_storage.
8048         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
8049         and remove C++ specific parts.
8050         * c-common.h (c_common_get_alias_set): Add declaration.
8051         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
8052         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
8053         (save_fixed_argument_area): Call set_mem_align.
8054         Remove alignment in call to emit_block_move.
8055         (emit_library_call_value_1, store_one_arg): Likewise.
8056         (target_for_arg): Remove; disabled long ago.
8057         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
8058         once and similar cleanups.
8059         (offset_address): Use proper introductory comment.
8060         * expr.c (emit_block_move): Use alignment from that of MEM args, not
8061         from explicit operand; all callers changed.
8062         (clear_storage): Likewise.
8063         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
8064         (store_field): Remove kludge on alias set used for to_rtx.
8065         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
8066         (expand_expr_unaligned): Call set_mem_attributes instead of
8067         set_mem_alias_set.
8068         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
8069         * function.c (assign_stack_temp_for_type): Set MEM alignment.
8070         (expand_function_end): Track MEM attributes of trampolines.
8071         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
8072         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
8073         attributes from original.
8074         * langhooks.c (lang_hook_default_get_alias_set): New function.
8075         (hook_get_alias_set_0): New function.
8076         * langhooks.h (hook_get_alias_set_0): New declaration.
8077         (lang_hook_default_get_alias_set): Likewise.
8078         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
8079         * reload1.c (alter_reg): Use adjust_address_nv.
8080         * rtl.c (get_mode_alignment): Moved to here.
8081         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
8082         change default if unknown from 1 to BITS_PER_UNIT.
8083         * stor-layout.c (get_mode_alignment): Remove from here.
8084         * toplev.h (struct lang_hoks): Add get_alias_set field.
8085         * tree.h (lang_get_alias_set): Delete declaration.
8086         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
8087         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
8088         (ix86_va_arg): Likewise.
8089         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
8090         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
8091         * config/sparc/sparc.c (sparc_va_arg): Likewise.
8092         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
8093         (expand_block_move_mem): Remove dead code.
8094
8095 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8096
8097         * c-common.c (warn_div_by_zero): New.
8098         * c-common.h (warn_div_by_zero): New.
8099         * c-decl.c (c_decode_option): Take it on the command line.
8100         * c-typeck.c (build_binary_op): Warn about division by zero.
8101         * doc/invoke.texi: Document the new command line option, fix
8102         documentation of -Wmultichar.
8103         * testsuite/gcc.dg/divbyzero.c: New tests.
8104         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
8105
8106 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
8107
8108         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
8109
8110         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
8111         to avoid update_life_info call.
8112         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
8113         * cfgcleanup.c (bb_flags): New enum.
8114         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
8115         (notice_new_block, update_forwarder_flag): New functions.
8116         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
8117         (try_forward_edges): Likewise; update flags.
8118         (merge_blocks): Likewise.
8119         (outgoing_edges_match): Likewise.
8120         (try_crossjump_to_edge): Likewise.
8121         (try_optimize_cfg): Likewise; initialize and clear the flags;
8122         recompute life info if needed.
8123         (cleanup_cfg): No need to clear aux pointers.
8124
8125 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
8126
8127         * config/i386/i386.c (override_options): Default to minimum
8128         stack alignment when optimizing for code size.
8129         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
8130         change.
8131
8132         * config/i386/i386.c (override_options): Set upper limit of
8133         -mpreferred-stack-boundary to 12.
8134
8135 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
8136
8137         * recog.c (peephole2_optimize): Add default case to switch.
8138
8139 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
8140
8141         * doc/gcc.texi (Sending Patches): Remove.
8142
8143 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
8144
8145         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
8146         fields when comparing.
8147
8148 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8149
8150         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
8151         * arm.c (HOST_INT, HOST_UINT): Likewise.
8152
8153 2001-10-22  Stan Shebs  <shebs@apple.com>
8154
8155         * config/darwin-protos.h (darwin_exception_section): Declare.
8156         (darwin_eh_frame_section): Declare.
8157
8158 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
8159
8160         * i386.md (movti_rex64): Fix mode.
8161
8162 2001-10-22  Stan Shebs  <shebs@apple.com>
8163
8164         * target.h (struct gcc_target): Add asm_out.exception_section,
8165         asm_out.eh_frame_section.
8166         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
8167         (TARGET_ASM_EH_FRAME_SECTION): New.
8168         (TARGET_INITIALIZER): Update.
8169         * output.h (default_exception_section): Declare.
8170         (default_eh_frame_section): Declare.
8171         * dwarf2out.c: Include target.h.
8172         (output_call_frame_info): Call target hook for eh frames.
8173         (default_eh_frame_section): New function.
8174         * except.c: Include target.h.
8175         (output_function_exception_table): Call target hook for exception
8176         section.
8177         * varasm.c (default_exception_section): Rename from
8178         exception_section, remove EXCEPTION_SECTION macro.
8179
8180         * config/darwin.h (darwin_eh_frame_section): New function.
8181         (EXCEPTION_SECTION): Remove.
8182         (TARGET_ASM_EXCEPTION_SECTION): Define.
8183         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
8184         (nextstep_exception_section): New function.
8185         (nextstep_eh_frame_section): New function.
8186         (TARGET_ASM_EXCEPTION_SECTION): Define.
8187         (TARGET_ASM_EH_FRAME_SECTION): Define.
8188
8189         * config/pa/som.h (EXCEPTION_SECTION): Remove.
8190         (TARGET_ASM_EXCEPTION_SECTION): Define.
8191         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
8192         (EXCEPTION_SECTION): Remove.
8193         (TARGET_ASM_EXCEPTION_SECTION): Define.
8194         * config/stormy16/stormy16.h: Remove comments referencing
8195         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
8196
8197         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
8198         TARGET_ASM_EH_FRAME_SECTION.
8199
8200 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
8201
8202         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
8203         terms.
8204
8205         * c-format.c: Fix spelling typo in comment.
8206
8207         * sched-int.h: Fix typo in GCC preamble.
8208
8209 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8210
8211         PR debug/4252
8212         * doc/invoke.texi: Remove references to -fdump-translation-unit.
8213
8214 2001-10-22  Richard Henderson  <rth@redhat.com>
8215
8216         * config/i386/i386.c (ix86_expand_clear): New.
8217         * config/i386/i386-protos.h: Declare it.
8218         * config/i386/i386.md (setcc peep2s): Use it.
8219         (movsi_xor): Unexport.
8220
8221 2001-10-22  Richard Henderson  <rth@redhat.com>
8222
8223         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
8224         free_EXPR_LIST_list for LOG_LINKS.
8225
8226 2001-10-21  Robert Lipe  <robertlipe@usa.net>
8227
8228         * config/i386/i386.c (sco_asm_named_section): Delete.
8229         (sco_asm_out_constructor): Delete.
8230         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
8231         (ASM_OUTPUT_DOUBLE_INT): Likewise.
8232         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
8233         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
8234         (EXCEPTION_SECTION): Delete EH scn renaming hack.
8235
8236 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8237
8238         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
8239         and/or fold extra calls into fewer ones.
8240         * collect2.c (dump_file): Likewise.
8241         * cppexp.c (parse_number): Likewise.
8242         * cpplex.c (_cpp_lex_direct): Likewise.
8243         * final.c (output_asm_insn, asm_fprintf): Likewise.
8244         * fix-header.c (inf_scan_ident, main): Likewise.
8245         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
8246         Likewise.
8247         * fold-const.c (real_hex_to_f): Likewise.
8248         * gen-protos.c (parse_fn_proto): Likewise.
8249         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
8250         * genrecog.c (change_state, write_action): Likewise.
8251         * gensupport.c (shift_output_template): Likewise.
8252         * local-alloc.c (requires_inout): Likewise.
8253         * mips-tfile.c (IS_ASM_IDENT): Likewise.
8254         * protoize.c (is_id_char, main): Likewise.
8255         * real.c (asctoeg): Likewise.
8256         * recog.c (asm_operand_ok): Likewise.
8257         * reload.c (find_reloads): Likewise.
8258         * scan.c (scan_identget_token): Likewise.
8259         * sched-vis.c (print_value): Likewise.
8260         * stringpool.c (ggc_alloc_string): Likewise.
8261         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
8262         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
8263         * tradcpp.c (rescan): Likewise.
8264         * tree.c (clean_symbol_name): Likewise.
8265         * varasm.c (decode_reg_name): Likewise.
8266
8267         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
8268         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
8269         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
8270         * m88k.c (output_ascii): Likewise.
8271         * m88k.h (OVERRIDE_OPTIONS): Likewise.
8272         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
8273         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
8274         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
8275
8276 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8277
8278         * langhooks.c (lang_hook_default_do_nothing,
8279         lang_hook_default_decode_option): New defaults.
8280         * langhooks.h: Make hooks unconditional and non-NULL.
8281         * toplev.c (compile_file, toplev_main): Update.
8282         * toplev.h: Update comments.
8283         * objc/objc-act.c (lang_hooks): Update to new paradigm.
8284
8285 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8286
8287         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
8288
8289         * system.h (IN_RANGE): New macro.
8290
8291 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
8292
8293         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
8294         INTLDEPS variable, which does not include $LIBICONV.
8295         * Makefile.in: Use INTLDEPS in LIBDEPS.
8296         * configure: Regenerate.
8297
8298 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8299
8300         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
8301         * cpplex.c (lex_percent, lex_dot): Remove.
8302         (get_effective_char, skip_block_comment, skip_line_comment,
8303         parse_identifier_slow, parse_number, parse_string, save_comment,
8304         _cpp_lex_direct): Update to do lookback freely.
8305         (IF_NEXT_IS, BACKUP): New macros.
8306         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
8307         * cppmacro.c (paste_tokens): Update.
8308
8309 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
8310
8311         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
8312
8313 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
8314
8315         * reload1.c (reload): Check CONSTANT_P before calling
8316         LEGITIMATE_PIC_OPERAND_P.
8317         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
8318         workaround of 2001-10-13.
8319
8320 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
8321
8322         * i386.c (split_di): Handle splitting of DFmode.
8323
8324 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8325
8326         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
8327         (adjust_address_1, offset_address): Likewise.
8328
8329         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
8330         (output_asm_insn): Call it for each line output.
8331         Don't record an operand more than once.
8332
8333         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
8334         * main.c: Include config.h and system.h, but not ansidecl.h.
8335         * Makefile.in (main.o): Update accordingly.
8336
8337 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8338
8339         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
8340
8341 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
8342
8343         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
8344         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
8345         Break out from ...
8346         (find_sub_basic_blocks): ... here;
8347         (find_many_sub_basic_blocks): New.
8348         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
8349
8350         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
8351
8352         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
8353
8354         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
8355
8356         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
8357         * flow.c (update_life_info): Measure time.
8358         * c-decl.c: Include timevar.h
8359         (c_expand_body): Measure time.
8360         * toplev.c (rest_of_compilation): Measure time of mode switching
8361         separately.
8362         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
8363
8364         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
8365         (lang_independent_options): Add asynchronous-unwind-tables
8366         (toplev_main): flag_asynchronous_unwind_tables implies
8367         flag_unwind_tables.
8368         * flags.h (flag_asynchronous_unwind_tables): Declare.
8369         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
8370         flag_asynchronous_unwind_tables.
8371         (output_call_frame_info): Likewise.
8372         * invoke.texi (-fasynchronous-unwind-tables): Document.
8373         * i386.c (optimization_options): Enable
8374         flag_asynchronous_unwind_tables.
8375
8376         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
8377         * i386.md (s* expanders): Destination is QImode.
8378
8379         * toplev.c (rest_of_compilation): Do not call clear_log_links.
8380         * rtl.h (clear_log_links): Kill.
8381         * flow.c (clear_log_links): Make static; accept blocks parameter;
8382         do no clear life info.
8383         (update_life_info): Call clear_log_links.
8384
8385         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
8386
8387 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8388
8389         * cpplex.c (handle_newline, skip_escaped_newlines,
8390         get_effective_char, skip_block_comment, skip_line_comment,
8391         parse_identifier_slow, parse_number, parse_string,
8392         _cpp_lex_direct): Update to do more stepping back.
8393         (trigraph_ok): Similarly.  Rename trigraph_p.
8394         (SAVE_STATE, RESTORE_STATE): Remove.
8395         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
8396
8397         * cpplib.c (destringize): Rename destringize_and_run, and
8398         call run_directive directly.
8399         (_cpp_do__Pragma): Simplify.
8400
8401 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8402
8403         * pe.c (arm_pe_unique_section): Const-ify.
8404         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
8405         (switch_to_section): Add static prototype.
8406
8407         * output.h (drectve_section): Prototype.
8408
8409 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8410
8411         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
8412         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
8413         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
8414         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
8415         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
8416         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
8417         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
8418         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
8419         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
8420         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
8421         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
8422         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
8423         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
8424         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
8425         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
8426         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
8427         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
8428         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
8429         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
8430         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
8431         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
8432         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
8433         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
8434         cris-*-none, cris-*-linux*: Update ${tmfile} list.
8435         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
8436         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
8437         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
8438         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
8439         v850-*-*): Delete superflous ${cpu_type} setting.
8440         * config/linux.h: Delete svr4.h include.
8441         (SET_ASM_OP): Delete.
8442         * config/netware.h (INT_ASM_OP): Undef before define.
8443         * config/ptx4.h: Delete elfos.h include.
8444         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
8445         * config/svr4.h: Delete elfos.h include. Update commentary.
8446         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
8447         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
8448         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
8449         config/v850/v850.h: Delete svr4.h include.
8450         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
8451         config/m68k/m68kv4.h, config/m88k/sysv4.h,
8452         config/sparc/sysv4.h: Update includes.
8453         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
8454         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
8455         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
8456         config/m88k/dguxbcs.h: Delete includes.
8457         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
8458         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
8459         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
8460         it.
8461         * config/m88k/dgux.h: Delete include.
8462         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
8463         defining it.
8464         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
8465         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
8466         * config/sh/elf.h: Update include.
8467         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
8468         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
8469
8470 2001-10-19  Catherine Moore  <clm@redhat.com>
8471
8472         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
8473         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
8474         base and count fields.
8475         (stormy16_expand_builtin_va_start):  last_reg_count changed to
8476         size_of_reg_args.  Use count + size in first comparison.
8477
8478 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8479
8480         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
8481         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
8482         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
8483         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
8484         Set alignment from type if INDIRECT_REF.
8485         (adjust_address_1, offset_address): Simplify alignment compuitation.
8486         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
8487         here; done by set_mem_attributes.
8488
8489 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8490
8491         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
8492         * arm-protos.h (rdata_section, zero_init_section, common_section):
8493         Prototype.
8494         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
8495         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
8496         traditional mode stringification.
8497         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
8498         in macros controling its use.
8499         * rtlanal.c: Include tm_p.h.
8500         * varasm.c (asm_output_aligned_bss): Mark parameter with
8501         ATTRIBUTE_UNUSED.
8502         (assemble_constant_align, assemble_start_function, assemble_align,
8503         assemble_variable, assemble_trampoline_template,
8504         output_constant_def_contents): Wrap potentially empty if-stmt body
8505         in brackets.
8506
8507 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8508
8509         * a29k-protos.h (literal_section): Prototype.
8510         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
8511         * a29k.md: Ensure function pointers are prototyped.
8512         * genattrtab.c (write_eligible_delay): Mark parameter with
8513         ATTRIBUTE_UNUSED.
8514
8515 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8516
8517         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
8518         * 1750a.c (print_operand): Fix format specifier warning.
8519         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
8520         * 1750a.md: Likewise.
8521         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
8522         * genemit.c (output_add_clobbers): Mark parameter with
8523         ATTRIBUTE_UNUSED.
8524         * genrecog.c (write_subroutine): Likewise.
8525         * integrate.c (expand_inline_function): Delete unused variable.
8526         * varasm.c (remove_from_pending_weak_list): Wrap with
8527         ASM_WEAKEN_LABEL.
8528
8529 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
8530
8531         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
8532         field is different to previous argument's neg field.
8533
8534         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
8535
8536 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8537
8538         * final.c (get_decl_from_op): New function.
8539         (output_asm_insn): Call it; write "*" when item with decl is address.
8540
8541 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
8542
8543         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
8544         about 64-bit support from the 3.0_branch version.
8545
8546 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
8547
8548         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
8549         USE_INCLUDED_LIBINTL when appropriate.
8550         * configure, config.in: Regenerate.
8551         * Makefile.in (datadir): Set to @datadir@.
8552         (intl.o): Also depend on $(CONFIG_H) and system.h.
8553
8554         * intl.c: Factor out common gettext initialization sequence.
8555         (gcc_init_libintl):  New function.
8556         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
8557         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
8558         off NLS.  Add multiple include guard.  No need to #ifdef-guard
8559         an #undef.  Prototype gcc_init_libintl here.
8560
8561         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
8562         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
8563         Use gcc_init_libintl.
8564
8565 2001-10-19  Catherine Moore  <clm@redhat.com>
8566
8567         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
8568
8569         * config/stormy16/stormy16.c (stormy16_split_move):  Make
8570         sure that REG_INC notes are present for auto_inc operands.
8571
8572 2001-10-19  Andreas Jaeger  <aj@suse.de>
8573
8574         * configure: Regenerated.
8575         * configure.in: Add x86_64 to switch statements.
8576
8577 2001-10-18  Richard Henderson  <rth@redhat.com>
8578
8579         * config/alpha/alpha.md (sibcall_osf_1): Load destination
8580         address into $27 explicitly.
8581         (sibcall_value_osf_1): Likewise.
8582
8583 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8584
8585         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
8586         (offset_address): New function.
8587         (free_emit_status): Free regno_decl.
8588         (init_emit): Pass proper number of elements to xcalloc.
8589         Allocate regno_decl.
8590         (mark_emit_status): Mark regno_decl values.
8591         * expr.c (highest_pow2_factor): New function.
8592         (expand_assigment): Use it and offset_address.
8593         Properly handle ptr_mode vs. Pmode in offset calculation.
8594         (store_constructor, expand_expr_unaligned): Likewise.
8595         (expand_expr, case COMPONENT_EXPR): Likewise.
8596         * expr.h (offset_address): New decl.
8597         * function.h (struct emit_status): Add regno_decl.
8598         (REGNO_DECL): New macro.
8599         * final.c (output_asm_name): Move in file and don't conditionalize
8600         on flag_print_asm_name.
8601         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
8602         Output names of operands, if known.
8603         * function.c (assign_parms): Set REGNO_DECL.
8604         * integrate.c (integrate_decl_tree): Likewise.
8605         * stmt.c (expand_decl): Likewise.
8606         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
8607
8608 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
8609
8610         * attribs.c (handle_noinline_attribute): New function.
8611         (handle_used_attribute): Likewise.
8612         (c_common_attribute_table): Added noinline and used.
8613         * doc/extend.texi (Function Attributes): Document them.
8614         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
8615         Warn when merging inline with attribute noinline.
8616         (start_decl, start_function): Warn if inline and attribute
8617         noinline appear in the same declaration.
8618
8619 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
8620
8621         * config.gcc: Update c4x and i370 for C front end-specific
8622         dependencies.
8623         * config/c4x/c4x-c.c: New.
8624         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
8625         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8626         New declarations.
8627         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
8628         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8629         Make extern.
8630         (c4x_init_pragma): Remove.
8631         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
8632         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
8633         c4x_pr_ignored): Move to c4x-c.c.
8634         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
8635         * config/c4x/t-c4x: Update.
8636         * config/i370/i370-c.c: New.
8637         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
8638         (i370_pr_map): Move to i370-c.c.
8639         * config/i370/t-i370: New.
8640
8641         * doc/tm.texi: Update.
8642
8643 2001-10-17  Stan Shebs  <shebs@apple.com>
8644
8645         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
8646         typo fixes throughout.
8647         (machopic_output_stub): Remove some dead code.
8648
8649 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
8650
8651         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
8652         leak.
8653
8654 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8655
8656         * Makefile.in (print-rtl.o): Depend on TREE_H.
8657         * alias.c (get_alias_set): Make two passes over objects to first
8658         see if inner object is access via restricted pointer.
8659         Defer allocating alias set for restricted pointer until here.
8660         Call find_placeholder with second arg nonzero.
8661         Minor cleanups.
8662         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
8663         set for restricted pointer types.
8664         * emit-rtl.c (set_mem_attributes): Set more attributes.
8665         (set_mem_align, change_address, adjust_address_1): New functions.
8666         (change_address_1): Now static.
8667         (adjust_address, adjust_address_nv): Deleted.
8668         (replace_equiv_address): Call change_address_1.
8669         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
8670         (find_placeholder): Get starting point from PLIST arg.
8671         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
8672         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
8673         (adjust_address, adjust_address_nv): New macros.
8674         * print-rtl.c (tree.h): New include.
8675         (print_rtx, case MEM): Print all memory attributes.
8676
8677 2001-10-17  Richard Henderson  <rth@redhat.com>
8678
8679         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
8680
8681 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8682
8683         * c-tree.texi: Eliminate duplicated word.
8684         * cpp.texi: Likewise.
8685         * install.texi: Likewise.
8686         * invoke.texi: Likewise.
8687         * tm.texi: Likewise.
8688
8689 2001-10-17  Michael Collison  <collison@isisinc.net>
8690
8691         * dsp16xx.c: Fix comment formatting to match GNU standards.
8692         (dsp16xx_output_function_prologue): Change type of 'size'
8693         parameter from 'int' to HOST_WIDE_INT.
8694         (dsp16xx_output_function_epilogue): Change type of 'size'
8695         parameter from 'int' to HOST_WIDE_INT.
8696
8697 2001-10-16  Richard Henderson  <rth@redhat.com>
8698
8699         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
8700         * configure, config.in: Rebuild.
8701
8702         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
8703         (ix86_output_addr_diff_elt): New.
8704         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
8705         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8706         (JUMP_TABLES_IN_TEXT_SECTION): New.
8707         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
8708         * config/i386/i386-protos.h: Update.
8709
8710         * config/i386/386bsd.h, config/i386/beos-elf.h,
8711         config/i386/freebsd-aout.h, config/i386/freebsd.h,
8712         config/i386/i386-interix.h, config/i386/i386elf.h,
8713         config/i386/linux.h, config/i386/netbsd-elf.h,
8714         config/i386/netbsd.h, config/i386/openbsd.h,
8715         config/i386/ptx4-i.h, config/i386/rtemself.h,
8716         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
8717         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
8718
8719 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
8720
8721         * stmt.c (expand_asm_operands): Update commentary.
8722
8723 2001-10-16  Stan Shebs  <shebs@apple.com>
8724
8725         * config/darwin.h (GCC_NAME): Remove, no longer used.
8726         (NO_MATH_LIBRARY): Ditto.
8727         (MATH_LIBRARY): Define to emptiness.
8728         (DWARF2_DEBUGGING_INFO): Define.
8729         (PREFERRED_DEBUGGING_TYPE): Define.
8730         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
8731         (EXCEPTION_SECTION): Define.
8732         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8733         * config/darwin.c (darwin_encode_section_info): Handle case of
8734         DECL_INITIAL being error_mark_node.
8735
8736 2001-10-16  Richard Henderson  <rth@redhat.com>
8737
8738         * alpha.c (current_file_function_operand): Don't fail for profiling.
8739         (direct_call_operand): New.
8740         * alpha-protos.h: Declare it.
8741         * alpha.h (EXTRA_CONSTRAINT): Use it.
8742         (PREDICATE_CODES): Add it.
8743         (ASM_OUTPUT_MI_THUNK): Remove.
8744         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
8745         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
8746
8747 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
8748
8749         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
8750         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8751
8752 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8753
8754         * cfg.c (free_edge): Break out from ....
8755         (remove_edge): ... here.
8756         (clear_edges): Use free_edge.
8757
8758         * att.h (ASM_QUAD): Add comment.
8759         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
8760
8761 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
8762
8763         * i386.c (split_ti): New function.
8764         (ix86_split_to_parts): Support TImodes.
8765         * i386.h (VALID_INT_MODE_P): Add TImode.
8766         * i386.md (movdi splitter): Fix.
8767         (movti): Support 64bit integer registers.
8768         (movti_rex64): New function and splitter.
8769
8770         * i386.c (*_cost): Add movsx/movzx cost.
8771         * i386.h (struct processor_costs): Add movsx/movzx fields.
8772         (RTX_COSTS): Handle zero/sign extend + avoid believing that
8773         64bit operations require split on 64bit machine.
8774         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
8775
8776         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
8777         (ix86_expand_move): Avoid pushes of memory if size does not match;
8778         move long constants to register.
8779         (x86_initialize_trampoline): Fix mode.
8780         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
8781         Use ASM_QUAD on 64bit.
8782         * i386.md (test pattern): Disallow impossible constants.
8783         (tablejump PIC expander): Fix emitting of sum.
8784         (movdicc_rex64): Rename to movdicc.
8785         * linux64.h (LINK_SPEC): Add missing '%'.
8786
8787 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
8788
8789         * tree-inline.c (inlinable_function_p): Leave it up to the
8790         front-end to turn -finline-functions into DECL_INLINE set for all
8791         functions.
8792
8793 2001-10-16  Stan Shebs  <shebs@apple.com>
8794
8795         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
8796
8797 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
8798
8799         * recog.c: Formatting and comment typo fixes.
8800
8801         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
8802         version in single tree build.
8803         * configure: Regenerate.
8804
8805 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
8806
8807         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
8808         MODE arguments to gen_rtx and compare operand with const0_rtx.
8809
8810 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8811
8812         * system.h: Poison old unused target macros.
8813         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
8814         * config/stormy16/stormy16.c: Update references to obsolete macros.
8815         * config/stormy16/stormy16.h: Similarly.
8816         * config/stormy16/stormy16.md: Similarly.
8817         * config/cris/cris.h: Similarly.
8818
8819 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8820
8821         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
8822         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
8823         cpp_register_pragma): Update accordingly.
8824
8825 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8826
8827         * c-pragma.h (cpp_register_pragma_space): Remove.
8828         * cpplib.h (cpp_register_pragma_space): Remove.
8829         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
8830         (cpp_register_pragma_space): Remove.
8831         (cpp_register_pragma): Simplify using lookup_pragma_entry,
8832         add sanity checks.
8833         (do_pragma): Similarly.
8834         (_cpp_init_internal_pragmas): Don't register namespaces.
8835
8836         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
8837         Don't register namespaces.
8838         * cp/lex.c (init_cp_pragma): Similarly.
8839         * doc/tm.texi: Update.
8840
8841 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8842
8843         PR c/4157
8844         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
8845
8846 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
8847
8848         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
8849         add scheduling support.
8850         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
8851         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
8852         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
8853
8854
8855 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
8856
8857         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
8858         missing CONSTANT_P test in core GCC.
8859
8860 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8861
8862         * cppmain.c (struct printer): New member source.
8863         (scan_translation_unit): Fix spacing at start of lines.
8864         (cb_line_change): Update.
8865
8866         * gcc.dg/cpp/spacing2.c: New test.
8867
8868 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
8869
8870         * config/cris/arit.c: Use __builtin_labs, not abs.
8871
8872         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
8873
8874         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
8875         misplaced sprintf and fprintf argument.
8876
8877 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
8878
8879         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
8880         * configure.in, Makefile.in: Take out obsolete check-po logic.
8881         * configure, config.in: Regenerate.
8882
8883 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
8884
8885         * objc/objc-act.c (finish_objc): Correct precondition for emitting
8886         symtab declarations.
8887
8888 2001-10-12  Stan Shebs  <shebs@apple.com>
8889
8890         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
8891         declarations of arguments and local variables.
8892
8893 2001-10-12  Christopher Faylor  <cgf@redhat.com>
8894
8895         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
8896         ENDFILE_SPEC definition.
8897
8898 2001-10-12  Kazu Hirata  <kazu@hxi.com>
8899
8900         * gthr-dce.h: Fix comment formatting.
8901         * gthr-posix.h: Likewise.
8902         * gthr-single.h: Likewise.
8903         * gthr-solaris.h: Likewise.
8904         * gthr-vxworks.h: Likewise.
8905         * gthr-win32.h: Likewise.
8906
8907 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
8908
8909         * final.c (output_asm_insn): Make sure assembly dialects are
8910         terminated, not nested.  Output `|' and `}' characters if they
8911         don't appear inside assembly dialect selection.
8912         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
8913         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
8914         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
8915         strsetsi_rex_1): Add {} braces.
8916
8917 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8918
8919         * toplev.c (compile_file): Ignore return value from yyparse.
8920         Always pop any nested binding levels after yyparse returns.
8921
8922 2001-10-11  Richard Henderson  <rth@redhat.com>
8923
8924         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
8925
8926 2001-10-11  Richard Henderson  <rth@redhat.com>
8927
8928         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
8929         fall back to add_AT_long_long for large CONST_INT.
8930
8931 2001-10-11  Richard Henderson  <rth@redhat.com>
8932
8933         * config/i386/i386.md (setcc splitters): Add four splitters to
8934         simplify compound compares that simplify_comparison can't handle.
8935
8936 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8937
8938         * cpplex.c (digraph_spellings, token_spellings): Make static.
8939
8940 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8941
8942         * unroll.c (loop_iterations): Fixup last patch.
8943
8944 2001-10-11  Richard Henderson  <rth@redhat.com>
8945
8946         * rtl.h (REG_VTABLE_REF): New.
8947         * rtl.c (reg_note_name): Add it.
8948         * combine.c (distribute_notes): Handle it.
8949         * final.c (final_scan_insn): Handle it.
8950         * tree.def (VTABLE_REF): New.
8951         * expr.c (expand_expr): Handle it.
8952         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
8953         * output.h: Declare them.
8954
8955 2001-10-11  Richard Henderson  <rth@redhat.com>
8956
8957         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
8958         for a DECL_INITIAL.
8959
8960 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
8961
8962         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
8963         available in 64-bit mode.
8964
8965 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8966
8967         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
8968         cris-*-linux* cases.
8969         * config/cris/cris-protos.h: New file.
8970         * config/cris/cris.c: New file.
8971         * config/cris/cris.h: New file.
8972         * config/cris/cris.md: New file.
8973         * config/cris/linux.h: New file.
8974         * config/cris/aout.h: New file.
8975         * config/cris/arit.c: New file.
8976         * config/cris/cris_abi_symbol.c: New file.
8977         * config/cris/mulsi3.asm: New file.
8978         * config/cris/t-aout: New file.
8979         * config/cris/t-cris: New file.
8980         * config/cris/t-elfmulti: New file.
8981         * config/cris/t-linux: New file.
8982         * doc/invoke.texi: Add CRIS options.
8983         * doc/install.texi (Specific): Add blurb for CRIS.
8984
8985 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
8986
8987         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
8988         before using it.
8989         * config/float/i32.h: Likewise.
8990         * config/float-i386.h: Likewise.
8991         * config/float-i64.h: Likewise.
8992         * config/float-m68k.h: Likewise.
8993         * config/float-sh.h: Likewise.
8994         * config/float-sparc.h: Likewise.
8995
8996 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8997
8998         * doc/contrib.texi: Add note about CRIS port to my entry.
8999
9000 2001-10-11  Kazu Hirata  <kazu@hxi.com>
9001
9002         * basic-block.h: Fix formatting.
9003         * bitmap.h: Likewise.
9004         * cpplib.h: Likewise.
9005         * c-tree.h: Likewise.
9006         * diagnostic.h: Likewise.
9007         * flags.h: Likewise.
9008         * ggc.h: Likewise.
9009         * longlong.h: Likewise.
9010         * real.h: Likewise.
9011         * reload.h: Likewise.
9012         * rtl.h: Likewise.
9013         * tree.h: Likewise.
9014
9015 2001-10-10  Richard Henderson  <rth@redhat.com>
9016
9017         * c-parse.in (asm_operand): Allow named operands.
9018         * genconfig.c (max_recog_operands): Set to 29.
9019         * local-alloc.c (requires_inout): Skip multiple digits.
9020         * recog.c (asm_operand_ok): Likewise.
9021         (preprocess_constraints): Use strtoul for matching constraints.
9022         (constrain_operands): Likewise.
9023         * regmove.c (find_matches): Likewise.
9024         * reload.c (find_reloads): Likewise.
9025         * stmt.c (parse_output_constraint): Don't reject in-out
9026         constraint on operands > 9.  Reject '[' in constraint.
9027         (expand_asm_operands): Handle named operands.  Use strtoul
9028         for matching constraints.
9029         (check_operand_nalternatives): Split out from expand_asm_operands.
9030         (check_unique_operand_names): New.
9031         (resolve_operand_names, resolve_operand_name_1): New.
9032
9033         * doc/extend.texi (Extended Asm): Document named operands.
9034         * doc/md.texi (Simple Constraints): Document matching constraints
9035         on operands > 9.
9036
9037 2001-10-10  Richard Henderson  <rth@redhat.com>
9038
9039         * combine.c (try_combine): Handle a SEQUENCE of one insn.
9040
9041         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
9042         (jcc splitters): Add two splitters to simplify compound compares
9043         that simplify_comparison can't handle.
9044
9045 2001-10-10  Richard Henderson  <rth@redhat.com>
9046
9047         * langhooks.c: Include langhooks.h.
9048         * Makefile.in (langhooks.o): Depend on it.
9049
9050 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
9051
9052         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
9053         should not be considered as a no-op.
9054         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
9055
9056 2001-10-10  Stan Shebs  <shebs@apple.com>
9057
9058         * alias.c: Remove uses of "register" specifier in declarations
9059         of arguments and local variables.
9060         * c-common.c: Ditto.
9061         * c-convert.c: Ditto.
9062         * c-decl.c: Ditto.
9063         * c-format.c: Ditto.
9064         * c-semantics.c: Ditto.
9065         * c-typeck.c: Ditto.
9066         * caller-save.c: Ditto.
9067         * calls.c: Ditto.
9068         * cfg.c: Ditto.
9069         * cfgbuild.c: Ditto.
9070         * cfgrtl.c: Ditto.
9071         * collect2.c: Ditto.
9072         * combine.c: Ditto.
9073         * convert.c: Ditto.
9074         * cppexp.c: Ditto.
9075         * cppfiles.c: Ditto.
9076         * cse.c: Ditto.
9077         * dbxout.c: Ditto.
9078         * defaults.h: Ditto.
9079         * df.c: Ditto.
9080         * dwarf2out.c: Ditto.
9081         * dwarfout.c: Ditto.
9082         * emit-rtl.c: Ditto.
9083         * explow.c: Ditto.
9084         * expmed.c: Ditto.
9085         * expr.c: Ditto.
9086         * final.c: Ditto.
9087         * fix-header.c: Ditto.
9088         * floatlib.c: Ditto.
9089         * flow.c: Ditto.
9090         * fold-const.c: Ditto.
9091         * function.c: Ditto.
9092         * gcc.c: Ditto.
9093         * gcse.c: Ditto.
9094         * gen-protos.c: Ditto.
9095         * genattrtab.c: Ditto.
9096         * gencheck.c: Ditto.
9097         * genconfig.c: Ditto.
9098         * genemit.c: Ditto.
9099         * genextract.c: Ditto.
9100         * genflags.c: Ditto.
9101         * gengenrtl.c: Ditto.
9102         * genoutput.c: Ditto.
9103         * genpeep.c: Ditto.
9104         * genrecog.c: Ditto.
9105         * gensupport.c: Ditto.
9106         * global.c: Ditto.
9107         * gmon.c: Ditto.
9108         * graph.c: Ditto.
9109         * haifa-sched.c: Ditto.
9110         * hard-reg-set.h: Ditto.
9111         * hash.c: Ditto.
9112         * integrate.c: Ditto.
9113         * jump.c: Ditto.
9114         * lists.c: Ditto.
9115         * local-alloc.c: Ditto.
9116         * loop.c: Ditto.
9117         * mips-tdump.c: Ditto.
9118         * mips-tfile.c: Ditto.
9119         * optabs.c: Ditto.
9120         * prefix.c: Ditto.
9121         * print-rtl.c: Ditto.
9122         * read-rtl.c: Ditto.
9123         * real.c: Ditto.
9124         * recog.c: Ditto.
9125         * reg-stack.c: Ditto.
9126         * regclass.c: Ditto.
9127         * regmove.c: Ditto.
9128         * reload.c: Ditto.
9129         * reload1.c: Ditto.
9130         * reorg.c: Ditto.
9131         * resource.c: Ditto.
9132         * rtl.c: Ditto.
9133         * rtlanal.c: Ditto.
9134         * scan.c: Ditto.
9135         * sched-deps.c: Ditto.
9136         * sched-rgn.c: Ditto.
9137         * sdbout.c: Ditto.
9138         * simplify-rtx.c: Ditto.
9139         * stmt.c: Ditto.
9140         * stor-layout.c: Ditto.
9141         * toplev.c: Ditto.
9142         * tradcif.y: Ditto.
9143         * tradcpp.c: Ditto.
9144         * tree.c: Ditto.
9145         * unroll.c: Ditto.
9146         * varasm.c: Ditto.
9147         * xcoffout.c: Ditto.
9148
9149 2001-10-10  Richard Henderson  <rth@redhat.com>
9150
9151         * rtl.h (can_reverse_comparison_p): Remove.
9152
9153 2001-10-10  Christopher Faylor <cgf@redhat.com>
9154
9155         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
9156         used.
9157
9158 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
9159
9160         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
9161         (Thanks to Chris Faylor for suggesting macro name).
9162         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
9163         WIN32 defines.
9164         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
9165         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
9166         (MATH_LIBRARY): Undef before definition.
9167         (OUTPUT_QUOTED_STRING): Likewise.
9168         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
9169
9170 2001-10-10  Richard Henderson  <rth@redhat.com>
9171
9172         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
9173         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
9174         a tristate comparison value.
9175         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
9176
9177 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9178
9179         PR c++/4512
9180         * unroll.c (loop_iterations): Ignore insns generated by loop
9181         unrolling.
9182
9183         * config.gcc (mips*-*-gnu*): Delete support.
9184         * config/mips/gnu.h: Remove.
9185
9186 2001-10-10  Kazu Hirata  <kazu@hxi.com>
9187
9188         * calls.c: Fix formatting.
9189         * c-decl.c: Likewise.
9190         * cfgcleanup.c: Likewise.
9191         * combine.c: Likewise.
9192         * cppfiles.c: Likewise.
9193         * cpplib.c: Likewise.
9194         * cppmacro.c: Likewise.
9195         * crtstuff.c: Likewise.
9196         * cse.c: Likewise.
9197         * dwarf2out.c: Likewise.
9198         * expmed.c: Likewise.
9199         * expr.c: Likewise.
9200         * fold-const.c: Likewise.
9201         * function.c: Likewise.
9202         * gcse.c: Likewise.
9203         * genattrtab.c: Likewise.
9204         * ggc-page.c: Likewise.
9205         * integrate.c: Likewise.
9206         * libgcc2.c: Likewise.
9207         * loop.c: Likewise.
9208         * optabs.c: Likewise.
9209         * profile.c: Likewise.
9210         * protoize.c: Likewise.
9211         * real.c: Likewise.
9212         * recog.c: Likewise.
9213         * reload1.c: Likewise.
9214         * reload.c: Likewise.
9215         * reorg.c: Likewise.
9216         * resource.c: Likewise.
9217         * sched-rgn.c: Likewise.
9218         * sdbout.c: Likewise.
9219         * stmt.c: Likewise.
9220         * toplev.c: Likewise.
9221         * varasm.c: Likewise.
9222
9223 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
9224
9225         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
9226         * Makefile.in (langhooks.o): Add dependencies.
9227
9228 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
9229
9230         * rs6000.c (rs6000_emit_load_toc_table): Don't
9231         strdup the toc label.
9232         (create_TOC_reference): Likewise.
9233
9234 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
9235
9236         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
9237         version default.
9238
9239 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
9240
9241         * config/i386/i386.c (ix86_attribute_table): Correct
9242         min_len, max_len fields for dllimport, dllexport and shared.
9243
9244 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9245
9246         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
9247         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
9248         Consistently use "nonzero" instead of "non-zero".
9249
9250 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9251
9252         * acconfig.h: Fix comment formatting.
9253         * c-dump.h: Likewise.
9254         * c-tree.h: Likewise.
9255         * conditions.h: Likewise.
9256         * expr.h: Likewise.
9257         * function.h: Likewise.
9258         * gthr.h: Likewise.
9259         * hwint.h: Likewise.
9260         * integrate.h: Likewise.
9261         * intl.h: Likewise.
9262         * loop.h: Likewise.
9263         * optabs.h: Likewise.
9264
9265 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9266
9267         * c-common.h: Fix comment formatting.
9268         * c-dump.c: Likewise.
9269         * cfg.c: Likewise.
9270         * diagnostic.h: Likewise.
9271         * except.c: Likewise.
9272         * gcc.h: Likewise.
9273         * gcov-io.h: Likewise.
9274         * genattrtab.c: Likewise.
9275         * output.h: Likewise.
9276         * predict.h: Likewise.
9277         * reload1.c: Likewise.
9278         * reload.h: Likewise.
9279         * resource.h: Likewise.
9280         * scan.h: Likewise.
9281         * system.h: Likewise.
9282         * tree.h: Likewise.
9283         * tree-inline.c: Likewise.
9284         * tsystem.h: Likewise.
9285         * varasm.c: Likewise.
9286         * xcoffout.h: Likewise.
9287
9288 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
9289
9290         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
9291
9292 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
9293
9294         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
9295         config/i386/i386elf.h, config/i386/netbsd-elf.h,
9296         config/i386/netware.h, config/mcore/gfloat.h,
9297         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
9298         config/netware.h, gccbug.in: Update FSF address.
9299
9300 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9301
9302         * c-common.c: Fix comment typos.
9303         * cfgrtl.c: Likewise.
9304         * collect2.c: Likewise.
9305         * cpplex.c: Likewise.
9306         * doloop.c: Likewise.
9307         * dwarf2out.c: Likewise.
9308         * dwarfout.c: Likewise.
9309         * expr.c: Likewise.
9310         * fold-const.c: Likewise.
9311         * gcc.c: Likewise.
9312         * gcov.c: Likewise.
9313         * gcse.c: Likewise.
9314         * global.c: Likewise.
9315         * ifcvt.c: Likewise.
9316         * loop.c: Likewise.
9317         * optabs.c: Likewise.
9318         * protoize.c: Likewise.
9319         * regclass.c: Likewise.
9320         * reorg.c: Likewise.
9321         * rtl.h: Likewise.
9322         * stmt.c: Likewise.
9323         * tree.h: Likewise.
9324         * doc/cpp.texi: Likewise.
9325         * doc/c-tree.texi: Likewise.
9326         * doc/extend.texi: Likewise.
9327         * doc/invoke.texi: Likewise.
9328         * doc/objc.texi: Likewise.
9329         * doc/tm.texi: Likewise.
9330
9331 2001-10-08  Richard Henderson  <rth@redhat.com>
9332
9333         * varasm.c (set_named_section_flags): Initialize "declared".
9334
9335 2001-10-08  Robert Lipe  <robertlipe@usa.net>
9336
9337         * varasm.c (struct in_named_entry): Add declared.
9338         (named_section_first_declaration): New function.
9339         (default_elf_asm_named_section): Use it.
9340         * output.h (named_section_first_declaration): New.
9341
9342 2001-10-08  Richard Henderson  <rth@redhat.com>
9343
9344         * i386.md (movsi_xor): Export.
9345         (setcc peep2): Use it when available; add an alternative to
9346         match zero_extendhisi2_and.
9347
9348 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9349
9350         * romp-protos.h (romp_initialize_trampoline): New function.
9351         * romp.c (romp_initialize_trampoline): Likewise.
9352         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
9353         romp_initialize_trampoline.
9354
9355 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9356
9357         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
9358         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9359         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9360         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9361
9362 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9363
9364         * unroll.c (loop_iterations): Extend check for multiple back edges.
9365
9366 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
9367
9368         * langhooks.h: New file.
9369         * Makefile.in (OBJS): Added langhooks.o.
9370         (c-lang.o): Depend on langhooks.h.
9371         (c-common.o): Don't depend on tree-inline.h.
9372         (tree-inline.o): Depend on toplev.h.
9373         (langhooks.o): New rule.
9374         * c-common.c: Don't include tree-inline.h.
9375         (c_mark_lang_decl): Mark argument c as unused.
9376         (c_common_lang_init): Don't initialize hooks here.
9377         * c-lang.c: Include langhooks.h, then override some macros.
9378         (lang_hooks): Initialize with macros in langhooks.h.
9379         (c_init): Don't initialize hooks here.
9380         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
9381         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
9382         * tree-inline.c: Include toplev.h.  Don't define hook variables.
9383         * tree-inline.h: Don't define hook types nor declare hook
9384         variables.  Move macros to...
9385         * langhooks.c: ... new file, as functions.  Adjust all callers.
9386
9387 2001-10-08  Jeffrey A Law  <law@cygnus.com>
9388
9389         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
9390         purge_mem_unchanging_flag on all instructions, not just on those
9391         before NOTE_INSN_FUNCTION_BEG.
9392
9393 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9394
9395         * cppmacro.c (_cpp_create_definition): Leave comments off.
9396
9397         * doc/cpp.texi: Update.
9398
9399 2001-10-08  DJ Delorie  <dj@redhat.com>
9400
9401         * c-decl.c (grokfield): Make sure the only unnamed fields
9402         we're allowing are either structs or unions.
9403         * doc/extend.texi: Add documentation for the unnamed field
9404         extension.
9405
9406 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
9407
9408         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
9409         * configure.in: Use it.
9410         * configure: Regenerated.
9411         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
9412         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
9413
9414 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9415
9416         * cppfiles.c (open_file): Don't mark zero-length files
9417         never-reread here.  Don't output diagnostics here either.
9418         (stack_include_file): Mark them never-reread here.
9419         (_cpp_read_file): Update.
9420
9421 2001-10-08  Richard Henderson  <rth@redhat.com>
9422
9423         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
9424
9425 2001-10-08  Richard Henderson  <rth@redhat.com>
9426
9427         * expr.c (store_expr): When converting a CONST_INT for storage
9428         in a SUBREG, convert it to both SUBREG modes before stripping
9429         the SUBREG.
9430
9431 2001-10-08  Richard Henderson  <rth@redhat.com>
9432
9433         * varasm.c (restore_varasm_status): New.
9434         * function.h: Declare it.
9435         * function.c (pop_function_context_from): Call it.
9436
9437 2001-10-08  Richard Henderson  <rth@redhat.com>
9438
9439         * c-common.h (struct c_lang_decl): Add declared_inline.
9440         * c-tree.h (DECL_DECLARED_INLINE_P): New.
9441         * c-lang.c (c_disregard_inline_limits): Use it.
9442         * c-decl.c (duplicate_decls): Likewise.
9443         (pushdecl, redeclaration_error_message): Likewise.
9444         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
9445         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
9446         Set DECL_INLINE if -finline-functions.
9447         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
9448
9449 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9450
9451         * cppmacro.c (funlike_invocation_p): Move some logic to caller
9452         in enter_macro_context.  Create a padding token in its own context
9453         if necessary when the search for '(' fails.
9454         (enter_macro_context): Update.
9455
9456 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9457
9458         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
9459         genmultilib, toplev.c: Fix spelling errors of "separate" as
9460         "seperate", and corresponding spelling errors of related words.
9461
9462 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9463
9464         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
9465         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
9466         Likewise.
9467         * c-dump.c (dump_option_value_info): Likewise.
9468         * c-format.c (format_length_info, format_char_info,
9469         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
9470         * collect2.c (names): Likewise.
9471         * cppdefault.h (default_include): Likewise.
9472         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
9473         * flow.c (life_analysis): Likewise.
9474         * gcc.c (dir_separator_str, modify_target, option_map,
9475         target_option_translations, spec_list_1, extra_specs_1,
9476         init_spec): Likewise.
9477         * gcov.c (gcov_version_string): Likewise.
9478         * genattr.c (write_units): Likewise.
9479         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
9480         * gengenrtl.c (rtx_definition, defs): Likewise.
9481         * genrecog.c (pred_table): Likewise.
9482         * global.c (global_alloc): Likewise.
9483         * lcm.c (optimize_mode_switching): Likewise.
9484         * local-alloc.c (find_free_reg): Likewise.
9485         * params.h (param_info): Likewise.
9486         * predict.c (predictor_info): Likewise.
9487         * protoize.c (unexpansion_struct): Likewise.
9488         * real.c (bmask): Likewise.
9489         * recog.h (insn_operand_data, insn_data): Likewise.
9490         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
9491         * stmt.c (expand_nl_goto_receiver): Likewise.
9492         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
9493         target_switches, target_options): Likewise.
9494         * tradcif.y (token, tokentab2, yylex): Likewise.
9495         * tree.h (attribute_spec): Likewise.
9496
9497         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
9498         Likewise.
9499         * arc.c (arc_output_function_epilogue): Likewise.
9500         * arm.c (processors, all_cores, all_architectures,
9501         arm_override_options, isr_attribute_arg, isr_attribute_args,
9502         arm_isr_value): Likewise.
9503         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
9504         Likewise.
9505         * c4x.c (c4x_int_reglist): Likewise.
9506         * d30v.c (override_options): Likewise.
9507         * h8300.c (shift_insn): Likewise.
9508         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
9509         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
9510         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
9511         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
9512         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
9513         * i386.h (processor_costs, ix86_cost): Likewise.
9514         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
9515         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
9516         * m68k.c (codes_68881, codes_FPA): Likewise.
9517         * m88k.c (mode_from_align, max_from_align, all_from_align,
9518         best_from_align, m_options): Likewise.
9519         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
9520         * mcore.c (mode_from_align): Likewise.
9521         * mips/elf64.h (UNIQUE_SECTION): Likewise.
9522         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
9523         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
9524         * mips.h (mips_regno_to_class): Likewise.
9525         * ns32k.c (scales): Likewise.
9526         * pa.c (import_string, magic_milli): Likewise.
9527         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
9528         * sparc.c (leaf_reg_remap, sparc_override_options,
9529         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
9530         Likewise.
9531         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
9532
9533 2001-10-07  Dale Johannesen  <dalej@apple.com>
9534
9535         * reload1.c (reload_reg_free_p): Teach register interference
9536         checking that multiple output reloads are emitted in
9537         reverse order.
9538         reload1.c (reload_reg_reaches_end_p):  Ditto.
9539         reload1.c (reloads_conflict):  Ditto.
9540
9541 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9542
9543         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
9544         NULL_TREE inside @code.
9545
9546 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9547
9548         * doc/gcc.texi: Document consistent style of "32-bit",
9549         "Objective-C", and "@code{NULL}".
9550
9551 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9552
9553         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
9554         (cpp_token_len, cpp_spell_token, cpp_output_token,
9555         _cpp_equiv_tokens): Handle it.
9556         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
9557         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
9558         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
9559         error messages.
9560
9561 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9562
9563         * gcc.c (default_compilers): Remove .ada.
9564
9565 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9566
9567         * doc/cppinternals.texi: Update.
9568
9569 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9570
9571         * gcc.c (main): Set this_file_error if the appropriate
9572         compiler for a language has not been installed.
9573
9574 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
9575
9576         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
9577
9578 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
9579
9580         * gccbug.in (CATEGORIES): Add ada.
9581
9582 2001-10-05  Catherine Moore  <clm@redhat.com>
9583
9584         * config/stormy16/stormy-abi:  Document abi changes.
9585         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
9586         (ICALL_REGS): New register class.
9587         (NUM_ARGUMENT_REGISTERS): Now 6.
9588         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
9589         in registers.
9590         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
9591         * config/stormy16.md (call_internal, call_value_internal,
9592         indirect_jump): Use new 'z' constraint.
9593
9594 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9595
9596         * doc/cppinternals.texi: Update.
9597
9598 2001-10-05  Richard Henderson  <rth@redhat.com>
9599
9600         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
9601         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
9602         the gas section-name-as-label feature.
9603
9604 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9605
9606         * doc/cppinternals.texi: Update.
9607
9608 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9609
9610         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
9611         to ensure valid SImode constants.
9612
9613 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
9614
9615         * Makefile.in (c-decl.o): Depend on tree-inline.h.
9616         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
9617         * c-decl.c: Include tree-inline.h.
9618         (c_expand_body): Call optimize_inline_calls. Determine whether
9619         a function is inlinable upfront, and only clear
9620         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
9621         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
9622         (c_disregard_inline_limits): New function.
9623         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
9624         (c_post_options): Enable tree inlining if inlining is enabled.
9625         Don't inline trees when instrumenting functions.
9626         (c_init): Initialize lang_disregard_inline_limits and
9627         lang_cannot_inline_tree_fn.
9628         * tree-inline.c (initialize_inlined_parameters): Handle calls
9629         with fewer arguments than declared parameters, and fewer
9630         parameters than passed arguments.  Don't assume value is a
9631         DECL.
9632         (declare_return_variable): Convert return value back to the
9633         original type, if it was promoted.
9634         (tree_inlinable_function_p): New function.
9635         (inlinable_function_p): Don't look at DECL_INLINE if we're
9636         inlining all functions.  Make it work with a NULL id.
9637         Re-check DECL_UNINLINABLE after language-specific checks.
9638         * tree-inline.h (tree_inlinable_function_p): Declare it.
9639         * integrate.c (save_for_inline): Don't bother to prepare argvec
9640         when not inlining.
9641         * cse.c (check_for_label_ref): Don't check deleted labels.
9642
9643         * Makefile.in (tree-inline.o): Depend on newly-included headers.
9644         * tree-inline.c: Include headers needed for the functions moved in.
9645         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
9646         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
9647         (copy_body, initialize_inlined_parameters): Likewise.
9648         (declare_return_variable, inlinable_function_p): Likewise.
9649         (expand_call_inline, expand_calls_inline): Likewise.
9650         (optimize_inline_calls, clone_body): Likewise.
9651         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
9652         (copy_tree_r, remap_save_expr): Likewise.
9653
9654 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
9655
9656         * Makefile.in (OBJS): Added tree-inline.o.
9657         (c-common.o): Depend on tree-inline.h.
9658         (tree-inline.o): New target.
9659         * c-common.c: Include tree-inline.h.
9660         (c_mark_lang_decl): Don't mark saved_tree.
9661         (c_common_lang_init): Set lang_anon_aggr_type_p.
9662         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
9663         (struct c_lang_decl): Moved saved_tree to tree_decl.
9664         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
9665         * integrate.h (function_attribute_inlinable_p): Declare it.
9666         * integrate.c (function_attribute_inlinable_p): Export it.
9667         * tree-inline.c: New file.  Define variables declared in...
9668         * tree-inline.h: New file.  Declare functions to be moved to
9669         tree-inline.c.  Define macros and declare types and hooks for
9670         language-specific tree inlining.
9671         (flag_inline_trees): Moved definition from cp/decl2.c.
9672         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
9673         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
9674         (struct tree_decl): Moved saved_tree from c_lang_decl and
9675         inlined_fns from C++'s lang_decl.
9676
9677 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
9678
9679         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
9680         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
9681
9682 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9683
9684         * doc/cppinternals.texi: Update.
9685
9686 2001-10-04  Eric Christopher  <echristo@redhat.com>
9687
9688         * config/mips/mips.c (init_cumulative_args): Remember to set
9689         cum->prototype.
9690         * config.gcc: Redo linux configuration. Add target_cpu_default
9691         of soft-float to all mipsisa32 combinations and tx39.
9692         * config/mips/linux.h: Remove include of mips.h.
9693
9694 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
9695
9696         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
9697         HOST_LDFLAGS and HOST_CPPFLAGS.
9698
9699 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
9700
9701         * c-parse.in (objc_inherit_code, objc_pq_context,
9702         objc_public_flag): Make static.
9703         (objc_interface_context, objc_implementation_context,
9704         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
9705         global tree array in objc/objc-act.[ch].
9706         (methoddef): Remove unnecessary code.
9707
9708         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
9709         Hoist struct definitions to objc-act.h.
9710         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
9711         cat_count): Place declaration in objc-act.h.
9712         (objc_tree_index): Move enumeration to objc-act.h.
9713         (objc_global_trees): Place declaration and macro accessors in
9714         objc-act.h.
9715         (implementation_context): Remove duplicate; use
9716         objc_implementation_context instead:
9717         (method_context): Remove duplicate; use objc_method_context
9718         instead.
9719         (objc_ellipsis_node, objc_method_prototype_template,
9720         implemented_classes, function_type): Move global vars to
9721         objc_global_trees.
9722         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
9723         (build_message_expr): Move actual construction of ObjC message
9724         send nodes to finish_message_expr.
9725         (finish_message_expr): New routine, contains code formerly in
9726         build_message_expr.
9727         * objc/objc-act.h (finish_message_expr): New prototype.
9728         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
9729         declarations; these vars are now part of objc_global_trees.
9730         (objc_tree_index, objc_global_trees): Move definitions from
9731         objc-act.c.
9732         * objc/objc-tree.def: Update copyright info.
9733
9734 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
9735
9736         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
9737         op is NULL.
9738         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
9739         only if TARGET_ARCH64.
9740
9741 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
9742
9743         * doc/extend.texi: Fix some problems with previous checkin.
9744         * doc/invoke.texi: Likewise.
9745
9746 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9747
9748         * cpphash.h: Update comments.
9749         (cpp_context): Update.
9750         (spec_nodes): Remove n__Pragma.
9751         * cppinit.c (cpp_create_reader): Update.
9752         (builtin_array): Add _Pragma.
9753         * cpplib.h: Update comments.
9754         (NODE_DISABLED, BT_PRAGMA): New.
9755         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
9756         * cppmacro.c (struct cpp_macro): Remove disabled.
9757         (builtin_macro): Return int, handle _Pragma, push the new token
9758         on the context stack.
9759         (funlike_invocation_p): Unconstify, update.
9760         (enter_macro_context): Handle builtins here.
9761         (replace_args, push_token_context, push_ptoken_context):
9762         Update for prototype changes.
9763         (_cpp_pop_context): Update.
9764         (cpp_get_token): Don't handle buitins, nor _Pragma here.
9765         (cpp_sys_macro_p): Update.
9766         (_cpp_free_definition): Clear disabled flag.
9767         (_cpp_create_definition): Upate.
9768         * cppmain.c: Update comments.
9769
9770 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
9771                                 Andreas Jaeger <aj@suse.de>,
9772                                 Jan Hubicka    <jh@suse.cz>
9773
9774         * doc/invoke.texi (i386 Options): Document x86-64 options.
9775         (i386 and x86-64 Options): Rename i386 options section.
9776
9777         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
9778         (TARGET_SWITCHES): Add -munwind-info.
9779         (MASK_NO_UNWIND_INFO): New.
9780         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
9781         biarch compilation.
9782         (ASM_OUTPUT_DOUBLE_INT): New.
9783
9784         * config/i386/linux64.h: New spec file for Linux x86-64 support.
9785         * config.gcc: Fix tm_file settings for x86-64.
9786         * config/i386/x86-64.h: New file with OS independent x86-64
9787         definitions.
9788         * config/i386/biarch64.h: New file used to configure compiler
9789         to biarch/64bit compilation.
9790
9791         * config/i386/i386.c: (override_options): Set flags default
9792         for 64bit compilation.
9793
9794 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
9795
9796         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
9797         (ix86_expand_int_movcc): Optimize DImode conditional moves with
9798         constants on x86_64.
9799         (ix86_attr_length_immediate_default): Support MODE_DI.
9800         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
9801         condition.
9802         (indirect_jump, tablejump): Turn into expander.
9803
9804 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9805
9806         * c-common.c (c_format_attribute_table): Make format and
9807         format_arg attributes apply to function types rather than to
9808         decls.
9809         (is_valid_printf_arglist): Construct an attribute list and pass
9810         that to check_function_format rather than a name.
9811         * c-common.h (check_function_format): Adjust prototype.
9812         * c-decl.c (duplicate_decls): Preserve attributes from type of
9813         built-in decl when allowing for harmless conflict in types.
9814         * c-format.c (record_function_format,
9815         record_international_format, function_format_list,
9816         international_format_info, international_format_list): Remove.
9817         (function_format_info): Remove next, name and assembler_name.
9818         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
9819         (decode_format_attr): New.
9820         (handle_format_attribute): Handle receiving a type rather than a
9821         decl.  Call decode_format_attr.  Store format information in a
9822         function_format_info.
9823         (handle_format_arg_attribute): Correct comment.  Handle receiving
9824         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
9825         arg_num.
9826         (check_format_info_recurse, check_format_info_main): Take argument
9827         numbers as unsigned HOST_WIDE_INT.
9828         (check_function_format): Take a list of attributes from the
9829         function type rather than a name or assembler name.  Check for
9830         format attributes in that list and the attributes on the type of
9831         the current function rather than looking through
9832         function_format_list.
9833         (check_format_info): Use unsigned HOST_WIDE_INT for argument
9834         numbers.
9835         (check_format_info_recurse): Take format_arg attributes from the
9836         type of the function calls rather than using
9837         international_format_list.  Allow for multiple format_arg
9838         attributes.
9839         * c-typeck.c (build_function_call): Pass type attributes to
9840         check_function_format rather than name or assembler name.  Don't
9841         require there to be a name or assembler name to check formats.
9842
9843 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9844
9845         * attribs.c (decl_attributes): Possibly call
9846         insert_default_attributes to insert default attributes on
9847         functions in a lazy manner.
9848         * builtin-attrs.def: New file; define the default format and
9849         format_arg attributes.
9850         * c-common.c (c_format_attribute_table): Move to earlier in the
9851         file.
9852         (c_common_nodes_and_builtins): Initialize format_attribute_table.
9853         (enum built_in_attribute, built_in_attributes,
9854         c_attrs_initialized, c_init_attributes,
9855         c_common_insert_default_attributes): New.
9856         (c_common_lang_init): Don't initialize format_attribute_table.  Do
9857         call c_init_attributes.
9858         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
9859         * c-common.h (init_function_format_info): Don't declare.
9860         (c_common_insert_default_attributes): Declare.
9861         * c-decl.c (implicitly_declare, builtin_function): Call
9862         decl_attributes.
9863         (init_decl_processing): Don't call init_function_format_info.
9864         (insert_default_attributes): New.
9865         * c-format.c (handle_format_attribute,
9866         handle_format_arg_attribute): Be quiet about inappropriate
9867         declaration when applying default attributes.
9868         (init_function_format_info): Remove.
9869         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
9870         (insert_default_attributes): Declare.
9871
9872 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9873
9874         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
9875
9876 2001-10-01  Jim Wilson  <wilson@redhat.com>
9877
9878         * sched-deps.c (add_dependence): When elide conditional dependence,
9879         check that insn doesn't modify cond2.
9880
9881 2001-10-01  Dale Johannesen  <dalej@apple.com>
9882
9883         * config/rs6000/rs6000.h (enum processor_type): Add support
9884         for 7400 (G4) and 7450.
9885         (RTX_COSTS): Ditto.
9886         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
9887         (rs6000_issue_rate): Ditto.
9888         (rs6000_adjust_cost): Fix cycle counts for compares.
9889         (debug_stack_info):  Fix an obvious typo.
9890         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
9891         * doc/invoke.texi: Document.
9892         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
9893         for Darwin.
9894         (PROCESSOR_DEFAULT): Ditto.
9895
9896 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
9897
9898         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
9899         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
9900         later recursive make invocation.
9901
9902 2001-10-01  Hans Boehm  <boehm@acm.org>
9903
9904         * optabs.c (emit_libcall_block): When using non-call exceptions,
9905         don't add REG_LIBCALL reg notes to trapping calls.
9906
9907 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9908
9909         * flow.c (propagate_block_delete_libcall): Remove unused first arg
9910         (propagate_one_insn):  Update for above change
9911
9912 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9913
9914         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
9915         _Unwind_GetTextRelBase): Argument is unused.
9916
9917 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9918
9919         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
9920         Loop through NOPs, placeholders, and components.
9921         Don't go through NOPs if change mode.
9922         (record_alias_subset): Do nothing if SUBSET and SET are the same.
9923         * emit-rtl.c (set_mem_alias_set): Enable check.
9924         * expr.c (find_placeholder): New function.
9925         (expand_expr, case PLACEHOLDER_EXPR): Use it.
9926         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
9927         to modify it and avoid unneeded copies.
9928         * expr.h (expand_expr): Always define.
9929         (find_placeholder): New declaration.
9930
9931 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9932
9933         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
9934         operand 2 is the stack pointer.
9935         ("addr-peephole"): Fix address computation peephole when operand 2
9936         is the stack pointer.
9937
9938 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9939
9940         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
9941         (ix86_setup_incoming_varargs): Likewise.
9942
9943 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
9944
9945         * stor-layout.c (layout_type): Don't complain about too-large
9946         array here.
9947
9948 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9949
9950         * function.c (keep_stack_depressed): Don't use delete_insn.
9951
9952         * expr.h (set_mem_alias_set): Move decl to here.
9953         * rtl.h (mem_attrs): New typedef and struct.
9954         (union rtunion_def): Add field for mem_attrs.
9955         (X0MEMATTR, MEM_ATTRS): New macros.
9956         (MEM_ALIAS_SET): Use MEM_ATTRS.
9957         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
9958         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
9959         (set_mem_alias_set): Delete decl from here.
9960
9961         * alias.c (set_mem_alias_set): Delete from here.
9962         * emit-rtl.c (mem_attrs_htab): New variable.
9963         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
9964         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
9965         (mem_attrs_mark, get_mem_attrs): Likewise.
9966         (gen_rtx_MEM): Clear MEM_ATTRS.
9967         (set_mem_attributes): Move to here.
9968         (set_mem_alias_set): Likewise, and call get_mem_attrs.
9969         (init_emit_once): const_int_htab now deletable htab.
9970         Initialize mem_attrs_htab.
9971         * explow.c (set_mem_attributes): Delete from here.
9972         * function.c (put_var_into_stack): Clear MEM_ATTRS.
9973         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
9974         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
9975         * reload1.c (reload): Rework changing REG to MEM.
9976
9977 2001-09-30  H.J. Lu <hjl@gnu.org>
9978
9979         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
9980         * config.in: Rebuild.
9981
9982 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9983
9984         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
9985         ("tsthi_1"): Avoid allocation in register y.
9986         ("*movqi_68hc12"): Reorganize and fix constraints.
9987         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
9988         ("addqi3"): Likewise.
9989         ("addhi3"): Fix constraints.
9990         ("*logicalhi3_zexthi"): Disparage soft registers.
9991
9992 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9993
9994         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
9995         to tmp reg.
9996
9997 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9998
9999         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
10000         that we use setjmp/longjmp exceptions.
10001
10002 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
10003
10004         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
10005         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
10006         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
10007         _cpp_pool_alloc, _cpp_next_chunk): Remove.
10008         (_cpp_extend_buff, BUFF_ROOM): Update.
10009         (_cpp_append_extend_buff): New.
10010         (struct cpp_reader): Remove macro_pool, add a_buff.
10011         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
10012         macro_pool.
10013         (cpp_destroy): Free a_buff instead of macro_pool.
10014         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
10015         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
10016         _cpp_pool_alloc, ): Remove.
10017         (parse_number, parse_string): Update use of _cpp_extend_buff.
10018         (_cpp_extend_buff): Update.
10019         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
10020         * cpplib.c (glue_header_name, parse_answer):
10021         Update use of _cpp_extend_buff.
10022         (cpp_register_pragma, cpp_register_pragma_space): Use
10023         _cpp_aligned_alloc.
10024         (do_assert, do_unassert): Check for EOL, update.
10025         * cppmacro.c (stringify_arg, collect_args): Update to use
10026         _cpp_extend_buff and _cpp_append_extend_buff.
10027         (save_parameter, parse_params, alloc_expansion_token,
10028         _cpp_create_definition): Rework memory management.
10029
10030 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
10031
10032         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
10033         update md_exec_prefix.
10034         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
10035         to string constant.
10036
10037 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
10038
10039         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
10040         (SELECT_CC_MODE): Use s390_select_ccmode.
10041         * config/s390/s390-protos.h (s390_select_ccmode): Add.
10042         * config/s390/s390.c (s390_select_ccmode): New.
10043         (s390_match_ccmode): Add CCLmode.
10044         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
10045         (output_branch_condition, output_inverse_branch_condition): Removed.
10046         (print_operand): Use s390_branch_condition_mnemonic.
10047         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
10048         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
10049         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
10050
10051         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
10052         when converting conditional branches to far branches.
10053         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
10054         cmpint_di): Use CCSmode instead of CCUmode.
10055
10056         * config/s390/s390.c (legitimate_la_operand_p): New.
10057         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
10058         * config/s390/s390.md (movsi): Convert load address patterns to
10059         arithmetic operations when necessary.
10060         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
10061         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
10062         (*do_la_reg_0): Don't use before reload.
10063
10064         * config/s390/s390.c (legitimize_address): Make more efficient
10065         use of two-register addressing mode.
10066
10067         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
10068         with -mno-backchain in some corner cases.
10069
10070         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
10071
10072 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
10073
10074         * reload.c (find_reloads): Mark new USE insns with QImode.
10075         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
10076         find_reloads_subreg_address): Likewise.
10077         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
10078         encountered.
10079         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
10080         CLOBBERs.
10081         (reload): Make sure there are no USEs with mode other than
10082         VOIDmode.  At the end, remove those marked with QImode.
10083
10084 2001-09-29  Per Bothner  <per@bothner.com>
10085
10086         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
10087         * Makefile.in (includedir):  Rename to local_includedir.
10088         (includedir):  Define as $(prefix)/include.
10089         * config.in (PREFIX_INCLUDE_DIR):  New variable.
10090         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
10091
10092 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
10093
10094         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
10095         storehps builtins.
10096         * doc/extend.texi (Vector Extensions): New node.
10097         * doc/invoke.texi (Machine Dependent Options): Add documentation for
10098         i386 -mmmx, -msse, -m3dnow.
10099
10100 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10101
10102         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
10103
10104 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
10105
10106         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
10107
10108         * doc/invoke.texi (Optimize Options): Delete spurious @table.
10109
10110 2001-09-28  Richard Henderson  <rth@redhat.com>
10111
10112         * varasm.c (assemble_integer): Bound alignment check by
10113         BIGGEST_ALIGNMENT.
10114
10115         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
10116
10117 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10118
10119         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
10120
10121 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
10122
10123         Mostly from Graham Stott  <grahams@redhat.com>
10124         * c-common.c (type_for_mode): Add support for V2SFmode.
10125         * tree.c (build_common_tree_nodes_2): Likewise.
10126         * tree.h (enum tree_index, global_trees): Likewise.
10127         * config/i386/i386.c (x86_3dnow_a): New variable.
10128         (override_options): Support 3Dnow extensions.
10129         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
10130         Athlon's version of 3Dnow.
10131         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
10132         (ix86_expand_builtin): Handle them.
10133         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
10134         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
10135         TARGET_3DNOW_A): New macros.
10136         (TARGET_SWITCHES): Add 3Dnow switches.
10137         (VALID_MMX_REG_MODE_3DNOW): New macro.
10138         (VECTOR_MODE_SUPPORTED_P): Use it.
10139         (enum ix86_builtins): Add entries for 3Dnow builtins.
10140         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
10141         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
10142         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
10143         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
10144         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
10145         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
10146         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
10147         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
10148         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
10149         sfence_insn, prefetch): Make these available if TARGET_SSE or
10150         TARGET_3DNOW_A.
10151
10152 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
10153
10154         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
10155         ix86_va_start, ix86_build_va_list): Declare.
10156         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
10157         ix86_va_start, ix86_build_va_list): New global functions.
10158         * i386.md (sse_prologue_save_insn): New insn.
10159         (sse_prologue_save): New expander.
10160         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
10161         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
10162
10163 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10164
10165         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
10166         Use size_t everywhere, make definitions consistent with
10167         prototypes.
10168
10169 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
10170
10171         * gcse.c (replace_store_insn): Use delete_insn.
10172         * loop.c (move_movables): Likewise; avoid delete_insn
10173         from clobbering notes moved elsewhere.
10174         (check_dbra_loop): Use delete_insn.
10175         * ssa.c (convert_from_ssa): Likewise.
10176         * cse.c (cse_insn): Use delete_insn.
10177
10178 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10179
10180         * cpphash.h (struct cpp_buff): Make unsigned.
10181         (_cpp_get_buff): Take length of size_t.
10182         (_cpp_unaligned_alloc): New.
10183         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
10184         (struct cpp_reader): Remove ident_pool.  Add u_buff.
10185         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
10186         (cpp_destroy): Destroy u_buff, not ident_pool.
10187         * cpplex.c (parse_number, parse_string, save_comment,
10188         cpp_token_as_text): Update to use the unaligned buffer.
10189         (new_buff): Make unsigned.
10190         (_cpp_unaligned_alloc): New.
10191         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
10192         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
10193         Similarly.
10194         (collect_args): Make unsigned.
10195
10196 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
10197
10198         * cpplex.c (cpp_output_token): Use a putc loop for
10199         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
10200
10201         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
10202         * configure, config.in: Regenerate.
10203         * system.h: Replace fwrite and fprintf with their unlocked
10204         variants if available.
10205
10206 2001-09-27  Richard Henderson  <rth@redhat.com>
10207
10208         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
10209         in favour of .eh_frame.
10210
10211 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
10212
10213         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
10214         to macros.
10215         (LIBCALL_VALUE): Likewise.
10216
10217 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10218
10219         * cpphash.h: Update comment.
10220         * cpplex.c: Update comments.
10221         (_cpp_can_paste): Remove.
10222         * cpplib.h (_cpp_can_paste): Remove.
10223         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
10224         lexer rather than _cpp_can_paste.
10225
10226 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10227
10228         * doc/cppinternals.texi: Update.
10229
10230 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10231
10232         * cpphash.h (struct cpp_pool): Remove locks and locked.
10233         (struct cpp_context): Add member buff.
10234         (struct cpp_reader): Remove member argument_pool.
10235         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
10236         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
10237         * cpplex.c (chunk_suitable): Remove pool argument.
10238         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
10239         (new_buff, _cpp_extend_buff): Update.
10240         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
10241         which buffer is returned.
10242         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
10243         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
10244         * cppmacro.c (lock_pools, unlock_pools): Remove.
10245         (push_ptoken_context): Take a _cpp_buff.
10246         (enter_macro_context): Pool locking removed.
10247         (replace_args): Use a _cpp_buff for the replacement list with
10248         arguments replaced.
10249         (push_token_context): Clear buff.
10250         (expand_arg): Use _cpp_pop_context.
10251         (_cpp_pop_context): Free a context's buffer, if any.
10252
10253 2001-09-26  DJ Delorie  <dj@redhat.com>
10254
10255         * c-typeck.c (digest_init): Check for sizeless arrays.
10256
10257 2001-09-26  Richard Henderson  <rth@redhat.com>
10258
10259         * optabs.c (init_one_libfunc): Create a dummy function type
10260         instead of using error_mark_node.
10261
10262 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10263
10264         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
10265         _cpp_extend_buff, _cpp_free_buff): New.
10266         (struct cpp_reader): New member free_buffs.
10267         * cppinit.c (cpp_destroy): Free buffers.
10268         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
10269         _cpp_extend_buff, _cpp_free_buff): New.
10270         * cpplib.h (struct cpp_options): Remove unused member.
10271         * cppmacro.c (collect_args): New.  Combines the old parse_arg
10272         and parse_args.  Use _cpp_buff for memory allocation.
10273         (funlike_invocation_p, replace_args): Update.
10274
10275 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
10276
10277         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
10278
10279 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
10280
10281         * except.c (sjlj_mark_call_sites): Change address inside sequence.
10282
10283 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
10284
10285         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
10286         glibc.
10287
10288 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
10289             Jim Wilson  <wilson@redhat.com>
10290
10291         * doc/install.texi (Specific, ia64-*-linux): Document.
10292
10293 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
10294
10295         * Makefile.in (cfgrtl.o): Add.
10296         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
10297         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
10298         free_aux_for_edge): Declare.
10299         * cfg.c
10300         (HAVE_return): Undefine.
10301         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
10302         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
10303         free_aux_for_edge): New global functions.
10304         (first_delete_block): New static variable.
10305         (init_flow): Clear first_delete_block.
10306         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
10307          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
10308          try_redirect_by_replacing_jump, last_loop_beg_note,
10309          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
10310          delete_insn, delete_insn_chain, create_basic_block_structure,
10311          create_basic_block, flow_delete_block, compute_bb_for_insn,
10312          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
10313          set_block_for_new_insns, split_block, merge_blocks_nomove,
10314          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
10315          redirect_edge_and_branch, force_nonfallthru_and_redirect,
10316          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
10317          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
10318          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
10319          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
10320          purge_all_dead_edges): Move to ....
10321         * cfgrtl.c: New file; .... Here.
10322
10323         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
10324         (reroder_basic_block): Use alloc_aux_for_blocks.
10325         * predict.c (estimate_bb_frequencies): Likewise; use
10326         alloc_aux_for_edges.
10327         * profile.c (compute_branch_probabilities): Likewise.
10328         (branch_prob): Likewise.
10329         * reg-stack.c (reg_to_stack): Likewise.
10330
10331         * emit-rtl.c (emit_insns_after): Never return NULL.
10332
10333         * basic-block.h (set_block_for_new_insns): Delete.
10334         * cfgrtl.c (set_block_for_new_insns): Delete.
10335
10336         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
10337         calls when crossjumping.
10338
10339         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
10340         * unroll.c (copy_loop_body): Use delete_insn.
10341
10342         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
10343         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
10344         keep_stack_depressed): Likewise.
10345         * gcse.c (cprop_cc0_jump): Likewise.
10346         * local-alloc.c (update_equiv_regs): Likewise.
10347         * loop.c (scan_loop, loop_delete_insns): Likewise.
10348         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
10349         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
10350         delete_output_reload, delete_address_reloads_1,
10351         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
10352         Likewise.
10353         * sibcall.c (replace_call_placeholder): Likewise.
10354         * cse.c (cse_insn): Likewise.
10355
10356 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
10357
10358         From Graham Stott  <grahams@redhat.com>
10359         (def_builtin): Only define builtins appropriate for target_flags.  All
10360         callers changed.
10361         (builtin_decsription): Add new field mask which is used to determine
10362         when to define the builtin via the macro def_builtin.
10363
10364         (bdesc_comi): Initialise new mask fields.
10365         (bdesc_2srg): Likewise.
10366         (bdesc_1arg): Likewise.
10367
10368         * config/i386/i386.c (ix86_init_builtins): Correct return type
10369         building v4hi_ftype_v4hi_int_int tree node.
10370         (ix86_expand_sse_comi): Fix typo swapping operands.
10371         Don't swap comparision condition, it is already swapped.
10372         (ix86_expand_sse_compare): Before swapping operands
10373         move operand 1 into new rtx and not the target rtx.
10374         Don't swap comparison condition, it is already swapped.
10375         Always check whether we need to create a new TARGET.
10376
10377         * config/i386/i386.md: (sse_comi) Fix typos.
10378         (sse_ucomi): Likewise.
10379         (cvtss2si): Fix operand 0 contraint.
10380         (cvttss2si): Likewise.
10381         (sse_unpckhps): Fix mode for operand 2.
10382         (sse_unpcklps): Likewise.
10383
10384 2001-09-25  Graham Stott  <grahams@redhat.com>
10385
10386         * sibcall.c (skip_copy_to_return_value): Tighten return value
10387         copy check.
10388
10389 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
10390
10391         * rs6000.c (lwa_operand): Address must be word aligned.
10392
10393 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10394
10395         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
10396         number has been set.
10397         (type_hash_mark): Mark type itself.
10398
10399 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10400
10401         * c-lex.c (cb_def_pragma): Update.
10402         (c_lex): Update, and skip padding.
10403         * cppexp.c (lex, parse_defined): Update, remove unused variable.
10404         * cpphash.h (struct toklist): Delete.
10405         (union utoken): New.
10406         (struct cpp_context): Update.
10407         (struct cpp_reader): New members eof, avoid_paste.
10408         (_cpp_temp_token): New.
10409         * cppinit.c (cpp_create_reader): Update.
10410         * cpplex.c (_cpp_temp_token): New.
10411         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
10412         (cpp_output_token): Don't print leading whitespace.
10413         (cpp_output_line): Update.
10414         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
10415         do_include_common, do_line, do_ident, do_pragma,
10416         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
10417         parse_assertion): Update.
10418         (get_token_no_padding): New.
10419         * cpplib.h (CPP_PADDING): New.
10420         (AVOID_LPASTE): Delete.
10421         (struct cpp_token): New union member source.
10422         (cpp_get_token): Update.
10423         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
10424         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
10425         replace_args, quote_string, stringify_arg, parse_arg, next_context,
10426         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
10427         _cpp_backup_tokens, _cpp_create_definition): Update.
10428         (push_arg_context): Delete.
10429         (padding_token, push_token_context, push_ptoken_context): New.
10430         (make_string_token, make_number_token): Update, rename.
10431         (cpp_get_token): Update to handle tokens as pointers to const,
10432         and insert padding appropriately.
10433         * cppmain.c (struct printer): New member prev.
10434         (check_multiline_token): Constify.
10435         (do_preprocessing, cb_line_change): Update.
10436         (scan_translation_unit): Update to handle spacing.
10437         * scan-decls.c (get_a_token): New.
10438         (skip_to_closing_brace, scan_decls): Update.
10439         * fix-header.c (read_scan_file): Update.
10440
10441         * doc/cpp.texi: Update.
10442
10443 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10444
10445         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
10446         leak by passing malloc'ed pointer to reconcat, not concat.
10447
10448 2001-09-24  DJ Delorie  <dj@redhat.com>
10449
10450         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
10451
10452 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
10453
10454         * flow.c (delete_dead_jumptables): Delete jumptable if the only
10455         reference is from the literal pool.
10456
10457 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
10458
10459         * doc/install.texi (Final install): Request additional information
10460         in mail about successful builds.
10461
10462 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10463
10464         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
10465         initial value of return pointer register instead of value in frame-20.
10466         Revise comments.
10467
10468 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10469
10470         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
10471         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
10472         the libcall if there isn't a referenced identifier for the symbol.
10473
10474 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10475
10476         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
10477         non 64-bit machines.  Use these as a plabel for the trampoline.
10478         (TRAMPOLINE_SIZE): Adjust size for new words.
10479         (INITIALIZE_TRAMPOLINE): Initialize new words.
10480         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
10481         pointer to the plabel in the trampoline.
10482
10483 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10484
10485         * pa.c (function_arg): Pass floating arguments in both general and
10486         floating registers in indirect (dynamic) calls when generating code
10487         for the 32 bit ABI and the HP assembler.
10488
10489 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10490
10491         * doc/install.texi: Markup fixes.
10492         Use Solaris 2, SunOS 4 as appropriate.
10493         (Specific, *-*-solaris2*): Explain this.
10494         Unconditionally warn against /usr/ucb tools.
10495         Remove Sun as warning, obsolete.
10496         Move X11 header bug workaround here, update patches.
10497         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
10498         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
10499
10500 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
10501
10502         * errors.h (warning, error, fatal, internal_error): Don't mark
10503         with ATTRIBUTE_PRINTF_n.
10504         * toplev.h (internal_error, fatal_io_error, warning, error,
10505         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
10506         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
10507         Likewise.
10508
10509 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10510
10511         * function.c (pop_function_context_from): var_refs_queue
10512         and temp slots now in GC memory.
10513         (mark_function_status, free_after_compilation): Likewise;
10514         also struct function now in GC memory.
10515         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
10516         (combine_temp_slots): Likewise.
10517         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
10518         (prepare_function_start): Use GC memory for struct function.
10519         (mark_temp_slot): Deleted.
10520         (gcc_mark_struct_function): struct function now in GC memory.
10521
10522         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
10523         code for division, not modulus.
10524
10525         * rtl.def (MEM): Remove obsolete part of comment.
10526
10527 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
10528
10529         * c-format.c (init_function_format_info): Check __builtin_printf
10530         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
10531         in gnu89 mode.
10532
10533 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10534
10535         * c-common.c (format_attribute_table): Remove decl.
10536         * tree.h (format_attribute_table, lang_attribute_table): New decls.
10537         (lang_attribute_common): Likewise.
10538
10539         * function.c (fix_lexical_address): Use set_mem_alias_set.
10540         (expand_function_start): Likewise.
10541         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
10542
10543         * varasm.c (output_constant): Fix unused variable warning.
10544
10545         * attribs.c: New file, from c-common.c.
10546         (attribute_tables): Now four elements.
10547         (format_attribute_table, lang_attribute_common): New variables.
10548         (init_attributes): Reflect above changes.
10549         (handle_mode_attribute): Delete check for wider than uintmax.
10550         * c-common.c: Delete parts moved to attribs.c.
10551         (enum attrs): Deleted; unused.
10552         (c_format_attribute_table): New variable.
10553         (c_common_lang_init): Initialize format_attribute_table with it.
10554         * c-common.h (decl_attributes): Remove decl.
10555         * tree.h (decl_attribute): Move it to here.
10556         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
10557         (attribs.o): New rule.
10558
10559 2001-09-22  Andreas Jaeger  <aj@suse.de>
10560
10561         * builtins.c (c_getstr): Remove unused variable.
10562
10563 2001-09-21  Richard Henderson  <rth@redhat.com>
10564
10565         * reload1.c (reload): Use delete_insn instead of splatting
10566         NOTE_INSN_DELETED.
10567
10568 2001-09-21  Richard Henderson  <rth@redhat.com>
10569
10570         * reload.c (push_secondary_reload): Don't check for "=" in output
10571         constraint after ""->ALL_REGS check.
10572
10573 2001-09-21  Richard Henderson  <rth@redhat.com>
10574
10575         * predict.c (expected_value_to_br_prob): Use pc_set.
10576
10577         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
10578         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
10579
10580 2001-09-21  Richard Henderson  <rth@redhat.com>
10581
10582         * rtl.h (LCT_RETURNS_TWICE): New.
10583         * calls.c (emit_call_1): Set current_function_calls_setjmp for
10584         ECF_RETURNS_TWICE.
10585         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
10586         to ECF_RETURNS_TWICE.
10587         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
10588         call to setjmp.
10589
10590         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
10591
10592         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
10593         (JMP_BUF_SIZE): New.
10594
10595 2001-09-21  Richard Henderson  <rth@redhat.com>
10596
10597         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
10598         to R8_REGS.
10599
10600 2001-09-21  Richard Henderson  <rth@redhat.com>
10601
10602         * tree.def (FDESC_EXPR): New.
10603         * expr.c (expand_expr): Handle it.
10604         * varasm.c (initializer_constant_valid_p): Likewise.
10605         (output_constant): Likewise.
10606         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10607         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10608         (ASM_OUTPUT_FDESC): New.
10609         * doc/tm.texi: Document the new macros.
10610
10611 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10612
10613         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
10614         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
10615         once merging is complete.
10616
10617 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10618
10619         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
10620
10621 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10622
10623         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
10624         that would be invalid after a merge.
10625
10626 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
10627
10628         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
10629         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
10630         remove some labels.
10631         (flow_delete_insn): This one.
10632         (delete_insn_chain): Rename from ...; do not care labels.
10633         (flow_delete_insn_chain): ... this one.
10634         (flow_delete_block): Remove the insns one BB has been expunged.
10635         (merge_blocks_nomove): Likewise.
10636         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
10637         updating BB boundaries.
10638         (tidy_fallthru_edge): Likewise.
10639         (commit_one_edge_insertion): Likewise.
10640         * cfgbuild.c (find_basic_block): Likewise.
10641         (find_basic_blocks_1): Likewise.
10642         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
10643         (try_crossjump_to_edge): Likewise.
10644         (try_optimize_cfg): Likewise.
10645         * cse.c (delete_trivially_dead_insns): Likewise.
10646         * df.c (df_insn_delete): Likewise.
10647         * doloop.c (doloop_modify): Use delete_related_insns.
10648         * emit-rtl.c (try_split): Likewise.
10649         (remove_insn): Update BB boundaries.
10650         * expect.c (connect_post_landing_pads): Use delete_related_insns.
10651         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
10652         updating BB boundaries.
10653         (propagate_block_delete_insn): Likewise.
10654         (propagate_block_delete_libcall): Likewise.
10655         * function.c (delete_handlers): Use delete_related_insns.
10656         (thread_prologue_and_epilogue_insns): Likewise.
10657         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
10658         * genpeep.c (gen_peephole): Use delete_related_insns.
10659         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
10660         BB boundaries.
10661         (find_cond_trap): Likewise.
10662         * integrate.c (save_for_inline): Use delete_related_insns.
10663         (copy_insn_list): Likewise.
10664         * jump.c (pruge_linie_number_notes): Likewise.
10665         (duplicate_loop_exit_test): Likewise.
10666         (delete_computation): Likewise.
10667         (delete_related_insn): Rename from ...; use delete_insn
10668         (delete_insn): ... this one.
10669         (redirect_jump): Use delete_related_insns.
10670         * loop.c (scan_loop): Likewise.
10671         (move_movables): Likewise.
10672         (find_and_verify_loops): Likewise.
10673         (check_dbra_loop): Likewise.
10674         * recog.c (peephole2_optimize): Likewise.
10675         * reg-stack.c (delete_insn_for_stacker): Remove.
10676         (move_for_stack_reg): Use delete_insn.
10677         * regmove.c (combine_stack_adjustments_for_block): Likewise.
10678         * reload1.c (delete_address_reloads): Use delete_related_insns.
10679         (fixup_abnormal_edges): Use delete_insn.
10680         * recog.c (emit_delay_sequence): Use delete_related_insns.
10681         (delete_from-delay_slot): Likewise.
10682         (delete_scheduled_jump): likewise.
10683         (optimize_skip): Likewise.
10684         (try_merge_delay_insns): Likewise.
10685         (full_simple_delay_slots): Likewise.
10686         (fill_slots_from_thread): Likewise.
10687         (relax_delay_slots): Likewise.
10688         (make_return_insns): Likewise.
10689         (dbr_schedule): Likewise.
10690         * rtl.h (delete_insn): Rename to delete_related_insns.
10691         (delete_insn, delete_insn_chain): New prototypes.
10692         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
10693         by df_insn_delete already.
10694         * ssa-dce.c (delete_insn_bb): Use delete_insn.
10695         * ssa.c (convert_from_ssa): Use delete_related_insns.
10696         * unroll.c (unroll_loop): Likewise.
10697         (calculate_giv_inc): Likewise.
10698         (copy_loop_body): Likewise.
10699
10700         * i386-protos.h (ix86_libcall_value, ix86_function_value,
10701         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10702         ix86_return_in_memory, ix86_function_value): Declare.
10703         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
10704         new static valurables.
10705         (x86_64_reg_class): New enum
10706         (x86_64_reg_class_name): New array.
10707         (classify_argument, examine_argument, construct_container,
10708          merge_classes): New static functions.
10709         (optimization_options): Enable flag_omit_frame_pointer and disable
10710         flag_pcc_struct_return on 64bit.
10711         (ix86_libcall_value, ix86_function_value,
10712         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10713         ix86_return_in_memory, ix86_function_value): New global functions.
10714         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
10715         (function_arg_advance): Handle x86_64 passing conventions.
10716         (function_arg): Likewise.
10717         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
10718         (RETURN_IN_MEMORY): Move offline.
10719         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
10720         (FUNCTION_VALUE_REGNO_P): New macro.
10721         (FUNCTION_ARG_REGNO_P): Move offline.
10722         (struct ix86_args): Add maybe_vaarg.
10723         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
10724         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
10725
10726 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
10727
10728         * s390.md: Changed attributes for scheduling.
10729         * s390.c: (s390_adjust_cost, s390_adjust_priority)
10730         Changed scheduling
10731
10732 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10733
10734         Table-driven attributes.
10735         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
10736         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
10737         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
10738         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
10739         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
10740         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
10741         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
10742         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
10743         * tree.h (struct tree_decl): Change machine_attributes to
10744         attributes.
10745         * doc/c-tree.texi: Document that all attributes are now attached
10746         to decls and types.
10747         * c-common.c (add_attribute, attrtab, attrtab_idx,
10748         default_valid_lang_attribute, valid_lang_attribute): Remove.
10749         (attribute_tables, attributes_initialized,
10750         c_common_attribute_table, default_lang_attribute_table): New
10751         variables.
10752         (handle_packed_attribute, handle_nocommon_attribute,
10753         handle_common_attribute, handle_noreturn_attribute,
10754         handle_unused_attribute, handle_const_attribute,
10755         handle_transparent_union_attribute, handle_constructor_attribute,
10756         handle_destructor_attribute, handle_mode_attribute,
10757         handle_section_attribute, handle_aligned_attribute,
10758         handle_weak_attribute, handle_alias_attribute,
10759         handle_no_instrument_function_attribute,
10760         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
10761         handle_no_limit_stack_attribute, handle_pure_attribute): New
10762         functions.
10763         (init_attributes, decl_attributes): Rewrite to implement
10764         table-driven attributes.
10765         * c-common.h (enum attribute_flags): Move to tree.h.
10766         * c-format.c (decl_handle_format_attribute,
10767         decl_handle_format_arg_attribute): Rename to
10768         handle_format_attribute and handle_format_arg_attribute.  Update
10769         for table-driven attributes.
10770         * c-common.h (decl_handle_format_attribute,
10771         decl_handle_format_arg_attribute): Remove prototypes.
10772         (handle_format_attribute, handle_format_arg_attribute): Add
10773         prototypes.
10774         * c-decl.c (grokdeclarator): Handle attributes nested inside
10775         declarators.
10776         * c-parse.in (setattrs, maybe_setattrs): Remove.
10777         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
10778         Update to handle nested attributes properly.
10779         (maybe_resetattrs, after_type_declarator,
10780         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
10781         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
10782         properly.
10783         (make_pointer_declarator): Update to handle nested attributes
10784         properly.
10785         * doc/extend.texi: Update documentation of limits of attributes
10786         syntax.  Warn about problems with attribute semantics in C++.
10787         * target.h (struct target): Remove valid_decl_attribute and
10788         valid_type_attribute.  Add attribute_table and
10789         function_attribute_inlinable_p.
10790         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
10791         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
10792         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
10793         Add.
10794         (TARGET_INITIALIZER): Update.
10795         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
10796         definition.
10797         (function_attribute_inlinable_p): New function.  Check for the
10798         presence of any machine attributes before using
10799         targetm.function_attribute_inlinable_p.
10800         (function_cannot_inline_p): Update.
10801         * Makefile.in (integrate.o): Update dependencies.
10802         * doc/tm.texi: Update documentation of target attributes and
10803         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
10804         * tree.c (default_valid_attribute_p, valid_machine_attribute):
10805         Remove.
10806         (default_target_attribute_table,
10807         default_function_attribute_inlinable_p): New.
10808         (lookup_attribute): Update comment to clarify handling of multiple
10809         attributes with the same name.
10810         (merge_attributes, attribute_list_contained): Allow multiple
10811         attributes with the same name but different arguments to appear in
10812         the same attribute list.
10813         * tree.h (default_valid_attribute_p): Remove prototype.
10814         (struct attribute_spec): New.
10815         (default_target_attribute_table): Declare.
10816         (enum attribute_flags): Move from c-common.h.  Add
10817         ATTR_FLAG_TYPE_IN_PLACE.
10818         (default_function_attribute_inlinable_p): Declare.
10819         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
10820         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10821         (TARGET_ATTRIBUTE_TABLE): Define.
10822         (vms_attribute_table): New.
10823         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
10824         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10825         (TARGET_ATTRIBUTE_TABLE): Define.
10826         (arc_attribute_table, arc_handle_interrupt_attribute): New.
10827         * config/arm/arm.c (arm_valid_type_attribute_p,
10828         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
10829         Remove.
10830         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10831         define.
10832         (TARGET_ATTRIBUTE_TABLE): Define.
10833         (arm_attribute_table, arm_handle_fndecl_attribute,
10834         arm_handle_isr_attribute): New.
10835         * config/avr/avr.c (avr_valid_type_attribute,
10836         avr_valid_decl_attribute): Remove.
10837         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
10838         define.
10839         (TARGET_ATTRIBUTE_TABLE): Define.
10840         (avr_attribute_table, avr_handle_progmem_attribute,
10841         avr_handle_fndecl_attribute): New.
10842         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
10843         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10844         (TARGET_ATTRIBUTE_TABLE): Define.
10845         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
10846         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
10847         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10848         (TARGET_ATTRIBUTE_TABLE): Define.
10849         (h8300_attribute_table, h8300_handle_fndecl_attribute,
10850         h8300_handle_eightbit_data_attribute,
10851         h8300_handle_tiny_data_attribute): New.
10852         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
10853         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
10854         Remove prototypes.
10855         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
10856         declarations.
10857         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
10858         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10859         define.
10860         (TARGET_ATTRIBUTE_TABLE): Define.
10861         (ix86_attribute_table, ix86_handle_cdecl_attribute,
10862         ix86_handle_regparm_attribute): New.
10863         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
10864         i386_pe_valid_type_attribute_p): Remove.
10865         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
10866         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
10867         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10868         (TARGET_ATTRIBUTE_TABLE): Define.
10869         (ia64_attribute_table): New.
10870         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
10871         interrupt_ident2, model_ident1, model_ident2): Remove.
10872         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10873         (TARGET_ATTRIBUTE_TABLE): Define.
10874         (init_idents): Update.
10875         (m32r_attribute_table, m32r_handle_model_attribute): New.
10876         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
10877         Remove.
10878         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10879         (TARGET_ATTRIBUTE_TABLE): Define.
10880         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
10881         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
10882         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10883         (TARGET_ATTRIBUTE_TABLE): Define.
10884         (mcore_attribute_table, mcore_handle_naked_attribute): New.
10885         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
10886         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10887         (TARGET_ATTRIBUTE_TABLE): Define.
10888         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
10889         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
10890         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10891         (TARGET_ATTRIBUTE_TABLE): Define.
10892         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
10893         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
10894         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10895         (TARGET_ATTRIBUTE_TABLE): Define.
10896         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
10897         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
10898         New.
10899         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
10900         Remove.
10901         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
10902         (TARGET_ATTRIBUTE_TABLE): Define.
10903         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
10904         New.
10905         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
10906         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10907         (TARGET_ATTRIBUTE_TABLE): Define.
10908         (v850_attribute_table, v850_handle_interrupt_attribute,
10909         v850_handle_data_area_attribute): New.
10910         * config/v850/v850-c.c (mark_current_function_as_interrupt):
10911         Return void.  Call decl_attributes instead of
10912         valid_machine_attribute.
10913
10914 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
10915
10916         * sh-protos.h (sh_pr_n_sets): Declare.
10917         * sh.c (calc_live_regs): If the initial value for PR has been copied,
10918         look at the copy to determine if PR needs to be saved.
10919         sh_pr_n_sets: New function.
10920         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
10921         (ALLOCATE_INITIAL_VALUE): Define.
10922
10923         * sh.c (initial_elimination_offset):
10924         Fix RETURN_ADDRESS_POINTER_REGNUM case.
10925
10926 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
10927
10928         * integrate.c (allocate_initial_values): New function.
10929         * integrate.h (allocate_initial_values): Declare.
10930         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
10931         here...
10932         * reload1.c (reload): And initialization of reg_equiv_memory_loc
10933         from here...
10934         * toplev.c (rest_of_compilation): To here.
10935         Call allocate_initial_values.
10936         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
10937
10938 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10939
10940         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
10941
10942 2001-09-20  DJ Delorie  <dj@redhat.com>
10943
10944         * c-typeck.c (really_start_incremental_init): Discriminate
10945         between zero-length arrays and flexible arrays.
10946         (push_init_level): Detect zero-length arrays and handle them
10947         like fixed-sized arrays.
10948         * expr.c (store_constructor): Handle zero-length arrays and
10949         flexible arrays correctly.
10950         * doc/extend.texi: Update zero-length array notes.
10951
10952 2001-09-20  Jim Wilson  <wilson@redhat.com>
10953
10954         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
10955         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
10956         for issue port conflicts.
10957         (cycle_end_fill_slots): TYPE_L instructions take two slots.
10958
10959 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
10960
10961         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
10962         on ia64.
10963
10964 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10965
10966         * fold-const.c (hashtab.h): Include.
10967         (int_const_binop): Remove FORSIZE arg and compute from type; all
10968         callers changed.
10969         Call size_int_type_wide for all single-word constants.
10970         (size_htab_hash, size_htab_eq): New functions.
10971         (size_int_type_wide): Rework to use hash table.
10972         * ggc-common.c (hashtab.h): Include.
10973         (struct d_htab_root): New struct.
10974         (d_htab_roots): New variable.
10975         (ggc_add_deletable_htab, ggc_htab_delete): New functions
10976         (ggc_mark_roots): Handle deletable htabs.
10977         * ggc-page.c (ggc_marked_p): New function.
10978         * ggc-simple.c (ggc_marked_p): Likewise.
10979         * ggc.h: Reformatting throughout.
10980         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
10981         * tree.c (init_obstacks): Make type_hash_table a deletable root.
10982         (type_hash_add): Allocate struct type_hash from GC memory.
10983         (mark_hash_entry, mark_type_hash): Deleted.
10984         (type_hash_marked_p, type_hash_mark): New functions.
10985         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
10986
10987 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
10988
10989         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
10990         than SImode.
10991
10992 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10993
10994         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
10995         array-too-large test for signed sizetype.
10996
10997 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10998
10999         * i386.md (indirect_jump): Allow Pmode operand.
11000         (tablejump): LIkewise; perform expansion to 64bit mode.
11001         * i386.c (symbolic_operand): Allow 64bit PIC references.
11002         (pic_symbolic_operand): Likewise.
11003         (ix86_find_base_term): Strip the 64bit PIC references.
11004         (legitimate_pic_address_disp_p): Handle 64bit PIC.
11005         (legitimize_pic_address): Likewise.
11006         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
11007         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
11008
11009 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
11010
11011         * stringpool.c (get_identifier_with_length): New function.
11012         * tree.h (get_identifier_with_length): New prototype.
11013
11014 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
11015             David Edelsohn  <edelsohn@gnu.org>
11016
11017         Revert:
11018         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
11019         already sign-extended.
11020
11021         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
11022         * config/rs6000/rs6000.c (logical_operand): Always compare op as
11023         HOST_WIDE_INT.
11024         (rs6000_emit_set_long_const): Avoid unnecessary shift.
11025         (output_profile_hook): Declare label_name const.
11026         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
11027         to match constraints.
11028
11029 2001-09-19  Stan Shebs  <shebs@apple.com>
11030
11031         * alias.c: Fix typos in comments.
11032         * sched-rgn.c (init_ready_list): Ditto.
11033         * unwind-dw2.c (uw_frame_state_for): Ditto.
11034         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
11035         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
11036         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
11037
11038 2001-09-19  Richard Henderson  <rth@redhat.com>
11039
11040         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
11041         to the exit block.
11042         * Makefile.in (cfg.o): Depend on TM_P_H.
11043
11044 2001-09-19  Richard Henderson  <rth@redhat.com>
11045
11046         * config/alpha/alpha.c (local_symbol_p): Split out from ...
11047         (local_symbolic_operand): ... here.
11048         (small_symbolic_operand): Check mode.
11049         (global_symbolic_operand): New.
11050         (input_operand): Reject symbolics if explicit relocs.
11051         (call_operand): Tidy.
11052         (alpha_legitimize_address): Use movdi_er_high_g.
11053         (alpha_expand_mov): Likewise.
11054         * config/alpha/alpha-protos.h: Update.
11055         * config/alpha/alpha.h (PREDICATE_CODES): Update.
11056         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
11057         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
11058         (UNSPECV_LDGP2): Remove.
11059         (all call patterns): Use 's' not 'i' for symbolic constraint.
11060         (call_osf call_value_osf): Use call_operand.
11061         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
11062         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
11063         (prologue_ldgp_1_er): Remove.
11064         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
11065         (builtin_setjmp_receiver_er patterns): Use them.
11066         (exception_receiver_er): Likewise.
11067
11068 2001-09-19  Richard Henderson  <rth@redhat.com>
11069
11070         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
11071
11072         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
11073         and NON_LOCAL_GOTO notes.
11074         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
11075         copy over CALL_INSN_FUNCTION_USAGE.
11076
11077 2001-09-18  Catherine Moore  <clm@redhat.com>
11078
11079         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
11080         Define as 0.
11081
11082 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
11083
11084         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
11085         new-style tm_file specification.  Specify correct tm_p_file,
11086         md_file, and out_file for s390x.
11087
11088         * config/s390/linux.h, linux64.h:  Don't include other target
11089         macro header files.  Now handled via tm_file.
11090
11091         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
11092         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
11093         are defined before use.
11094
11095 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
11096
11097         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
11098         code generation only for Gnu assembler.
11099
11100 2001-09-18  Catherine Moore  <clm@redhat.com>
11101
11102         * config/stormy16 (LIB_SPEC): Remove -lnosys.
11103
11104 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
11105
11106         * config/mips/mips.c (mips_frame_set): New.
11107         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
11108         a parallel frame-related expression with a set for each register.
11109
11110 2001-09-18  Philip Blundell  <philb@gnu.org>
11111
11112         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
11113         header files.
11114
11115 2001-09-17  Dale Johannesen  <dalej@apple.com>
11116
11117         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
11118         * config/rs6000/aix.h (FIXED_R2): Define.
11119         * config/rs6000/darwin.h (FIXED_R2): Define.
11120         * config/rs6000/sysv4.h (FIXED_R2): Define.
11121
11122 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
11123
11124         * except.c (dw2_build_landing_pads): New local
11125         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
11126         barrier after clobbers.  Fixes c++/4012.
11127
11128 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11129
11130         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
11131
11132 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
11133
11134         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
11135         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
11136
11137 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11138
11139         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
11140         alloca/strcpy.
11141
11142 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
11143
11144         * cpphash.h (_cpp_lex_direct): New.
11145         * cpplex.c (_cpp_lex_token): Update.
11146         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
11147         and increment that pointer.
11148         * cppmacro.c (alloc_expansion_token): New.
11149         (lex_expansion_token): Lex macro expansion directly into
11150         macro storage.
11151
11152 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
11153
11154         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
11155
11156 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
11157
11158         * basic-block.h (free_bb_for_insn): Declare.
11159         * bb-reorder.c (label_for_bb): Use block_label.
11160         (emit_jump_to_block_after): Remove.
11161         (insert_intra_1): Do not update block_for_insn.
11162         (insert_inter_bb_scope_notes): Likewise; update bb->end
11163         * cfg.c (free_bb_for_insn): New.
11164         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
11165         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
11166         (commit_one_edge_insertion): Likewise.
11167         (commit_one_edge_insertion): Do not update BB boundary.
11168         (commit_edge_insertions): Do not call compute_bb_for_insn.
11169         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
11170         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
11171         (merge_blocks_move_successor_nojumps): Likewise.
11172         (try_crossjump_to_edge): Do not update block_for_insn.
11173         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
11174         * df.c (df_pattern_emit_later): Do not update BB boundary.
11175         (df_jump_pattern_emit_after): Likewise.
11176         (df_insn_move_before): Use emit_insn_before.
11177         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
11178          properly.
11179         (add_insn_after, add_insn_before, emit_insns_after): Update BB
11180         boundaries and basic_block_for_insn.
11181         (reorder_insns_nobb): Rename from reorder_insns.
11182         (reorder_insns): New.
11183         (emit_block_insn_before, emit_block_insn_after): Kill.
11184         * flow.c (check_function_return_warnings): Do not call
11185         compute_bb_for_insn; Do not free basic_block_for_insn.
11186         (attempt_auto_inc): Do not update basic_block_for_insn.
11187         * function.c (emit_return_into_block): Likewise;
11188         do not update BB boundaries.
11189         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
11190         (insert_insn_end_bb): Use emit_insn_before; Likewise.
11191         (pre_insert_copy_insn): Likewise.
11192         (update_ld_motion_notes): Likewise.
11193         (insert_insn_start_bb): Likewise.
11194         (replace_store_insn): Likewise.
11195         * ifcvt.c (noce_process_if_block): Likewise.
11196         (if_convert): Do not call compute_bb_for_insn.
11197         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
11198         Use emit_insn_before and emit_insn_after.
11199         * recog.c (split_all_insns): Do not update BB boundaries;
11200         Do not call compute_bb_for_insn.
11201         (peephole2_optimize): Do not update BB boundaries.
11202         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
11203         emit_insn_before.
11204         (emit_swap_insn): Likewise.
11205         (convert_regs_1): Likewise.
11206         * reload1.c (reload): Call compute_bb_for_insn.
11207         * rtl.h (reorder_insns_nobb): Declare.
11208         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
11209         * toplev.c (rest_of_compilation): Call free_bb_for_insn
11210         at places CFG is invalidated; do not call compute_bb_for_insn.
11211
11212         * cfg.c (expunge_block): Invalidate BB structure.
11213
11214         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
11215         array.
11216
11217         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
11218
11219 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
11220
11221         * cpphash.h (_cpp_lex_token): Update prototype.
11222         * cpplex.c (_cpp_lex_token): New prototype.
11223         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
11224         lex_macro_node, read_flag, do_pragma_poison): Update.
11225         * cppmacro.c (cpp_get_token, parse_params,
11226         lex_expansion_token): Update.
11227
11228 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
11229
11230         * cppmain.c (scan_translation_unit): Don't worry about
11231         putting a space after hashes.
11232         * cpplib.c (directive_diagnostics): New.
11233         (_cpp_handle_directive): Update to use directive_diagnostics.
11234         (run_directive): Don't toggle prevent_expansion.
11235         (do_line): Backup in case of the line extension.
11236         * cpplib.h (cpp_lexer_pos): Remove.
11237         * cppmacro.c (_cpp_create_definition): Precede a leading #
11238         with whitespace.
11239
11240 2001-09-15  Richard Henderson  <rth@redhat.com>
11241
11242         * c-typeck.c (comptypes): Handle zero-length arrays properly.
11243
11244 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11245
11246         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
11247
11248 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11249
11250         PR preprocessor/3571
11251         * tradcpp.c (handle_directive): Skip non-vertical space.
11252
11253 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11254
11255         * cppmain.c (setup_callbacks): Set line callback only
11256         if outputting preprocessed source.
11257
11258 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11259
11260         * collect2.c (main): Const-ification.
11261         * gcc.c (translate_options, process_command): Use xstrdup in
11262         lieu of xmalloc/strcpy.
11263         (main): Use concat in lieu of xmalloc/strcpy/strcat.
11264
11265 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11266
11267         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
11268         example.
11269
11270 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11271
11272         * scan-decls.c (scan_decls): Fix typo.
11273
11274 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11275
11276         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
11277         Split mlstring_pos into mls_line and mls_col.
11278         * cppinit.c (cpp_create_reader): Initialize line to 1.
11279         (cpp_destroy): Free tokenruns.
11280         (push_include): Don't update lexer_pos.
11281         * cpplex.c (unterminated, parse_string): Update.
11282         (lex_token): Don't update lexer_pos, update.
11283         * cpplib.c (if_stack): Save line instead of line + col.
11284         (start_directive, _cpp_do__Pragma, do_else, do_elif,
11285         push_conditional, _cpp_pop_buffer): Update.
11286         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
11287         (_cpp_create_definition): Update.
11288
11289 2001-09-15  Eric Christopher  <echristo@redhat.com>
11290
11291         * config/mips/abi64.h: Add support for MEABI.
11292
11293 2001-09-15  Eric Christopher  <echristo@redhat.com>
11294
11295         * config/mips/mips.md: Add unspec #2.
11296         (reload_indi): Use.
11297         (reload_outdi): Ditto.
11298         (reload_outsi): Ditto.
11299         (HILO_delay): New.
11300
11301 2001-09-15  Eric Christopher  <echristo@redhat.com>
11302             Jason Eckhardt  <jle@redhat.com>
11303
11304         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
11305         * config/mips/isa32-linux.h: New file.
11306         * config/mips/isa3264.h: Ditto.
11307         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
11308         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
11309         (output_block_mode): Support MEABI.
11310         (function_arg): Ditto. Fix floating point arg passing.
11311         (mips_va_start): Ditto.
11312         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
11313         processors.
11314         (mips_asm_file_start): Add new section to pass abi to gdb.
11315         (function_arg_pass_by_reference): Support MEABI.
11316         (mips_parse_cpu): Support mips32 and mips64 processors.
11317         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
11318         TARGET_MIPS5KC.  Support isa32 and isa64.
11319         (processor_type): Add r4kc, r5kc, r20kc.
11320         (GENERATE_MULT3_SI): New.
11321         (GENERATE_MULT3_DI): Ditto.
11322         (GENERATE_MULT3): Remove.
11323         (ISA_HAS_64BIT_REGS): Add isa == 64.
11324         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
11325         (ISA_HAS_MADD_MSUB): New.
11326         (ISA_HAS_CLZ_CLO): Ditto.
11327         (ISA_HAS_DCLZ_DCLO): Ditto.
11328         (ABI_GAS_ASM_SPEC): New.
11329         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
11330         (ASM_SPEC): Ditto.
11331         (LINK_SPEC): Ditto.
11332         (SUBTARGET_CC1_SPEC): Ditto.
11333         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
11334         (PAD_VARARGS_DOWN): Support MEABI.
11335         (HARD_REGNO_NREGS): Move to mips.c.
11336         (ASM_OUTPUT_IDENT): Add #undef.
11337         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
11338         (mulsi3): Use GENERATE_MULT3_SI.
11339         (mulsi3_mult3): Ditto.  Support mips32, mips64.
11340         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
11341         (mul_sub_si): New pattern.
11342         (unnamed splitters): New.
11343         (muldi3): Use GENERATE_MULT3_DI.
11344         (muldi3_internal2): Ditto.
11345         (movdicc): Support mips32.
11346         * config/mips/t-isa3264: New file.
11347
11348 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
11349
11350         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
11351         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
11352         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
11353
11354         * reorg.c (fill_slots_from_thread): After call to
11355         steal_delay_list_from_target, update own_thread as new_thread may
11356         have branched.
11357
11358 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11359
11360         * cpperror.c (print_location): Take line and column, for
11361         default positioning use the previously lexed token.
11362         (_cpp_begin_message): Take line and column.
11363         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
11364         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
11365         * cpphash.h (_cpp_begin_message): Update prototype.
11366         * cppinit.c (push_include): Don't set output line.
11367         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
11368         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
11369         (do_pragma): Kludge for front ends.  Don't expand macros at all.
11370         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
11371         (struct cpp_token): Remove output_line.
11372         (struct cpp_callbacks): New member line_change.
11373         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
11374         cpp_get_token): Preserve BOL flag.
11375         (cpp_get_line): Remove.
11376         (_cpp_backup_tokens): Remove useless abort().
11377         * cppmain.c (cb_line_change): New.
11378         (scan_translation_unit): Don't worry about starting new lines here.
11379         * scan-decls.c (scan_decls): Update.
11380         * c-lex.c (c_lex, init_c_lex): Update.
11381         (cb_line_change, src_lineno): New.
11382
11383 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
11384
11385         * tree.c (append_random_chars): Generate the random
11386         characters in a reproducable fashion.
11387
11388 2001-09-14  Richard Henderson  <rth@redhat.com>
11389
11390         * config/i386/i386.c (internal_label_prefix): New.
11391         (internal_label_prefix_len): New.
11392         (override_options): Set them.
11393         (local_symbolic_operand): New.
11394         (legitimate_pic_address_disp_p): Use it.
11395         (legitimize_pic_address): Likewise.
11396
11397 2001-09-14  Marc Espie <espie@openbsd.org>
11398
11399         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
11400         correctly.
11401
11402 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11403
11404         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
11405         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
11406
11407 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
11408
11409         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
11410         invocation of SUBREG_REGNO_OFFSET.
11411
11412         * haifa-sched.c: Fix typo in FSF copyright statement.
11413         * sched-deps.c: Fix typo in FSF copyright statement.
11414         * sched-ebb.c: Fix typo in FSF copyright statement.
11415         * sched-rgn.c: Fix typo in FSF copyright statement.
11416         * sched-vis.c: Fix typo in FSF copyright statement.
11417
11418         * config.gcc: Move inclusion of arm elf specific header files
11419         from the files themselves into the tm_file variable.  Make
11420         sure that elfos.h is included before target specific elf
11421         headers.
11422         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
11423         already defined.
11424         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
11425         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
11426         ASM_OUTPUT_CASE_LABEL): Protect definition.
11427         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
11428         not already defined.
11429         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
11430         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
11431         Remove duplicate definition.
11432         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
11433         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
11434         (RDATA_SECTION_FUNCTION): Remove redundant definition.
11435         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
11436         Remove inclusion of arm/elf.h.
11437         * config/arm/unknown-elf.h: as for conix-elf.h.
11438         (STARTFILE_SPEC): Include crti.o and crtn.o.
11439         * config/arm/linux-elf.h: as for conix-elf.h.
11440         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
11441         * config/arm/strongarm-elf.h: Remove inclusion of
11442         unknown-elf.h.
11443         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
11444         * config/arm/unknown-elf-oabi.h: Remove inclusion of
11445         unknown-elf.h and elf.h.
11446         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
11447         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
11448         ASM_WEAKEN_LABEL): Remove redundant definition.
11449         * config/arm/elf.h: Test for inclusion of elfos.h
11450         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
11451         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
11452         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
11453         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
11454         redundant definition.
11455         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
11456         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
11457         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
11458         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
11459         Add rules to build crti.o and crtn.o
11460         * crti.asm: New file.
11461         * crtn.asm: New file.
11462
11463 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11464
11465         * c-parse.in (_yylex): Use _cpp_backup_tokens.
11466         * cpphash.h (struct tokenrun): Add prev.
11467         (struct lexer_state): Remove bol.
11468         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
11469         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
11470         : Remove.
11471         * cppinit.c (cpp_create_reader): Don't set bol.
11472         (cpp_destroy): Don't free lookaheads.
11473         * cpplex.c (lex_directive): Remove.
11474         (next_tokenrun): Update.
11475         (_cpp_lex_token): Clean up logic.
11476         (lex_token): Update to return a pointer to lexed token, since it
11477         can move to the start of the buffer.  Simpify newline handling.
11478         * cpplib.c (SEEN_EOL): Update.
11479         (skip_rest_of_line): Remove lookahead stuff.
11480         (end_directive): Line numbers are already incremented.  Revert
11481         to start of lexed token buffer if we can.
11482         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
11483         parse_answer): Use _cpp_backup_tokens.
11484         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
11485         instead.  Don't check for EOL.
11486         (do_include_common, do_line, do_pragma_system_header): Use
11487         skip_rest_of_line.
11488         * cpplib.h (BOL, _cpp_backup_tokens): New.
11489         * cppmacro.c (save_lookahead_token, take_lookahead_token,
11490         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
11491         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
11492         (builtin_macro): Don't use cpp_get_line.
11493         (cpp_get_line): Short term kludge.
11494         (parse_arg): Handle directives in arguments here.  Back up when
11495         appropriate.  Store EOF at end of argument list.
11496         (funlike_invocation_p): Use _cpp_backup_tokens.
11497         (push_arg_context): Account for EOF at end of list.
11498         (cpp_get_token): Remove lookahead stuff.  Update.
11499
11500 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11501
11502         * c-parse.in (yyerror): Const-ification and/or static-ization.
11503         * c-typeck.c (push_member_name): Likewise.
11504         * collect2.c (main): Likewise.
11505         * dbxout.c (dbxout_parms): Likewise.
11506         * diagnostic.c (format_with_decl): Likewise.
11507         * dwarf2out.c (output_ranges): Likewise.
11508         * dwarfout.c (fundamental_type_code): Likewise.
11509         * except.c (dw2_output_call_site_table): Likewise.
11510         * gcc.c (do_spec_1): Likewise.
11511         * genopinit.c (optabs): Likewise.
11512         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
11513         gen_declaration_1, handle_impent): Likewise.
11514         * protoize.c (default_include, in_system_include_dir, abspath):
11515         Likewise.
11516         * sched-vis.c (visualize_stall_cycles): Likewise.
11517         * sdbout.c (plain_type_1, sdbout_end_function,
11518         sdbout_end_epilogue): Likewise.
11519         * varasm.c (decode_reg_name): Likewise.
11520
11521         * 1750a.c (mod_regno_adjust): Likewise.
11522         * alpha.c (alpha_write_one_linkage,
11523         unicosmk_output_default_externs): Likewise.
11524         * arm.c (arm_condition_codes): Likewise.
11525         * arm.h (arm_condition_codes): Likewise.
11526         * avr.c (output_movsisf, encode_section_info): Likewise.
11527         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
11528         Likewise.
11529         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11530         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11531         * m88k.c (output_function_profiler): Likewise.
11532         * mips.c (mips_output_conditional_branch): Likewise.
11533         * ns32k.c (ns32k_out_reg_names): Likewise.
11534         * ns32k.h (ns32k_out_reg_names): Likewise.
11535         * pj.c (pj_output_rval): Likewise.
11536         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
11537         * sparc.c (sparc_flat_function_prologue,
11538         sparc_flat_function_epilogue): Likewise.
11539
11540 2001-09-13  Markus Werle <numerical.simulation@web.de>
11541             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11542
11543         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
11544         Aachen University of Technology".
11545
11546 2001-09-13  Andreas Schwab  <schwab@suse.de>
11547
11548         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
11549         C99.
11550
11551 2001-09-13  Richard Henderson  <rth@redhat.com>
11552
11553         * config/alpha/alpha.c (small_symbolic_operand): New.
11554         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
11555         (some_operand, input_operand): Don't handle HIGH.
11556         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
11557         (alpha_expand_mov): Likewise.
11558         (print_operand) [H]: Just print HIGH symbol.
11559         (print_operand_address): Handle small data.
11560         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
11561         (TARGET_SWITCHES): Add -msmall-data/large-data.
11562         (PIC_OFFSET_TABLE_REGNUM): New.
11563         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
11564         (PREDICATE_COES): Update.
11565         * config/alpha/alpha.md (adddi_er_high): New.
11566         (adddi_er_low): Handle small data.
11567         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
11568         prefer .sdata to .rodata.
11569         (SELECT_RTX_SECTION): Likewise.
11570
11571 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
11572
11573         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
11574         defining __size_t and leaving size_t undefined.
11575
11576 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
11577
11578         * basic-block.h (expunge_block): Declare.
11579         * cfg.c (expunge_block): Remove static declaration.
11580
11581 2001-09-12  Richard Henderson  <rth@redhat.com>
11582
11583         * integrate.c (copy_insn_list): Copy label name from
11584         NOTE_INSN_DELETED_LABEL.
11585
11586 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11587
11588         * c-common.c (c_tree_code_name): Const-ification.
11589         * c-decl.c (c_decode_option): Likewise.
11590         * c-typeck.c (warn_for_assignment): Likewise.
11591         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
11592         Likewise.
11593         * cppinit.c (output_deps): Likewise.
11594         * dependence.c (dependence_string, direction_string): Likewise.
11595         * dwarf2out.c (output_ranges): Likewise.
11596         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
11597         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
11598         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
11599         standard_startfile_prefix, standard_startfile_prefix_1,
11600         standard_startfile_prefix_2, tooldir_base_prefix,
11601         standard_bindir_prefix, find_a_file): Likewise.
11602         * genattrtab.c (make_length_attrs): Likewise.
11603         * gencheck.c (tree_codes): Likewise.
11604         * genemit.c (gen_split): Likewise.
11605         * genrecog.c (special_mode_pred_table): Likewise.
11606         * graph.c (graph_ext): Likewise.
11607         * protoize (default_include): Likewise.
11608         * reload.c (reload_when_needed_name): Likewise.
11609         * sched-vis.c (visualize_stall_cycles): Likewise.
11610         * tlink.c (recompile_files): Likewise.
11611         * toplev.c (decode_g_option): Likewise.
11612         * tradcpp.c (output_deps): Likewise.
11613         * varasm.c (decode_reg_name): Likewise.
11614
11615         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
11616         Const-ification.
11617         * arm.md: Likewise.
11618         * avr.c (avr_regnames, encode_section_info): Likewise.
11619         * c4x.c (float_reg_names): Likewise.
11620         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
11621         * elfos.h (const_section): Likewise.
11622         * i386.c (ix86_comp_type_attributes): Likewise.
11623         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
11624         * ia64/aix.h (UNIQUE_SECTION): Likewise.
11625         * ia64.c (type_names): Likewise.
11626         * m68hc11.c (reg_class_names): Likewise.
11627         * m88k.c (m_options): Likewise.
11628         * mips.c (mips_output_conditional_branch, mips_unique_section):
11629         Likewise.
11630         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
11631         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
11632         ultra_code_names): Likewise.
11633         * sparc.h (OVERRIDE_OPTIONS): Likewise.
11634
11635 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
11636
11637         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
11638         Use --fatal-warnings option for gas.
11639         * configure: Rebuilt.
11640
11641 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11642
11643         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
11644
11645 2001-09-11  Jim Wilson  <wilson@redhat.com>
11646
11647         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
11648
11649 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11650
11651         * builtins.c (c_strlen): Treat an offset too large for a
11652         HOST_WIDE_INT as out of range.
11653
11654 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
11655
11656         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
11657         (EDGE_CRITICAL_P): New predicate.
11658         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
11659         handling.
11660         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
11661         (dump_edge_info): Remove "crit".
11662         * cfganal.c (mark_critical_edges): Kill.
11663         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
11664         * cfgcleanup.c (cleanup_cfg): Likewise.
11665         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
11666         (find_spanning_tree): Likewise.
11667         * reg-stack.c (convert_regs_1): Likewise.
11668         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
11669
11670         * basic-block.h (create_basic_block_structure): New.
11671         (create_basic_block): Update prototype.
11672         (force_nonfallthru): New.
11673         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
11674         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
11675         handle updating of block_for_insn, creating of empty BBs and BBs at
11676         the end of INSN chain.
11677         (create_basic_block): New function.
11678         (split_block): Use create_basic_block.
11679         (force_nonfallthru_and_redirect): Break out from ...; cleanup
11680         (redirect_edge_and_branch_force): ... here.
11681         (force_nonfallthru): New.
11682         (split_edge): Rewrite to use force_nonfallthru and create_block.
11683         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
11684         (find_basic_blocks): Free basic_block_for_insn.
11685         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
11686
11687         * cfg.c: Fix formating.
11688         * cfgcleanup.c: Fix formating.
11689         (merge_blocks, tail_recursion_label_p): Return bool.
11690         (merge_blocks_move_predecessor_nojumps,
11691          merge_blocks_move_successor_nojumps): Return void.
11692
11693 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
11694
11695         * configure.in: Check whether assembler supports section merging.
11696         * config.in: Rebuilt.
11697         * configure: Rebuilt.
11698         * varasm.c (variable_section, output_constant_pool): Pass alignment
11699         to SELECT_SECTION and SELECT_RTX_SECTION.
11700         (mergeable_string_section): New.
11701         (mergeable_constant_section): New.
11702         (default_elf_asm_named_section): Output SECTION_MERGE and
11703         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11704         * output.h (mergeable_string_section): New.
11705         (mergeable_constant_section): New.
11706         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
11707         * toplev.c (flag_merge_constants): New.
11708         (f_options): Add -fmerge-constants and -fmerge-all-constants
11709         options.
11710         (toplev_main): Default to -fno-merge-constants if not optimizing.
11711         * flags.h (flag_merge_constants): Add extern.
11712         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
11713         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
11714         argument.
11715         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
11716         Define if assembler has working .subsection -1 support.
11717         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
11718         Put constant into special SHF_MERGE sections if the linker should
11719         attempt to merge duplicates.
11720         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
11721         macro argument.
11722         Put constant into special SHF_MERGE sections if the linker should
11723         attempt to merge duplicates.
11724         * config/alpha/elf.h: Likewise.
11725         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
11726         has working .subsection -1 support.
11727         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
11728         SELECT_SECTION.
11729         * config/svr3.h: Likewise.
11730         * config/darwin.h: Likewise.
11731         * config/arm/aof.h: Likewise.
11732         * config/arm/linux-elf.h: Likewise.
11733         * config/avr/avr.h: Likewise.
11734         * config/c4x/c4x.h: Likewise.
11735         * config/d30v/d30v.h: Likewise.
11736         * config/i386/dgux.h: Likewise.
11737         * config/i386/osfrose.h: Likewise.
11738         * config/i386/sco5.h: Likewise.
11739         * config/i386/svr3gas.h: Likewise.
11740         * config/ia64/aix.h: Likewise.
11741         * config/m32r/m32r.h: Likewise.
11742         * config/m68k/m68k.h: Likewise.
11743         * config/m88k/dgux.h: Likewise.
11744         * config/m88k/m88k.h: Likewise.
11745         * config/mcore/mcore-pe.h: Likewise.
11746         * config/mips/mips.h: Likewise.
11747         * config/pa/pa.h: Likewise.
11748         * config/pa/pa-linux.h: Likewise.
11749         * config/romp/romp.h: Likewise.
11750         * config/rs6000/sysv4.h: Likewise.
11751         * config/rs6000/xcoff.h: Likewise.
11752         * config/s390/linux.h: Likewise.
11753         * config/sparc/sparc.h: Likewise.
11754         * config/sparc/sysv4.h: Likewise.
11755         * config/stormy16/stormy16.h: Likewise.
11756         * config/v850/v850.h: Likewise.
11757         * config/vax/vms.h: Likewise.
11758         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
11759         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11760         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
11761         default_elf_asm_named_section for SHF_MERGE sections.
11762
11763 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11764
11765         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
11766         is OK.
11767
11768 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
11769
11770         * c-common.c (split_specs_attrs): Allow for empty attributes with
11771         empty TREE_PURPOSE.  Fixes PR c/4294.
11772
11773 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
11774
11775         * basic-block.h (cached_make_edge, make_single_succ): New.
11776         (make_edge): Remove first parameter.
11777         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
11778         * cfg.c (cached_make_edge): Rename from make_edge; return newly
11779         created edge; use obstack allocation.
11780         (make_edge, make_single_succ_edge): New.
11781         (first_removed_edge): New static variable.
11782         (init_flow): Initialize first_removed_edge and n_edges.
11783         (clear_edges): Use remove_edge.
11784         (flow_delete_block): Likewise.
11785         (remove_edge): Add removed edges to the removed edges list.
11786         (split_block, redirect_edge_and_branch_force, split_edge):
11787         Use make_edge.
11788         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
11789         (add_noreturn_fake_exit_edges): Likewise.
11790         (connect_infinite_loops_to_exit): Liekwise.
11791         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
11792         Use cached_make_edge.
11793         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
11794         * profile.c (branch_prob): Update make_edge call.
11795         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11796
11797 2001-09-11  Richard Henderson  <rth@redhat.com>
11798
11799         * config/alpha/alpha.c: Tidy formatting.
11800         (local_symbolic_operand): Verify mode.
11801         (alpha_sa_mask): Ignore unicos for eh_return.
11802         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
11803         * config/alpha/alpha.md (umk divsi patterns): Remove.
11804         (extendsfdf2): Remove unicos check.
11805         (tablejump): Merge vms and unicos code; always use direct set
11806         plus label_ref use.
11807
11808 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11809
11810         * config.gcc (alpha*-*-unicosmk*): New target.
11811
11812         * config/alpha/alpha-protos.h (symbolic_operand,
11813         unicosmk_add_call_info_word, unicosmk_add_extern,
11814         unicosmk_defer_case_vector, unicosmk_unique_section,
11815         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
11816         unicosmk_asm_file_start, unicosmk_asm_file_end,
11817         unicosmk_output_common): Declare.
11818
11819         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
11820         direct_return, function_arg, alpha_va_start, alpha_va_arg,
11821         alpha_does_function_need_gp, alpha_end_function): Support Cray
11822         Unicos/Mk.
11823         (alpha_init_machine_status, alpha_mark_machine_status,
11824         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
11825         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
11826         unicosmk_asm_named_section, unicosmk_insert_attributes,
11827         unicosmk_section_type_flags, symbolic_operand,
11828         unicosmk_output_module_name, unicosmk_output_default_externs,
11829         unicosmk_output_dex, unicosmk_output_externs,
11830         unicosmk_output_addr_vec, unicosmk_ssib_name,
11831         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
11832         unicosmk_asm_file_end, unicosmk_output_common,
11833         unicosmk_section_type_flags, unicosmk_unique_section,
11834         unicosmk_add_call_info_word, unicosmk_text_section,
11835         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
11836         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
11837         unicosmk_dex_count, unicosmk_special_name): New.
11838         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
11839         TARGET_ABI_UNICOSMK.
11840         (get_aligned_mem, alpha_expand_unaligned_load,
11841         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
11842         alpha_expand_unaligned_store_words): Support big-endian mode.
11843         (print_operand): Likewise. New format specifier 't'. Use
11844         TARGET_AS_SLASH_BEFORE_SUFFIX.
11845         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
11846         (alpha_pv_save_size): Update with above change.
11847         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
11848         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
11849         Unicos/Mk.
11850
11851         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
11852         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
11853         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
11854         (EXTRA_CONSTRAINT): New constraint 'U'.
11855         (PREDICATE_CODES): Add symbolic_operand.
11856
11857         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
11858         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
11859         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
11860         (integer division and modulus patterns): Split in default and
11861         Unicos/Mk versions.
11862         (*divmodsi_internal, *divmoddi_internal): Disable for
11863         TARGET_ABI_UNICOSMK.
11864         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
11865         little-endian and big-endian versions.
11866         (ext, ins, msk): Likewise.
11867         (extv, extzv, insv): Support big-endian mode.
11868         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
11869         (call_umk, call_value_umk, *call_umk, tablejump_umk,
11870         *tablejump_umk_internal, *call_value_umk): New.
11871         (*movdi_nofix): Add pattern for loading an address into a register on
11872         TARGET_ABI_UNICOSMK.
11873         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
11874         (umk_mismatch_args, arg_home_umk): New.
11875         (various insns): Don't use mov, fmov, nop, fnop and unop.
11876         (realign): Support TARGET_ABI_UNICOSMK.
11877
11878         * config/alpha/unicosmk.h: New file.
11879         * config/alpha/t-unicosmk: New file.
11880
11881         * fixinc/inclhack.def (unicosmk_restrict): New.
11882         * fixinc/fixincl.x: Regenerate.
11883
11884         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
11885         (wchar_t): Check for and define __WCHAR_T__.
11886
11887 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
11888
11889         * combine.c (simplify_shift_const): Treat shifts by the mode
11890         size as undefined.
11891
11892 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11893
11894         * cpphash.h (struct tokenrun): New.
11895         (struct cpp_context): New member bol.
11896         (struct cpp_reader): New members.
11897         (_cpp_init_tokenrun): New.
11898         * cppinit.c (cpp_create_reader): Set up the token runs.
11899         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
11900         (lex_token): New internalised version of _cpp_lex_token.  Don't
11901         handle directives or the multiple include optimization here any
11902         more.  Simply lex a token.
11903         * cpplib.c (run_directive): Clear bol.
11904         (_cpp_pop_buffer): Set bol.
11905         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
11906         arguments.
11907
11908 2001-09-11  Michael Meissner  <meissner@redhat.com>
11909
11910         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
11911         give an error if the user uses -mfp32.
11912         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
11913         default options.
11914         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
11915         floating point register size.
11916         (EXTRA_SPECS): Add CPP_FPR_SPEC.
11917
11918         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
11919         HOST_WIDE_INT_PRINT_DEC to properly print the result of
11920         int_size_in_bytes.
11921         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11922         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11923
11924 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
11925
11926         * dbxout.c (dbxout_parms): Fix typo in comment.
11927         * unroll.c (loop_find_equiv_value): Ditto.
11928         * toplev.c (rest_of_compilation): Ditto.
11929         * loop.c (scan_loop): Ditto.
11930         * dwarf2out.c (struct dw_fde_struct): Ditto.
11931
11932 2001-09-10  Zack Weinberg  <zackw@panix.com>
11933
11934         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
11935         copying identifier when we're just going to throw it away.
11936         (parse_identifier_slow): New routine to handle abnormal cases.
11937         (_cpp_lex_token): Update call site.
11938
11939         * hashtable.c (ht_lookup): Don't assume that the string we've
11940         been given is NUL-terminated.
11941         * system.h: #define __builtin_expect(a, b) to (a) if not
11942         GCC >=3.0.
11943
11944 2001-09-10  Michael Meissner  <meissner@redhat.com>
11945
11946         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
11947         binutils, gdb.
11948
11949 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
11950
11951         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
11952
11953 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11954
11955         * builtins.c (c_getstr): Correct thinko in last change and further
11956         cleanup.
11957
11958 2001-09-10  Tim Freeman <tim@fungibole.com>
11959
11960         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
11961         into varray's and register them as roots with the garbage
11962         collector so they are not collected too soon.
11963
11964 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
11965
11966         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
11967         New.
11968         * basic-block.h (flow_obstack, label_value_list,
11969         tail_recursion_label_list): Declare
11970         (tidy_fallthru_edges): Declare.
11971         (expunge_block, last_loop_beg_note): Delete.
11972         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
11973         * cfg.c: New file
11974         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
11975         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
11976         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
11977         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
11978         expunge_block, flow_delete_block, compute_bb_for_insn,
11979         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
11980         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
11981         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
11982         try_redirect_by_replacing_jump, last_loop_beg_note,
11983         redirect_edge_and_branch, redirect_edge_and_branch_force,
11984         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
11985         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
11986         commit_edge_insertions, dump_flow_info, debug_flow_info,
11987         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
11988         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
11989         Move here from flow.c
11990         * cfganal.c: New file.
11991         (forwarder_block_p, can_fallthru, mark_critical_edges,
11992          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
11993          find_unreachable_blocks, create_edge_list, free_edge_list,
11994          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
11995          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
11996          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
11997          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
11998          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
11999          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
12000         Move here from flow.c
12001         * cfgbuild.c: New file
12002         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
12003          make_edges, find_basic_blocks_1, find_basic_blocks,
12004          find_sub_basic_blocks): Move here from flow.c
12005         * cfgcleanup.c: New file.
12006         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
12007          merge_blocks_move_predecessor_nojumps,
12008          merge_blocks_move_successor_nojumps, merge_blocks,
12009          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
12010          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
12011         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
12012         if succeeded.
12013         * cfgloop.c: New file
12014         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
12015          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
12016          flow_loop_exit_edges_find, flow_loop_nodes_find,
12017          flow_loop_pre_header_scan, flow_loop_pre_header_find,
12018          flow_loop_tree_node_add, flow_loops_tree_build,
12019          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
12020          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
12021         Move here from flow.c
12022         * flow.c: Remove everything moved elsewhere
12023         * output.h (cleanup_cfg): Return bool.
12024
12025         * bb-reorder.c (reorder_block_def): Remove 'index'.
12026         (insert_intra_1): Add argument BB, set block for new note.
12027         (make_reorder_chain): Do not depdent on BB indexes.
12028         (make_reorder_chain_1): Do not use BB indexes.
12029         (label_for_bb): Likewise; set BB for new insn.
12030         (emit_jump_to_block_after): Likewise.
12031         (fixup_reorder_chain): Sanity check that all basic blocks
12032         are chained; verify newly created insn chain; remove
12033         undocnitional jump simplifying; Do not use BB indexes;
12034         properly initialize count and frequency information;
12035         dump reordered sequence.
12036         (insert_intra_bb_scope_notes): update call of insert_intra_1.
12037         (insert_inter_bb_scope_notes): Set block for new insn.
12038         (reorder_basic_blocks): Dump flow info before reoredering.
12039
12040 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12041
12042         * alias.c (clear_reg_alias_info): Use K&R format definition.
12043         Avoid unsigned warning.
12044         * builtins.c: Use "unsigned int", not "unsigned".
12045         (target_char_cast): Use host_integerp and tree_low_cst.
12046         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
12047         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
12048         (c_getstr): Likewise.
12049         (std_expand_builtin_va_arg): Use int_size_in_bytes.
12050         (builtin_memcpy_read_str): Avoid unsigned warning.
12051         (expand_builtin_memcpy): Alignments are unsigned.
12052         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
12053         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
12054         * predict.c (expensive_function_p): LIMIT now unsigned.
12055         * resource.c (mark_target_live_regs): Make some vars unsigned.
12056         * sdbout.c: Use "unsigned int", not "unsigned".
12057         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
12058         (sdbout_source_line): Likewise.
12059         (sdbout_record_type_name): Remove "const" for NAME declaration.
12060         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
12061
12062 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
12063
12064         * calls.c (store_one_arg): Expand comment.
12065
12066 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12067
12068         * calls.c (store_one_arg): Make sure that the entire argument is
12069         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
12070
12071 2001-09-09  Richard Henderson  <rth@redhat.com>
12072
12073         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
12074
12075 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
12076
12077         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
12078
12079 2001-09-09  Richard Henderson  <rth@redhat.com>
12080
12081         * config/alpha/alpha.c (alpha_next_sequence_number): New.
12082         (alpha_this_literal_sequence_number): New.
12083         (alpha_this_gpdisp_sequence_number): New.
12084         (some_operand, input_operand): Add HIGH.
12085         (local_symbolic_operand): New.
12086         (alpha_encode_section_info): New.
12087         (alpha_legitimate_address_p): Allow LO_SUM.
12088         (alpha_legitimize_address): Generate HIGH+LO_SUM.
12089         (alpha_expand_mov): Likewise.
12090         (secondary_reload_class): Check memory_operand not general_operand
12091         for FP_REGS test.
12092         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
12093         (alpha_expand_unaligned_store): Likewise.
12094         (alpha_expand_unaligned_load_words): Likewise.
12095         (alpha_expand_unaligned_store_words): Likewise.
12096         (alpha_expand_block_clear): Likewise.
12097         (print_operand): Handle %#, %*, %H.
12098         (print_operand_address): Handle LO_SUM.
12099         (find_lo_sum): New.
12100         (alpha_does_function_need_gp): Use it.
12101         (alpha_expand_block_move): Fix signed compare warnings.
12102         (alpha_sa_mask, alpha_align_insns): Likewise.
12103         * config/alpha/alpha-protos.h: Update.
12104         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
12105         (MASK_EXPLICIT_RELOCS): New.
12106         (TARGET_SWITCHES): Add -mexplicit-relocs.
12107         (EXTRA_CONSTRAINT): Add 'T'.
12108         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
12109         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
12110         (ENCODE_SECTION_INFO): Out line.
12111         (REDO_SECTION_INFO_P): New.
12112         (STRIP_NAME_ENCODING): New.
12113         (ASM_OUTPUT_LABELREF): New.
12114         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
12115         (PREDICATE_CODES): Update.
12116         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
12117         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
12118         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
12119         builtin_setjmp_receiver_er, exception_receiver_1_er,
12120         call_value_osf_1_er): New patterns.
12121         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
12122         (movqi, movhi, movsi): Add explicit $31 base register to lda.
12123         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
12124         (FINAL_PRESCAN_INSN): New.
12125
12126 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
12127
12128         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
12129
12130 2001-09-08  Andreas Jaeger  <aj@suse.de>
12131
12132         * i386.h (TARGET_SWITCHES): Fix description.
12133
12134 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
12135
12136         * rs6000.c (num_insns_constant): Compute number of instructions
12137         more accurately.
12138
12139         * doc/install.texi: Explain AIX exception handling work-around.
12140         Update URL for AIX fixes.
12141
12142 2001-09-07  Jim Wilson  <wilson@redhat.com>
12143
12144         * alias.c (clear_reg_alias_info): New.
12145         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
12146         * rtl.h (clear_reg_alias_info): Declare.
12147
12148 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12149
12150         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
12151         available.
12152         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
12153         (m16m,edivm,emulm): Change declaration to match definition.
12154
12155 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
12156
12157         * reload.c (push_reload): Check for subreg_lowpart_p instead of
12158         SUBREG_BYTE being 0 when determining if the inner part of a subreg
12159         can be reloaded.
12160
12161 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12162
12163         * c-common.c (signed_or_unsigned_type): Handle machine mode types
12164         which have no corresponding C type.
12165         * fold_const.c (target_isinf,target_isnan,target_negative): Update
12166         the representation of 64-bit doubles to work with 64-bit ints.
12167
12168 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
12169
12170         * config/mips/mips.c (override_options): Do not override ISA when ABI
12171         specified if MIPS_CPU_STRING_DEFAULT was specified.
12172
12173 2001-09-07  Richard Henderson  <rth@redhat.com>
12174
12175         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
12176         (express_from_1): Wrap lines.
12177         * rtlanal.c (commutative_operand_precedence): Rename from
12178         operand_preference; export.
12179         * rtl.h: Declare it.
12180         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
12181         (simplify_binary_operation): Invoke simplify_plus_minus on
12182         (CONST (PLUS ...)) as well.
12183         (struct simplify_plus_minus_op_data): New.
12184         (simplify_plus_minus_op_data_cmp): New.
12185         (simplify_plus_minus): Use them.  Avoid infinite recursion with
12186         simplify_binary_operation wrt CONST.
12187
12188 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
12189
12190         * h8300-protos.h (general_operand_dst_push): Remove.
12191         * h8300.c (general_operand_dst_push): Likewise.
12192         * h8300.h (OK_FOR_T): Likewise.
12193         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
12194         * h8300.md (pushqi_h8300): New.
12195         (pushqi_h8300hs): Likewise.
12196         (pushqi): Likewise.
12197         (pushhi_h8300): Likewise.
12198         (pushhi_h8300hs): Likewise.
12199         (pushhi): Likewise.
12200
12201 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12202
12203         * genattrtab.c (attr_printf): First arg is unsigned.
12204         Clean up formatting of callers.
12205
12206 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
12207
12208         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
12209         registers.
12210
12211 2001-09-07  Andreas Jaeger  <aj@suse.de>
12212
12213         * i386.h (TARGET_SWITCHES): Fix descriptions.
12214
12215 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12216
12217         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
12218
12219 2001-09-06  Ira Ruben  <ira@apple.com>
12220
12221         Remove OP_IDENTIFIER.
12222         * tree.def (OP_IDENTIFIER): Remove.
12223         * tree.c (tree_node_kind enum): Remove op_id_kind.
12224         (tree_node_kind_names): Remove "op_identifiers".
12225         (make_node): Remove OP_IDENTIFIER test.
12226         (build_op_identifier): Removed because it isn't being used.
12227         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
12228         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
12229
12230 2001-09-06  Richard Henderson  <rth@redhat.com>
12231
12232         * simplify-rtx.c (simplify_binary_operation): Revert last change.
12233
12234 2001-09-06  Richard Henderson  <rth@redhat.com>
12235
12236         * simplify-rtx.c (simplify_binary_operation): Simplify contents
12237         of CONST.
12238
12239 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12240
12241         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
12242         number used for CR register.
12243
12244 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
12245                           Joern Rennecke (amylaar@cygnus.com)
12246
12247         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
12248         * h8300.c (initial_offset): Handle offset between RP and FP.
12249         (h8300_return_addr_rtx): New function.
12250         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
12251         return register.
12252         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
12253         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
12254         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
12255         (CAN_ELIMINATE, REGISTER_NAMES):
12256         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
12257
12258 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
12259
12260         Remove TYPE_NONCOPIED_PARTS.
12261         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
12262         (struct tree_type): Remove noncopied_parts.
12263         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
12264         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
12265         (fixed_type_p): Remove.
12266         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
12267         (expand_expr, MODIFY_EXPR): Likewise.
12268         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
12269         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
12270
12271 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
12272
12273         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
12274         compiler warnings.
12275         (mask64_operand): Likewise.
12276         (includes_rldic_lshift_p): Likewise.
12277         (includes_rldicr_lshift_p): Likewise.
12278
12279 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
12280
12281         * objc/objc-act.c (build_message_expr): If a class method cannot
12282         be found, do not issue a warning if a corresponding instance
12283         method exists in the root class.
12284
12285 2001-09-05  Richard Henderson  <rth@redhat.com>
12286
12287         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
12288
12289 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
12290
12291         * function.c (ggc_mark_struct_function): Mark f->outer.
12292         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
12293         * integrate.c (output_inline_function): ... not here.
12294
12295 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
12296
12297         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
12298
12299         * i386.c (size_cost): New static variable.
12300         (override_function): Use size_cost when -Os is specified.
12301
12302         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
12303         properly;  Use current_function_calls_eh_return.
12304         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
12305         use leave to avoid dependency chain.
12306
12307         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
12308         get BB loop_depth instead of computing it from LOOP notes.
12309
12310         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
12311
12312 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12313
12314         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12315         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
12316         UNALIGNED_DOUBLE_INT_ASM_OP): Define
12317
12318 2001-09-05  Jeffrey A Law  (law@cygnus.com)
12319             Jason Merrill (jason@redhat.com)
12320
12321         * stor-layout.c (layout_type): Complain if an array's size can
12322         not be represented in a size_t.
12323
12324         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
12325
12326 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
12327
12328         * gcc.c: (process_command) Add parentheses around assignment
12329         used as truth value.
12330
12331 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
12332
12333         * config/mips/mips.c (save_restore_insns): Don't mark any register
12334         save slots as unchanging if current_function_calls_eh_return.
12335
12336 2001-09-05  Richard Henderson  <rth@redhat.com>
12337
12338         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
12339         * config/alpha/alpha-protos.h: Declare it.
12340         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
12341         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
12342         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
12343         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
12344         (REG_OK_FOR_BASE_P): Select one of the above.
12345
12346 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
12347
12348         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
12349         (crti.o): Prefix name of object file with $(T).
12350         (crtn.o): Likewise.
12351
12352 2001-09-05  David S. Miller  <davem@redhat.com>
12353
12354         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
12355         * config/sparc/linux64.h: Likewise.
12356
12357 2001-09-05  Andreas Jaeger  <aj@suse.de>
12358
12359         * doc/invoke.texi (i386 Options): -mwide-multiply is not
12360         available anymore, remove the documentation.
12361         (i386 Options): Fix typo, cleanup index entries.
12362
12363         * prefix.c (concat): Remove, we can use the version from liberty.
12364
12365 2001-09-05  Richard Henderson  <rth@redhat.com>
12366
12367         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
12368         New functions split out of md file expanders.
12369         * config/alpha/alpha-protos.h: Declare them.
12370         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
12371
12372 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12373
12374         * cppmacro.c (funlike_invocation_p): No need to restore context.
12375
12376 2001-09-04  Richard Henderson  <rth@redhat.com>
12377
12378         * reload.c (push_reload): Export.
12379         * reload.h (push_reload): Declare it.
12380
12381         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
12382         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
12383         * config/alpha/alpha.c (alpha_legitimize_address): New.
12384         (alpha_legitimize_reload_address): Likewise.
12385         * config/alpha/alpha-protos.h: Declare them.
12386
12387 2001-09-04  Stan Shebs  <shebs@apple.com>
12388
12389         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
12390         * config/darwin.c (machopic_stub_name): Account for internally
12391         generated lib calls such as memcpy.
12392
12393 2001-09-04  Richard Henderson  <rth@redhat.com>
12394
12395         * unwind.h (_UA_END_OF_STACK): New flag.
12396         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
12397
12398 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
12399
12400         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
12401
12402 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
12403
12404         * config/mips/mips.c (save_restore_insns): Change base_offset to
12405         fp_offset in second call to mips_emit_frame_related_store.
12406
12407 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
12408
12409         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
12410         sometimes be represented as a NOTE of type
12411         NOTE_INSN_DELETED_LABEL.
12412         (Insns): Document NOTE_INSN_DELETED_LABEL.
12413
12414 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
12415
12416         * c-common.h (tree_dump_index): Add more comments.
12417         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
12418         (dump_option_value_info): New struct.
12419         (dump_options): New array.
12420         (dump_switch_p): Parse switch options symbolically.
12421         * doc/invoke.texi (-fdump-ast): Rename to ...
12422         (-fdump-tree): ... here. Document that options are symbolic, and
12423         not all are applicable.
12424
12425 2001-09-04  David S. Miller  <davem@redhat.com>
12426
12427         * config/sparc/sparc.md (define_splits): Kill constraints.
12428
12429         Cleanup redundant and unused insn attributes.
12430         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
12431         binary, and move.  Mark ialu as default.
12432         (commented out define_function_unit "alu"): Kill.
12433         (define_attr "use_clobbered"): Kill.
12434         (whole file): Kill address insn type references.  Replace
12435         all unary/binary/move references with ialu.
12436         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
12437         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
12438         TYPE_IALU.
12439
12440         Simplify length insn attribute and make more judicious use
12441         of insn attribute defaulting.
12442         * config/sparc/sparc.md (all insns with length > one): Mark as
12443         insn type multi if real instructions, else use default if
12444         it is a forced splitter.
12445         (all insns with length == one): Use default insn length.
12446         (all insns of type ialu): Use default insn type.
12447
12448         Fix erroneous insn attribute settings.
12449         (addx): Set insn type to misc.
12450         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
12451         const_umulsidi3_sp64): Set insn type to imul.
12452
12453         Track SFmode vs DFmode insns according to UltraSPARC
12454         scheduling rules.
12455         * config/sparc/sparc.md ("fptype"): New attribute, default
12456         to "single".
12457         (all DFmode single insns): Mark as fptype "double".
12458
12459 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
12460
12461         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
12462
12463 2001-09-03  Richard Henderson  <rth@redhat.com>
12464
12465         * function.h (struct function): Add arg_pointer_save_area_init.
12466         * function.c (expand_function_end): Init arg_pointer_save_area.
12467         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
12468         when called from a nested function.
12469
12470 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
12471
12472         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
12473         is enabled.
12474
12475 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
12476
12477         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
12478
12479 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
12480
12481         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
12482         (emit_push_insn): Use specified padding direction when
12483         STACK_PUSH_CODE is POST_INC.
12484
12485         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
12486
12487 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12488
12489         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
12490
12491 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
12492
12493         * cppinit.c (cpp_start_read): Free the imacros list as we
12494         traverse it.  Don't free the chains before returning.
12495         (_cpp_push_next_buffer): Only try pushing buffers if we've
12496         completed -imacros handling.
12497
12498 2001-08-31  Eric Christopher  <echristo@redhat.com>
12499
12500         * gcc.c (handle_braces): Add explaination for abort.
12501
12502 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
12503
12504         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
12505         move adjustment of bitpos instead.
12506
12507 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
12508
12509         * function.c: Remove all_functions.  Make outer_function_chain
12510         static.
12511         (init_function_start): Don't add new function structure to
12512         all_functions.
12513         (find_function_data, push_function_context_to,
12514         pop_function_context_from, put_var_into_stack,
12515         trampoline_address): Update for changed structure element names.
12516         (push_function_context_to): Disentangle.
12517         (free_after_compilation): Also free F.
12518         (expand_dummy_function_end): Don't free cfun here.
12519         (put_var_into_stack): Comment why we can't use find_function_data here.
12520         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
12521         (mark_function_chain): Split into maybe_mark_struct_function and
12522         ggc_mark_struct_function.  Export the latter.
12523         (init_function_once): Mark from cfun and outer_function_chain;
12524         not all_functions.
12525
12526         * function.h (struct function): Kill next_global.  Rename next
12527         to outer.  All users updated to match.
12528         (all_functions, outer_function_chain): Don't declare.
12529
12530         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
12531         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
12532         don't touch f->inlinable, after calling rest_of_compilation.
12533
12534         * tree.h: Forward-declare struct function.  Prototype
12535         ggc_mark_struct_function.
12536
12537 2001-08-31  Kazu Hirata  <kazu@hxi.com>
12538
12539         * config/h8300/h8300.md (*andorhi3): Fix typos.
12540
12541 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12542
12543         * calls.c (emit_library_call_value): Don't use a fixed
12544         argument after VA_CLOSE, i.e. out of scope in traditional C.
12545
12546         * emit-rtl.c (gen_rtvec): Likewise.
12547
12548 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12549
12550         * Makefile.in (c-pragma.o): Depend on output.h.
12551         (reorg.o): Depend on except.h.
12552
12553         * c-pragma.c: Include output.h.
12554
12555         * reorg.c: Include except.h.
12556
12557         * unwind-dw2.c: Call __builtin_alloca, not alloca.
12558
12559 2001-08-31  Richard Henderson  <rth@redhat.com>
12560
12561         * sched-deps.c (add_dependence): Don't elide dependency if the
12562         conditional used by insn is modified in elem.
12563
12564 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
12565
12566         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
12567
12568 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
12569
12570         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
12571         dump_switch_p.
12572
12573 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12574
12575         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
12576         function.
12577         (stormy16_asm_out_constructor): New function.
12578         (TARGET_ASM_CONSTRUCTOR): Define.
12579         (TARGET_ASM_DESTRUCTOR): Define.
12580
12581 2001-08-31  Andreas Jaeger  <aj@suse.de>
12582
12583         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
12584         * loop.c (add_label_notes): Likewise.
12585         * reload.c (find_reloads): Likewise.
12586         * config/sh/sh.c (machine_dependent_reorg): Likewise.
12587
12588 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
12589
12590         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
12591         code here.  Take _Unwind_{W,Sw}ord*.
12592         (read_encoded_value_with_base): Use them.
12593         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
12594         words.
12595         (extract_cie_info): Simplify read_?leb128 handling.
12596         (execute_stack_op, execute_cfa_program): Likewise.
12597         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
12598
12599 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12600
12601         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
12602         the frame pointer to pop the stack if convenient.
12603
12604         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
12605         Don't use post-increment before combine.
12606         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
12607         a call-saved register.
12608
12609 2001-08-31  Andreas Jaeger  <aj@suse.de>
12610
12611         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
12612         code was correct.
12613
12614 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
12615
12616         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
12617         not DIV/MOD, of course.
12618
12619 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
12620
12621         * rtl.def: Undo my patch commited 2001-08-27.
12622
12623         * genattrtab.c: Ditto.
12624
12625         * rtl.h: Ditto.
12626
12627         * sched-int.h: Ditto.
12628
12629         * target-def.h: Ditto.
12630
12631         * target.h: Ditto.
12632
12633         * haifa-sched.c: Ditto.
12634
12635         * sched-rgn.c: Ditto.
12636
12637         * sched-vis.c: Ditto.
12638
12639         * Makefile.in: Ditto.
12640
12641         * doc/md.texi: Ditto.
12642
12643         * doc/tm.texi: Ditto.
12644
12645         * doc/contrib.texi: Ditto.
12646
12647         * doc/gcc.texi: Ditto.
12648
12649         * genattrtab.h: Remove it.
12650
12651         * genautomata.c: Remove it.
12652
12653         * genattr.c: Undo my patch and Richard Henderson's patch commited
12654         2001-08-27.
12655
12656 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
12657
12658         * config.gcc (h8300-*-elf*): New case.
12659         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
12660         (SUBTARGET_CPP_SPEC): Define.
12661         (EXTRA_SPECS): Define.
12662         (SUBTARGET_EXTRA_SPECS): Define.
12663         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
12664         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
12665
12666 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
12667
12668         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
12669         (LIB2FUNCS_EXTRA): Define.
12670         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
12671         config/h8300/fixunssfsi.c: New file.
12672
12673 2001-08-30  Kazu Hirata  <kazu@hxi.com>
12674
12675         * config/h8300/h8300.md (zero_extendqihi2): Changes to
12676         define_expand to accommodate target-specific attributes.
12677         (anonymous zero_extendqihi2 patterns): New.
12678
12679 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
12680
12681         * h8300.md (*andorhi3): New pattern.
12682
12683 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
12684
12685         * h8300.c (dosize): Fix test for "sub".
12686
12687 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
12688
12689         * c-typeck.c (pointer_diff): Try to eliminate common term before
12690         doing conversions.
12691
12692 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
12693
12694         * config/arm/arm.c (arm_compute_initial_elimination_offset):
12695         Account for the saves of the FP registers.
12696
12697         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
12698         (TEXT_SECTION_ASM_OP): Define.
12699         (INIT_SECTION_ASM_OP): Define.
12700         (FINI_SECTION_ASM_OP): Define.
12701         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
12702         (RDATA_SECTION_FUNCITON): Provide prototype.
12703
12704 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
12705
12706         * reload1.c (move2add_note_store): Correct typo checking for
12707         argument pushes.
12708
12709 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
12710
12711         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
12712         note should not be considered outside the libcall block.
12713
12714 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12715
12716         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
12717
12718 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12719
12720         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
12721
12722 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12723
12724         * config/h8300/h8300-protos.h: Add a prototype for
12725         emit_logical_op.
12726         * config/h8300/h8300.c (emit_logical_op): New.
12727         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
12728         (andsi3): Likewise.
12729         (iorhi3): Likewise.
12730         (iorsi3): Likewise.
12731         (xorhi3): Likewise.
12732         (xorsi3): Likewise.
12733
12734 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12735
12736         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
12737         comparison with rtx INTVAL.
12738         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
12739         expression.
12740         * pa.h (FUNCTION_ARG_SIZE): Likewise.
12741
12742 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12743
12744         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
12745         comment typos.
12746
12747 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12748
12749         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
12750         (reg n) to (mem (pre_dec (reg n))
12751         (anonymous movsi pattern): Likewise.
12752
12753 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12754
12755         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
12756
12757 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12758
12759         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
12760         several special constants.
12761
12762 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12763
12764         * config/h8300/lib1funcs.asm: Fix comment typos.
12765
12766 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12767
12768         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
12769         Fix format specifier warnings.
12770
12771         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
12772         inet_makeaddr, semctl): Prototype.
12773
12774         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
12775         (save_restore_insns): Use base_offset, not gp_offset.
12776
12777         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
12778         (ASM_OUTPUT_BYTE): Fix format specifier warning.
12779
12780 2001-08-29  Richard Henderson  <rth@redhat.com>
12781
12782         * bb-reorder.c (function_tail_eff_head): New.
12783         (record_effective_endpoints): Set it.
12784         (fixup_reorder_chain): Use it.
12785
12786 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12787
12788         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
12789
12790 2001-08-28  Dale Johannesen  <dalej@apple.com>
12791
12792         * config/darwin.c (machopic_function_base_name): Add const
12793         qualifier to a string.
12794         (darwin_encode_section_info): Ditto.
12795
12796 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12797
12798         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
12799         function definition.
12800
12801 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12802
12803         * df.h (struct df): Add rts_order variable.
12804
12805         * df.c (df_visit_next_rts): New function.
12806         (df_visit_next): Renamed to df_visit_next_rc
12807         (df_analyse_1): Allocate/compute/free rts_order as well.
12808         (df_rd_global_compute): Use df_visit_next_rc instead of
12809         df_visit_next.
12810         (df_ru_global_compute): Use df_visit_next_rts instead of
12811         df_visit_next.
12812
12813         * flow.c (flow_reverse_top_sort_order_compute): New function.
12814
12815         * basic-block.h: Add prototype.
12816
12817 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12818
12819         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
12820         blocks, the BB_REACHABLE is now set, rather than aux being
12821         non-NULL. Update the test to reflect this.
12822
12823 2001-08-28  Eric Christopher  <echristo@redhat.com>
12824
12825         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
12826         config/mips/crti.asm: Ditto.
12827
12828 2001-08-28  Eric Christopher <echristo@redhat.com>
12829             Richard Henderson <rth@redhat.com>
12830
12831         * c-pragma.h (add_weak): Move prototype from here...
12832         * output.h (add_weak): ... to here.
12833         * varasm.c (add_weak): Fix typo.
12834         * config/mips/crti.asm: New file.
12835         * config/mips/crtn.asm: Ditto.
12836         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
12837         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
12838         (INVOKE__main): Ditto.
12839         (INIT_SECTION_ASM_OP): New.
12840         (FINI_SECTION_ASM_OP): Ditto.
12841         (STARTFILE_SPEC): Add crti.
12842         (ENDFILE_SPEC): Add crtn.
12843         * config/mips/elf64.h: Same.
12844         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
12845         Remove.
12846         * config/mips/vxworks.h: Ditto.
12847         * config/mips/t-elf: Support crti and crtn.
12848
12849 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
12850
12851         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
12852         INSN_LIST.
12853
12854 2001-08-28  Richard Henderson  <rth@redhat.com>
12855
12856         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
12857         (one_cmplbi2 splitter): Remove redundant test.
12858
12859 2001-08-28  Dale Johannesen  <dalej@apple.com>
12860
12861         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
12862
12863 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
12864
12865         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
12866
12867 2001-08-28  Stan Shebs  <shebs@apple.com>
12868
12869         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
12870         (UNALIGNED_SHORT_ASM_OP): Define.
12871         (UNALIGNED_INT_ASM_OP): Define.
12872
12873 2001-08-28  Will Cohen  <wcohen@redhat.com>
12874
12875         * config/rs6000/rs6000.md (store_multiple): Correct RTL
12876         generation for first set.
12877
12878 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12879
12880         * flow.c (redirect_edge_succ_nodup): Return new edge.
12881         (try_simplify_condjump): Use new edge.
12882         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
12883
12884         * cse.c (cse_basic_block): Skip note instructions.
12885
12886 2001-08-27  Richard Henderson  <rth@redhat.com>
12887
12888         * combine.c (combine_simplify_rtx): Don't reverse condition
12889         if there is no reverse for the condition.
12890         (simplify_comparison): Don't simplify subregs from INT to FP.
12891
12892         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
12893         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
12894         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
12895         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
12896         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
12897         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
12898
12899 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12900
12901         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
12902         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
12903         (pushqi1): New.
12904         (adddi_dilshr32, adddi_dishl32): Only data register can be
12905         source for mem destination.
12906
12907         * expmed.c (store_bit_field): Ignore adjustment to bitpos
12908         and use bitnum to decide about register move.
12909
12910 2001-08-27  Richard Henderson  <rth@redhat.com>
12911
12912         * genattr.c (main): Emit state_t even when not doing scheduling.
12913
12914 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12915             Richard Henderson  <rth@redhat.com>
12916
12917         * gcse.c (reg_first_set, reg_last_set): Replace with ...
12918         (reg_avail_info, current_bb): ... these.
12919         (oprs_unchanged_p, record_last_reg_set_info): Use them.
12920         (compute_hash_table): Likewise.
12921
12922 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12923
12924         * flow.c (verify_flow_info): Use checksums to verify edges.
12925
12926 2001-08-27  Richard Henderson  <rth@redhat.com>
12927
12928         * genautomata.c (expand_automata): Always create a description.
12929
12930 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12931
12932         * optabs.c (expand_binop): Correctly handle the carry in multiword
12933         add/subtract operations.
12934
12935 2001-08-27  Fred Fish  <fnf@be.com>
12936
12937         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
12938         __SIZE_TYPE__.
12939
12940 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12941
12942         * reload.c (find_reloads_toplev): Back out this change:
12943
12944         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
12945
12946         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
12947         mem if the address is a mode_dependent_address_p.
12948
12949 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
12950
12951         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
12952         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
12953         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
12954         RTL constructions.
12955
12956         * genattr.c (main): New variable num_insn_reservations.  Increase
12957         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
12958         pipeline hazard recognizer interface.
12959
12960         * genattrtab.h: New file.
12961
12962         * genattrtab.c: Include genattrtab.h.
12963         (attr_printf, check_attr_test, make_internal_attr,
12964         make_numeric_value): Move protypes into genattrtab.h.  Define them
12965         as external.
12966         (num_dfa_decls): New global variable.
12967         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
12968         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
12969         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
12970         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
12971
12972         * genautomata.c: New file.
12973
12974         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
12975
12976         * sched-int.h: (curr_state): Add the external definition for
12977         automaton pipeline interface.
12978         (haifa_insn_data): Add comments for members blockage and units.
12979
12980         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12981         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12982         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12983         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12984         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12985         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12986         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
12987         macros.
12988         (TARGET_SCHED): Use the new macros.
12989
12990         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
12991         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
12992         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
12993         dfa_bubble): New members in gcc_target.sched.
12994
12995         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
12996         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
12997         (insn_queue): Redefine it as pointer to array.
12998         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
12999         INSN_QUEUE_SIZE.
13000         (max_insn_queue_index_macro_value): New variable.
13001         (curr_state, dfa_state_size, ready_try): New varaibles for
13002         automaton interface.
13003         (ready_element, ready_remove, max_issue): New function prototypes
13004         for automaton interface.
13005         (choose_ready): New function prototype.
13006         (insn_unit, blockage_range): Add comments.
13007         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
13008         FUNCTION_UNITS_SIZE == 0.
13009         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
13010         actual_hazard, potential_hazard): Add comments.
13011         (insn_cost): Use cost -1 as undefined value.  Remove
13012         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
13013         pipeline interface.
13014         (ready_element, ready_remove): New functions for automaton
13015         interface.
13016         (schedule_insn): Add new code for automaton pipeline interface.
13017         (queue_to_ready): Add new code for automaton pipeline interface.
13018         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
13019         (debug_ready_list): Print newline when the queue is empty.
13020         (max_issue): New function for automaton pipeline interface.
13021         (choose_ready): New function.
13022         (schedule_block): Add new code for automaton pipeline interface.
13023         Print ready list before scheduling each insn.
13024         (sched_init): Add new code for automaton pipeline interface.
13025         Initiate insn cost by -1.
13026         (sched_finish): Free the current automaton state and finalize
13027         automaton pipeline interface.
13028
13029         * sched-rgn.c: Include target.h.
13030         (init_ready_list, new_ready, debug_dependencies): Add new code for
13031         automaton pipeline interface.
13032
13033         * sched-vis.c: Include target.h.
13034         (get_visual_tbl_length): Add code for automaton interface.
13035         (target_units, print_block_visualization):  Add comments.
13036
13037         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
13038         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
13039         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
13040         (getruntime.o, genautomata.o): New entries.
13041         (genattrtab.o): Add new dependency file genattrtab.h.
13042         (genattrtab): Add new dependencies.  Link it with `libm.a'.
13043         (getruntime.o, hashtab.o): New entries for canadian cross.
13044
13045         * doc/md.texi: Description of automaton based model.
13046
13047         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
13048         Add comments.
13049         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
13050         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
13051         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
13052         TARGET_SCHED_DFA_POST_CYCLE_INSN,
13053         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
13054         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
13055         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
13056         hook descriptions.
13057         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
13058         MAX_DFA_ISSUE_RATE): New macro descriptions.
13059
13060         * doc/contrib.texi: Add dfa based scheduler contribution.
13061
13062         * doc/gcc.texi: Add more information about genattrtab.
13063
13064 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
13065
13066         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
13067         an RTL basic block.
13068
13069 2001-08-27  Richard Henderson  <rth@redhat.com>
13070
13071         * function.c (expand_function_end): Don't init arg_pointer_save_area.
13072         (get_arg_pointer_save_area): New.  Create an init it here.
13073         (fix_lexical_addr): Use it.
13074         * function.h: Declare it.
13075         * builtins.c (expand_builtin_setjmp_receiver): Use it.
13076         * stmt.c (expand_nl_goto_receiver): Use it.
13077
13078 2001-08-27  Richard Henderson  <rth@redhat.com>
13079
13080         * final.c (final_scan_insn): Don't enter APP_ON mode for
13081         empty asm strings.
13082
13083         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
13084         alignment for assemble_integer for DW_EH_PE_aligned.
13085         * except.c (output_function_exception_table): Likewise.
13086
13087 2001-08-26  Andreas Jaeger  <aj@suse.de>
13088
13089         * c-tree.h: Add prototyp for c_sizeof_nowarn.
13090
13091 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
13092
13093         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
13094
13095 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
13096
13097         * config/rs6000/rs6000.c (mask_operand): Rewrite without
13098         bit-shifting loop.
13099         (mask64_operand): Likewise.
13100         (rldic_operand): Delete.
13101         (includes_lshift64_p): Delete.
13102         (includes_rldic_lshift_p): New function.
13103         (includes_rldicr_lshift_p): New function.
13104         (print_operand): Don't call rldic_operand in case 'W'.
13105         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
13106         (includes_lshift64_p): Remove.
13107         (includes_rldic_lshift_p): Declare.
13108         (includes_rldicr_lshift_p): Declare.
13109         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
13110         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
13111         Replace match_operand rldic_operand predicate with
13112         const_int_operand.  Replace includes_lshift64_p condition with
13113         includes_rldic_lshift_p.
13114         <ashldi3_internal 64 bit rldicr patterns>: New.
13115
13116 2001-08-27  Andreas Jaeger  <aj@suse.de>
13117
13118         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13119         * errors.c: Likewise.
13120         * final.c: Likewise.
13121         * dwarf2asm.c: Likewise.
13122         * doprint.c (checkit): Likewise.
13123         * diagnostic.c: Likewise.
13124         * collect2.c: Likewise.
13125         * calls.c: Likewise.
13126         * c-semantics.c (build_stmt): Likewise.
13127         * c-format.c (status_warning): Likewise.
13128         * c-errors.c (pedwarn_c99): Likewise.
13129         * builtins.c (validate_arglist): Likewise.
13130         * config/pj/pj.c (pj_printf): Likewise.
13131         * fix-header.c: Likewise.
13132         * gcc.c: Likewise.
13133         * gcov.c (fnotice): Likewise.
13134         * gensupport.c (message_with_line): Likewise.
13135         * mips-tfile.c: Likewise.
13136         * protoize.c (notice): Likewise.
13137         * read-rtl.c (fatal_with_file_and_line): Likewise.
13138         * rtl-error.c: Likewise.
13139         * tradcpp.c: Likewise.
13140         * tree.c: Likewise.
13141         * cp/tree.c (build_min_nt): Likewise.
13142         (build_min): Likewise.
13143         * cp/lex.c: Likewise.
13144         * cp/errfn.c: Likewise.
13145         * cp/rtti.c (create_pseudo_type_info): Likewise.
13146
13147 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
13148
13149         * df.c (df_uses_record): Return after recording all uses
13150         in ASM_OPERANDS.
13151
13152 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
13153
13154         * df.c (df_insn_modify): Realloc the INSN table here, if
13155         necessary, here, too.
13156
13157 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
13158
13159         * config/mips/mips.c (mips_function_value): Handle complex return
13160         values.
13161
13162 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
13163
13164         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
13165         unshared.
13166         * reload.c (make_memloc): Copy result if it is still
13167         reg_equiv_memory_loc[regno] on return.
13168         (subst_reloads) [ENABLE_CHECKING]: Check that none of
13169         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
13170         reg_equiv_mem are modified by the substitutions.
13171
13172 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13173
13174         * predict.c (expensive_function_p): New.
13175         * rtl.h (expensive_function_p): Declare.
13176         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
13177         (use_fast_prologue_epilogue): New static variable.
13178         (expand_prologue): Set it; emit short prologues if unset.
13179         (expand_epilogue): Likewise.
13180
13181 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
13182
13183         * config.gcc: Add stormy16-*-elf case.
13184         * config/stormy16/stormy-abi: New file.
13185         * config/stormy16/stormy16-lib2.c: New file.
13186         * config/stormy16/stormy16-protos.h: New file.
13187         * config/stormy16/stormy16.c: New file.
13188         * config/stormy16/stormy16.h: New file.
13189         * config/stormy16/stormy16.md: New file.
13190         * config/stormy16/t-stormy16: New file.
13191
13192 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
13193
13194         * i386.h (no-accumulate-outgoing-args): Use proper mask.
13195
13196 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
13197
13198         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
13199         descriptor members are pointer size, not constant 4.
13200         * config/rs6000/rs6000.md (define_splits): Remove more unused
13201         constraints.
13202
13203 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13204
13205         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
13206
13207 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
13208
13209         * cp/rtti.c (VPARAMS): Fix parameter.
13210
13211 2001-08-24  Zack Weinberg  <zackw@panix.com>
13212
13213         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
13214         to zero.
13215         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
13216         to switch.
13217         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
13218         in if controlling use of insv.
13219         (extract_bit_field): Likewise, for extv and extzv.
13220
13221 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
13222
13223         * i386.md (movcc peep2): Fix load of 0.
13224
13225 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13226
13227         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
13228         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
13229
13230 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
13231
13232         * c-pragma.h: Move weak_syms and weak_decls...
13233         * varasm.c: ...here.  Now static.
13234         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
13235         depend on HANDLE_PRAGMA_WEAK.
13236
13237         * c-common.c (c_alignof, c_alignof_expr): Move here...
13238         * c-typeck.c: ...from here.
13239         * c-tree.h, c-common.h: Adjust.
13240
13241 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
13242
13243         * config/ia64/ia64.c (rws_update): If !pred, set write_count
13244         instead of incrementing it.
13245
13246         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
13247         asm ready, don't try to move them all into the same array element.
13248
13249 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
13250
13251         * function.c (thread_prologue_and_epilogue_insns): Avoid
13252         fallthru flag on edge to exit.
13253
13254         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
13255
13256         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
13257         dead edges.
13258
13259 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
13260
13261         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
13262         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
13263         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
13264         Remove prototype.
13265
13266 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
13267
13268         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
13269         replace "GNU CC" with "GCC".
13270
13271 2001-08-23  Richard Henderson  <rth@redhat.com>
13272
13273         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
13274         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
13275         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
13276         Need GR between FR and not GR_AND_FR.
13277         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
13278         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
13279         AR regs before GR regs.
13280         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
13281         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
13282         (REGISTER_MOVE_COST): Update.
13283         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
13284
13285 2001-08-23  Richard Henderson  <rth@redhat.com>
13286
13287         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
13288         a register class.
13289
13290 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
13291
13292         * reload1.c (emit_reload_insns): Don't look for notes
13293         on a NULL store_insn.
13294
13295 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13296
13297         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
13298         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
13299         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
13300         format specifier warnings.
13301         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
13302
13303 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
13304
13305         * config/i386/i386-protos.h: Correct declaration of
13306         i386_pe_asm_named_section.
13307
13308 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13309
13310         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
13311         variable i.
13312         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
13313
13314 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
13315
13316         * cpperror.c (print_location): Don't show _Pragma.
13317         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
13318         and file change callback generation here.
13319         (stack_include_file): Update use of cpp_push_buffer.
13320         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
13321         (struct cpp_buffer): Remove type, pfile members.
13322         * cppinit.c (cpp_handle_option): Use free_chain.
13323         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
13324         (skip_escaped_newlines, get_effective_char, lex_percent): Take
13325         a cpp_reader rather than a cpp_buffer.
13326         (skip_escaped_newlines, get_effective_char, skip_block_comment,
13327         skip_line_comment, parse_string, lex_percent, lex_dot,
13328         _cpp_lex_token): Update accordingly.
13329         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
13330         generation here.
13331         (cpp_push_buffer): Update prototype.
13332         (run_directive): Update use of cpp_push_buffer.
13333         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
13334         handle_assertion): Update use of run_directive.
13335         * cpplib.h (enum cpp_buffer_type): Remove.
13336         (cpp_push_buffer): Update prototype.
13337         * fix-header.c (read_scan_file): Update.
13338
13339 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13340
13341         * gcc.c (struct prefix_list): Change prefix to const char *.
13342
13343 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13344
13345         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
13346
13347 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
13348
13349         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
13350         from a new MEM.
13351
13352         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
13353         a squeezable note.
13354         * rtl.h: Adjust.
13355         * ifcvt.c (dead_or_predicable): Adjust.
13356         * loop.c (find_and_verify_loops): Adjust.
13357         * stmt.c (expand_end_case): Adjust.
13358         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
13359         head and end insn pointers in the basic block, not just local copies.
13360         (merge_blocks_move_predecessor_nojumps): Likewise.
13361
13362 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
13363
13364         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
13365         bitmap.h, builtin-types.def, builtins.c, builtins.def,
13366         c-aux-info.c, c-common.c, c-common.def, c-common.h,
13367         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
13368         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
13369         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
13370         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
13371         conditions.h, config.gcc, configure.frag, configure.in,
13372         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
13373         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
13374         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
13375         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
13376         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
13377         emit-rtl.c, errors.c, errors.h, except.c, except.h,
13378         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
13379         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
13380         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
13381         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
13382         gencheck.c, gencodes.c, genconfig.c, genemit.c,
13383         genextract.c, genflags.c, gengenrtl.c, genmultilib,
13384         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
13385         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
13386         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
13387         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
13388         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
13389         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
13390         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
13391         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
13392         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
13393         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
13394         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
13395         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
13396         params.h, predict.c, predict.def, predict.h, prefix.c,
13397         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
13398         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
13399         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
13400         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
13401         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
13402         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
13403         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
13404         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
13405         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
13406         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
13407         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
13408         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
13409         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
13410         xcoffout.h: replace "GNU CC" with "GCC".
13411
13412 2001-08-21  Richard Henderson  <rth@redhat.com>
13413
13414         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
13415         (final_scan_insn): Consider jump tables data even if we have no
13416         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
13417         ADDR_VEC_ALIGN.
13418         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
13419         (ASM_OUTPUT_CASE_END): Remove.
13420         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
13421         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
13422         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
13423
13424 2001-08-21  Richard Henderson  <rth@redhat.com>
13425
13426         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
13427         at barrier insns.  Emit stop bits before barriers.
13428
13429         * flow.c (flow_find_cross_jump): Don't consider unconditional
13430         return insns for commoning.
13431
13432         * final.c (compute_alignments): Fix typo.
13433
13434         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
13435         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
13436         (store_bit_field): Use mode_for_extraction more places.
13437         (extract_bit_field): Likewise.
13438
13439 2001-08-21  Zack Weinberg  <zackw@panix.com>
13440
13441         * caller-save.c: Don't include insn-codes.h.
13442         (reg_save_code, reg_restore_code): Make arrays of int.
13443         All uses updated to match.
13444         (insert_save, insert_restore): No need to initialize "code"
13445         variable upon declaration.
13446         * Makefile.in: update dependencies; fix typo in clean rule.
13447
13448 2001-08-21  Richard Henderson  <rth@redhat.com>
13449
13450         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
13451         (merge_if_block): Handle fallout from same.
13452
13453 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13454
13455         * builtins.c (type_to_class): Fix typo in last change.
13456
13457 2001-08-21  Richard Henderson  <rth@redhat.com>
13458
13459         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
13460         ia64_asm_output_label.
13461
13462         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
13463         copy of gp while the real gp register contains garbage.
13464
13465 2001-08-21  Zack Weinberg  <zackw@panix.com>
13466
13467         * expmed.c (mode_for_extraction): New function.
13468         (store_bit_field, extract_bit_field): Use it.
13469         * expr.h: Prototype it and provide an enum for its first argument.
13470
13471         * combine.c, function.c, recog.c: Don't include insn-codes.h.
13472         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
13473         and digging through the insn_data tables.
13474         * Makefile.in: Update dependencies.
13475
13476 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
13477
13478         * cppfiles.c (stack_include_file): line-map.c now handles include
13479         depth.
13480         (handle_missing_handler): Similarly.
13481         (_cpp_execute_include): Similarly.
13482         (_cpp_pop_file_buffer): Similarly.
13483         * cpphash.h (struct cpp_reader): Remove system_include_depth,
13484         buffer_stack_depth and include_depth.
13485         * cpplib.c (do_include_common): line-map.c now handles include depth.
13486         (cpp_push_buffer): Similarly.
13487         (_cpp_pop_buffer): Similarly.
13488         * cppmacro.c (builtin_macro): Update.
13489         * line-map.c (init_line_maps): Set depth.
13490         (add_line_map): Increment "used" earlier.  Update and use the
13491         include depth.
13492         (trace_include): Use the include depth.
13493         * line-map.h (struct line_maps): New member depth.
13494
13495 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13496
13497         * cppfiles.c (stack_include_file): Don't handle -H here.
13498         * cppinit.c (cpp_start_read): Set include tracing after
13499         cpp_post_options and after stacking the main file.
13500         * line-map.c (trace_include): New.
13501         (init_line_maps, add_line_map): Update.
13502         * line-map.h (struct line_maps): New member trace_includes.
13503
13504 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13505
13506         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
13507         * cppfiles.c (stack_include_file): Only stack a file if there
13508         is something to do.  Return a boolean indicating whether a
13509         buffer was stacked or not.
13510         (_cpp_execute_include): Similarly.
13511         (_cpp_read_file): Similarly.
13512         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
13513
13514 2001-08-21  Sam Steingold  <sds@gnu.org>
13515
13516         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
13517         (RECACHE): keep obufp_before_macroname up to date
13518
13519 2001-08-21  Zack Weinberg  <zackw@panix.com>
13520
13521         * stmt.c: Don't include insn-codes.h.
13522         (expand_end_case): Machine specific logic moved to expr.c.
13523         No need to worry about __builtin_classify_type.
13524         (check_for_full_enumeration_handling, emit_case_nodes):
13525         Kill #if 0 blocks.
13526
13527         * builtins.o (expand_builtin_classify_type): Split up so code
13528         can be shared with fold_builtin_classify_type.
13529         (type_to_class, fold_builtin_classify_type): New functions.
13530         (fold_builtins): Handle __builtin_classify_type.
13531
13532         * expr.c (do_tablejump): Now static.
13533         (case_values_threshold, try_casesi, try_tablejump): New;
13534         code mostly from stmt.c (expand_end_case).
13535         (expr.h): Update prototypes.
13536
13537         * Makefile.in (stmt.o): Update dependencies.
13538
13539 2001-08-21  Will Cohen  <wcohen@redhat.com>
13540
13541         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
13542         declaration of variable i.
13543         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
13544         declaration of variable i.
13545
13546 2001-08-21  Richard Henderson  <rth@redhat.com>
13547
13548         * crtstuff.c: Fix thinko last change.  Move list tails to start
13549         of CRT_END section.  Tidy ifdefs.
13550         (__EH_FRAME_BEGIN__): Always static for ELF.
13551         (__do_global_ctors_1): Rename from __frame_dummy.
13552         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
13553         name change; don't hide __EH_FRAME_BEGIN__.
13554
13555 2001-08-21  Richard Henderson  <rth@redhat.com>
13556
13557         * gdbinit.in: Move break on exit after break on fancy_abort.
13558
13559         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
13560         sized types.
13561
13562 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13563
13564         * cpphash.h (_cpp_push_next_buffer): New.
13565         * cppinit.c (do_includes): Remove.
13566         (push_include, free_chain, _cpp_push_next_buffer): New.
13567         (cpp_start_read): Use them to rework command line option handling.
13568         (cpp_handle_option): Combine handling of -include and -imacros.
13569         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
13570         appropriate.  Always insert missing \n at EOF.
13571         * cpplib.c (start_directive): Get the directive position right.
13572         * cppmain.c (cb_file_change): Always print the first line, unless
13573         preprocessed.
13574
13575 2001-08-20  Andreas Jaeger  <aj@suse.de>
13576
13577         * profile.c (compute_branch_probabilities): Remove extra new-line
13578         in error message.
13579         * flow.c (verify_flow_info): Likewise.
13580
13581 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13582
13583         * basic-block.h (basic_block): Add new field 'flags'.
13584         (BB_REACHABLE): Define.
13585         (expunge_block): Declare.
13586         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
13587         (EXIT_BLOCK_PTR): Ditto.
13588         (expunge_block): Remove static declaration.
13589         (cleanup_cfg): Clear bb->aux on every basic block.
13590         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
13591         computing reachability.
13592         (delete_unreachable_blocks): Delete block b if b->flags has
13593         BB_REACHABLE unset.
13594
13595 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13596
13597         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
13598
13599 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13600
13601         * sparc.c (sparc_variable_issue): Fix typo in last change.
13602
13603 2001-08-20  Richard Henderson  <rth@redhat.com>
13604
13605         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
13606
13607 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13608
13609         * pa.h (RETURN_IN_MEMORY): Improve comment.
13610
13611 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
13612
13613         * doc/invoke.texi (Profiling options): Clarify the interactions
13614         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
13615
13616 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
13617
13618         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
13619         command.
13620
13621 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13622
13623         * gcc.c (make_relative_prefix): Allocate a sufficiently large
13624         buffer.
13625
13626 2001-08-20  Richard Henderson  <rth@redhat.com>
13627
13628         * final.c (end_final): Fix typo last change.
13629
13630 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
13631
13632         * cppinit.c (init_standard_includes): The returned buffer
13633         is already malloc-ed.
13634         * gcc.c (add_prefix): Similarly.
13635         * prefix.c (translate_name): Update to support clear buffer
13636         ownership rules.
13637         (update_path): Similarly.  Be sure to free any newly allocated
13638         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
13639         (tr): New function.
13640         * prefix.h (update_path): Update prototype and document.
13641         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
13642         up and update to new buffer ownership rules.
13643         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
13644
13645 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
13646
13647         * final.c (compute_alignments): New function.
13648         (init_insn_lengths): Do not care label_align.
13649         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
13650         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
13651         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
13652         (shorted_branches): Realloc label_align array; do
13653         not call init_insn_lengths; Do not care about loop alignments.
13654         * output.h (compute_alignments): Declare.
13655         * toplev.c (rest_of_compilation): Call compute_alignments.
13656         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
13657
13658         * predict.c (block_info_def): Add npredecesors, remove nvisited;
13659         change visited to tovisit.
13660         (propagate_freq): Use faster traversing algorithm.
13661         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
13662         to tovisit; reverse meaning.
13663
13664         * predict.c (struct block_info_def): Remove nvisited.
13665         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13666         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13667
13668 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
13669
13670         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
13671         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
13672         (TARGET_FUSED_MADD): New.
13673         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
13674         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
13675         the multiply-add instructions.
13676
13677 2001-08-19  Richard Henderson  <rth@redhat.com>
13678
13679         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
13680         is aligned to pointer size.
13681
13682 2001-08-19  Richard Henderson  <rth@redhat.com>
13683
13684         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
13685         display markers during final schedule.
13686
13687 2001-08-19  Richard Henderson  <rth@redhat.com>
13688
13689         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
13690
13691 2001-08-19  Richard Henderson  <rth@redhat.com>
13692
13693         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
13694         in the same string.
13695         (ASM_NAME_TO_STRING): Remove.
13696         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
13697         in the same string.  Remove support for expressions.
13698
13699 2001-08-19  Richard Henderson  <rth@redhat.com>
13700
13701         * config/i386/i386.md (tablejump): Make an expander; handle
13702         pic relative addressing here.
13703         (tablejump_1): Rename from tablejump_pic.
13704         (casesi): Remove.
13705
13706 2001-08-19  Richard Henderson  <rth@redhat.com>
13707
13708         * regclass.c (fix_register): Fix typo.
13709
13710 2001-08-18  Richard Henderson  <rth@redhat.com>
13711
13712         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
13713         (struct _Unwind_Context): Expand br_loc to hold it.
13714         (uw_frame_state_for): Handle leaf functions better.
13715         (uw_update_reg_address): Update for br_loc change.
13716
13717 2001-08-18  Richard Henderson  <rth@redhat.com>
13718
13719         * crtstuff.c: Move list heads before code that uses them.
13720         (__JCR_LIST__): Remove initial null.
13721         (frame_dummy, __frame_dummy): Do java registration here ...
13722         (__do_global_ctors_aux): ... not here.
13723
13724         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
13725         (__do_global_dtors_aux): Update to match.
13726         (__JCR_LIST__, __do_jv_register_classes): New.
13727         (.init): Call it.
13728         * config/ia64/crtend.asm (__JCR_END__): New.
13729         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
13730         instead of an indirect LTOFF22 reloc.
13731
13732 2001-08-18  Richard Henderson  <rth@redhat.com>
13733
13734         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
13735         * regclass.c (init_reg_sets_1): Fix typo.
13736         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
13737         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
13738         (ia64_compute_frame_size): Make ar.unat live when in use.
13739         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
13740         for ar.pfs; remove ar.unat handling.
13741         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
13742         call-saved.
13743         (PREDICATE_CODES): Add ar_pfs_reg_operand.
13744         * config/ia64/ia64-protos.h: Update decls.
13745         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
13746         (sibcall_pic): Likewise.
13747
13748 2001-08-18  Richard Henderson  <rth@redhat.com>
13749
13750         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
13751         pred_rel_mutex when searching for insn_group_barrier.
13752         * config/ia64/ia64.md (cycle_display): Combine the expander
13753         and insn patterns.
13754
13755         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
13756         bit before asm as needed.
13757
13758 2001-08-18  Richard Henderson  <rth@redhat.com>
13759
13760         * timevar.def (TV_MACH_DEP): New.
13761         * toplev.c (rest_of_compilation): Use it.
13762         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
13763
13764 2001-08-18  Zack Weinberg  <zackw@panix.com>
13765
13766         * unwind-dw2.c (execute_stack_op): Add default aborts to
13767         the inner switches to prevent warnings.
13768
13769 2001-08-18  Richard Henderson  <rth@redhat.com>
13770
13771         * timevar.h (struct timevar_time_def): Change element type to float.
13772         (ticks_to_msec, clocks_to_msec): Likewise.
13773         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
13774         (get_time): Likewise.
13775         (timevar_print): Adjust zero check and printing to match.
13776
13777 2001-08-18  Zack Weinberg  <zackw@panix.com>
13778
13779         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
13780         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
13781         Eliminate overfull or underfull hboxes.
13782
13783 2001-08-18  Zack Weinberg  <zackw@panix.com>
13784
13785         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13786
13787 2001-08-18  Zack Weinberg  <zackw@panix.com>
13788
13789         * haifa-sched.c: Convert to target hooks.  Macros replaced
13790         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
13791         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
13792         MD_SCHED_FINISH, and HAVE_cycle_display.
13793         * target-def.h (TARGET_SCHED_ADJUST_COST,
13794         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
13795         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
13796         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
13797         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
13798         New hook #defines to be overridden.
13799         (TARGET_SCHED): Bring them all together.
13800         (TARGET_INITIALIZER): Update.
13801         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
13802         instead of 'struct rtx_def *' throughout.
13803         (struct sched): New set of hooks for the scheduler.
13804         * Makefile.in (haifa-sched.o): Depend on target.h.
13805         * doc/tm.texi: Document the new scheduler hooks, together in
13806         their own section, instead of scattered around.
13807         Fix a bunch of underfull/overfull hboxes.
13808
13809         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
13810         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
13811         sparc.h: Don't define any of the old scheduler macros.
13812
13813         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
13814         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
13815         sparc.c: Create hook functions from code extracted from
13816         corresponding target header, or make existing hooks static, as
13817         appropriate.  Set the appropriate entries in targetm.
13818
13819         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
13820         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
13821         rs6000-protos.h, s390-protos.h, sparc-protos.h:
13822         Remove prototypes for functions which are now static.
13823
13824         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
13825         related gunk; the Haifa scheduler is now the only choice.
13826
13827 2001-08-18  Zack Weinberg  <zackw@panix.com>
13828
13829         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
13830         * genopinit.c: Put floating point divide insns in sdiv_optab.
13831         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
13832         * config/gofast.h, config/c4x/c4x.h,
13833         config/ia64/hpux_longdouble.h, config/mips/mips.h,
13834         config/pa/long_double.h, config/rs6000/sysv4.h,
13835         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
13836         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
13837         (init_optabs): Use init_optabv for overflow-trapping optabs.
13838         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
13839         cmp_optab RTX codes so have_insn_for can find them.
13840
13841         * optabs.c (expand_simple_binop, expand_simple_unop,
13842         have_insn_for, gen_sub3_insn): New interfaces.
13843         * expr.h: Prototype new functions.
13844         (enum optab_methods): Move here from optabs.h.
13845
13846         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
13847         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
13848         Use new functions instead of working directly with optabs.
13849         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
13850         unroll.c: Don't include optabs.h.
13851         * caller-save.c, combine.c, function.c, stmt.c: Just include
13852         insn-codes.h, not optabs.h.
13853         * Makefile.in: Update dependencies.
13854
13855         * combine.c (make_compound_operation, simplify_comparison):
13856         Fix typos testing for this or that instruction.
13857
13858 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13859
13860         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
13861         generating libgcc.a.
13862
13863 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13864
13865         * except.c (TYPE_HASH): Delete.
13866
13867         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
13868         HOST_WIDE_INT.
13869
13870         * tree.c (TYPE_HASH): Delete.
13871
13872         * tree.h (TYPE_HASH): Define.
13873
13874 2001-08-18  Graham Stott  <grahams@redhat.com>
13875
13876         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13877         define_split.
13878         (adddi3_internal_2+2): Likewise.
13879         (eh_set_lr_di+1): Likewise.
13880
13881 2001-08-17  Richard Henderson  <rth@redhat.com>
13882
13883         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13884         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
13885         * dwarf2asm.c: ... here.
13886         * dwarfout.c: Remove them.
13887
13888         * varasm.c (assemble_integer): Add align parameter.
13889         (assemble_real, output_constant, output_constructor): Likewise.
13890         * output.h: Update decls.
13891         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
13892         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
13893         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
13894         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
13895         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
13896         Update all callers.
13897
13898         * final.c (end_final): Abort profile block generation if we
13899         haven't layed it out properly.
13900         * output.h (assemble_eh_integer): Remove stale decl.
13901         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
13902         (min_align): New.
13903         (assemble_integer): Handle unaligned data.
13904         (assemble_real): Abort on unaligned data.
13905         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
13906         anything useful.
13907         (default_dtor_section_asm_out_destructor): Use assemble_align.
13908         (default_named_section_asm_out_constructor): Likewise.
13909         (default_ctor_section_asm_out_constructor): Likewise.
13910         * config/darwin.c (machopic_asm_out_constructor): Likewise.
13911         (machopic_asm_out_destructor): Likewise.
13912         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
13913         (nextstep_asm_out_destructor): Likewise.
13914         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
13915         (vms_asm_out_destructor): Likewise.
13916
13917 2001-08-17  Richard Henderson  <rth@redhat.com>
13918
13919         * config/mips/iris6.h (TARGET_IRIX6): New.
13920         (current_section_name, current_section_flags): New.
13921         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
13922         (MAX_OFILE_ALIGNMENT): New.
13923         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
13924         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
13925         (copy_file_data): Split out from
13926         (mips_asm_file_end): ... here.
13927         (mips_asm_file_start): Remove extra .section directive.  Use
13928         tmpfile instead of mips_make_temp_file.
13929         (mips_unique_section): Use const char * as needed for warnings.
13930         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
13931         re-add align parameter.
13932         (iris6_asm_named_section): New.
13933         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
13934         (iris6_asm_output_align, iris6_section_align_1): New.
13935         (iris6_asm_file_start, iris6_asm_file_end): New.
13936         * config/mips/mips-protos.h: Update decls.
13937
13938 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
13939
13940         * doc/install.texi (Install GCC): Add links to build status pages.
13941         (Specific): Ditto.
13942         (Final install): Ditto; request updates for specific info
13943
13944 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13945
13946         * cpperror.c (print_location):  Don't take a file name; use the
13947         line map instead.
13948         (_cpp_begin_message): Similarly.
13949         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
13950         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
13951         (cpp_pedwarn_with_file_and_line): Remove.
13952         * cppfiles.c (stack_include_file): Update; set filename to stdin
13953         here when appropriate.
13954         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
13955         (_cpp_begin_message): Don't take a file name.
13956         * cppinit.c: Add comment.
13957         * cpplex.c: Fix end-of-directive indicator.
13958         * cpplib.c: Don't include intl.h.
13959         (run_directive, do_diagnostic): Update.
13960         (do_line): Update to not use nominal_fname.
13961         (cpp_push_buffer): Don't take a filename.
13962         * cpplib.h (struct ht): Remove.
13963         (cpp_push_buffer): Don't take a filename.
13964         (cpp_pedwarn_with_file_and_line): Remove.
13965         * cppmacro.c (struct cpp_macro): Remove file.
13966         (builtin_macro): Update.
13967         (_cpp_create_definition): Update.
13968         * cppmain.c: Correct comment.
13969         * fix-header.c (read_scan_file): Update.
13970
13971 2001-08-17  Kazu Hirata  <kazu@hxi.com>
13972
13973         * sbitmap.c: Fix comment formatting.
13974         * sched-deps.c: Likewise.
13975         * sibcall.c: Likewise.
13976         * simplify-rtx.c: Likewise.
13977         * ssa.c: Likewise.
13978         * ssa-ccp.c: Likewise.
13979         * stor-layout.c: Likewise.
13980         * timevar.c: Likewise.
13981         * toplev.c: Likewise.
13982         * unwind-dw2.c: Likewise.
13983         * unwind-dw2-fde.c: Likewise.
13984         * varasm.c: Likewise.
13985
13986 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13987
13988         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
13989         or larger than an integer in memory.
13990
13991 2001-08-17  Zack Weinberg  <zackw@panix.com>
13992
13993         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
13994         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
13995         * rtl.h: Don't forward-declare union tree_node here.  Don't
13996         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
13997         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13998         and tree respectively.
13999         * tree.h: Don't forward-declare struct rtx_def here.  Don't
14000         typedef tree here.  Change all uses of struct rtx_def *,
14001         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
14002         and tree respectively.
14003
14004 2001-08-17  Richard Henderson  <rth@redhat.com>
14005
14006         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
14007         config/mips/openbsd.h: Fix typos last change.
14008
14009 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14010
14011         * doc/invoke.texi (Optimize Options): The default for
14012         -finline-limit is 600.
14013
14014 2001-08-17  Richard Henderson  <rth@redhat.com>
14015
14016         * varasm.c (text_section): Allow TEXT_SECTION to override the
14017         printing of TEXT_SECTION_ASM_OP.
14018         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
14019         (DATA_SECTION, BSS_SECTION): Remove.
14020         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
14021         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
14022         Rename from s/_NAME//.
14023         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
14024         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
14025         (TEXT_SECTION): ... here.  New.
14026         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
14027         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
14028         * config/mips/openbsd.h: Likewise.
14029         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
14030         (mips_asm_file_end): Likewise test.
14031         (mips_output_function_epilogue): Likewise.  Switch back to data
14032         section after emitting the function.
14033
14034         * doc/tm.texi (Sections): Document TEXT_SECTION.
14035
14036 2001-08-17  Richard Henderson  <rth@redhat.com>
14037
14038         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
14039         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
14040
14041 2001-08-17  Richard Henderson  <rth@redhat.com>
14042
14043         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
14044         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
14045         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
14046         Add aligned attribute.
14047
14048 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
14049
14050         * config/sh/sh.md: Add modes to unspecs in first insn to match
14051         those in the second.
14052
14053         * Makefile.in: Fix collect2 copy for Cygwin.
14054
14055 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
14056
14057         Install the proper patch.
14058         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
14059         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
14060         (expand_function_start): Likewise.
14061         * stmt.c (expand_decl): Likewise.
14062         * varasm.c (make_decl_rtx): Likewise.
14063
14064 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
14065
14066         * final.c: Undo my previous accidental checkin.
14067         * output.h: Likewise.
14068         * tm.texi: Likewise.
14069
14070 2001-08-16  Richard Henderson  <rth@redhat.com>
14071
14072         * varasm.c (named_section_flags): Remove align parameter.
14073         * varasm.c, dwarf2out.c: Update all callers.
14074         * output.h: Update prototypes.
14075
14076         * target.h (target.asm_out.named_section): Remove align parameter.
14077         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
14078         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
14079         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
14080         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
14081         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
14082
14083         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
14084         (get_named_section_flags, set_named_section_flags): New.
14085         (named_section_flags): Use them.
14086         (named_section): Do decl vs section flags check here...
14087         (default_section_type_flags): ... not here.
14088         (init_varasm_once): Create in_named_htab.
14089         (resolve_unique_section): Mark reloc unused.
14090
14091 2001-08-16  Richard Henderson  <rth@redhat.com>
14092
14093         * varasm.c (force_const_mem): Keep pool alignment in bits.
14094         (output_constant_pool): Use assemble_align.
14095
14096 2001-08-16  Zack Weinberg  <zackw@panix.com>
14097
14098         * doc/tm.texi: Remove extra @table command.
14099
14100 2001-08-16  Zack Weinberg  <zackw@panix.com>
14101
14102         * final.c (shorten_branches): Clear the end of the label_align
14103         array only if we made it larger.  Break up messy expressions
14104         for clarity.
14105
14106         * diagnostic.c (internal_error): Check for error recursion
14107         before doing ICE suppression.
14108
14109         * timevar.c: Timing variables now count in milliseconds.
14110         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
14111         (get_time): Not here.
14112         (timevar_print): Don't print any timer whose user, cpu, and
14113         wall times are all zero as displayed.
14114         * timevar.h: Update comment aboout units.  Make timevar
14115         counters unsigned.
14116
14117 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
14118
14119         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
14120         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
14121         (expand_function_start): Likewise.
14122         * stmt.c (expand_decl): Likewise.
14123         * varasm.c (make_decl_rtx): Likewise.
14124
14125 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
14126
14127         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
14128         (finalize_record_size): Don't set TYPE_USER_ALIGN.
14129
14130 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
14131
14132         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
14133         variables.
14134
14135 2001-08-16  Andreas Jaeger  <aj@suse.de>
14136
14137         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
14138         prototype.
14139
14140 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
14141
14142         * rtl.h (only_sets_cc0_p): New prototype.
14143         * jump.c (sets_cc0_p): Handle INSN.
14144         (only_sets_cc0_p): New function.
14145         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
14146         (tidy_fallthru_edge): Likewise.
14147         * integrate.c (copy_insn_list): Likewise.
14148         * unroll.c (unroll_loop): Likewise.
14149         (copy_loop_body): Likewise.
14150
14151 2001-08-15  Jason Eckhardt  <jle@redhat.com>
14152
14153         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
14154
14155 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
14156
14157         * predict.c (struct block_info_def): Remove nvisited.
14158         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
14159         (estimate_bb_frequencies): Call mark_dfs_back_edges.
14160
14161         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
14162         (ix86_adjust_cost): Teach scheduler that latency to load operand can
14163         be masked.
14164
14165 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
14166
14167         * predict.def: Update hitrates.
14168
14169 2001-08-15  Richard Henderson  <rth@redhat.com>
14170
14171         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
14172
14173 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
14174
14175         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
14176         note from its associated jump.
14177
14178 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
14179
14180         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
14181         also on 64-bit s390x targets.
14182
14183 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
14184
14185         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
14186         function.
14187         (arm_expand_prologue): Handled nested functions which take a
14188         variable argument list.
14189         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
14190         macro with an invocation of
14191         arm_compute_initial_elimination_offset.
14192         * config/arm/arm-protos.h: Prototype
14193         arm_compute_initial_elimination_offset.
14194
14195 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14196
14197         * doc/install.texi (Specific, avr): Fix markup.
14198         (Specific, c4x): Ditto.
14199
14200 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
14201
14202         * predict.c (dump_prediction): Change `bool' parameter to `int'.
14203
14204 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
14205
14206         * Makefile.in (OBJS): Add rtl-error.o
14207         (rtl-error.o): New rule.
14208         (diagnostic.o): Adjust dependency.
14209         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
14210         error_for_asm, _fatal_insn, _fatal_insn_not_found,
14211         warning_for_asm): Move to...
14212         rtl-error.c: ...here.  New file.
14213
14214 2001-08-14  Richard Henderson  <rth@redhat.com>
14215
14216         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
14217         if USING_SJLJ_EXCEPTIONS.
14218
14219 2001-08-14  Steve Ellcey <sje@cup.hp.com>
14220
14221         * tlink.c (scan_linker_output): Check string for unsatisfied in
14222         addition to undefined and unresolved.
14223
14224 2001-08-14  Graham Stott  <grahams@redhat.com>
14225
14226         * libgcc2.c (*): Replace EH_FRAME_SECTION with
14227         EH_FRAME_SECTION_NAME.
14228
14229 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
14230
14231         * genattrtab.c (simplify_test_exp_in_temp): New function.
14232         (simplify_test_exp): Avoid explicit use of temporary obstack.
14233         (simplify_cond, insert_right_side, evaluate_eq_attr,
14234         simplify_and_tree, simplify_or_tree, eliminate_known_true):
14235         Use simplify_test_exp_in_temp.
14236         (optimize_attrs): Iterate until expression stabilizes.
14237
14238 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
14239
14240         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
14241         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
14242
14243 2001-08-13  Richard Henderson  <rth@redhat.com>
14244
14245         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
14246         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
14247         * config/arm/conix-elf.h: Likewise.
14248
14249 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
14250
14251         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
14252         in gcc.c.
14253         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
14254
14255         * gcse.c (hash_scan_set): Expressions that are set as part of
14256         jump instructions are not available.
14257
14258 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
14259
14260         * config/s390/s390.c (print_operand, s390_function_prologue,
14261         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
14262
14263 2001-08-13  Richard Henderson  <rth@redhat.com>
14264
14265         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
14266         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
14267         * doc/tm.texi (Exception Region Output): Document it.
14268
14269 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
14270
14271         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
14272         DWARF2 instead of stabs by default.
14273
14274 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
14275
14276         * config/rs6000/rs6000.c: Include optabs.h.
14277
14278 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
14279
14280         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
14281         save/restore routines.
14282         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
14283
14284 2001-08-13  Andreas Jaeger  <aj@suse.de>
14285
14286         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
14287         the english is correct.
14288
14289 2001-08-13  Zack Weinberg  <zackw@panix.com>
14290
14291         * expr.h: Split out optab- and libfunc-related code to...
14292         * optabs.h, libfuncs.h: ... these new headers.
14293
14294         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
14295         (OPTABS_H): New.
14296         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
14297         dependencies.
14298         * mkconfig.sh: Don't include insn-codes.h from config.h.
14299
14300         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
14301         enum insn_code is available.  Move reload_in_optab and
14302         reload_out_optab array declarations to optabs.h.
14303         * regmove.c (gen_add3_insn): Move to optabs.c, export from
14304         there, prototype in expr.h.
14305         * gencodes.c: Cleanup: zap global variables, don't use
14306         printf where puts will do, don't bother defining MAX_INSN_CODE
14307         which nothing uses, let CODE_FOR_nothing get its value implicitly.
14308
14309         * genemit.c, genopinit.c: Include optabs.h in generated file.
14310         * genoutput.c: Include insn-codes.h in generated file.
14311         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
14312         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
14313         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
14314         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
14315         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
14316         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
14317         Include optabs.h.
14318         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
14319         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
14320         config/m88k/m88k.c, config/sparc/sparc.c:
14321         Include libfuncs.h.
14322         * reload.c: Include expr.h and optabs.h before reload.h.
14323         * config/alpha/alpha.c: Include tree.h before reload.h.
14324         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
14325         and reload.h in that order.
14326         * config/sparc/sparc.c: Include debug.h.
14327         * recog.c: Include insn-codes.h.
14328
14329 2001-08-13  Andreas Jaeger  <aj@suse.de>
14330
14331         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
14332         s390*linux.
14333
14334 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
14335
14336         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
14337         * gcc.c (init_spec): Fix typo in comment.
14338         * varasm.c (data_section): Fix typo in comment.
14339
14340 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
14341
14342         * predict.c (dump_prediction): New argument "USED".
14343         (combine_predictions_for_insn): Determine the used heuristics,
14344         output the case no heuristic applied.
14345         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
14346
14347 2001-08-13  Andreas Jaeger  <aj@suse.de>
14348
14349         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
14350         register %rip.
14351
14352 2001-08-13  Kazu Hirata  <kazu@hxi.com>
14353
14354         * jump.c: Fix formatting.
14355
14356 2001-08-13  Kazu Hirata  <kazu@hxi.com>
14357
14358         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
14359         length.
14360
14361 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
14362
14363         * loop.c (check_dbra_loop): Use condjump_label to compute
14364         jump_label.
14365
14366         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
14367         to better document the files they're in.
14368
14369 2001-08-12  Zack Weinberg  <zackw@panix.com>
14370
14371         * recog.h (struct insn_operand_data): Shrink 'mode' field
14372         to 16 bits.
14373
14374 2001-08-12  Kazu Hirata  <kazu@hxi.com>
14375
14376         * gcc.c: Fix comment formatting.
14377         * gccspec.c: Likewise.
14378         * gcov.c: Likewise.
14379         * gcse.c: Likewise.
14380         * genemit.c: Likewise.
14381         * gengenrtl.c: Likewise.
14382         * genrecog.c: Likewise.
14383         * gensupport.c: Likewise.
14384         * ggc-page.c: Likewise.
14385         * global.c: Likewise.
14386         * graph.c: Likewise.
14387         * ifcvt.c: Likewise.
14388         * integrate.c: Likewise.
14389         * lcm.c: Likewise.
14390         * libgcc2.c: Likewise.
14391         * loop.c: Likewise.
14392         * mbchar.c: Likewise.
14393         * optabs.c: Likewise.
14394         * predict.c: Likewise.
14395         * prefix.c: Likewise.
14396         * profile.c: Likewise.
14397         * protoize.c: Likewise.
14398         * real.c: Likewise.
14399         * recog.c: Likewise.
14400         * regclass.c: Likewise.
14401         * regmove.c: Likewise.
14402         * reg-stack.c: Likewise.
14403         * reload1.c: Likewise.
14404         * resource.c: Likewise.
14405         * rtlanal.c: Likewise.
14406         * rtl.c: Likewise.
14407
14408 2001-08-12  Kazu Hirata  <kazu@hxi.com>
14409
14410         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
14411         a tree representing a constant is passed to the macro.
14412
14413 2001-08-12  Richard Henderson  <rth@redhat.com>
14414
14415         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
14416         (rs6000_elf_asm_out_destructor): New.
14417         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
14418         (DTORS_SECTION_ASM_OP): Remove.
14419         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14420         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
14421
14422 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
14423
14424         Revert:
14425         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14426         * gcc.c (set_collect_gcc_options): New function, split out from
14427         main.
14428         Ignore elided switches.
14429         (do_spec_1): Invoke before executing command.
14430         (set_input): Export.
14431         Move declaration ...
14432         * gcc.h (set_input): ... here.
14433         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
14434         file.
14435
14436 2001-08-12  Richard Henderson  <rth@redhat.com>
14437
14438         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
14439         thinko wrt TARGET_RELOCATABLE.
14440
14441 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
14442
14443         * fix-header.c (cb_file_change): Update prototype.
14444
14445 2001-08-11  Zack Weinberg  <zackw@panix.com>
14446
14447         * toplev.c (set_float_handler): Make static.
14448         * toplev.h: Don't prototype set_float_handler.
14449
14450         * simplify-rtx.c: Don't include setjmp.h.
14451         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
14452         New functions.
14453         (simplify_unary_operation, simplify_binary_operation): Use them,
14454         via do_float_handler.
14455
14456         * fold-const.c: Don't include setjmp.h.
14457         (exact_real_inverse_1): New function.
14458         (exact_real_inverse): Use it, via do_float_handler.
14459
14460         * varasm.c: Don't include setjmp.h.
14461         (assemble_real_1): New function.
14462         (assemble_real): Use it, via do_float_handler.
14463         Call internal_error if we get a trap here.
14464
14465         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
14466         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
14467
14468 2001-08-11  Zack Weinberg  <zackw@panix.com>
14469
14470         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
14471         STACK_BOUNDARY if not already defined.
14472
14473         * calls.c, function.c, reload1.c, explow.c: Don't default
14474         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
14475         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
14476
14477         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
14478         to run-time test.
14479
14480         * doc/tm.texi: Document that STACK_BOUNDARY is required;
14481         clarify difference between it and PREFERRED_STACK_BOUNDARY.
14482
14483 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14484
14485         * cppmacro.c (enter_macro_context): Push macro expansions even
14486         if empty.
14487
14488 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14489
14490         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
14491         (rs6000_elf_section_type_flags): Actually return a value.
14492
14493 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14494
14495         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
14496         Clean up code: add missing comments and prototypes, fix warnings,
14497         remove obsolete code, fix spacing to conform to coding style.
14498
14499 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14500
14501         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
14502         and TARGET_ASM_CLOSE_PAREN.
14503         (regclass_map): CC register belongs to class NO_REGS.
14504         (legitimize_pic_address): Don't generate unnecessary moves
14505         (to avoid confusing loop optimization).
14506         (check_and_change_labels): Replace jump_long by indirect_jump.
14507         (s390_final_chunkify): Don't start a new literal pool on section
14508         switch in 64-bit code.
14509         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
14510
14511         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
14512         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
14513         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
14514         modes correctly.
14515         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
14516         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
14517         (CONST_COSTS): Fixed incorrect costs.
14518
14519         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
14520         Use emit_jump instead of emit_jump_insn (gen_jump).
14521         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
14522         (to avoid confusing flow analysis).
14523         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
14524         (casesi, casesi_jump): New.
14525         (jump_long): Removed.  Functionality merged into indirect_jump.
14526         (indirect_jump): Accept address_operand, not just register_operand.
14527         (cjump_long, icjump_long): Use same logic as indirect_jump.
14528         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
14529         Fixed broken setjmp/longjmp handling.
14530         (do_builtin_setjmp_setup): Removed.
14531
14532         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
14533         broken GNU as versions that don't accept .quad with large
14534         negative values.  Use hexadecimal output instead.
14535         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
14536         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
14537         FUNCTION_EPILOGUE): Removed.  Now in targetm.
14538
14539         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
14540
14541         * config/s390/fixdfdi.h: Add missing copyright statement.
14542         Fix type conflicts on 64-bit.  Add missing SFmode routines.
14543
14544         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
14545         email address.
14546
14547 2001-08-11  Richard Henderson  <rth@redhat.com>
14548
14549         * rtl.h (REG_EH_RETHROW): Remove.
14550         * rtl.c (reg_note_name): Update.
14551         * combine.c (distribute_notes): Don't check for it.
14552
14553 2001-08-11  Richard Henderson  <rth@redhat.com>
14554
14555         * combine.c (distribute_notes): Place REG_SETJMP.
14556
14557 2001-08-11  Richard Henderson  <rth@redhat.com>
14558
14559         * doc/extend.texi (Arrays and pointers implementation): Discourage
14560         relying on sign-extension of pointers.
14561
14562 2001-08-11  H.J. Lu <hjl@gnu.org>
14563
14564         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
14565         in_dtors.
14566         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
14567         RDATA_SECTION_ASM_OP.
14568
14569 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14570
14571         * doc/install.texi (Specific, c4x): Fix cross-reference to the
14572         main manual to work both for info and HTML versions.
14573
14574 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14575             Matt Kraai <kraai@alumni.carnegiemellon.edu>
14576
14577         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
14578         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
14579         (struct cpp_pool): New member first.
14580         * cppinit.c (append_include_chain): Plug memory leaks.
14581         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
14582         Allocate pragma structures from the (aligned) macro pool to
14583         avoid leaking memory.
14584         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
14585         so we don't leak memory.
14586         * hashtable.c (ht_destroy): New.
14587         * hashtable.h (ht_destroy): New.
14588
14589 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14590             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14591
14592         * c-lex.c (map): Make const.
14593         (cb_file_change): Update for callback passing a line map.
14594         Don't assume we have a previous map.  Remove sanity check
14595         about popping too many files.
14596         * cpperror.c (print_location): Make map const.
14597         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
14598         (cpp_make_system_header): Similarly.
14599         (search_from): Similarly.
14600         (_cpp_execute_include): Don't remember where we came from.
14601         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
14602         (struct cpp_reader): Make map const.
14603         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
14604         * cpplib.c (do_line): Update; line maps now hold sysp.
14605         (cpp_push_buffer): Similarly.
14606         (_cpp_do_file_change): Similarly; callback with map instead.
14607         (cpp_get_line_maps): Constify return value.
14608         (_cpp_pop_buffer): Update.
14609         * cpplib.h (struct cpp_file_change): Remove.
14610         (struct cpp_callbacks): Update.
14611         (cpp_get_line_maps): Constify return value.
14612         * cppmacro.c (_cpp_create_definition): Update.
14613         * cppmain.c (struct printer): Constify map.
14614         (maybe_print_line): Similarly.
14615         (print_line): Similarly.  Deduce flags 1 and 2 here.
14616         (cb_file_change): Update.
14617         * line-map.c (free_line_maps): Warn regardless.
14618         (add_line_map): Return pointer to const.  When passed NULL to_file
14619         with LC_LEAVE, use the obvious values for the return point so the
14620         caller doesn't have to figure them out.
14621         (lookup_line): Return pointer to const.
14622         (print_containing_files): Take pointer to const.
14623         * line-map.h (struct line_map): New members reason, sysp.
14624         (add_line_map): Return pointer to const.
14625         (lookup_line): Similarly.
14626         (print_containing_files): Take pointer to const.
14627
14628 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
14629             Richard Henderson  <rth@redhat.com>
14630
14631         * regmove.c (regmove_optimize): Avoid setting a register twice in
14632         a parallel set.
14633
14634 2001-08-10  Richard Henderson  <rth@redhat.com>
14635
14636         * doc/extend.texi (Arrays and pointers implementation): Document
14637         behavior of pointer/integer conversion.
14638
14639 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
14640
14641         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
14642
14643 2001-08-10  Richard Henderson  <rth@redhat.com>
14644
14645         * doc/extend.texi (C Implementation): New chapter.
14646         * doc/gcc.texi (Top): Link it in.
14647
14648 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
14649
14650         * doc/install.texi (Specific): Fix CVS merge botch.
14651
14652 2001-08-10  Richard Henderson  <rth@redhat.com>
14653
14654         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
14655         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
14656
14657 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
14658
14659         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
14660         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
14661         this macro is now required.
14662
14663         * cselib.c (cselib_process_insn), flow.c (propagate_block),
14664         loop.c (find_and_verify_loops), reload.c (reload): Check
14665         for rtx code of CALL_INSN, not CALL, when deciding if we
14666         need to check for REG_SETJMP note.
14667
14668         * gcse.c (compute_hash_table, compute_store_table): Update
14669         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
14670         logic.
14671
14672         * config/avr/avr.c: Fix typo.
14673         * config/convex/convex.c (expand_movstr): Use adjust_address.
14674         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
14675         variable.
14676         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
14677         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
14678         Fix typo.
14679         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
14680         Do define STACK_BOUNDARY.
14681         * config/i370/i370.c: Include expr.h.
14682         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
14683         config/pa/som.h, config/v850/v850.h: Take in_ctors and
14684         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
14685         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
14686         * config/m88k/m88k.c: Include c-tree.h after expr.h.
14687         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
14688         * config/romp/romp.c: Include expr.h after tree.h.
14689         Include toplev.h.
14690         (output_fpop): Use xmalloc, not oballoc.
14691         * config/we32k/we32k.c: Include expr.h.
14692
14693 2001-08-10  Kazu Hirata  <kazu@hxi.com>
14694
14695         * config/h8300/h8300.h: Fix formatting.
14696
14697 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14698
14699         * c-common.h (RETURN_NULLIFIED_P): Lose.
14700         * c-semantics.c (genrtl_return_stmt): Don't check it.
14701
14702 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14703
14704         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
14705         (mips_annotate_frame_insn): New function.
14706         (mips_emit_frame_related_store): New function.
14707         (save_restore_insns): Don't mark instructions that set up the base
14708         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
14709         the store instructions instead.
14710         (mips_expand_prologue): If the stack size is moved into a temporary
14711         register, do not mark that move as frame-related.  Add a
14712         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
14713
14714 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14715
14716         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
14717         stack slot as unchanging if current_function_calls_eh_return.
14718
14719 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14720
14721         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
14722         access the second half of the TFmode scratch operand.
14723
14724 2001-08-10  Anthony Green  <green@redhat.com>
14725
14726         * java/class.c (emit_register_classes): Conditionalize code on
14727         JCR_SECTION_NAME.
14728
14729 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14730
14731         * doc/install.texi (Specific, avr): Fix cross-reference to the
14732         main manual to work both for info and HTML versions.
14733
14734 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14735
14736         * stmt.c (expand_null_return_1): Remove code to generate simple returns
14737         and "use_goto" argument.
14738         (expand_null_return, expand_value_return): Update all callers.
14739         * function.c (expand_function_end): Remove code to generate simple
14740         return.
14741         * config/vax/vax.md (epilogue): New expander for function return.
14742         * doc/md.texi (epilogue): Remove "if defined".
14743
14744 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14745
14746         * Makefile.in: Partially revert my previous change:
14747         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
14748         of the hashtab.o and safe-ctype.o rules.
14749
14750 2001-08-09  Richard Henderson  <rth@redhat.com>
14751
14752         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
14753         (USE_COLLECT2): Remove duplicate definition.
14754         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
14755         (use_collect2): Remove dead code.
14756         * configure.in (use_collect2): Remove will_use_collect2 and
14757         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
14758         * configure: Rebuild.
14759
14760         * target.h (targetm.asm_out.constructor): New.
14761         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
14762         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
14763         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
14764         * varasm.c (in_ctors, in_dtors): New.
14765         (assemble_constructor, assemble_destructor): Remove.
14766         (default_stabs_asm_out_destructor): New.
14767         (default_named_section_asm_out_destructor): New.
14768         (dtors_section, default_dtor_section_asm_out_destructor): New.
14769         (default_stabs_asm_out_constructor): New.
14770         (default_named_section_asm_out_constructor): New.
14771         (ctors_section, default_ctor_section_asm_out_constructor): New.
14772         * output.h: Update declarations.
14773         * c-decl.c (c_expand_body): Use target hooks instead of
14774         assemble_constructor and assemble_destructor.
14775         * profile.c (output_func_start_profiler): Likewise.
14776         * objc/objc-act.c (finish_objc): Likewise.
14777         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
14778         for the constructor.
14779         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
14780
14781         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
14782         (DTORS_SECTION_ASM_OP): Likewise.
14783         (__CTOR_LIST__): Use attribute section when possible.
14784         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
14785
14786         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
14787         ASM_OUTPUT_CONSTRUCTOR.
14788
14789         * config/darwin.c (machopic_asm_out_constructor): New.
14790         (machopic_asm_out_destructor): New.
14791         * config/darwin-protos.h: Update declarations.
14792         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14793         (ASM_OUTPUT_DESTRUCTOR): Remove.
14794         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14795         * config/nextstep.c (nextstep_asm_out_constructor): New.
14796         (nextstep_asm_out_destructor): New.
14797         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14798         (ASM_OUTPUT_DESTRUCTOR): Remove.
14799         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14800         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
14801         ASM_OUTPUT_*STRUCTOR.
14802         * config/i386/aix386ng.h: Likewise.
14803
14804         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
14805         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
14806         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14807         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14808         * config/lynx.h: Likewise.
14809         * config/netware.h: Likewise.
14810         * config/psos.h: Likewise.
14811         * config/alpha/alpha-interix.h: Likewise.
14812         * config/alpha/elf.h: Likewise.
14813         * config/arc/arc.h: Likewise.
14814         * config/arm/aof.h: Likewise.
14815         * config/arm/coff.h: Likewise.
14816         * config/arm/elf.h: Likewise.
14817         * config/c4x/c4x.h: Likewise.
14818         * config/h8300/h8300.h: Likewise.
14819         * config/i386/cygwin.h: Likewise.
14820         * config/i386/djgpp.h: Likewise.
14821         * config/i386/i386-coff.h: Likewise.
14822         * config/i386/i386-interix.h: Likewise.
14823         * config/i386/sco5.h: Likewise.
14824         * config/i386/vsta.h: Likewise.
14825         * config/i386/win32.h: Likewise.
14826         * config/i960/i960-coff.h: Likewise.
14827         * config/ia64/sysv4.h: Likewise.
14828         * config/m68hc11/m68hc11.h: Likewise.
14829         * config/m68k/coff.h: Likewise.
14830         * config/m68k/mot3300.h: Likewise.
14831         * config/m88k/m88k.h: Likewise.
14832         * config/mcore/mcore-pe.h: Likewise.
14833         * config/mcore/mcore.h: Likewise.
14834         * config/mips/elf.h: Likewise.
14835         * config/mips/elf64.h: Likewise.
14836         * config/mips/iris6.h: Likewise.
14837         * config/pa/pa64-hpux.h: Likewise.
14838         * config/rs6000/sysv4.h: Likewise.
14839         * config/sh/sh.h: Likewise.
14840         * config/sparc/litecoff.h: Likewise.
14841
14842         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
14843         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14844         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14845         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14846         (ASM_OUTPUT_DESTRUCTOR): Remove.
14847         * config/a29k/a29k.c: Move include of tree.h.
14848         * config/a29k/udi.h: Delete file.
14849         * config/alpha/alpha.c (vms_asm_out_constructor): New.
14850         (vms_asm_out_destructor): New.
14851         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
14852         (EXTRA_SECTION_FUNCTIONS): Likewise.
14853         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14854         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14855         * config/c4x/c4x.c: Move include of tree.h.
14856         * config/clipper/clipper.c (clix_asm_out_constructor): New.
14857         (clix_asm_out_destructor): New.
14858         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14859         (ASM_OUTPUT_DESTRUCTOR): Remove.
14860         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14861         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14862         (TARGET_ASM_CONSTRUCTOR): New.
14863         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
14864         (sco_asm_out_constructor): New.
14865         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
14866         * config/i386/svr3gas.h: Remove stack grows up code.
14867         Remove code duplicated from i386/sysv3.h.
14868         (TARGET_ASM_CONSTRUCTOR): New.
14869         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14870         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
14871         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14872         (TARGET_ASM_CONSTRUCTOR): New.
14873         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
14874         (m68hc11_asm_out_destructor): New.
14875         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
14876         (TARGET_ASM_DESTRUCTOR): New.
14877         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
14878         * config/m68k/dpx2.h: Properly undef all the bits inherited from
14879         config/svr3.h pertaining to section manipulation.
14880         * config/m68k/dpx2g.h: Remove #if 0 code.
14881         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
14882         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
14883         (ASM_OUTPUT_CONSTRUCTOR): Remove.
14884         (TARGET_ASM_CONSTRUCTOR): New.
14885         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
14886         (m88k_svr3_asm_out_constructor): New.
14887         (m88k_svr3_asm_out_destructor): New.
14888         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14889         (ASM_OUTPUT_DESTRUCTOR): Remove.
14890         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14891         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
14892         * config/rs6000/aix.h: Likewise.
14893         * config/mips/rtems64.h: Don't undef removed constructor related bits.
14894         * config/mips/vxworks.h: Likewise.
14895         * config/rs6000/lynx.h: Likewise.
14896         * config/sh/elf.h: Likewise.
14897         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
14898         (DTORS_SECTION_ASM_OP): New.
14899         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14900         (ASM_OUTPUT_DESTRUCTOR): Remove.
14901         * config/sparc/sol2-sld-64.h: Likewise.
14902         * config/vax/vax.c (vms_asm_out_constructor): New.
14903         (vms_asm_out_destructor): New.
14904         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14905         (ASM_OUTPUT_DESTRUCTOR): Remove.
14906         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14907
14908         * doc/tm.texi (@node Initialization): Update.
14909
14910 2001-08-09  Richard Henderson  <rth@redhat.com>
14911
14912         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
14913         (__do_global_dtors_aux): Use gp-relative static data to avoid
14914         one dynamic relocation.
14915         (__do_frame_setup): Register Java classes.
14916         * config/alpha/crtend.asm (__JCR_END__): New.
14917
14918 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14919
14920         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
14921         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
14922         (GEN, STAGESTUFF): Add new files.
14923         (insn-constants.h, s-constants, tm-preds.h, s-preds,
14924         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
14925         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
14926         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
14927         as well as insn-codes.h and insn-flags.h in config.h; and no
14928         extra headers in tconfig.h and hconfig.h.
14929
14930         * gencodes.c: Eliminate code to generate predicate declarations
14931         or #defines for md-file constants.
14932         * genconstants.c, genpreds.c: New files.
14933
14934         * i386.md: Re-order guard expressions such that TARGET_64BIT
14935         comes first, when this permits better optimization.  Add
14936         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
14937         why this is desirable.
14938
14939 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
14940
14941         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
14942         (find_fde_for_dso): Remove.
14943         (_Unwind_IteratePhdrCallback): New.
14944         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
14945         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
14946
14947 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14948
14949         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
14950         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
14951
14952 2001-08-09  Graham Stott  <grahams@redhat.com>
14953
14954         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
14955         (vis_no_unit): Use it.
14956         (visualize_no_unit): Add the insn only if room exists.
14957
14958 2001-08-09  Graham Stott  <grahams@redhat.com>
14959
14960         * predict.c (estimate_probability): Replace magic numbers with
14961         appropriate enumeration.
14962
14963 2001-08-09  Graham Stott  <grahams@redhat.com>
14964
14965         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
14966         parameter.
14967         (EXTRACT_FLAGS): Likewise.
14968
14969 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
14970
14971         * config/mips/mips.c    (mips_legitimate_address_p): Check for
14972         CONST_INT in last patch.
14973
14974 2001-08-08  Anthony Green  <green@redhat.com>
14975
14976         * java/class.c (emit_register_classes): Use assemble_jcr if
14977         possible.  Keep the original mechanism as a fallback.
14978         * defaults.h (JCR_SECTION_NAME): Define if we have named section
14979         and weak symbol support.
14980         * crtstuff.c (__JCR_LIST__): Define.
14981         (__JCR_END__): Define.
14982         (_Jv_RegiserClasses): Define weak symbol if possible.
14983         (__do_global_ctors_aux): Register classes for ELF targets with
14984         weak symbol support.
14985
14986 2001-08-08  Kazu Hirata  <kazu@hxi.com>
14987
14988         * dbxout.c: Fix comment formatting.
14989         * dependence.c: Likewise.
14990         * df.c: Likewise.
14991         * diagnostic.c: Likewise.
14992         * dominance.c: Likewise.
14993         * doprint.c: Likewise.
14994         * dwarf2out.c: Likewise.
14995         * dwarfout.c: Likewise.
14996         * emit-rtl.c: Likewise.
14997         * except.c: Likewise.
14998         * explow.c: Likewise.
14999         * expmed.c: Likewise.
15000         * expr.c: Likewise.
15001         * flow.c: Likewise.
15002         * fold-const.c: Likewise.
15003         * function.c: Likewise.
15004
15005 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
15006
15007         * global.c (retry_global_alloc): Avoid shadowing allocno.
15008
15009 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
15010
15011         * except.c (remove_fixup_regions): Fix typo.
15012
15013 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
15014
15015         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
15016         unsigned HOST_WIDE_INT to avoid warning.
15017         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
15018         * flow.c (set_block_for_new_insns): Likewise.
15019
15020 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
15021
15022         * sibcall.c (return_value_pseudo): New static variable.
15023         (skip_copy_to_return_value): Handle return_value_pseudo.
15024         (call_ends_block_p): Ensure that return_value_pseudo is set.
15025         (optimize_sibling_and_tail_recursive_call): Discover the
15026         load of pseudo return value in alternate exit block.
15027
15028 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
15029
15030         * calls.c (ECF_ALWAYS_RETURN): New constant.
15031         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
15032         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
15033         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
15034         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
15035         * rtl.c (reg_note_name): New name.
15036         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
15037
15038 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
15039
15040         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
15041
15042 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
15043
15044         * alias.c (get_alias_set): Return a previously calculated
15045         alias set for a VAR_DECL.
15046         * function.c (gen_mem_addressof): Calculate the alias set before
15047         touching the RTL.
15048
15049 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
15050
15051         * predict.def: Set hitrates according our experimental run.
15052
15053 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
15054
15055         * i386.h (HARD_REGNO_RENAME_OK): New macro.
15056
15057 2001-08-08  H.J. Lu <hjl@gnu.org>
15058
15059         * config/mips/mips.c (mips_unique_section): New. Copied from
15060         config/mips/elf.h.
15061
15062         * config/mips/mips-protos.h (mips_unique_section): New
15063         prototype.
15064
15065         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
15066
15067         * config/mips/little.h: New. Generic little endian mips
15068         targets. Only mips*-*-linux* is converted to use it so far.
15069
15070         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
15071         (WCHAR_TYPE): Defined
15072         (WCHAR_TYPE_SIZE): Likewise.
15073         (INIT_SUBTARGET_OPTABS): Likewise.
15074         (BSS_SECTION_ASM_OP): Likewise.
15075         (SBSS_SECTION_ASM_OP): Likewise.
15076         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15077         (ASM_DECLARE_OBJECT_NAME): Likewise.
15078         (UNIQUE_SECTION): Likewise.
15079         (EXTRA_SECTIONS): Likewise.
15080         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
15081         (ASM_OUTPUT_DESTRUCTOR): Likewise.
15082         (ASM_OUTPUT_DEF): Likewise.
15083         (HANDLE_SYSV_PRAGMA): Removed.
15084         (NO_IMPLICIT_EXTERN_C): Likewise.
15085         (TARGET_MEM_FUNCTIONS): Likewise.
15086         (STARTFILE_SPEC): Likewise.
15087         (ENDFILE_SPEC): Likewise.
15088         (LIB_SPEC): Likewise.
15089         (INVOKE__main): Likewise.
15090         (CTOR_LIST_BEGIN): Likewise.
15091         (CTOR_LIST_END): Likewise.
15092         (DTOR_LIST_BEGIN): Likewise.
15093         (DTOR_LIST_END): Likewise.
15094         (SET_ASM_OP): Likewise.
15095         (ASM_OUTPUT_SOURCE_LINE): Likewise.
15096         (ASM_OUTPUT_DEF): Likewise.
15097         (ASM_OUTPUT_IDENT): Likewise.
15098
15099         * config/mips/mips.h (ASM_SPEC): Undefine before define.
15100         (CPLUSPLUS_CPP_SPEC): Likewise.
15101         (ASM_APP_ON) Redefine only if not defined.
15102         (ASM_APP_OFF): Likewise.
15103         (ASM_OUTPUT_SOURCE_LINE): Likewise.
15104         (ASM_OUTPUT_IDENT): Likewise.
15105
15106         * config.gcc: Update tm_file for Linux/mips.
15107
15108 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
15109
15110         * cselib.c (cselib_record_sets): If insn is predicated, turn
15111         sources into IF_THEN_ELSEs.
15112
15113         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
15114         Turn into define_insn_and_split.
15115
15116         * sched-deps.c: Include "cselib.h".
15117         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
15118         Use cselib to turn memory addresses into VALUEs.
15119         (sched_analyze): Call cselib_init/cselib_finish if necessary.
15120         * sched-int.h (struct sched_info): New member USE_CSELIB.
15121         * sched-ebb.c (ebb_sched_info): Initialize it.
15122         * sched-rgn.c (rgn_sched_info): Likewise.
15123         * Makefile.in (sched-deps.o): Update dependencies.
15124
15125         * cselib.h (cselib_subst_to_values): Declare.
15126         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
15127         that have no value and autoincs to be handled by generating a new
15128         dummy value.
15129
15130 2001-08-08  Graham Stott  <grahams@redhat.com>
15131
15132         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
15133         within fixed length SEQUENCE.
15134
15135 2001-08-08  Graham Stott  <grahams@redhat.com>
15136
15137         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
15138         (diagnostic_prefixing_rule): Likewise.
15139         (diagnostic_line_cutoff): Likewise.
15140         (diagnostic_kind_count): Likewise.
15141
15142 2001-08-08  Graham Stott  <grahams@redhat.com>
15143
15144         * alias.c (find_base_decl): Delete redundent assignment.
15145
15146 2001-08-08  Graham Stott  <grahams@redhat.com>
15147
15148         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
15149         (abs): Uppercase and paranthesize macro parameter.
15150         (MEM_DEPENDENCY): Add whitespace.
15151
15152 2001-08-08  Graham Stott  <grahams@redhat.com>
15153
15154         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
15155         failure check for CONST_INT
15156
15157 2001-08-08  Graham Stott  <grahams@redhat.com>
15158
15159         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
15160         (libcall_dead_p): Likewise.
15161
15162         (mark_used_regs): Constify fmt.
15163         (find_use_as_address): Likewise.
15164
15165 2001-08-08  Graham Stott  <grahams@redhat.com>
15166
15167         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
15168          parameter.
15169
15170 2001-08-08  Graham Stott  <grahams@redhat.com>
15171
15172         * combine.c (combine_simplify_rtx): Update comment and
15173         remove erroneous test.
15174
15175 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
15176
15177         * cppinit.c (cpp_finish): Pop the final buffer without comment.
15178         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
15179         take care to avoid multiple no-newline at EOF warnings in that
15180         case.
15181
15182 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
15183
15184         * calls.c (expand_call): Do not emit INSN_SETJMP note.
15185         (emit_library_call_value_1): Likewise.
15186         (emit_call_1): Emit REG_SETJMP note.
15187         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
15188         of INSN_SETJMP
15189         * cselib.c (cselib_process_insn): Likewise.
15190         * flow.c (propagate_block): Likewise.
15191         * loop.c (find_and_verify_loops): Likewise.
15192         * reload.c (find_equiv_regs): Likewise.
15193         * reload1.c (reload): Likewise.
15194         * resource.c (mark_referenced_resources,
15195         mark_set_resources): Likewise.
15196         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
15197         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
15198         * haifa-sched.c (unlink_other_notes): Likewise.
15199         (reemit_notes): Likewise.
15200         * sched-ebb.c (sched_ebb): Likewise.
15201         * sched-rgc.c (sched_region): Likewise.
15202         * rtl.c (note_insn_name): Likewise.
15203         (reg_note_name): Add REG_SETJMP
15204         * rtl.h (reg_note): Add REG_SETJMP.
15205         (insn_note): Remove NOTE_INSN_SETJMP.
15206
15207         * profile.c (branch_prob): Add fake edges for setjmp.
15208
15209 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
15210
15211         * config.gcc: Quote target_cpu_default2 correctly for
15212         powerpc*-*-* targets.
15213
15214 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
15215
15216         * cpplib.h, line-map.h: Update comments.
15217         * cppmain.c (printer_init): Move inline.
15218         (maybe_print_line, print_line): Take a map pointer.
15219         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
15220         (cb_file_change): Don't use prior value of print.map.
15221
15222 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
15223
15224         * doc/install.texi: Document fine-grained multilib configuration.
15225
15226 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
15227
15228         * rtlanal.c (find_first_parameter_load): Call note_stores
15229         only on the instructions.
15230
15231 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15232
15233         * alias.c (nonlocal_mentioned_p):
15234         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
15235         * calls.c (emit_call_1): Likewise.
15236         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
15237         * cselib.c (cselib_process_insn): Likewise.
15238         * df.c (df_insns_modify): Likewise.
15239         * flow.c (need_fake_edge_p): Likewise.
15240         (propagate_one_insn): Likewise.
15241         * haifa-sched.c (reemit_notes): Likewise.
15242         * integrate.c (copy_insn_list): Likewise.
15243         * jump.c (delete_prior_computation): Likewise.
15244         * local-alloc.c (validate_equiv_mem): Likewise.
15245         * loop.c (scan_loop): Likewise.
15246         * predict.c (estimate_probability): Likewise.
15247         * reload.c (reload): Likewise.
15248         * sched-deps (sched_analyze): Likewise.
15249         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
15250         * gcse.c (compute_hash_table): Likewise.
15251         (mark_call): Likewise.
15252         (store_killed_in_insn): Likewise.
15253
15254 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
15255
15256         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
15257
15258 2001-08-06  Richard Henderson  <rth@redhat.com>
15259
15260         * varasm.c (assemble_gc_entry): Remove.
15261         * output.h: Likewise.
15262
15263 2001-08-06  Richard Henderson  <rth@redhat.com>
15264
15265         * varasm.c (assemble_constructor): Take a symbol_ref and a
15266         priority instead of a bare string.  Move priority handling
15267         here from cp/decl2.c.
15268         * output.h: Update decls.
15269
15270         * c-decl.c (c_expand_body): Update calls to assemble_constructor
15271         and assemble_destructor.
15272         * profile.c (output_func_start_profiler): Likewise.
15273         * objc/objc-act.c (finish_objc): Likewise.
15274         (build_module_descriptor): Return the symbol not the symbol name.
15275
15276 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
15277
15278         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
15279         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
15280         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
15281         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
15282         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
15283         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
15284
15285 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
15286
15287         * cpperror.c (print_containing_files): Moved to line-map.c.
15288         (print_location): line-map.c handles re-listing or otherwise.
15289         * cpphash.h (struct lexer_state): Remove next_bol.
15290         (struct cpp_buffer): Remove include_stack_listed.
15291         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
15292         Remove faked buffer handling.
15293         (_cpp_do_file_change): Tweak.
15294         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
15295         * cppmain.c (struct printer): Remove filename.
15296         (print_line, cb_file_change): Update accordingly.
15297         * line-map.c: Include intl.h.
15298         (init_line_maps): Initialize last_listed.
15299         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
15300         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
15301         (print_containing_files): New.
15302         * line-map.h (struct line_maps): New member last_listed.
15303         (print_containing_files, INCLUDED_FROM): New.
15304         * Makefile.in: Update.
15305         * po/POTFILES.in: Add line-map.c.
15306
15307 2001-08-06  Richard Henderson  <rth@redhat.com>
15308
15309         * except.c (convert_from_eh_region_ranges_1): Never mark
15310         USE or CLOBBER insns as throwing.
15311
15312         * expr.c (store_constructor): Don't clobber memory targets.
15313
15314 2001-08-06  Andreas Jaeger  <aj@suse.de>
15315
15316         * profile.c (branch_prob): Remove unused variable insn.
15317
15318         * Makefile.in (local-alloc.o): Add dependency on except.h.
15319
15320         * local-alloc.c: Include except.h for can_throw_internal prototype.
15321
15322 2001-08-06  Richard Henderson  <rth@redhat.com>
15323
15324         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
15325         * function.c (expand_main_function): Implement it.
15326         * doc/tm.texi: Document it.
15327
15328 2001-08-06  Stan Shebs  <shebs@apple.com>
15329
15330         * doc/install.texi: Document powerpc-*-darwin* details.
15331
15332 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
15333
15334         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
15335         (ASM_CPU_SPEC): Move back to rs6000.h
15336         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
15337
15338         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
15339
15340         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
15341         readded.
15342
15343         * config/rs6000/linux64.h: Ditto.
15344
15345         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
15346         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
15347         nothing.
15348
15349         Remove accidently readded definitions of FUNCTION_PROLOGUE,
15350         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
15351
15352         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
15353         to rs6000.h
15354
15355 2001-08-05  Richard Henderson  <rth@redhat.com>
15356
15357         * local-alloc.c (update_equiv_regs): Do not move insns that
15358         can throw.
15359
15360 2001-08-05  Jan Hubicka  <jh@suse.cz>
15361
15362         * Makefile.in (reload1.o): Add dedendancy on except.h
15363         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
15364         prototypes.
15365         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
15366         indicating wehther edges has been cleaned up.
15367         * reload1.c: Inlucde except.h
15368         (fixup_abnormal_edges): Accept deleted insns.
15369         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
15370         after combine.
15371
15372 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
15373
15374         * cpplib.c (do_line): Correct line number after pop_buffer.
15375
15376 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
15377
15378         PR preprocessor/3824
15379         * line-map.c: Update comments.
15380         * line-map.h: Update comments.
15381         * tradcif.y: Don't consider large numbers unsigned.
15382
15383 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
15384
15385         PR preprocessor/3081
15386         * c-lex.c (map): New.
15387         (cb_file_change): Update map and use it.
15388         (cb_def_pragma, cb_define, cb_undef): Use map and line.
15389         (c_lex): Update to use map.
15390         * cpperror.c (print_location): Move to using logical line numbers.
15391         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
15392         (cpp_make_system_header): Similarly.
15393         (_cpp_execute_include): Stop line numbering hacks.  Store the
15394         line we will return to.
15395         * cpphash.h (CPP_BUF_LINE): Remove.
15396         (struct cpp_buffer): Remove lineno and pseudo_newlines.
15397         Add map and return_to_line.
15398         (_cpp_do_file_change): Update.
15399         * cppinit.c (cpp_start_read): Update line kludge.
15400         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
15401         (trigraph_ok): Use logical line numbers for diagnostics.
15402         (skip_block_comment): Likewise.
15403         (skip_whitespace): Likewise.
15404         (skip_line_comment): Use pfile->line instead.
15405         (_cpp_lex_token): Update to use logical line numbering exclusively.
15406         Handle BOL locally.  Accept new lines in directives, but keep
15407         pfile->line decremented.  Diagnostics use logical lines.  Update
15408         directive handling.
15409         * cpplib.c (SEEN_EOL): New.
15410         (skip_rest_of_line, check_eol): Use it.
15411         (end_directive): Increase line number when accepting the newline
15412         at the end of a directive.
15413         (run_directive): Simplify.
15414         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
15415         (_cpp_do_file_change): Update to take buffer line number as an
15416         argument, and store the current map in the cpp_reader.  Remove
15417         line number kludges.
15418         (_cpp_do__Pragma): Restore output position after a _Pragma.
15419         (cpp_push_buffer): Don't set output line or lineno.
15420         (_cpp_pop_buffer): Transfer more info from a faked buffer.
15421         Remove line kludge.  Set output_line.
15422         * cppmacro.c (builtin_macro): Update handling of __LINE__.
15423         (parse_arg): Use logical lines.
15424         (save_lookahead_token): Save EOFs too now.
15425         * cppmain.c (struct printer): Fix comments.
15426         (printer_init): Simplify, let caller do errors.
15427         (scan_translation_unit, check_multiline_token, dump_macro): Update.
15428         (maybe_print_line): Simplify.
15429         (print_line): Don't print a linemarker if -P.
15430         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
15431         (cb_file_change): Simplify.
15432         * line-map.h (LAST_SOURCE_LINE): Fix.
15433         (CURRENT_LINE_MAP): New.
15434
15435 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
15436
15437         * doloop.c (doloop_modify_runtime): Properly compute number of
15438         iterations if loop was unrolled.
15439
15440         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
15441         if their CSELIB_VAL_PTRs are.
15442
15443         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
15444         (setup_spill_pointers): Initialize it.
15445         (spill_restore_mem): Set it.
15446         (do_spill, do_restore): Use it to add REG_INC note.
15447         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
15448
15449         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
15450         asms if other insns are available.
15451
15452         * config/ia64/ia64.c (condop_operator): New predicate.
15453         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
15454         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
15455         patterns.
15456
15457         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
15458         temporary register than directly using a MEM.
15459
15460 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15461
15462         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
15463         parameter in last change.
15464
15465 2001-08-04  Zack Weinberg  <zackw@panix.com>
15466
15467         * sparc.md: Don't use #if inside C test expression.
15468
15469 2001-08-04  Richard Henderson  <rth@redhat.com>
15470
15471         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
15472
15473 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
15474
15475         * cpphash.h (struct cpp_reader): New member directive_line.
15476         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
15477         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
15478         do_pragma): Pass line to callbacks.
15479         (start_directive): Record line of directive.
15480         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
15481         cb_include): Similarly.
15482         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
15483         Similarly.
15484
15485 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15486
15487         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
15488         comment.
15489
15490 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
15491
15492         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
15493
15494         * reload1.c (fixup_abnormal_edges): New static function.
15495         (reload): Use it.
15496
15497         * flow.c (need_fake_edge_p): New function.
15498         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
15499         avoid call insn to be very last insn in the insn stream.
15500
15501         * profile.c (branch_prob): Call flow_call_edges_add instead of
15502         doing that by hand; cleanup cfg to re-merge basic blocks once
15503         we are done.
15504
15505 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15506
15507         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
15508         are also on line-map.h.
15509         * cppfiles.c (stack_include_file): Update.
15510         * cpphash.h (struct cpp_buffer): New member return_at_eof.
15511         (_cpp_pop_buffer): New.
15512         * cppinit.c (cpp_destroy, cpp_finish): Update.
15513         (do_includes): Mark each buffer to return at EOF.
15514         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
15515         return as requested.
15516         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
15517         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
15518         * cpplib.h (cpp_pop_buffer): Remove.
15519         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
15520         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
15521         buffers.
15522         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
15523         to pop buffers.
15524         (do_preprocessing): Update.
15525         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
15526         * c-parse.in (_yylex): Similarly.
15527         * scan-decls.c (scan_decls): Similarly.
15528         * line-map.h: Update comments.
15529
15530         * objc/Make-lang.in (objc-act.o): Update dependencies.
15531
15532 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15533
15534         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
15535         and soft register for operand 0.
15536         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
15537
15538 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15539
15540         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
15541         register for operand 0.
15542         ("bitcmpqi_z_used"): Allow memory for operand 0.
15543         (split "bitcmpqi"): New split to handle address reg as operand 1.
15544
15545 2001-08-04  Andreas Jaeger  <aj@suse.de>
15546
15547         * gcse.c: Revert Daniel's last patch.
15548
15549 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15550
15551         * sparc-protos.h: Add prototypes for fp_zero_operand and
15552         reg_or_0_operand.
15553         * sh-protos.h: Add prototype for fpul_operand.
15554
15555 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15556
15557         * doc/extend.texi (Other Builtins): Fix typo in last change.
15558
15559 2001-08-03  Richard Henderson  <rth@redhat.com>
15560
15561         * target.h (gcc_target): Add asm_out.named_section,
15562         section_type_flags, have_named_sections.
15563         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
15564         (TARGET_HAVE_NAMED_SECTIONS): New.
15565         (TARGET_SECTION_TYPE_FLAGS): New.
15566
15567         * Makefile.in (toplev.o): Depend on TARGET_H.
15568         (varasm.o, dbxout.o): Likewise.
15569         * c-common.c (decl_attributes): Check targetm.have_named_sections
15570         instead of ifdef ASM_OUTPUT_SECTION_NAME.
15571         * dbxout.c (dbxout_function_decl): Likewise.
15572         (dbxout_function_end): Likewise.
15573         * toplev.c (compile_file): Likewise.
15574         * varasm.c (exception_section): Likewise.
15575         * cp/decl2.c (finish_objects): Likewise.
15576
15577         * defaults.h (EH_FRAME_SECTION): Remove.
15578         (EH_FRAME_SECTION_ASM_OP): Remove.
15579         (EH_FRAME_SECTION_NAME): New.
15580         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
15581         (UNIQUE_SECTION_P): Remove.
15582         * dwarf2out.c (SECTION_FORMAT): Remove.
15583         (ASM_OUTPUT_SECTION): Remove.
15584         (output_call_frame_info): Use named_section_flags.
15585         (output_comp_unit, dwarf2out_start_source_file): Likewise.
15586         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
15587         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
15588         * varasm.c (in_eh_frame, eh_frame_section): Remove.
15589         (named_section_flags): New.
15590         (named_section): Use it and targetm.section_type_flags.
15591         (resolve_unique_section): New.
15592         (assemble_start_function): Use it.
15593         (asm_emit_uninitialised, assemble_variable): Likewise.
15594         (default_section_type_flags): New.
15595         (default_no_named_section, default_elf_asm_named_section): New.
15596         (default_coff_asm_named_section, default_pe_asm_named_section): New.
15597         * output.h: Update varasm.c decls.
15598         (SECTION_*): New flags.
15599
15600         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
15601         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
15602
15603         * config/elfos.h (UNIQUE_SECTION_P): Remove.
15604         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
15605         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
15606         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15607         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
15608         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
15609         * config/mips/elf.h, config/mips/elf64.h: Likewise.
15610         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
15611         * config/pa/pa64-hpux.h,
15612
15613         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
15614         (TARGET_ASM_NAMED_SECTION): New.
15615         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
15616         * config/alpha/vms.h, config/arm/coff.h: Likewise.
15617         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
15618         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
15619         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
15620         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
15621         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15622         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
15623         * config/i386/sco5.h, config/i386/win32.h: Likewise.
15624         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
15625         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
15626         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
15627         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
15628         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
15629         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
15630         * config/sparc/sysv4.h: Likewise.
15631
15632         * config/nextstep.h: Error until named sections implemented.
15633
15634         * config/a29k/a29k.c (a29k_asm_named_section): New.
15635         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
15636         (vms_section_type_flags, vms_asm_named_section): New.
15637         * config/arm/arm.c (arm_elf_asm_named_section): New.
15638         * config/avr/avr.c (asm_output_section_name): Remove.
15639         * config/avr/avr-protos.h: Update.
15640         * config/c4x/c4x.c (c4x_asm_named_section): New.
15641         * config/h8300/h8300.c (h8300_asm_named_section): New.
15642         * config/i386/i386.c (sco_asm_named_section): New.
15643         * config/i386/winnt.c (SECTION_PE_SHARED): New.
15644         (i386_pe_section_type_flags): New.
15645         (i386_pe_asm_named_section): New.
15646         * config/i386/i386-protos.h: Update.
15647         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
15648         * config/mcore/mcore.c (mcore_asm_named_section): New.
15649         * config/mips/mips.c (iris6_asm_named_section): New.
15650         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
15651         instead of UNIQUE_SECTION_P.
15652         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
15653         (xcoff_asm_named_section): New.
15654         * config/sh/sh.c (sh_asm_named_section): New.
15655         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
15656
15657         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
15658         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
15659         (EH_FRAME_SECTION_NAME): New.
15660         (EXCEPTION_SECTION): New.
15661         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
15662         (DEBUG_*_SECTION): Remove.
15663         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
15664         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
15665         (EH_FRAME_SECTION_ASM_OP): Remove.
15666
15667         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
15668         (ASM_OUTPUT_SECTION_NAME): Remove.
15669         (TARGET_ASM_NAMED_SECTION): New.
15670         (TARGET_HAVE_NAMED_SECTIONS): New.
15671         (TARGET_SECTION_TYPE_FLAGS): New.
15672         (EH_FRAME_SECTION_ASM_OP): Remove.
15673         (EH_FRAME_SECTION_NAME): New.
15674
15675 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15676
15677         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
15678         for complex expressions when cfun == 0.
15679         * doc/extend.texi: Document that __builtin_constant_p can be
15680         used in data initializers as well as functions.
15681
15682 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
15683
15684         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
15685         variable I locally, instead of expecting a declaration in the
15686         calling context.
15687
15688 2001-08-03  Richard Henderson  <rth@redhat.com>
15689
15690         * except.c (collect_one_action_chain): Add an explicit cleanup
15691         action if regions surrounding a catch were encoded entirely
15692         within the call-site entry.
15693
15694 2001-08-03  Richard Henderson  <rth@redhat.com>
15695
15696         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
15697         don't take REGNO of a non-register.
15698
15699 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15700
15701         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
15702         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
15703         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
15704         (__gthread_mutex_init_function): New function for mutex initialization.
15705
15706 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15707
15708         * Makefile.in: Revert screwed up commit.
15709
15710 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15711
15712         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
15713         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
15714         merged by linker script to get a final _exit().
15715         (__do_global_dtors): New for destructor handling in specific exit
15716         section.
15717         (__do_global_ctors): New for constructors in specific install section.
15718         (__map_data_section): Map data sections before running constructors.
15719         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
15720         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
15721         (DTORS_SECTION_ASM_OP): Likewise.
15722         (CTORS_SECTION_FUNCTION): Define to force a reference to
15723         __do_global_ctors.
15724         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
15725
15726 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15727
15728         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
15729
15730         * Makefile.in: Add df.h to gcse.c dependencies.
15731
15732 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15733
15734         * varasm.c (output_constant_def_contents): Use for the length of a
15735         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
15736         depending on which is larger.
15737
15738 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15739
15740         * gcse.c: Include df.h for use as a dataflow analyzer.
15741         Remove regvec.
15742         Declaration of reg_set_info: gone.
15743         New df_analyzer variable used by store motion.
15744         (reg_set_info): Deleted.
15745         (mark_mem_regs): New function, analyze regs used by a mem.
15746         (store_ops_ok): Use dataflow analyzer results to determine if
15747         necessary regs are changed in the block.
15748         (find_moveable_store): Remove check for symbol ref, we can handle
15749         much more complex expressions now.
15750         (compute_store_table): Remove most of the code, it's unnecessary
15751         now that the dataflow analyzer records the info for us.
15752         (store_killed_after): Add parameter to say whether to do the
15753         store_ops_okay test, used to speed up testing when we already know
15754         the answer, and just want to know if the store itself was killed.
15755         (build_store_vector): Largely rewritten to calculate the various
15756         vectors properly, and somewhat optimized.
15757         (store_motion): Init the df_analyzer, get REG_DEF chains.
15758         Also handle trapping expressions (since mems almost always trap)
15759         (simple_mem): Redefine what a simple mem is.
15760
15761 2001-08-03  DJ Delorie  <dj@redhat.com>
15762
15763         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
15764         set from a constant part of the condition.
15765
15766 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
15767
15768         * mkdeps.c (deps_add_default_target): Make local variable
15769         ``start'' a const char pointer.
15770         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
15771
15772 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15773
15774         * doc/install.texi (Configuration): Fix markup.
15775         (Specific, i?86-*-udk): Likewise.
15776         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
15777         --with-gnu-ld.
15778         Document --enable-threads and --enable-libgcj status.
15779         (Specific, mips-sgi-irix*): Canonicalize triples.
15780         (Specific, mips-sgi-irix5): Warn about problems with this config.
15781         Mention required GNU as patch.
15782         Native assembler problems are fixed.
15783         (Specific, mips-sgi-irix6): Update O32 ABI support status.
15784         Document --enable-threads and --enable-libgcj status.
15785
15786 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15787
15788         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
15789         of mkinstalldirs.
15790
15791 2001-08-03  Richard Henderson  <rth@redhat.com>
15792
15793         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
15794         constant data.
15795
15796 2001-08-03  Richard Henderson  <rth@redhat.com>
15797
15798         * rtlanal.c (find_first_parameter_load): Stop if we
15799         reach a CODE_LABEL at BOUNDARY.
15800
15801 2001-08-03  Richard Henderson  <rth@redhat.com>
15802
15803         * config/alpha/alpha.md (force_movdi): New insn.
15804         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
15805         Tweek FRP marking of VMS prologue insns.
15806         * config/alpha/vms.h (EPILOGUE_USES): New.
15807
15808 2001-08-02  Richard Henderson  <rth@redhat.com>
15809
15810         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
15811
15812 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15813
15814         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
15815         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
15816         config/convex/convex.h, config/d30v/d30v.c,
15817         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
15818         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
15819         config/mips/mips.h, config/mn10200/mn10200.h,
15820         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
15821         config/v850/v850.h, config/vax/openbsd.h,
15822         config/vax/openbsd1.h, config/vax/ultrix.h,
15823         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
15824         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
15825         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
15826         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
15827         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
15828         in comments and documentation.
15829
15830 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15831
15832         * line-map.c: New.
15833         * line-map.h: New.
15834         * Makefile.in (line-map.o): New.
15835         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
15836         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
15837         * cpperror.c (print_containing_files): Similarly.
15838         (print_location): Update.  Don't output a space before _Pragma.
15839         * cppfiles.c (stack_include_file): Set to line 1 immediately.
15840         (stack_include_filee, cpp_make_system_header): Update.
15841         (_cpp_execute_include): Get logical line number right for calling
15842         as-yet-unterminated #include.
15843         * cpphash.h (struct cpp_reader): Add line_maps.
15844         (_cpp_do_file_change): Update.
15845         * cppinit.c (cpp_create_reader): Initialize line maps.
15846         (cpp_destroy): Destroy line maps.
15847         (cpp_start_read): Get logical line number right.
15848         * cpplex.c (parse_string): Only warn once for multi-line strings.
15849         Use boolean variable for null warning.
15850         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
15851         already.
15852         (do_include_common): End the directive early.
15853         (do_line): Don't warn about out-of-range lines in preprocessed
15854         source.  Update.  Remove unused variables.
15855         (_cpp_do_file_change): Update for new line mapping.
15856         (pragma_cb): New typedef.
15857         (cpp_register_pragma): Stop looking ahead before calling the
15858         handler.  Clean up.
15859         (do_pragma_system_header): End directive early.
15860         (cpp_get_line_maps): New.
15861         (cpp_pop_buffer): Fudge logical line.  Update.
15862         * cpplib.h: Include line-map.h
15863         (enum cpp_fc_reason): Remove.
15864         (struct cpp_file_change): Update.
15865         (cpp_get_line_maps): New.
15866         * cppmain.c (struct_printer): New member map.
15867         (cb_file_change): Update for new mappings.
15868         * fix-header.c (cb_file_change): Similarly.
15869
15870 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15871
15872         * Makefile.in (libgcc.mk): Define mkinstalldirs.
15873         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
15874
15875 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15876
15877         * config/vax/vax.c: include expr.h.
15878
15879 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15880
15881         * Makefile.in ($(srcdir)/configure): Only rebuild in
15882         maintainer mode.
15883         ($(srcdir)/config.in): Only define in maintainer mode.
15884         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
15885
15886 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
15887
15888         * doc/install.texi (Install GCC: Binaries): Update Bull info.
15889
15890 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15891
15892         * gcc.c (set_collect_gcc_options): New function, split out from
15893         main.
15894         Ignore elided switches.
15895         (do_spec_1): Invoke before executing command.
15896         (set_input): Export.
15897         Move declaration ...
15898         * gcc.h (set_input): ... here.
15899         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
15900         file.
15901
15902 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
15903
15904         Kill -fhonor-std.
15905         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
15906         interaction.
15907         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
15908
15909 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
15910
15911         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
15912         for the unnamed instructions it expands to.
15913
15914 2001-08-02  Richard Henderson  <rth@redhat.com>
15915
15916         * regclass.c (call_really_used_regs): Conditionally define.
15917         (init_reg_sets_1): Don't use it if not defined.
15918         (fix_register): Similarly, don't set it.
15919
15920 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15921
15922         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
15923         Correct comment that had been missed in the previous change.
15924
15925 2001-08-01  Stan Shebs  <shebs@apple.com>
15926
15927         * config/darwin.c (machopic_stub_name): Try matching by name.
15928         (update_stubs): New function.
15929         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
15930         unconditionally.
15931
15932 2001-08-01  Richard Henderson  <rth@redhat.com>
15933
15934         * except.c (output_function_exception_table): Use assemble_align.
15935         * varasm.c (assemble_eh_label): Remove.
15936         (assemble_eh_align, assemble_eh_integer): Remove.
15937
15938 2001-08-01  Robert Lipe  <robertl@caldera.com>
15939
15940         * dwarfout.c: Remove reference to README.DWARF.
15941
15942 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
15943
15944         * regclass.c (call_really_used_regs): New array for registers which
15945         are actually used by a call.
15946         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
15947         new array.
15948         (fix_register): Set call_really_used too.
15949         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
15950         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
15951
15952 2001-08-01  Richard Henderson  <rth@redhat.com>
15953
15954         * read-rtl.c (read_name): Consider \r whitespace.
15955
15956 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
15957
15958         * config.gcc: Recognize powerpc-*-netbsd*.
15959
15960         * doc/install.texi (Host/target specific installation notes for
15961         GCC): Mention powerpc-*-netbsd*.
15962
15963         * config/rs6000/netbsd.h: New file.
15964         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
15965         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
15966         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
15967         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
15968         (TARGET_VERSION): Redefine.
15969
15970         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
15971         mcall-netbsd as a match for mcall-sysv.
15972         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
15973         (ncrti.S, ncrtn.S): New targets.
15974         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
15975
15976         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
15977         "netbsd' as a V4 ABI.
15978         (ASM_SPEC): Check for -mcall-netbsd.
15979         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
15980         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
15981         (LIB_SPEC, ENDFILE_SPEC): Ditto.
15982         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
15983         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
15984         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
15985         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
15986
15987         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
15988         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
15989
15990 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
15991
15992         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
15993         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
15994         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
15995         including "unwind-pe.h".
15996
15997 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15998
15999         * rs6000.md (define_splits): Kill unused constraints.
16000
16001 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
16002                               Jan Hubicka  <jh@suse.cz>
16003
16004         * function.c (thread_prologue_and_epilogue_insns): Kill code
16005         dealing with non-existent CFG.
16006
16007 2001-08-01  Kazu Hirata  <kazu@hxi.com>
16008
16009         * alias.c: Fix comment formatting.
16010         * bitmap.c: Likewise.
16011         * builtins.c: Likewise.
16012         * calls.c: Likewise.
16013         * c-common.c: Likewise.
16014         * c-decl.c: Likewise.
16015         * c-dump.c: Likewise.
16016         * c-lex.c: Likewise.
16017         * collect2.c: Likewise.
16018         * combine.c: Likewise.
16019         * conflict.c: Likewise.
16020         * cppfiles.c: Likewise.
16021         * cppinit.c: Likewise.
16022         * cpplex.c: Likewise.
16023         * cpplib.c: Likewise.
16024         * cppmacro.c: Likewise.
16025         * cppspec.c: Likewise.
16026         * c-pragma.c: Likewise.
16027         * crtstuff.c: Likewise.
16028         * cse.c: Likewise.
16029         * cselib.c: Likewise.
16030         * c-semantics.c: Likewise.
16031         * c-typeck.c: Likewise.
16032
16033 2001-08-01  H.J. Lu <hjl@gnu.org>
16034
16035         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
16036
16037 2001-08-01  H.J. Lu <hjl@gnu.org>
16038
16039         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
16040
16041 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
16042
16043         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
16044         contextualizing Objective-C class name lookup by the lexer.
16045         (typespec_reserved_nonattr): Disable ObjC class name lookup after
16046         seeing a TYPESPEC.
16047         (protocoldef): Add support for forward @protocol declarations.
16048         (yylexname): Suppress ObjC class name lookup in certain contexts;
16049         re-enable after lookup is complete.
16050         (_yylex): Re-enable ObjC class name lookup when certain
16051         punctuation marks are seen.
16052
16053         * objc/objc-act.c (check_protocol_recursively): New function used
16054         for finding circular dependencies in protocols.
16055         (objc_declare_protocols): New function for handling forward
16056         @protocol declarations.
16057         (receiver_is_class_object): Detect the case when 'self' is used
16058         inside of a class method.
16059         (build_message_expr): Issue a warning if class method is desired
16060         but instance method is found instead.
16061         (conforms_to_protocol): Streamline.
16062         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
16063         protocol Foo, even if 'Bar foo' does not.
16064         (check_protocols): Streamline.
16065         (start_protocol): Add checks for circular and duplicate protocol
16066         definitions.
16067         (encode_aggregate_within): For typedefs of structs, encode the
16068         underlying struct.
16069         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
16070         (objc_declare_protocols): New prototype.
16071
16072 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16073
16074         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
16075         * cpplex.c (handle_newline): Update prototype.  Maintain logical
16076         line number.
16077         (skip_escaped_newlines, skip_block_comment, parse_string):
16078         Update accordingly.
16079         (_cpp_lex_token): Update, and store token position within the token.
16080         * cpplib.h (struct cpp_token): Add line and column entries.
16081         * cppmacro.c (replace_args): Position stringified tokens correctly.
16082
16083 2001-08-01  Andreas Jaeger  <aj@suse.de>
16084
16085         * basic-block.h: Add prototype for last_loop_beg_note.
16086
16087 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
16088
16089         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
16090         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
16091         comment.
16092         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
16093         while handling WITH_CLEANUP_EXPR node. Use second operand calling
16094         expand_decl_cleanup.
16095         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
16096         the first RTX.
16097         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
16098         operand while calling simple_cst_equal.
16099         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
16100         operand is the cleanup expression, the third is the RTL_EXPR.
16101         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
16102
16103 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
16104
16105         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
16106
16107 2001-07-31  matthew green  <mrg@eterna.com.au>
16108
16109         * config.gcc (i386-*-netbsdelf): New description.
16110         * config/i386/netbsd-elf.h: New file.
16111
16112 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
16113
16114         * loop.c (check_dbra_loop): Use single_set to compute
16115         jump_label.
16116
16117 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
16118
16119         PowerPC reorg and support for powerpc64-*-linux*.
16120
16121         Also fixes emitting of constants on 32 bit and 64 bit
16122         platforms.
16123
16124         * config.gcc: powerpc64-*-linux* is a new target.
16125         Things that needed aix.h now also include xcoff.h
16126
16127         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
16128         xcoff.h.
16129         Move AIX specific stuff into aix.h.
16130         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
16131         with more than just XCOFF now.
16132         (SET_ASM_OP): Remove, now defined where needed.
16133         (FUNCTION_PROLOGUE): New macro definition.
16134         (FUNCTION_EPILOGUE): New macro definition.
16135         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
16136
16137         * config/rs6000/xcoff.h: New file.
16138
16139         * config/rs6000/linux64.h: New file.
16140
16141         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
16142
16143 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
16144
16145         * rs6000.c (print_operand_address): Handle ELF syntax.
16146         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
16147         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
16148         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
16149
16150 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
16151
16152         * rs6000.c (rs6000_override_options): Only disable
16153         flag_function_sections for XCOFF.
16154         (exact_log2_cint_operand): New predicate.
16155         (reg_or_{add,sub}_cint64_operand): New predicates.
16156         (add_operand): Compare CONST_INT with fewer function calls.
16157         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
16158         (print_operand, case 'p'): Ensure positive operand.
16159         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
16160         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
16161         (PREDICATE_CODES): Add new predicates.
16162         * rs6000.md (addsi3): Split 32-bit constants more correctly.
16163         (divsi3, modsi3): Ensure positive power-of-2.
16164         (adddi3): Use new predicate.  Split 32-bit constants more
16165         correctly.  Re-arrange splitter to handle any constant.
16166         (subdi3): Use new predicate.
16167         (divdi3, moddi3): Ensure positive power-of-2.
16168         (movdi): Use rs6000_emit_set_const.
16169         (load_toc_v4_pic_di): Delete.
16170
16171 2001-07-31  Graham Stott <grahams@redhat.com>
16172
16173         * function.c (pad_below): Revert 2001-07-26 patch.
16174
16175 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
16176
16177         * reg-stack (convert_regs_1): Fix best edge condition.
16178
16179 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
16180
16181         * jump.c (duplicate_loop_exit_test): Better test for jumps
16182         entering the loop; create loop pre_header.
16183
16184 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
16185
16186         * doc/install.texi: Add s390 and s390x as new targets.
16187         * doc/invoke.texi: Add documentation of S/390 and zSeries
16188         target options.
16189         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
16190
16191 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
16192
16193         * config/m68k/m68k.md: Replace all general_operand with
16194         nonimmediate_operand for all destinations.
16195         * config/m68k/m68k.c (not_sp_operand): Likewise.
16196
16197 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
16198
16199         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
16200
16201 2001-07-30  Richard Henderson  <rth@redhat.com>
16202
16203         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
16204         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
16205
16206 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
16207
16208         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
16209         Add missing doc strings
16210         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
16211         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
16212
16213 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
16214
16215         * i386.c (ix86_output_main_function_alignment_hack): New function.
16216         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
16217
16218         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
16219         edges by EDGE_DFS_BACK flag.
16220         (dump_edge_info): Add dfs_back flag.
16221         * basic-block.h (EDGE_DFS_BACK): New constant.
16222         (mark_dfs_back_edges): Declare.
16223         * alias.c (loop_p): Remove.
16224         (mark_constant_function): Use mark_dfs_back_edges.
16225
16226         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
16227         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
16228         (compensate_edge): Break out from ...
16229         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
16230         (convert_regs_2): Set block_done once block is really done;
16231         Do updating of the predecessors counts.
16232
16233         * toplev.c (rest_of_compilation): Recompute block_for_insn
16234         before post-reload cfg_cleanup.
16235         * function.c (thread_prologue_epilogue_insns):
16236         Call set_block_for_new_insns when emitting prologue directly.
16237
16238 2001-07-30  Andreas Jaeger  <aj@suse.de>
16239
16240         * jump.c: Add prototype for mark_modified_reg.
16241
16242         * cse.c (set_live_p): Add unused attribute.
16243
16244         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
16245         overflow.
16246         (scan_for_source_files): Use long for count to avoid overflow.
16247         (output_data): Likewise.
16248         (output_data): Don't use string concatatenation to silence gcc
16249         -traditional.
16250
16251         * predict.c: Fix typos and grammar.
16252
16253         * gcse.c (insert_insn_end_bb): Remove unused variables.
16254
16255 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
16256
16257         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
16258         (attempt_auto_inc): LIkewise.
16259         (mark_used_reg): Likewise.
16260         (try_pre_increment_1): Likewise.
16261         * regclass.c (regclass): Likewise.
16262         * global.c (allocno_compare): Update comment; change scaling factor.
16263         * local-alloc.c (QTY_CMP_PRI): Likewise.
16264         * regs.h (REG_FREQ_FROM_BB): New.
16265         (REG_FREQ_MAX): Likewise.
16266
16267 2001-07-30  H.J. Lu <hjl@gnu.org>
16268
16269         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
16270         -D_GNU_SOURCE.
16271
16272 2001-07-30  H.J. Lu  (hjl@gnu.org)
16273
16274         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
16275         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
16276         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
16277
16278 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
16279
16280         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
16281         as -mthumb-interwork when -mcpu=arm7 is specified.
16282
16283 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
16284
16285         * predict.def (noreturn, loop branch, loop exit): Mark as first
16286         match heuristics.
16287
16288 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
16289
16290         * combine.c (try_combine): Avoid barrier after noop jumps.
16291
16292 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16293
16294         * cpphash.h (struct cpp_reader): Remove import_warning.
16295         * cpplib.c (skip_rest_of_line): Don't bother turning off
16296         macro expansion.
16297         (parse_include): Move include handling to...
16298         (do_include_common): ... here.  Move import warning from...
16299         (do_import): ... here.
16300         (do_pragma_poison): Don't do a callback for poison identifiers.
16301         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
16302         * cppmain.c (setup_callbacks): Similarly.
16303
16304 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
16305
16306         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
16307         handle multiple sets.
16308         * except.c (sjlj_mark_call_sites): .... here.
16309         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
16310
16311 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
16312
16313         Suggested by Richard Henderson and Richard Kenner:
16314         * combine.c (recog_for_combine): Use the fake recog
16315         only if instruction does not match.
16316         * rtl.h (NOOP_MOVE_INSN_CODE): New.
16317         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
16318
16319         * combine.c (try_combine): Discover noop jump as direct jump.
16320
16321 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
16322
16323         * df.c (df_rd_global_compute): Add successors to worklist, not
16324         current item.
16325         (df_ru_global_compute): Ditto.
16326
16327 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
16328
16329         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
16330         increment REG_N_SETS.
16331
16332 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
16333
16334         * sbitmap.h: New prototype for sbitmap_a_xor_b.
16335
16336         * sbitmap.c (sbitmap_a_xor_b): New function.
16337         ifdef the basic block stuff on IN_GCC.
16338
16339 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16340
16341         * cppexp.c (parse_defined): Always record the macro name.
16342         (lex): Don't worry about identifiers, or special-case
16343         CPP_NOT here.
16344         (_cpp_parse_expr): Figure out at the end of the routine
16345         whether we saw a valid !defined() expression.
16346         * cppfiles.c (stack_include_file): Update for mi_valid.
16347         (_cpp_pop_file_buffer): Similarly.
16348         * cpplex.c (_cpp_lex_token): Similarly.
16349         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
16350         mi_if_not_defined, mi_lexed): Remove.
16351         (mi_valid): New.
16352         * cpplib.c (do_if): Simplify.
16353         (do_endif, push_conditional, _cpp_handle_directive): Update
16354         for renaming of mi_state to mi_valid.
16355 doc:
16356         * cpp.texi: Add index entries for digraphs, and add comment
16357         that C++ refers to them as alternative tokens.
16358
16359 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
16360
16361         * basic-block.h (CLEANUP_PRE_LOOP): New.
16362         * except.c (finish_eh_generation): Update call of cleanup_cfg.
16363         * sibcall.c (optimize_sibling_calls): Likewise.
16364         * toplev.c (rest_of_compilation): Likewise.
16365         * flow.c (try_forward_edges): Take argument MODE;
16366         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
16367         (try_optimize_cfg): Update call of try_forward_edges.
16368
16369 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16370                                 Jan Hubicka  <jh@suse.cz>
16371
16372         * (validate_replace_rtx_1): Fix simplification of MINUS.
16373
16374 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
16375
16376         PR preprocessor/3669
16377         * cppinit.c (init_dependency_output): Turn off dump requests
16378         if sending dependencies to stdout.
16379
16380 2001-07-28  Richard Henderson  <rth@redhat.com>
16381
16382         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
16383         not optimizing.
16384
16385 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
16386
16387         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
16388
16389 2001-07-28  Kazu Hirata  <kazu@hxi.com>
16390
16391         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
16392         is VAR_DECL first to prevent an ICE.
16393
16394 2001-07-28  Richard Henderson  <rth@redhat.com>
16395
16396         * varasm.c (immed_real_const_1): Don't elide special cases for
16397         nested functions.
16398         (clear_const_double_mem): Clear const_tiny_rtx too.
16399
16400 2001-07-28  Richard Henderson  <rth@redhat.com>
16401
16402         * dwarf2out.c (dw_val_class_offset): New.
16403         (struct dw_ranges_struct, dw_ranges_ref): New.
16404         (ranges_table, ranges_table_allocated): New.
16405         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
16406         (add_AT_offset, add_ranges, output_ranges): New.
16407         (print_die, output_die): Handle dw_val_class_offset.
16408         (attr_checksum, size_of_die, value_format): Likewise.
16409         (gen_lexical_block_die): Handle non-contiguous blocks.
16410         (gen_block_die): Likewise.
16411         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
16412         if needed.  Dump the ranges table.
16413         * final.c (final_start_function): Remove unnecessary notes and
16414         rebuild the block tree before numbering the blocks.
16415         * function.c (reorder_blocks_0): Walk the existing block tree
16416         to unmark all blocks.
16417         (reorder_blocks_1): Create block fragments when duplicate block
16418         notes are seen.
16419         (reorder_fix_fragments): New.
16420         (reorder_blocks): Call it.
16421         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
16422
16423 2001-07-28  Richard Henderson  <rth@redhat.com>
16424
16425         * emit-rtl.c (adjust_address): Make a copy of the memory address.
16426
16427 2001-07-28  Richard Henderson  <rth@redhat.com>
16428
16429         * flow.c (add_to_mem_set_list): New function.
16430         (init_propagate_block_info): Use it.
16431         (mark_set_1): Likewise.
16432         (insn_dead_p): Canonicalize memory address for dead store
16433         comparison.  Allow wider mode stores to kill narrower mode stores.
16434         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
16435         (invalidate_mems_from_set): Don't handle MEMs.
16436
16437 2001-07-28  Kazu Hirata  <kazu@hxi.com>
16438
16439         * config/h8300/h8300.h: Fix formatting.
16440
16441 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
16442
16443         * basic-block.h (EDGE_FREQUENCY): New macro.
16444         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
16445         for new BB/edges.
16446         * flow.c (find_sub_basic_blocks): Likewise.
16447         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
16448         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
16449
16450         * predict.c (DEF_PREDICTOR): New argument FLAGS.
16451         (HITRATE): New macro.
16452         (PRED_FLAG_FIRST_MATCH): New constant.
16453         (predictor_info): New field flgags.
16454         (combine_predictions_for_insn): Use DS theory to combine
16455         probabilities; set the edge probabilities when finished.
16456         (estimate_probability): Avoid duplicated matches
16457         of LOOP_BRANCH heuristics for nested loops; update comment.
16458         * predict.def: Add flags for each prediction, set probabilities
16459         according to B&L paper.
16460         * predict.h (DEF_PREDICTOR): New argument FLAGS.
16461
16462         * profile.c (compute_branch_probabilities):  Cleanup way the edge
16463         probabilities are computed and REG_BR_PROB notes are dropped; if
16464         values does not match, emit error.
16465         (init_branch_prob): Do error instead of warning when profile driven
16466         feedback is missing or corrupt.
16467
16468 2001-07-27  DJ Delorie  <dj@redhat.com>
16469
16470         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
16471         against a constant, try to adjust the compare to have the desired
16472         constant in it so that min/max optimizations happen more often.
16473
16474 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16475
16476         * flow.c (last_loop_beg_note): New function.
16477         (redirect_edge_and_branch): Use it.
16478         (split_edge): Likewise.
16479
16480         * alias.c (loop_p): Avoid uninitialized memory access.
16481
16482         * flow.c (try_forward_edges): Avoid accessing freed memory.
16483
16484         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
16485         variable access.
16486
16487 2001-07-26  Andrew Haley  <aph@redhat.com>
16488         Joern Rennecke <amylaar@redhat.com>
16489
16490         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
16491         (SUBTARGET_CPP_ENDIAN_SPEC): New.
16492         (SUBTARGET_CPP_SPEC): New.
16493         (CPP_SPEC): Remove.
16494         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
16495         (SUBTARGET_CPP_PTR_SPEC): New.
16496         (CPP_DEFAULT_CPU_SPEC): New.
16497         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
16498         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16499         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
16500         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16501         (SUBTARGET_CPP_SPEC): Define as an empty string.
16502
16503 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16504
16505         * doc/install.texi (Configuration): Properly link the host
16506         specific instructions also when generating HTML.
16507
16508 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
16509
16510         * flow.c (redirect_edge_and_branch_force): Test
16511         target->global_live_at_start.
16512
16513 2001-07-26  Richard Henderson  <rth@redhat.com>
16514
16515         * simplify-rtx.c (avoid_constant_pool_reference): Export.
16516         * rtl.h (avoid_constant_pool_reference): Declare it.
16517         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
16518         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
16519
16520 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
16521
16522         * rtl.h (cleanup_barriers): Declare.
16523         * jump.c (cleanup_barriers): New function.
16524         * toplev.c (rest_of_compilation): Call cleanup_barriers
16525         before loop optimizer and after bb_reorder.
16526
16527         * flow.c (back_edge_of_syntactic_loop_p): New.
16528         (split_edge): Use it.
16529
16530 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16531
16532         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
16533
16534 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
16535
16536         * cse.c (cse_process_notes): Replace any registers if the address
16537         remains valid.
16538
16539 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
16540
16541         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
16542         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
16543         (propagate_block): Update prototype.
16544         * flow.c (update_life_info): Simplify the CFG and
16545         recalculate the global regs which are alive when
16546         removing dead code during a global update.
16547         (propagate_block): Return non-zero if an INSN is
16548         deleted.
16549
16550 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16551
16552         * Makefile.in (LIBICONV): Define.
16553
16554 2001-07-26  Catherine Moore  <clm@redhat.com>
16555
16556         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
16557         of conditional to avoid tree checking errors.
16558
16559 2001-07-26  Kazu Hirata  <kazu@hxi.com>
16560
16561         * regmove.c (regmove_optimize): Don't replace a reg with
16562         another reg of a different mode.
16563
16564 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
16565
16566         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
16567         limit length of dependency flush list.
16568         * params.h (MAX_PENDING_LIST_LENGTH): Define.
16569         * sched-int.h  (struct deps): Add pending_flush_length field.
16570         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
16571         has 1 element in it.
16572         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
16573         (sched_analyze): After a jump, if the pending memory flush list is too
16574         large, flush the pending lists.
16575         (init_deps): Initialize pending_flush_length to 0.
16576         * doc/invoke.texi (max_pending_list_length): Document parameter.
16577
16578 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
16579
16580         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
16581         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
16582         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
16583
16584 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16585
16586         * cpphash.h (struct_lexer_state): Delete was_skipping.
16587         Move skipping here from struct cpp_reader.
16588         * cpplex.c (parse_identifier): Update.
16589         (_cpp_lex_token): Don't skip tokens in a directive.
16590         * cpplib.c (struct if_stack): Update.
16591         (start_directive, end_directive): Don't change skipping state.
16592         (_cpp_handle_directive): Update.
16593         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
16594         (do_else, do_endif): Update; only check for excess tokens if not
16595         in a skipped conditional block.
16596         (push_conditional): Update for new struct if_stack.
16597
16598 2001-07-26  Graham Stott  <grahams@redhat.com>
16599
16600         * function.c (locate_and_pad_parm): Also pad initial offset
16601         so that the total argument size also includes the padding.
16602
16603 2001-07-26  Graham Stott <grahams@redhat.com>
16604
16605         * gensupport.c (alter_output_for_insn): Correct enable checking failure
16606         change XSTR to XTMPL.
16607
16608         (process_one_cond_exec): Likewise
16609
16610 2001-07-25  Richard Henderson  <rth@redhat.com>
16611
16612         * varasm.c (assemble_variable): Create DECL_RTL before setting
16613         TREE_ASM_WRITTEN.
16614
16615 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
16616
16617         * predict.c (estimate_probability): Avoid duplicated predictions.
16618
16619         * loop.c (find_and_verify_loops): Grok multiple barriers.
16620
16621 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16622
16623         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
16624
16625         * dbxout.c: Consistently use putc instead of fputc.
16626         (print_wide_int): New function; call instead of direct fprintf.
16627         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
16628         (dbxout_type_fields, dbxout_type_method_1): Likewise.
16629         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
16630         (print_int_cst_octal): Likewise.
16631         (print_octal): Show we wrote characters.
16632         (dbxout_type): Set have_used_extensions in more places.
16633
16634 2001-07-25  Catherine Moore  <clm@redhat.com>
16635
16636         * config/v850/v850.c (v850_va_arg):  Use addr
16637         instead of valist to build incr.
16638
16639 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
16640
16641         * flow.c (delete_dead_jumptables): New function.
16642         (life_analyzis): Call it.
16643         * bb-reorder.c (skip_insns_after_block): Handle contradictory
16644         sequences.
16645
16646 2001-07-25  Richard Henderson  <rth@redhat.com>
16647
16648         * except.c (reachable_handlers): Handle a region being removed
16649         out from under a RESX.
16650
16651 2001-07-25  Richard Henderson  <rth@redhat.com>
16652
16653         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
16654         swap GE/GT if it is an fp comparison.
16655
16656 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
16657
16658         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
16659         operands.
16660
16661 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
16662
16663         * ssa.c (rename_insn_1): Do not wrap an assignment to a
16664         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
16665         glitch.
16666
16667         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
16668         throw an exception.
16669         (visit_expression): When attempting to simplify an expression,
16670         retrieve any modes for arguments before they are simplified
16671         to constants.
16672
16673 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16674             Janis Johnson  <janis@us.ibm.com>
16675
16676         * stmt.c (expand_goto): A nonlocal goto can be a call too.
16677         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
16678         pointer parameters to match documented usage of nonlocal_goto.
16679         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
16680         parameters to their correct order.
16681         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
16682         parameters to their correct order.
16683
16684 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16685
16686         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
16687
16688 2001-07-25  Jan Hubicka  <jh@suse.cz>
16689             Richard Henderson  <rth@redhat.com>
16690
16691         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
16692         the sequence.
16693         (make_edges): New argument update_p; populate the edge cache if set.
16694         (find_basic_blocks): Update make_edges invocation.
16695
16696 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16697
16698         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
16699
16700 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16701
16702         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
16703         -Acpu and -Amachine.h.
16704         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
16705         Corrected header to say ELF not a.out.
16706         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
16707         when given -msoft-float.
16708
16709 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16710
16711         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
16712         extra multilib parts like arm-elf.
16713         (i960-*-coff*, i960-*-rtems): Should not use collect2.
16714         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
16715         crtfini.o as extra multilib parts.
16716
16717 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16718
16719         * configure.in: Add rtems as a supported thread model.
16720         * gthr-rtems.h: Add missing entry point __gthread_active_p.
16721         * configure: Rebuilt.
16722
16723 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
16724
16725         * stor-layout.c (get_mode_alignment): make it work when
16726         BITS_PER_UNIT is not a power of two.
16727         * builtins.c (get_pointer_alignment): Likewise.
16728
16729 2001-07-24  Richard Henderson  <rth@redhat.com>
16730
16731         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
16732         the retrieved constant into the expected mode.
16733
16734 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
16735
16736         * flow.c (try_simplify_condjump): Avoid duplicated edges.
16737         (verify_flow_info): Check for duplicated edges; clarify
16738         error reporting.
16739
16740         * flow.c (block_label): Update basic_block_for_insn.
16741         (commit_edge_insertions): Call compute_bb_for_insn.
16742
16743         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
16744         returns too.
16745
16746         * flow.c (redirect_edge_and_branch,
16747         try_optimize_cfg): Use redirect_edge_succ_nodup
16748         (redirect_edge_succ_nodup): New.
16749         * basic_block.h (redirect_edge_succ_nodup): Declare.
16750
16751         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
16752         after gcse.
16753
16754 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
16755
16756         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
16757         (try_crossjump_to_edge): Update commetns.
16758         (try_crossjump_bb): Likewise.
16759
16760 2001-07-24  Richard Henderson  <rth@redhat.com>
16761
16762         * combine.c (distribute_notes): Move set of need_refresh
16763         for noop_move_p down to catch all cases.
16764
16765 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
16766
16767         * recog.c (split_all_insns_noflow): New.
16768         * rtl.h (split_all_insns_noflow): Declare.
16769         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
16770         * m68hc11.c (m68hc11_reorg): Likewise.
16771         * sh.c (machine_dependent_reorg): Likewise.
16772         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
16773         call.
16774
16775 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16776
16777         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
16778         (ashlsi3_n splitter): Likewise.
16779         (lshrsi3_n splitter): Likewise.
16780
16781         (GOTaddr2picreg): Make const SImode.
16782         (sym_label2reg): Likewise.
16783         (symGOT2reg): Likewise.
16784         (symGOTOFF2reg) Likewise.
16785
16786         (casesi_worker_0): Make unspec SImode.
16787
16788 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16789
16790         * config/sh/sh.c (barrier_align): Check that an operand really is
16791         an insn before extracting its INSN_CODE.
16792
16793 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
16794
16795         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
16796         dangling else.
16797
16798         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
16799         for SImode to prevent overflow.
16800
16801 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16802
16803         * config/mips/irix6-libc-compat.c: New file.
16804         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
16805         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
16806         passing workaround.
16807
16808 2001-07-24  lars brinkhoff  <lars@nocrew.org>
16809
16810         * rtl.texi (REG_POINTER): Document.
16811         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
16812         QFmode, HFmode, TQFmode, QCmode, and HCmode.
16813
16814 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
16815
16816         * flow.c (delete_noop_moves): Do not confuse libcall regions.
16817
16818 2001-07-23  Richard Henderson  <rth@redhat.com>
16819
16820         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
16821
16822 2001-07-23  Kazu Hirata  <kazu@hxi.com>
16823
16824         * config/h8300/h8300-protos.h: Add a prototype for
16825         general_operand_dst_push.
16826         * config/h8300/h8300.c (general_operand_dst_push): New.
16827         * config/h8300/h8300.h (OK_FOR_T): New.
16828         (EXTRA_CONSTRAINT): Use it.
16829         * config/h8300/h8300.md (movqi_push): Remove and integrate into
16830         the existing movqi pattern.
16831         (movhi_push): Likewise.
16832
16833         * reload.c: Fix comment typos.
16834
16835 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
16836
16837         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
16838
16839 2001-07-23  H.J. Lu  (hjl@gnu.org)
16840
16841         * doc/extend.texi: Update __builtin_return_address and
16842         __builtin_frame_address.
16843
16844 2001-07-23  Richard Henderson  <rth@redhat.com>
16845
16846         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
16847         before CSE.
16848         * config/i386/i386.md: New setcc+movzbl peephole2.
16849
16850 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16851
16852         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
16853         * objc/objc-act.c: Include debug.h.
16854         (synth_module_prologue): Save and restore debug hooks too.
16855
16856 2001-07-23  lars brinkhoff  <lars@nocrew.org>
16857
16858         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
16859         and C4X_FLOAT_FORMAT.
16860         (BOOL_TYPE_SIZE): Document.
16861
16862 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
16863
16864         * unroll.c (loop_iterations): Fix miscalculation of initial
16865         giv offset.
16866
16867 2001-07-13  Andrew Haley  <aph@redhat.com>
16868
16869         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
16870         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
16871         * config/sh/sh.c (sh_can_redirect_branch): New function.
16872         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
16873         * reorg.c (steal_delay_list_from_target): Use
16874         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
16875
16876 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
16877
16878         * flow.c (try_simplify_condjump): Unlink insn chain on
16879         fallthru edge; use can_fallthru.
16880
16881 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
16882
16883         * basic-block.h (find_sub_basic_block): Declare.
16884         * flow.c (make_edges): New arguments MIN and MAX;
16885         (find_sub_basic_blocks): Revamp to use make_edges
16886         and purge_dead_edges.
16887         (find_basic_blocks): Update call of find_sub_basic_block.
16888
16889         * recog.c (split_all_insns): Always expect CFG to be consistent;
16890         call find_sub_basic_blocks in case something has changed.
16891         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
16892         has been built.
16893
16894         * basic-block.h (delete_noop_moves): Declare.
16895         * combine.c (combine_instructions): Call it.
16896         (recog_for_combine): Tolerate noop moves
16897         (distribute_notes): Force refresh when register dies at noop move.
16898         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
16899         too.
16900         (life_analysis): Update delete_noop_moves call.
16901         (set_noop_p): Move too ...
16902         * rtlanal.c (noop_move_p): ... here.
16903         * rtl.h (noop_move_p): Declare.
16904
16905         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
16906         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
16907         after combine.
16908         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
16909         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
16910
16911 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
16912
16913         * reload.c (push_reload): Fix typo in comment.
16914         (find_reloads_address): Ditto.
16915         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
16916
16917 2001-07-22  Richard Henderson  <rth@redhat.com>
16918
16919         * flow.c: Grammar check and clarify a lot of comments.
16920         (try_simplify_condjump): Rename variables to be clearer.
16921         (try_forward_edges): Skip complex and fallthru edges.
16922         Rearrange tests to avoid duplicate checks.
16923         (flow_find_cross_jump): Likewise.
16924         (outgoing_edges_match): Allow match if neither branch has
16925         probability data.  Loosen probability match to 5%.
16926         (try_crossjump_to_edge): Hoist repeated indirection into
16927         local variables.
16928         (try_crossjump_bb): Don't check complex edges.  Eliminate
16929         redundant crossjump tests.
16930         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
16931         checks before more expensive checks.
16932
16933 2001-07-22  Richard Henderson  <rth@redhat.com>
16934
16935         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
16936         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
16937         arguments.
16938
16939 2001-07-22  Richard Henderson  <rth@redhat.com>
16940
16941         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
16942         (const_sint32_operand): Likewise.
16943         * m68k.md (anon mulsi pattern): Use const_int_operand not
16944         const_sint32_operand.
16945         (umulsi3_highpart): Zero extend a constant input.
16946         (smulsi3_highpart): Don't bother checking SImode constant.
16947         (const_umulsi3_highpart): Give op3 DImode.
16948         (const_smulsi3_highpart): Likewise.
16949
16950 2001-07-22  Richard Henderson  <rth@redhat.com>
16951
16952         * flow.c (split_block): Make sure bb_note is included in the
16953         new block when splitting before a label.
16954
16955 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
16956
16957         * basic-block.h (redirect_edge_and_branch_force,
16958         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
16959         * flow.c (redirect_edge_and_branch_force,
16960         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
16961         (redirect_edge_and_branch_force): Fix copying of lifeness information.
16962         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
16963         * ifcvt.c (dead_or_predictable): Take BB as an new destination
16964         instead of label; update CFG after transformation.
16965         (find_if_case_1): Update call, use redirect_edge_and_branch_force
16966         for finishing the transformation; handle even case where ELSE
16967         does not follow THEN.
16968         (find_if_case_2): Update call of dead_or_predictable; simplify
16969         CFG update.
16970
16971         * emit-rtl.c (split_branch_probability): New global variable.
16972         (try_split): Take care to set split_branch_probability and
16973         create REG_BR_PROB note for new jump insns.
16974         * md.texi (define_split): Document new feature.
16975
16976         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
16977
16978 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
16979
16980         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
16981         (asm_out_file): Remove redundant declaration.
16982         (assemble_asm): Remove old #if 0 block.
16983         (assemble_variable): Remove end of function; debug output is
16984         now handled with global_decl.  Remove old #if 0 block.  Update.
16985         Remove saved_in_section and associated no-op code.
16986         * Makefile.in (varasm.o): Correct dependencies.
16987
16988 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
16989
16990         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
16991         the definition in defaults.h.
16992
16993 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
16994
16995         * jump.c: Update comments.
16996         (delete_barrier_successors, delete_unreferenced_labels,
16997         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
16998         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
16999         jump_optimize, jump_optimize_minimal): Kill.
17000         (rebuild_jump_labels): Move code from jump_optimize_1.
17001         (purge_line_number_notes): Likewise.
17002         (copy_loop_headers): Likewise.
17003         * reg-stack.c: Update comment.
17004         * stmt.c: Likewise.
17005         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
17006         JUMP_AFTER_REGSCAN): Kill.
17007         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
17008         purge_line_number_notes and copy_loop_headers.
17009
17010 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
17011            Richard Henderson  <rth@redhat.com>
17012
17013         * dbxout.c (dbxout_global_decl): New.
17014         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
17015         * sdbout.c (sdbout_finish): New.
17016         (sdbout_debug_hooks): Use it, add comments.
17017         (sdbout_global_decl): Defer initialised public vars to
17018         sdbout_finish.
17019         * varasm.c (assemble_variable): Don't output debug information
17020         for file-scope variables.
17021
17022 2001-07-22  Richard Henderson  <rth@redhat.com>
17023
17024         * config/alpha/alpha.c (get_trap_mode_suffix): New.
17025         (get_round_mode_suffix): New.
17026         (print_operand): Use them for [/].  Remove support for [&'`()+].
17027         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
17028         * config/alpha/alpha.md (attr round_suffix): New.
17029         (attr trap_suffix): New.
17030         (all insns): Set them appropriately.  Use %/ instead of the
17031         myriad punctuators.
17032
17033 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
17034
17035         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
17036
17037 2001-07-22  Richard Henderson  <rth@redhat.com>
17038
17039         * regrename.c (regrename_optimize): Compute nregs for each
17040         potential target register.
17041
17042 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
17043            Richard Henderson  <rth@redhat.com>
17044
17045         * dbxout.c (dbxout_global_decl): New.
17046         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
17047         * sdbout.c (sdbout_finish): New.
17048         (sdbout_debug_hooks): Use it, add comments.
17049         (sdbout_global_decl): Defer initialised public vars to
17050         sdbout_finish.
17051         * varasm.c (assemble_variable): Don't output debug information
17052         for file-scope variables.
17053
17054 2001-07-21  H.J. Lu  (hjl@gnu.org)
17055
17056         * config/mips/mips.c (mips_cpu): Moved into ...
17057         (override_options): Here.
17058
17059         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
17060         mips_tune.
17061         (mips_cpu): Removed.
17062
17063 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17064
17065         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
17066         ("iorqi3"): Likewise.
17067         ("xorqi3"): Likewise.
17068         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
17069         ("*subhi3_sp): Likewise.
17070         ("*subhi3"): Likewise.
17071         ("extendhisi2"): Accept D, X and Y as source operand to avoid
17072         reload problems.
17073
17074 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
17075
17076         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
17077         * config/freebsd.h: Likewise.
17078         * config/linux.h: Likewise.
17079         * config/openbsd.h: Likewise.
17080         * config/alpha/linux-elf.h: Likewise.
17081         * config/arm/linux-elf.h: Likewise.
17082         * config/d30v/d30v.h: Likewise.
17083         * config/fr30/fr30.h: Likewise.
17084         * config/ia64/aix.h: Likewise.
17085         * config/ia64/ia64.h: Likewise.
17086         * config/mips/linux.h: Likewise.
17087         * config/pj/pj.h: Likewise.
17088         * config/rs6000/linux.h: Likewise.
17089         * config/sparc/linux.h: Likewise.
17090         * config/sparc/linux64.h: Likewise.
17091
17092 2001-07-20  Bruce Korb  <bkorb@gnu.org>
17093
17094         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
17095         because getc() and char* may disagree on signedness.
17096
17097 2001-07-20  Richard Henderson  <rth@redhat.com>
17098
17099         * doc/rtl.texi (REG_DEAD): Update for current semantics.
17100
17101         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
17102         insns to delete in the presence of cc0 in a jump insn.
17103
17104 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
17105                                 Jan Hubicka  <jh@suse.cz>
17106
17107         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
17108         of doing the change by hand.
17109
17110 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
17111
17112         * rtlanal.c (set_noop_p): Return true for noop jumps.
17113
17114         * expr.c (emit_single_push_insn): Add call to push expander.
17115         * expr.h (optab_index): Add OTI_push
17116         (push_optab): New constant.
17117         * genopinit.c (optabs): Add push_optab.
17118         * optabs.c (init_optab): Init push optab.
17119         * md.texi (push??1): Document
17120
17121 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17122
17123         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
17124         expand to emit the pattern; put a REG_INC note for push/pop
17125         instructions.
17126         ("movdf", "movdf_internal"): Likewise.
17127         ("movsi", "movsi_internal"): Likewise.
17128         ("movsf", "movsf_internal"): Likewise.
17129         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
17130
17131 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17132
17133         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
17134         gen_highpart.
17135
17136 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
17137
17138         * params.def: Change default max inline insns to 100.
17139
17140 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
17141
17142         * combine.c (combine_simplify_rtx): Generate a new shift operation
17143         when simplifying the first operand of a (neg (ashift)) expression.
17144
17145 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
17146
17147         * regclass.c (N_REG_INTS): Use only 32 bits per element.
17148
17149 2001-07-20  Kelley Cook  <kelley.cook@home.com>
17150
17151         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
17152         information.   Move rest into ...
17153         (*-*-solaris): ... here.  Eliminate redundant information and
17154         reword necessary packages section.  Delete 4.x assembler bug info.
17155         (sparc-sun-*): Merge into ...
17156         (sparc-sun-sunos*): here.
17157
17158 2001-07-20  Catherine Moore  <clm@redhat.com>
17159
17160         * config/v850/v850.md (casesi): Generate LABEL_REF
17161         with Pmode.
17162
17163 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
17164
17165         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
17166         * i386.c (ix86_zero_extend_to_Pmode): Make global.
17167         * i386.md (strclrsi expander): Use it.
17168
17169 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17170
17171         * integrate.c (copy_insn_list): handle
17172         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
17173         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
17174         identically as to CODE_LABEL.
17175
17176         * fold-const (fold): Convert A/B/C to A/(B*C) and
17177         A/(B/C) to (A/B)*C
17178
17179         * except.c (connect_post_landing_pads): Delete the RESX insns.
17180
17181 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
17182
17183         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
17184
17185         * config/mips/mips.md (nmadd/nmsub): Use macro.
17186
17187 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
17188
17189         * cppinit.c (remove_dup_dir): Make static.
17190         (remove_dup_dirs): Make static. Only warn about preempting a
17191         system directory with a non-system directory.
17192
17193 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
17194
17195         * ifcvt.c (noce_try_store_flag_constants): Correct order
17196         of parameters to trunc_int_for_mode.
17197
17198 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
17199
17200         * reorg.c (fill_simple_delay_slots): If an instruction might throw
17201         an exception that will be caught within this function, do not fill
17202         its delay slot with any subsequent instruction.
17203
17204 2001-07-19  Steve Ellcey <sje@cup.hp.com>
17205
17206         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
17207         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
17208         pointer extension instruction.
17209         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
17210         * simplify-rtx.c (simplify_unary_operation) Likewise.
17211         * explow.c (convert_memory_address) Check value of
17212         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
17213         less than zero.
17214         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
17215         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
17216         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
17217         Add Multilib Support.
17218         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
17219         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
17220         Add Multilib Support.
17221         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
17222         support.
17223         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
17224         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
17225         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
17226
17227 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
17228
17229         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
17230         old and new operands in `<', `3' and `b'.
17231
17232 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17233
17234         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
17235         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
17236         (toplev.o): Don't depend on xcoffout.h.
17237         * c-decl.c: Include debug.h
17238         (duplicate_decls): Use debug hook.
17239         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
17240         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17241         (dbxout_types): Remove.
17242         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
17243         * debug.c (do_nothing_debug_hooks): Update.
17244         (debug_true_tree, debug_nothing_rtx): New.
17245         * debug.h (struct rtx_def): New.
17246         (struct gcc_debug_hooks): New hooks ignore_block,
17247         outlining_inline_function and label.
17248         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
17249         dwarf2out_frame_finish): New.
17250         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
17251         Make static, update prototype.
17252         (dwarf2_debug_hooks): Update.
17253         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
17254         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
17255         * dwarfout.c (dwarf_debug_hooks): Update.
17256         * emit-rtl.c: Include debug.h.
17257         (remove_unnecessary_notes): Use debug hook.
17258         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
17259         (final_scan_insn): Use debug hook.
17260         * integrate.c (output_inline_function): Use debug hook.
17261         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
17262         (sdb_debug_hooks): Update.
17263         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
17264         * toplev.c: Don't include xcoffout.h.
17265         (note_outlining_of_inline_function, debug_ignore_block): Remove.
17266         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
17267         Remove.
17268         * tree.h (dwarf2out_do_frame): Remove.
17269
17270 2001-07-19  Catherine Moore  <clm@cygnus.com>
17271
17272         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
17273
17274 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
17275
17276         * reload1.c (eliminate_regs_in_insn): When updating a set
17277         to the frame pointer to the hardware frame pointer, perform
17278         the update always not just when REPLACE is set.
17279
17280         * reload1.c (choose_reload_regs): Don't inherit a reload
17281         that crosses multiple registers if registers past the first
17282         don't fit in the desired class.
17283
17284         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
17285         when negating constants.
17286
17287 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
17288
17289         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
17290         * doc/tree.texi: Ditto.
17291
17292 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
17293             Jakub Jelinek  <jakub@redhat.com>
17294
17295         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
17296         (extract_cie_info): Handle "eh" augmentation properly,
17297         remember eh_ptr.
17298         (struct frame_state, __frame_state_for): New.
17299
17300 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17301
17302         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
17303         HANDLE_SYSV_PRAGMA): Define.
17304         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
17305         previous args.
17306         (copy_object): Caller changed.
17307
17308 2001-07-19  Andreas Schwab  <schwab@suse.de>
17309
17310         * configure.in (assembler dwarf2 debug_line support): Define nop
17311         insn for m68k.
17312         * configure: Regenerated.
17313
17314 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17315
17316         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
17317         dwarfout.h.
17318         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
17319         to conditionally compiled block.
17320         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17321         * dbxout.h (dbxout_function): Remove.
17322         * debug.c (do_nothing_debug_hooks): Update.
17323         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
17324         global_decl, deferred_inline_function.
17325         * dwarf2out.c (dwarf2_debug_hooks): Update.
17326         (dwarf2out_global_decl): New.
17327         * dwarfout.c: Don't include dwarfout.h.
17328         (dwarfout_global_decl, dwarfout_function_decl,
17329         dwarfout_deferred_inline_function): New.
17330         (dwarf_debug_hooks): Update.
17331         * dwarfout.h: Remove.
17332         * final.c: Don't include dwarfout.h.
17333         * sdbout.c (sdbout_global_decl): New.
17334         (sdbout_debug_hooks): Update.
17335         * toplev.c: Don't include dwarfout.h.
17336         (check_global_declarations, rest_of_compilation): Use new debug hooks.
17337         (note_deferral_of_defined_inline_function): Remove.
17338         * toplev.h (note_deferral_of_defined_inline_function): Remove.
17339         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
17340         * ch/lex.c: Don't include dwarfout.h.
17341         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
17342         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
17343         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
17344         * cp/optimize.c: Include debug.h.
17345         (maybe_clone_body): Use debug hook.
17346         * cp/semantics.c: Include debug.h.
17347         (expand_body): Use debug hook.
17348         * po/POTFILES.in: Remove dwarfout.h.
17349
17350 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17351
17352         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
17353         * c-parse.in (yyerror, _yylex): Similarly.
17354         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
17355         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
17356         Update comments.
17357         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
17358         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
17359
17360 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
17361
17362         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
17363         in-class declaration at -g1.  Fixes c++/2814.
17364
17365 2001-07-18  Richard Henderson  <rth@redhat.com>
17366
17367         * doc/md.texi (reload_in/out): Document restrictions in predicates
17368         and constraints for these patterns.  Document empty string matching
17369         ALL_REGS.
17370
17371 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17372
17373         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
17374
17375 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
17376
17377         * cse.c: Undo my previous patch.
17378
17379 2001-07-18  Tom Tromey  <tromey@redhat.com>
17380
17381         For PR java/2812:
17382         * configure: Rebuilt.
17383         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
17384         instead.
17385         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
17386
17387 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
17388                                 Jan Hubicka  <jh@suse.cz>
17389
17390         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
17391         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
17392         * jump.c (mark_jump_label): Do not forward branches.
17393
17394 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
17395
17396         * cse.c (delete_trivially_dead_insns): Delete the libcall block
17397         when return value is unused.
17398
17399 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17400
17401         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
17402
17403 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
17404
17405         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
17406         on error.  We can't blindly return the result of
17407         pthread_mutex_trylock because it returns a positive number on
17408         error, while we must return -1 on error.
17409         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
17410         fixes.
17411         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
17412
17413 2001-07-18  Andreas Jaeger  <aj@suse.de>
17414
17415         * integrate.c (output_inline_function): Correct type of debug_hooks.
17416
17417 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
17418
17419         * combine.c (combine_simplify_rtx): DIV can be treated
17420         associatively for floats if unsafe math optimisations are enabled.
17421
17422 2001-07-17  Richard Henderson  <rth@redhat.com>
17423
17424         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
17425
17426 2001-07-17  Richard Henderson  <rth@redhat.com>
17427
17428         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
17429         don't force the function address into a register.
17430         (expand_call, emit_library_call_value_1): Update callers.
17431         * builtins.c (expand_builtin_apply): Likewise.
17432         * expr.h (prepare_call_address): Update decl.
17433
17434 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
17435
17436         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
17437         config directory.
17438         * config/i386/chorus.h: Move up.
17439         * config/sparc/chorus.h: Likewise.
17440         * config/rs6000/chorus.h: Likewise.
17441         * config/chorus.h: Moved here.
17442
17443 2001-07-17  Andreas Schwab  <schwab@suse.de>
17444
17445         * configure.in  (assembler eh_frame optimization): Handle big
17446         endian.
17447         * configure: Regenerated.
17448
17449 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
17450
17451         * expr.c (epxand_expr): Convert divisions into multiplications by
17452         reciprocals if -ffast-math.
17453
17454 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
17455
17456         * dbxout.c (dbxout_really_begin_function): Rename to
17457         dbxout_begin_function.
17458         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17459         (dbxout_begin_function): Remove.
17460         (dbxout_function): Update.
17461         (dbxout_source_line): Update prototype.
17462         * dbxout.h (dbxout_begin_function): Remove.
17463         * debug.c (do_nothing_debug_hooks): Update.
17464         (debug_nothing_tree): Update.
17465         (debug_nothing_charstar_rtx): Remove.
17466         * debug.h (union tree_node): Declare.
17467         (struct rtx_def): Remove.
17468         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
17469         begin_function.  Change source_line prototype.
17470         (debug_nothing_tree): New.
17471         (debug_nothing_charstar_rtx): Delete.
17472         (dwarf2out_begin_prologue): Moved from ...
17473         * tree.h: ... here.
17474         * dwarf2out.c (dwarf2_debug_hooks): Update.
17475         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
17476         debug info, call dwarf2out_source_line.
17477         (dwarf2out_souce_line): Update prototype.
17478         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
17479         Change prototype, make static.
17480         (dwarfout_source_line): Update prototype.
17481         (dwarf_debug_hooks): Update.
17482         * dwarfout.h (dwarfout_begin_function): Remove.
17483         * final.c (final_start_function, final_scan_insn): Use appropriate
17484         debug hooks, update to use notice_source_line.
17485         (output_source_line): Rename notice_source_line.  Don't call the
17486         source_line debug hook.
17487         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
17488         make static, update prototype.
17489         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
17490         prototype.
17491         (sdbout_end_prologue): New.
17492         (sdbout_source_line): Update prototype.
17493         (sdbout_debug_hooks): Update.
17494         (sdbout_symbol): Remove unused var.
17495         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
17496         Delete.
17497         * varasm.c: Include debug.h.
17498         (assemble_start_function): Use begin_function debug_hook.
17499         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17500         update with prototype.
17501         (xcoffout_source_line): Update prototype.
17502         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17503         update prototype.
17504         (xcoffout_source_line): Update prototype.
17505
17506 2001-07-17  Richard Henderson  <rth@redhat.com>
17507
17508         * c-typeck.c (build_binary_op): Do not shorten unsigned
17509         right shift after sign extension.
17510
17511 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
17512
17513         * combine.c (combine_simplify_rtx): Attempt to simplify
17514         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
17515
17516         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
17517         (simplify_binary_operation, simplify_unary_operation,
17518          simplify_relational_operation): Use it.
17519
17520         * combine.c (combine_simplify_rtx): Don't do associative law
17521         on divisions; allow associative law on floats.
17522
17523 2001-07-17  H.J. Lu <hjl@gnu.org>
17524             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17525
17526         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
17527         ASM_OUTPUT_WEAK_ALIAS are defined.
17528         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
17529         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
17530         Moved ...
17531         * config/mips/iris5.h: ... here.
17532         (HANDLE_SYSV_PRAGMA): Defined as 1.
17533         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
17534         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
17535         symbol.
17536
17537 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
17538
17539         * c-parse.in (all_prefix_attributes): New variable.
17540         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
17541         (maybe_resetattrs): New production.
17542         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
17543         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
17544         notype_initdcl, nested_function, notype_nested_function,
17545         component_decl, components, components_notype,
17546         component_declarator, component_notype_declarator,
17547         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
17548         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
17549         after a comma being applied to more than one declarator.
17550         * doc/extend.texi (Attribute Syntax): Update.  Remove
17551         documentation of bugs that are no longer present.
17552
17553 2001-07-13  Eric Christopher  <echristo@redhat.com>
17554
17555         * config/mips/mips.h: Change TUNE_MIPS* options to use
17556         mips_tune.
17557         (EXTRA_SPECS): Add cc1_cpu_spec.
17558         * config/mips/mips.md (muldf3): Fix typo.
17559
17560 2001-07-16  Richard Henderson  <rth@redhat.com>
17561
17562         * config/m68k/m68k.c: Include expr.h and reload.h.
17563         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
17564         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
17565
17566 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17567             Richard Henderson  <rth@redhat.com>
17568
17569         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
17570         (insn_live_p): Fix fall off end of function.
17571         (dead_libcall_p): Remove COUNTS argument; update callers.
17572         (delete_trivially_dead_insns): Remove unused variables.
17573
17574 2001-07-17  Andreas Jaeger  <aj@suse.de>
17575
17576         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
17577         x86-64 pic support.
17578
17579         * lcm.c (optimize_mode_switching): Avoid warning for unused
17580         variable if !NORMAL_MODE.
17581
17582         * flow.c (try_crossjump_to_edge): Remove unused variable.
17583
17584 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17585
17586         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
17587         atexit declaration in stdlib.h.
17588
17589 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
17590
17591         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
17592
17593 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17594
17595         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
17596         * except.c (finish_eh_generation): Update call of cleanup_cfg;
17597         do rebuild_jump_labels instead of jump_optimize
17598         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
17599         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
17600         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
17601
17602         * flow.c: Include timevar.h
17603         (find_basic_block): Push/pop timevar;
17604         (cleanup_cfg): Likewise.
17605         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
17606         * Makefile: Add dependencies on timevar.h
17607
17608         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
17609         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
17610
17611         * rtl.h (delete_trivially_dead_insns): Add new parameter.
17612         * toplev.c (rest_of_compilation): Update calls.
17613         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
17614         (delete_trivially_dead_insns): ... here; accept new argument
17615         preserve_basic_blocks; preserve basic blocks if set.
17616
17617         * reg-stack.c (stack_regs_mentioned): Return 0 if
17618         stack_regs_mentioned_data is not initialized.
17619         (reg_to_stack): Make stack_regs_mentioned survive after the
17620         reg-stack is completted; do not call cleanup_cfg.
17621         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
17622         make cleanup_cfg after bb-reorder to output to debug file.
17623
17624 2001-07-16  Richard Henderson  <rth@redhat.com>
17625
17626         * regclass.c (init_reg_sets): Use only 32 bits per initializer
17627         from int_reg_class_contents.
17628
17629 2001-07-16  Richard Henderson  <rth@redhat.com>
17630
17631         * hard-reg-set.h (regs_invalidated_by_call): Declare.
17632         * regclass.c (regs_invalidated_by_call): Move from cse.c.
17633         (init_reg_sets_1): Move initialization from cse_main.
17634         * cse.c (regs_invalidated_by_call): Move to regclass.c.
17635         (cse_main): Move its initialization also.
17636         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
17637         * flow.c (propagate_one_insn): Likewise.
17638         * gcse.c (compute_hash_table): Likewise.
17639         (compute_kill_rd, compute_store_table): Likewise.
17640         * sched-deps.c (sched_analyze_1): Likewise.
17641
17642 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
17643
17644         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
17645         gen_rtx_SET.
17646
17647 2001-07-16  Steve Ellcey <sje@cup.hp.com>
17648
17649         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
17650         in if statement so we don't access undefined memory.
17651
17652 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17653
17654         * gcse.c: Update comment at top.
17655         Update comment on mem handling.
17656         mem_last_set, mem_first_set, mem_set_in_block: gone.
17657         Declaration of reg_set_info: gone.
17658         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
17659         pointless with load_killed_in_block_p (they are *more*
17660         conservative then it, not less, and less accurate).
17661         (oprs_not_set_p): Ditto.
17662         (alloc_gcse_mem): Don't allocate mem_set_in_block
17663         (free_gcse_mem): Don't free it, either.
17664         (record_last_mem_set_info): Update comment in front, remove
17665         mem_*set_* stuff. Note the reason we don't handle stores directly
17666         here.
17667         (compute_hash_table): Update comments to reflect reality. Remove
17668         mem_*set_* references.
17669         (reset_opr_set_tables): Remove mem_*set_* references.
17670         (mark_call): Ditto.
17671         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
17672         (mark_clobber): Ditto (on both parts, we double set here too).
17673         (expr_killed_p): Remove mem_set_in_block test.
17674         (compute_transp): Remove mem_set_in_block test.
17675
17676         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
17677         of edge, and removal of phi alternative to dump file.
17678         (ssa_ccp_substitute_constants): Add note about register now being
17679         constant, and which uses were replaced in what insns to dump file.
17680
17681 2001-07-16  Andreas Jaeger  <aj@suse.de>
17682
17683         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
17684         variables of type HOST_WIDEST_INT.
17685
17686         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
17687         (__bb_exit_func): Correct type of count_max to avoid overflow.
17688         (num_digits): Handle long long argument.
17689
17690         * combine.c (gen_lowpart_for_combine): Remove unused variable.
17691
17692 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
17693
17694         * output.h (sdb_begin_function_line): Restore as an extern
17695         variable.
17696         * sdbout.c (sdb_begin_function_line): Make extern.
17697
17698 2001-07-15  Richard Henderson  <rth@redhat.com>
17699
17700         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
17701         * genrecog.c (maybe_both_true_mode): New.
17702         (maybe_both_true_2): Use it.
17703         (write_switch): Don't put Pmode in a switch.
17704         * rtl.c (mode arrays): Don't explicitly size them.
17705
17706 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
17707
17708         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
17709         handling; move unconditional splitting before mode switching.
17710
17711         * i386.md (type): Add fistp type.
17712         (i387, length_attr, scheduling definitions): Handle this type.
17713         (fix_trunc?f?i2): Revamp to use mode switching.
17714         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
17715         * i386.h (fp_cw_mode): New enum
17716         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
17717         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
17718
17719 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17720
17721         * Makefile.in (integrate.o): Add debug.h.
17722         * integrate.c (debug.h): Add.
17723         (output_inline_function): Save, reset, and restore debug_hooks.
17724
17725 2001-07-15  Richard Henderson  <rth@redhat.com>
17726
17727         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
17728         instead of COMPARE for the EQUIV expression.
17729
17730 2001-07-15  Richard Henderson  <rth@redhat.com>
17731
17732         * flow.c (redirect_edge_and_branch_force): Initialize
17733         global_live_at_start and global_live_at_end.
17734         (allocate_bb_life_data): Export.
17735         * basic-block.h (allocate_bb_life_data): Declare.
17736         * toplev.c (rest_of_compilation): Call it.
17737
17738 2001-07-15  Richard Henderson  <rth@redhat.com>
17739
17740         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
17741         (alpha_tablejump_best_label): New.
17742         * config/alpha/alpha-protos.h: Declare them.
17743         * config/alpha/alpha.md: Use braced strings for code blocks.
17744         (tablejump_osf): Break out add with r29.
17745         (tablejump_osf_internal): Remove.
17746         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
17747         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
17748
17749 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
17750
17751         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
17752         of the movable.
17753
17754         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
17755
17756         * i386-protos.h (ix86_split_fp_branch): Update prototype.
17757         (ix86_fp_jump_nontrivial_p): New.
17758         * i386.md (fp_jcc_?): Update call of split_fp_branch;
17759         use ix86_fp_jump_nontrivial_p.
17760         * i386.c (ix86_fp_jump_nontrivial_p): New.
17761         (ix86_split_fp_branch): Accept code instead of rtx.
17762         (ix86_expand_compare): Expand comparison early in case
17763         doing so is resonably cheap.
17764
17765 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
17766
17767         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
17768         not 'machine'.
17769         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
17770         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
17771
17772 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
17773
17774         * dbxout.c (dbxout_source_line): Make static, update prototype.
17775         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
17776         (dbxout_init, dbxout_finish, dbxout_source_line,
17777         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
17778         * dbxout.h (dbxout_source_line): Delete.
17779         * debug.c (debug_nothing_file, debug_nothing_file_int,
17780         debug_nothing_file_charstar_rtx): New.
17781         (do_nothing_debug_hooks): Update.
17782         (debug_nothing_void, debug_nothing_charstar_rtx,
17783         dwarf2out_end_epilogue): New.
17784         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17785         * debug.h (struct rtx_def): Declare.
17786         (gcc_debug_hooks): New hooks source_line, end_epilogue
17787         and end_function.
17788         (debug_nothing_void, debug_nothing_charstar_rtx,
17789         dwarf2out_end_epilogue): New.
17790         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17791         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
17792         (dwarf2_debug_hooks): Update.
17793         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
17794         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
17795         * dwarf2out.h (dwarf2out_source_line): Remove.
17796         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
17797         Make static, update prototype.
17798         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
17799         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
17800         (dwarf_debug_hooks): Update.
17801         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
17802         dwarfout_end_function): Remove.
17803         * final.c (profile_function): Use debug hooks for ending functions
17804         and epilogues.
17805         (output_source_line, final_end_function): Update prototype,
17806         use debug hooks.
17807         (final_start_function, final_scan_insn): Update.
17808         * output.h (sdb_begin_function_line): Remove.
17809         (final_end_function): Update prototype.
17810         * sdbout.c (sdb_begin_function_line): Make static.
17811         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
17812         (sdbout_source_line): New.
17813         (sdbout_end_epilogue, sdbout_end_function): Make static, update
17814         prototypes.
17815         (sdb_debug_hooks): Update.
17816         (sdbout_init, sdbout_source_line,
17817         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
17818         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
17819         * toplev.c (compile_file, rest_of_compilation): Update.
17820         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
17821         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
17822         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
17823         Update for prototype changes.
17824         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
17825         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
17826
17827 2001-07-15  Richard Henderson  <rth@redhat.com>
17828
17829         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
17830         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
17831         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
17832         * config/alpha/alpha.c: Likewise.
17833         * config/alpha/alpha.md: Likewise.
17834         * config/alpha/alpha32.h: Likewise.
17835         * config/alpha/vms.h: Likewise.
17836         (OPEN_VMS): Remove.
17837
17838 2001-07-14  Richard Henderson  <rth@redhat.com>
17839
17840         * config/alpha/alpha.md: Use define_constants for unspec values.
17841         Substitute throughout.
17842
17843 2001-07-14  Tim Josling  <tej@melbpc.org.au>
17844
17845         * tree.def (EXPON_EXPR) remove. Never supported anyway.
17846
17847 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17848
17849         * pa.md: Remove unused constraints from define_split's.
17850
17851 2001-04-14  Richard Henderson  <rth@redhat.com>
17852
17853         * ifcvt.c (find_cond_trap): Test for exit block.
17854
17855 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
17856
17857         Re-install recently reverted patch.
17858         * emit-rtl.c (try_split): Update mark_jump_label call.
17859         * flow.c (find_sub_basic_blocks): Likewise.
17860         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17861         jump_back_p): Kill.
17862         (mark_all_labels): Kill second parameter.
17863         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17864         (rebuild_jump_labels, jump_optimize_minimal): Update call
17865         of jump_optimize_1.
17866         (jump_optimize_1): Kill crossjumping code.
17867         (mark_jump_label): Kill cross_jump parameter.
17868         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17869         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17870         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17871          splitting.
17872         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17873         DFI_bpro.
17874         (dump_file_info): Likewise.
17875         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17876         reorganize passes to do reg-stack first, bb-reorder second.
17877         * invoke.texi (-d letters doc): Remove the jump2 pass.
17878
17879 2001-07-14  Richard Henderson  <rth@redhat.com>
17880
17881         * ifcvt.c (find_cond_trap): New.
17882         (find_if_header): Call it.
17883         (merge_if_block): Relax existing jump sanity check.
17884         * jump.c (jump_optimize_1): Remove conditional trap handling.
17885
17886 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
17887
17888         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
17889         millicode.
17890         (insn_refs_are_delayed): Correct comment.
17891         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
17892         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
17893         instead of r31.  Make associated insn !TARGET_64BIT, and
17894         provide an additional 64-bit insn that clobbers r2.
17895         (divsi3): Likewise.
17896         (udivsi3): Likewise.
17897         (modsi3): Likewise.
17898         (umodsi3): Likewise.
17899
17900 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
17901
17902         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
17903
17904         * flow.c (redirect_edge_and_branch_force, split_edge,
17905         try_crossjump_to_edge): Use set_block_for_new_insns.
17906         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
17907
17908 2001-07-13  H.J. Lu  (hjl@gnu.org)
17909
17910         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
17911         the correct patch.
17912
17913 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17914
17915         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
17916
17917 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
17918
17919         * c-common.c (decl_attributes): Take a pointer to the node to
17920         which attributes are to be attached, and a flags argument.
17921         * c-common.h (enum attribute_flags): New.
17922         (decl_attributes): Update prototype.
17923         * c-decl.c (start_decl, push_parm_decl, finish_struct,
17924         finish_enum, start_function): Update calls to decl_attributes.
17925         * c-parse.in (component_declarator, component_notype_declarator,
17926         label): Update calls to decl_attributes.
17927
17928 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
17929
17930         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
17931         * config/avr/avr.c (legitimate_address_p): Return value changed
17932         from letter to register classes. For better debugging.
17933
17934 2001-07-13  Kazu Hirata  <kazu@hxi.com>
17935
17936         * jump.c (reversed_comparison_code_parts): Fix comment typos.
17937
17938 2001-07-13  H.J. Lu  (hjl@gnu.org)
17939
17940         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
17941
17942 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
17943
17944         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
17945         correctly for shared configurations.
17946         * config/t-libgcc-pic:  New.
17947         * config/{i386,m68k,sparc}/t-openbsd:  New.
17948         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
17949         Support -shared.  Support debugging libraries with -g.
17950         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
17951         frame information does not emit pointer diffs.
17952         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
17953         emit pointer diffs.
17954
17955 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17956
17957         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
17958
17959 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
17960
17961         * combine.c (try_combine): Ensure const_int pow2 is positive.
17962
17963 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
17964
17965         * config.gcc: Add configuration for s/390.
17966         * config/s390/s390.c: New. Subroutines for code generation.
17967         * config/s390/s390.h: New. Definitions for s/390.
17968         * config/s390/s390-protos.h: New. Prototypes.
17969         * config/s390/linux.h: New. Definitions for linux for s/390.
17970         * config/s390/linux64.h: New. Definitions for linux for zSeries.
17971         * config/s390/t-linux: New. Makefile fragment.
17972         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
17973         * config/s390/fixdfdi.h: New. Fix L_fix*di.
17974
17975 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
17976
17977         * emit-rtl.c (try_split): Update mark_jump_label call.
17978         * flow.c (find_sub_basic_blocks): Likewise.
17979         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17980         jump_back_p): Kill.
17981         (mark_all_labels): Kill second parameter.
17982         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17983         (rebuild_jump_labels, jump_optimize_minimal): Update call
17984         of jump_optimize_1.
17985         (jump_optimize_1): Kill crossjumping code.
17986         (mark_jump_label): Kill cross_jump parameter.
17987         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17988         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17989         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17990          splitting.
17991         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17992         DFI_bpro.
17993         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17994         reorganize passes to do reg-stack first, bb-reorder second.
17995         * invoke.texi (-d letters doc): Remove the jump2 pass.
17996
17997 2001-07-12  Steve Ellcey <sje@cup.hp.com>
17998
17999         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
18000
18001 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
18002
18003         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
18004         basic blocks.
18005         (verify_flow_info): Make diagnostics prettier.
18006
18007 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
18008
18009         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
18010
18011         * flow.c (outgoing_edges_match): Return early if condition reversal
18012         failed.
18013
18014 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
18015
18016         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
18017         (mips_move_2words): When splitting a move into two instructions,
18018         prefix the second address operand with '%D'.
18019
18020 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
18021
18022         * Makefile.in (final.o): Depend on debug.h.
18023         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
18024         (dbx_debug_hooks): Add new hooks.
18025         (xcoff_debug_hooks): New.
18026         * debug.c (debug_nothing_file_int_int): New.
18027         (do_nothing_debug_hooks): Update.
18028         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
18029         (debug_nothing_file_int_int): New.
18030         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
18031         static, update prototype.
18032         (dwarf2_debug_hooks): Update.
18033         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
18034         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
18035         static, update prototype.
18036         (dwarf_debug_hooks): Update.
18037         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
18038         * final.c: Include debug.h.
18039         (final_scan_insn): Use debug hooks when beginning and ending blocks.
18040         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
18041         static, update prototype.
18042         (sdb_debug_hooks): Update.
18043         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
18044         * toplev.c: Distinguish between xcoff and dbx.
18045
18046         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
18047         Call all debug hooks, not just dwarf ones.
18048
18049 2001-07-11  Timothy Wall  <twall@redhat.com>
18050
18051         * config.gcc: Add configuration for AIX5/IA64.
18052         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
18053         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
18054         support prefix/suffix code.
18055         * config/ia64/t-aix: New.  Makefile fragment.
18056         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
18057
18058 2001-07-11  Kazu Hirata  <kazu@hxi.com>
18059
18060         * recog.c (validate_change): Fix a comment typo.
18061
18062 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
18063
18064         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
18065         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
18066         hooks directly.
18067         * dbxout.c (dbx_debug_hooks): Add new hooks.
18068         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
18069         make static.
18070         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
18071         make static.
18072         * dbxout.h (dbxout_start_new_source_file,
18073         dbxout_resume_previous_source_file): Delete.
18074         * debug.c (do_nothing_debug_hooks): Add new hooks.
18075         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
18076         (debug_nothing_int_charstar, debug_nothing_int): New.
18077         * debug.h (gcc_debug_hooks): New hooks define, undef,
18078         start_source_file and end_source_file.
18079         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
18080         (debug_nothing_int_charstar, debug_nothing_int): New.
18081         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
18082         the conditionally compiled section.
18083         (dwarf2out_start_source_file, dwarf2out_end_source_file,
18084         dwarf2out_define, dwarf2out_undef): Make static.
18085         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
18086         dwarf2out_define, dwarf2out_undef): Remove.
18087         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
18088         (dwarfout_start_source_file, dwarfout_end_source_file,
18089         dwarfout_define, dwarfout_undef): Make static.
18090         (dwarfout_start_source_file_check,
18091         dwarfout_end_source_file_check): New.
18092         (dwarfout_define, dwarfout_finish): Update.
18093         * dwarfout.h (dwarfout_start_new_source_file,
18094         dwarfout_resume_previous_source_file, dwarfout_define,
18095         dwarfout_undef): Remove.
18096         * sdbout.c (sdb_debug_hooks): Add new hooks.
18097         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
18098         make static.
18099         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
18100         make static, take an arg.
18101         * sdbout.h (sdbout_start_new_source_file,
18102         sdbout_resume_previous_source_file): Delete.
18103         * toplev.c (debug_start_source_file, debug_end_source_file,
18104         debug_define, debug_undef): Delete.
18105         * toplev.h (debug_start_source_file, debug_end_source_file,
18106         debug_define, debug_undef): Delete.
18107
18108         * java/jcf-parse.c: Include debug.h.
18109         (parse_class_file): Update to use debug hooks directly.
18110         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
18111
18112 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18113
18114         * alias.c (set_mem_alias_set): New function.
18115         * rtl.h (set_mem_alias_set): Declare it.
18116         * builtins.c (expand_builtin_return_addr): Call it instead of
18117         using MEM_ALIAS_SET accessor.
18118         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
18119         (get_memory_rtx, expand_builtin_va_arg): Likewise.
18120         (expand_builtin_va_copy):Likewise.
18121         * caller-save.c (setup_save_areas): Likewise.
18122         * calls.c (compute_argument_addresses): Likewise.
18123         * explow.c (set_mem_attributes): Likewise.
18124         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
18125         (expand_assignment, store_constructor_field, store_field): Likewise.
18126         (expand_expr_unaligned): Likewise.
18127         * function.c (assign_stack_temp_for_type): Likewise.
18128         (put_reg_into_stack, gen_mem_addressof): Likewise.
18129         * ifcvt.c (noce_try_cmove_arith): Likewise.
18130         * reload1.c (reload, alter_reg): Likewise.
18131         * config/alpha/alpha.c (get_aligned_mem): Likewise.
18132         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
18133         (alpha_expand_unaligned_store): Likewise
18134         (alpha_expand_unaligned_load_words): Likewise.
18135         (alpha_expand_unaligned_store_words): Likewise.
18136         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
18137         (alpha_expand_epilogue): Likewise.
18138         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
18139         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
18140         * config/i386/i386.c (legitimize_pic_address): Likewise.
18141         * config/i960/i960.c (setup_incoming_varargs): Likewise.
18142         * config/ia64/ia64.c (spill_restore_mem): Likewise.
18143         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
18144         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
18145         * config/mips/mips.c (mips_va_arg): Likewise.
18146         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
18147         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
18148         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
18149         (setup_incoming_varargs, rs6000_va_arg): Likewise.
18150         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
18151         (rs6000_emit_epilogue): Likewise.
18152         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
18153         * config/sparc/sparc.c (sparc_va_arg): Likewise.
18154         * config/v850/v850.c (v850_va_arg): Likewise.
18155
18156 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
18157
18158         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
18159         when fallthru edge is present.
18160         (mege_blocks): Handle case where creation of jump insn
18161         is required.
18162
18163         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
18164         CLEANUP_POST_REGSTACK): New constants.
18165         * except.c (finish_eh_generation): Update call of cleanup_cfg,
18166         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
18167         * output.h (cleanup_cfg): Update prototype.
18168         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
18169         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
18170         cleanup_cfg call; kill missleading comment.
18171         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
18172         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
18173         parameter; control optimizations performed using it.
18174         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
18175         try_crossjump_bb): New functions.
18176
18177 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18178
18179         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
18180         extern.
18181         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
18182         pa_output_function_prologue.
18183         * pa-protos.h (pa_output_function_prologue): New prototype.
18184
18185 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18186
18187         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
18188         and low to get correct sign extension in low+high test.
18189
18190 2001-07-11  Janis Johnson <janis@us.ibm.com>
18191
18192         * gcov.c (arcdata): Use gcov_type to fix branch percentage
18193         for large hit count.
18194
18195         * profile.c (branch_prob): Fix .bbg info for computed gotos
18196         and C++ EH code.
18197
18198 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
18199
18200         * stmt.c (parse_output_constraint): New function, split out
18201         from ...
18202         (expand_asm_operands): ... here.  Use parse_output_constraint.
18203         * tree.h (parse_output_constraint): Declare it.
18204
18205 2001-07-11  Richard Henderson  <rth@redhat.com>
18206
18207         * bitmap.c: Comment some functions; fiddle whitespace.
18208         (bitmap_free): Don't export.
18209         (bitmap_element_allocate): Use memset.
18210         * bitmap.h (bitmap_free): Don't declare.
18211
18212 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
18213
18214         * gcse.c, lcm.c, sched-deps.c:
18215         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
18216
18217         * flow.c (flow_loops_find): Free dom if we found no loops, since
18218         we aren't going to save it.
18219
18220         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
18221         done.
18222
18223 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
18224
18225         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
18226
18227 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18228
18229         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
18230         #ifndef DWARF2_DEBUGGING_INFO.
18231
18232 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18233
18234         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
18235
18236 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18237
18238         * config/mips/mips.c (gen_int_relational): Tell the caller not to
18239         reverse a branch if a NE comparison is implemented with GTU.
18240
18241 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18242             H.J. Lu  <hjl@gnu.org>
18243
18244         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
18245         constant addresses.
18246         (call_internal2): Likewise.
18247         (call_value_internal1): Likewise.
18248         (call_value_internal2): Likewise.
18249         (call_value_multiple_internal1): Likewise.
18250         (call_value_multiple_internal2): Likewise.
18251
18252 2001-07-10  Kazu Hirata  <kazu@hxi.com>
18253
18254         * calls.c (emit_library_call_value_1): Fix a comment typo.
18255         * dwarf2out.c (mem_loc_descriptor): Likewise.
18256         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
18257
18258 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
18259
18260         * simplify-rtx.c (simplify_subreg): Fix typo in comment
18261
18262 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18263
18264         * recog.c (offsettable_address_p): Handle LO_SUM case.
18265         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
18266         instead of plus_constant.
18267
18268 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18269
18270         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
18271         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
18272
18273 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18274
18275         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
18276         adjust_address_nv instead of plus_constant.
18277
18278 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
18279
18280         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
18281         dwarf2out.o): Depend on debug.h, wrap long lines.
18282         * dbxout.c: Include debug.h.
18283         (dbx_debug_hooks): New.
18284         (dbxout_init): Make static, take just 2 args.
18285         (dbxout_finish): Make static.
18286         * dbxout.h (dbxout_init, dbxout_finish): Delete.
18287         * debug.c: New file.
18288         * debug.h: New file.
18289         * dwarf2out.c: Include debug.h.
18290         (dwarf2_debug_hooks): New.
18291         (dwarf2out_init): Make static.
18292         (dwarf2out_finish): Make static, take 2 args.
18293         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
18294         * dwarfout.c: Include debug.h.
18295         (dwarf_debug_hooks): New.
18296         (dwarfout_init): Make static.
18297         (dwarfout_finish): Make static, take 2 args.
18298         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
18299         * sdbout.c: Include debug.h.
18300         (sdb_debug_hooks): New.
18301         (sdbout_init): Make static, take 2 args.
18302         * sdbout.h (sdbout_init): Delete.
18303         * toplev.c: Include debug.h.
18304         (debug_hooks): New.
18305         (compile_file): Set deubg_hooks based on command line options.
18306         Use the hooks unconditionally rather than conditional compilation.
18307
18308 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
18309
18310         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
18311         first_insn_after_basic_block_note instead.
18312
18313         * df.c (df_bb_refs_unlink): #if 0 out for now.
18314
18315 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
18316
18317         * ssa.h: Add prototype for ssa_const_prop
18318         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
18319         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
18320         (ssa_fast_dce): Remove unused variable
18321
18322 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
18323
18324         * diagnostic.c (finish_diagnostic): Rename to
18325         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
18326         calls thourghout.
18327
18328 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
18329
18330         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
18331         .loc support.
18332
18333         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
18334         (dump_file): Only pad the demangled name with spaces if the
18335         mangled name was padded with spaces.
18336
18337 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
18338
18339         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
18340         edge detection.
18341
18342 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18343
18344         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
18345         extraction if no direct load if either EXPAND_CONST_ADDRESS or
18346         EXPAND_INITIALIZER.
18347
18348         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
18349         whether can put offset inside LO_SUM to check mode alignment, not size.
18350
18351 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
18352
18353         * doc/tm.texi (Misc): Fix thinko.
18354
18355 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
18356
18357         * regmove.c (replace_in_call_usage): Fix warnings.
18358         * sched-deps.c (add_dependence): Fix warnings.
18359         * simplify-rtx.c (simplify_subreg): Likewise.
18360         Return NULL_RTX instead of NULL.
18361
18362         * reg-stack.c (emit_swap_insn): Eliminate warnings.
18363         (subst_asm_stack_regs): Likewise.
18364
18365         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
18366         warnings.
18367
18368         * dwarf2out.c (output_call_frame_info): Declare i as int.
18369         (build_abbrev_table): Declare n_alloc as int.
18370         (dwarf2out_finish): Initialize die.
18371         * except.c: Declare sjlj_funcdef_number as unsigned.
18372         (connect_post_landing_pads): Declare j as unsigned.
18373         (convert_to_eh_region_ranges): Initialize call_site.
18374         (output_function_exception_table): Initialize tt_format_size.
18375         * expr.c (move_by_pieces_1): Initialize to1.
18376         (store_constructor): Initialize minelt and maxelt.
18377         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
18378         * function.c (instantiate_decls): Avoid signed/unsigned warning.
18379
18380         * c-decl.c (combine_parm_decls): Unused, remove.
18381         * c-tree.h: Remove prototype for combine_parm_decls.
18382
18383         * reload.c (push_reload): Fix warning.
18384         (regno_clobbered_p): Likewise.
18385         * reload1.c (replace_pseudos_in_call_usage): Likewise.
18386         (reload_combine): Likewise.
18387
18388         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
18389         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
18390         warnings.
18391         * bitmap.c (bitmap_operation): Change user.
18392         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
18393
18394 2001-07-10  Eric Christopher  <echristo@redhat.com>
18395
18396         * config/mips/mips.c (override_options): Fix typo.
18397
18398 2001-07-09  Stan Shebs  <shebs@apple.com>
18399
18400         * target.h (struct gcc_target): New fields init_builtins and
18401         expand_builtin.
18402         * target-def.h (TARGET_INIT_BUILTINS): New macro.
18403         (TARGET_EXPAND_BUILTIN): New macro.
18404         (TARGET_INITIALIZER): Add them.
18405         * builtins.c: Include target.h.
18406         (expand_builtin): Use targetm.expand_builtin.
18407         (default_init_builtins): New function.
18408         (default_expand_builtin): New function.
18409         * expr.h (default_init_builtins): Declare.
18410         (default_expand_builtin): Declare.
18411         * c-common.c (c_common_nodes_and_builtins): Use
18412         targetm.init_builtins.
18413         * defaults.h (MD_INIT_BUILTINS): Remove.
18414         * Makefile.in (builtins.o): Depend on target.h.
18415
18416         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
18417         (TARGET_EXPAND_BUILTIN): Define.
18418         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
18419         (MD_EXPAND_BUILTIN): Remove.
18420
18421         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
18422         (TARGET_EXPAND_BUILTIN): Define.
18423         (c4x_init_builtins): Make endlink arg a local.
18424         (c4x_print_operand): Fix typos in adjust_address usages.
18425         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
18426         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
18427         (MD_EXPAND_BUILTIN): Remove.
18428
18429         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
18430         (TARGET_EXPAND_BUILTIN): Define.
18431         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
18432         (ix86_init_builtins): Call new function only if TARGET_MMX.
18433         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
18434         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
18435         (MD_EXPAND_BUILTIN): Remove.
18436
18437         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
18438         (TARGET_EXPAND_BUILTIN): Define.
18439         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
18440         (MD_EXPAND_BUILTIN): Remove.
18441
18442         * doc/tm.texi: Document these changes.
18443
18444 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
18445
18446         * basic-block.h (tree_node): Forward declare if needed.
18447         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
18448         (BLOCK_HEAD_TREE): Define.
18449         (BLOCK_END_TREE): Define.
18450         (struct loops): Rename field 'tree' to 'tree_root'.
18451         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
18452         'end_tree'.
18453         (flow_loops_tree_build): Rename reference to field 'tree' to
18454         'tree_root'.
18455         (flow_loops_level_compute): Ditto.
18456         * predict.c (estimate_bb_frequencies): Ditto.
18457         * tree.h (struct tree_common): Add field 'aux'.
18458
18459 2001-07-09  Stan Shebs  <shebs@apple.com>
18460
18461         * config/darwin.c (darwin_encode_section_info): Don't mark any
18462         DECL_EXTERNAL node as defined.
18463
18464 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18465
18466         * pa.c (pa_init_machine_status, pa_mark_machine_status,
18467         pa_free_machine_status, hppa_init_pic_save): Delete.
18468         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
18469         (hppa_profile_hook): Use hppa_pic_save_rtx.
18470         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
18471         hppa_init_pic_save): Delete.
18472         (hppa_pic_save_rtx): Declare.
18473         * pa.md (call, call_value, sibcall, sibcall_value,
18474         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
18475
18476 2001-07-09  Kazu Hirata  <kazu@hxi.com>
18477
18478         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
18479         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
18480
18481 2001-07-09  Andreas Jaeger  <aj@suse.de>
18482
18483         * output.h: Add declaration of final_forward_branch_p.
18484
18485         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
18486
18487         * varray.c: Include errors.h for internal_error and trim_filename
18488         declarations.
18489
18490         * Makefile.in (varray.o): Add errors.h.
18491
18492 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
18493
18494         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
18495         * optabs.c (have_add2_insn): Check whether the add insn chosen
18496         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
18497         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
18498
18499 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
18500
18501         * Makefile.in (OBJS): Add ssa-ccp.o
18502         (ssa-ccp.o): Add dependencies.
18503         * toplev.c (DFI_ssa_ccp): New dump file enum.
18504         (dump_file): Add entry for dumping after SSA CCP.
18505         (flag_ssa_ccp): New flag variable.
18506         (f_options): Add -fssa-ccp.
18507         (rest_of_compilation): Run SSA CCP if requested.
18508         * timevar.def (TV_SSA_CCP): New timevar.
18509         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
18510         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
18511         Fix minor typo in SSA DCE documentation.
18512         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
18513         Add documentation for new dump option.  Renumber dump files
18514         appropriately.
18515
18516 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18517
18518         * emit-rtl.c (gen_highpart_mode): New.
18519         * rtl.h (gen_highpart_mode): Declare.
18520         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
18521         operand can be VOIDmode constant.
18522
18523 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
18524
18525         * flow.c (redirect_edge_and_branch_force): New.
18526         (can_fallthru): Ensure that basic blocks are succeeding.
18527         (try_optimize_cfg): Do not delete basic block if it is the last one.
18528
18529         * flow.c (try_redirect_by_replacing_jump): Do not remove
18530         jumps with side effects, unlink chain on fallthru edge;
18531         set block for new jump instruction; avoid basic block to
18532         over by line number note.
18533
18534         * flow.c (try_simplify_condjump): Verify that the condjump
18535         is not always falling through.
18536
18537         Re-install patch:
18538         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18539
18540         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18541         (try_redirect_by_replacing_jump): Update properly the count
18542         and frequency information.
18543
18544 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18545
18546         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
18547         address that is a LO_SUM specially.
18548         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
18549
18550         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
18551
18552         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
18553         (operand_subword): Use them.
18554         (change_address_1): Renamed from change_address; new arg VALIDATE.
18555         * expr.h: Reflect above changes; change_address now macro.
18556         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
18557         making MEM.
18558         * cselib.c (add_mem_for_addr): Likewise.
18559         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
18560         * regmove.c (try_apply_stack_adjustment): Likewise.
18561         * reload.c (push_reload, make_memloc): Likewise.
18562         * reload1.c (eliminate_regs): Likewise.
18563         * simplify-rtx.c (simplify_replace_rtx): Likewise.
18564         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
18565         adjust_addess.
18566         * combine.c (make_extraction, simplify_shift_const): Likewise.
18567         (gen_lowpart_for_combine): Likewise.
18568         * cse.c (gen_lowpart_if_possible): Likewise.
18569         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
18570         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
18571         * optabs.c (gen_move_insn): Likewise.
18572         * reload1.c (alter_reg): Likewise.
18573         * simplify-rtx.c (simplify_subreg): Likewise.
18574         * stmt.c (expand_anon_union_decl): Likewise.
18575         * recog.c (validate_replace_rtx_1): Likewise.
18576         (expr.h): Include.
18577         * Makefile.in (recog.o): Add $(EXPR_H).
18578         * explow.c (stabilize): Call replace_equiv_address.
18579         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
18580         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
18581
18582 2001-07-03  Andrew Haley  <aph@redhat.com>
18583
18584         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
18585         the mode of the memory location.
18586
18587 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
18588
18589         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
18590
18591 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
18592
18593         * final.c (output_addr_const): Use target opening and
18594         closing parentheses.
18595         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
18596         defaults, add to TARGET_ASM_OUT.
18597         * target.h (struct gcc_target): Add open_paren and close_paren.
18598         * doc/md.texi: Update.
18599         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
18600         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
18601         TARGET_ASM_CLOSE_PAREN.
18602         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18603         Override.
18604         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18605         Override.
18606         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
18607         * config/a29k/a29k.h: Similarly.
18608         * config/alpha/alpha.h: Similarly.
18609         * config/arc/arc.h: Similarly.
18610         * config/arm/aof.h: Similarly.
18611         * config/arm/aout.h: Similarly.
18612         * config/avr/avr.h: Similarly.
18613         * config/c4x/c4x.h: Similarly.
18614         * config/clipper/clipper.h: Similarly.
18615         * config/convex/convex.h: Similarly.
18616         * config/d30v/d30v.h: Similarly.
18617         * config/dsp16xx/dsp16xx.h: Similarly.
18618         * config/elxsi/elxsi.h: Similarly.
18619         * config/fr30/fr30.h: Similarly.
18620         * config/h8300/h8300.h: Similarly.
18621         * config/i370/i370.h: Similarly.
18622         * config/i386/i386.h: Similarly.
18623         * config/i860/i860.h: Similarly.
18624         * config/i960/i960.h: Similarly.
18625         * config/ia64/ia64.h: Similarly.
18626         * config/m32r/m32r.h: Similarly.
18627         * config/m68hc11/m68hc11.h: Similarly.
18628         * config/m68k/m68k.h: Similarly.
18629         * config/m88k/m88k.h: Similarly.
18630         * config/mcore/mcore.h: Similarly.
18631         * config/mips/mips.h: Similarly.
18632         * config/mn10200/mn10200.h: Similarly.
18633         * config/mn10300/mn10300.h: Similarly.
18634         * config/ns32k/ns32k.h: Similarly.
18635         * config/pa/pa.h: Similarly.
18636         * config/pdp11/pdp11.h: Similarly.
18637         * config/pj/pj.h: Similarly.
18638         * config/romp/romp.h: Similarly.
18639         * config/rs6000/rs6000.h: Similarly.
18640         * config/sh/sh.h: Similarly.
18641         * config/sparc/sparc.h: Similarly.
18642         * config/v850/v850.h: Similarly.
18643         * config/vax/vax.h: Similarly.
18644         * config/we32k/we32k.h: Similarly.
18645
18646 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
18647
18648         * doc/c-tree.texi: Document representation of attributes.
18649
18650 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18651
18652         * doc/tm.texi: Update some places for the rename of target to
18653         targetm.  Fix typo.
18654
18655 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18656
18657         * target.h (struct gcc_target): Add insert_attributes.
18658         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
18659         (TARGET_INITIALIZER): Update.
18660         * tree.c, tree.h (default_insert_attributes): New function.
18661         Update comments on other default functions to refer to targetm,
18662         not target.
18663         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
18664         TARGET_INSERT_ATTRIBUTES.
18665         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
18666         * c-common.c (decl_attributes): Use targetm.insert_attributes.
18667         Don't use PRAGMA_INSERT_ATTRIBUTES.
18668         * Makefile.in (c-common.o): Depend on $(TARGET_H).
18669         * c-decl.c (start_decl, start_function): Don't call
18670         SET_DEFAULT_DECL_ATTRIBUTES.
18671         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18672         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
18673         declare.
18674         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
18675         (c4x_check_attribute): Avoid modifying attribute list itself.
18676         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
18677         Make static.
18678         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
18679         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
18680         declare.
18681         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
18682         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
18683         Make static.
18684         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18685         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
18686         declare.
18687         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
18688         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
18689         Adjust parameters.  Make static.
18690
18691 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18692
18693         * c-common.c (decl_attributes): Only take a single attributes
18694         parameter.
18695         * c-common.h (decl_attributes): Update prototype.
18696         * c-decl.c (start_decl, start_function): Only take a single
18697         attributes parameter.  Update calls to decl_attributes.
18698         (finish_struct, finish_enum): Update calls to decl_attributes.
18699         (push_parm_decl): Expect unified list of attributes.  Update call
18700         to decl_attributes.
18701         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
18702         notype_nested_function, component_declarator,
18703         component_notype_declarator, label): Update calls to
18704         decl_attributes.
18705         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
18706         lists that are passed to push_parm_decl.
18707         * c-tree.h (start_function, start_decl): Update prototypes.
18708         * config/sh/sh-protos.h, config/sh/sh.c
18709         (sh_pragma_insert_attributes): Only take a single attributes
18710         parameter.
18711         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
18712         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
18713         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
18714         build_module_descriptor, generate_static_references,
18715         generate_strings, build_selector_translation_table,
18716         generate_descriptor_table, generate_protocols,
18717         generate_ivars_list, generate_dispatch_table,
18718         generate_protocol_list, generate_category,
18719         generate_shared_structures, really_start_method, add_objc_decls,
18720         generate_classref_translation_entry): Update calls to start_decl
18721         and start_function.
18722         (build_tmp_function_decl, start_method_def): Unify attribute lists
18723         that are passed to push_parm_decl.
18724
18725 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
18726
18727         * final.c (no_asm_to_stream): New.
18728         (final_scan_insn): Use target structures for prologue ends
18729         and epilogue starts.
18730         * output.h (no_asm_to_stream): New.
18731         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
18732         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
18733         (TARGET_ASM_OUT): Update.
18734         * target.h (struct gcc_target): New members function_end_prologue
18735         and function_begin_epilogue.
18736         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
18737         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
18738         * config/alpha/alpha.c (output_end_prologue): Rename to
18739         alpha_output_function_end_prologue.  Use in target struct
18740         and make static.
18741         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
18742         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
18743         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
18744         ia64_output_function_end_prologue.  Use in target struct
18745         and make static.
18746         (ia64_function_prologue, ia64_funciton_epilogue): Rename
18747         mistyped prototypes.
18748         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
18749         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
18750         Delete.
18751         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
18752         an use in target struct, make static.
18753         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
18754         Delete.
18755
18756 2001-07-08  Richard Henderson  <rth@redhat.com>
18757
18758         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
18759
18760 2001-07-08  Richard Henderson  <rth@redhat.com>
18761
18762         * config/i386/i386.md: Remove constraints strings from define_split
18763         and define_peephole2 patterns.
18764         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
18765         (eh_return): Use them.
18766
18767 2001-07-08  Richard Henderson  <rth@redhat.com>
18768
18769         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
18770         Document MD_FALLBACK_FRAME_STATE_FOR.
18771
18772 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18773
18774         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
18775         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
18776         elimination.
18777         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
18778
18779 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
18780
18781         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
18782         of the label inside NAME as opposed to just the end of NAME.
18783
18784 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
18785
18786         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
18787         * config/alpha/alpha.c (alpha_init_machine_status,
18788         alpha_mark_machine_status, alpha_free_machine_status): Delete.
18789         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
18790         (vms_valid_decl_attribute_p): Make static, conditionally compile.
18791         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
18792
18793 2001-07-06  Stan Shebs  <shebs@apple.com>
18794
18795         * target.h (targetm): Rename global from "target", so as not to
18796         conflict with local variables.
18797         * c-decl.c: Ditto.
18798         * c-typeck.c: Ditto.
18799         * final.c: Ditto.
18800         * tree.c: Ditto.
18801         * cp/decl.c: Ditto.
18802         * cp/decl2.c: Ditto.
18803         * cp/typeck.c: Ditto.
18804         * 1750a/1750a.c: Ditto.
18805         * a29k/a29k.c: Ditto.
18806         * arc/arc.c: Ditto.
18807         * arm/arm.c: Ditto.
18808         * avr/avr.c: Ditto.
18809         * clipper/clipper.c: Ditto.
18810         * convex/convex.c: Ditto.
18811         * d30v/d30v.c: Ditto.
18812         * dsp16xx/dsp16xx.c: Ditto.
18813         * elxsi/elxsi.c: Ditto.
18814         * fr30/fr30.c: Ditto.
18815         * h8300/h8300.c: Ditto.
18816         * i370/i370.c: Ditto.
18817         * i386/i386.c: Ditto.
18818         * i860/i860.c: Ditto.
18819         * i960/i960.c: Ditto.
18820         * ia64/ia64.c: Ditto.
18821         * m32r/m32r.c: Ditto.
18822         * m68hc11/m68hc11.c: Ditto.
18823         * m68k/m68k.c: Ditto.
18824         * m88k/m88k.c: Ditto.
18825         * mips/mips.c: Ditto.
18826         * ns32k/ns32k.c: Ditto.
18827         * pa/pa.c: Ditto.
18828         * pdp11/pdp11.c: Ditto.
18829         * romp/romp.c: Ditto.
18830         * rs6000/rs6000.c: Ditto.
18831         * sh/sh.c: Ditto.
18832         * sparc/sparc.c: Ditto.
18833         * vax/vax.c: Ditto.
18834         * we32k/we32k.c: Ditto.
18835         * doc/tm.texi: Update the manual to match.
18836
18837 2001-07-06  Richard Henderson  <rth@redhat.com>
18838
18839         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
18840         DWARF2_UNWIND_INFO not just whether it is defined.
18841
18842 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
18843
18844         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
18845         call to simplify_binary_operation returns a new pattern.
18846
18847 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18848
18849         * glimits.h (__SHRT_MAX__): New.
18850         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
18851         (SHRT_MAX): Define in terms of __SHRT_MAX__.
18852
18853 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
18854
18855         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
18856         avoid warnings.
18857
18858 2001-07-06  Richard Henderson  <rth@redhat.com>
18859
18860         * bitmap.c (bitmap_release_memory): Move adjacent to the
18861         allocation functions.
18862         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
18863         the implementation.  Binary search for the set bit.
18864         (bitmap_union_of_diff): Allocate the temporary on the stack
18865         instead of using xmalloc.
18866
18867 2001-07-06  Richard Henderson  <rth@redhat.com>
18868
18869         * genrecog.c (validate_pattern): Warn for constraints in
18870         define_{expand,split,peephole2}.  Remove strict_low_part
18871         before looking up match_dup.
18872
18873 2001-07-06  DJ Delorie  <dj@redhat.com>
18874
18875         * doc/gcc.texi (Makefile): Rename to be a more general purpose
18876         chapter about various build hints and history.  Add section
18877         talking about the various types of native and cross builds.
18878
18879 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
18880
18881         * Makefile.in (final.o): Depend on target.h.
18882         * final.c: Include target.h.
18883         (default_function_pro_epilogue): New.
18884         (final_start_function): Use target structure for function prologues.
18885         (final_end_function): Use target structure for function epilogues.
18886         * fold-const.c (real_hex_to_f): Constify s and p.
18887         * output.h (default_function_pro_epilogue): New.
18888         * real.h (real_hex_to_f): Update prototype.
18889         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
18890         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
18891         (TARGET_INITIALIZER): Update.
18892         * target.h (gcc_target): Add struct asm_out.
18893         * doc/tm.texi: Update.
18894
18895 config:
18896         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
18897         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
18898         in cpu/cpu.c, or rename old functions consistently.  Take
18899         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
18900         redundant macros and prototypes.  Make new functions static.
18901
18902         * 1750a/1750a.c: Similarly.
18903         * 1750a/1750a.h: Similarly.
18904         * a29k/a29k-protos.h: Similarly.
18905         * a29k/a29k.c: Similarly.
18906         * a29k/a29k.h: Similarly.
18907         * arc/arc-protos.h: Similarly.
18908         * arc/arc.c: Similarly.
18909         * arc/arc.h: Similarly.
18910         * arm/arm-protos.h: Similarly.
18911         * arm/arm.c: Similarly.
18912         * arm/arm.h: Similarly.
18913         * avr/avr-protos.h: Similarly.
18914         * avr/avr.c: Similarly.
18915         * avr/avr.h: Similarly.
18916         * clipper/clipper-protos.h: Similarly.
18917         * clipper/clipper.c: Similarly.
18918         * clipper/clipper.h: Similarly.
18919         * convex/convex.c: Similarly.
18920         * convex/convex.h: Similarly.
18921         * d30v/d30v-protos.h: Similarly.
18922         * d30v/d30v.c: Similarly.
18923         * d30v/d30v.h: Similarly.
18924         * d30v/d30v.md: Similarly.
18925         * dsp16xx/dsp16xx-protos.h: Similarly.
18926         * dsp16xx/dsp16xx.c: Similarly.
18927         * dsp16xx/dsp16xx.h: Similarly.
18928         * elxsi/elxsi.c: Similarly.
18929         * elxsi/elxsi.h: Similarly.
18930         * fr30/fr30.c: Similarly.
18931         * fr30/fr30.md: Similarly.
18932         * h8300/h8300-protos.h: Similarly.
18933         * h8300/h8300.c: Similarly.
18934         * h8300/h8300.h: Similarly.
18935         * i370/i370-protos.h: Similarly.
18936         * i370/i370.c: Similarly.
18937         * i370/i370.h: Similarly.
18938         * i386/i386.c: Similarly.
18939         * i386/osf1elf.h: Similarly.
18940         * i386/osfrose.h: Similarly.
18941         * i860/i860-protos.h: Similarly.
18942         * i860/i860.c: Similarly.
18943         * i860/i860.h: Similarly.
18944         * i960/i960-protos.h: Similarly.
18945         * i960/i960.c: Similarly.
18946         * i960/i960.h: Similarly.
18947         * ia64/ia64-protos.h: Similarly.
18948         * ia64/ia64.c: Similarly.
18949         * ia64/ia64.h: Similarly.
18950         * m32r/m32r-protos.h: Similarly.
18951         * m32r/m32r.c: Similarly.
18952         * m32r/m32r.h: Similarly.
18953         * m68hc11/m68hc11-protos.h: Similarly.
18954         * m68hc11/m68hc11.c: Similarly.
18955         * m68hc11/m68hc11.h: Similarly.
18956         * m68k/crds.h: Similarly.
18957         * m68k/dpx2.h: Similarly.
18958         * m68k/m68k-protos.h: Similarly.
18959         * m68k/m68k.c: Similarly.
18960         * m68k/m68k.h: Similarly.
18961         * m68k/news.h: Similarly.
18962         * m88k/m88k-protos.h: Similarly.
18963         * m88k/m88k.c: Similarly.
18964         * m88k/m88k.h: Similarly.
18965         * mips/mips-protos.h: Similarly.
18966         * mips/mips.c: Similarly.
18967         * mips/mips.h: Similarly.
18968         * ns32k/merlin.h: Similarly.
18969         * ns32k/ns32k.c: Similarly.
18970         * ns32k/ns32k.h: Similarly.
18971         * ns32k/tek6000.h: Similarly.
18972         * pa/pa-protos.h: Similarly.
18973         * pa/pa.c: Similarly.
18974         * pa/pa.h: Similarly.
18975         * pdp11/2bsd.h: Similarly.
18976         * pdp11/pdp11-protos.h: Similarly.
18977         * pdp11/pdp11.c: Similarly.
18978         * pdp11/pdp11.h: Similarly.
18979         * romp/romp-protos.h: Similarly.
18980         * romp/romp.c: Similarly.
18981         * romp/romp.h: Similarly.
18982         * rs6000/rs6000-protos.h: Similarly.
18983         * rs6000/rs6000.c: Similarly.
18984         * rs6000/rs6000.h: Similarly.
18985         * rs6000/sysv4.h: Similarly.
18986         * sh/sh-protos.h: Similarly.
18987         * sh/sh.c: Similarly.
18988         * sh/sh.h: Similarly.
18989         * sparc/sparc-protos.h: Similarly.
18990         * sparc/sparc.c: Similarly.
18991         * sparc/sparc.h: Similarly.
18992         * vax/vax.c: Similarly.
18993         * vax/vax.h: Similarly.
18994         * vax/vms.h: Similarly.
18995         * we32k/we32k.c: Similarly.
18996         * we32k/we32k.h: Similarly.
18997
18998 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
18999
19000         * basic-block.h (first_insn_after_basic_block_note): Declare.
19001         * flow.c (first_insn_after_basic_block_note): Define.  Moved
19002         from...
19003         * ssa.c (first_insn_after_basic_block_note): Remove.
19004         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
19005         necessary.
19006         (ssa_eliminate_dead_code): Properly update the CFG and PHI
19007         nodes when we find a dead conditional branch.  Insert BARRIERs
19008         after any blocks with no successors, but which do not have
19009         any BARRIERs.
19010
19011 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
19012
19013         * varray.c (varray_check_failed): Use internal_error.
19014
19015 2001-07-05  Andrew Haley  <aph@redhat.com>
19016
19017         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
19018         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
19019         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
19020
19021 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
19022
19023         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
19024         reference if the target constant is also a SYMBOL_REF.
19025
19026 2001-07-05  Eric Christopher  <echristo@redhat.com>
19027
19028         * config/mips/mips.h (MASK_MIPS3900): Remove.
19029         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
19030         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
19031         (TARGET_MIPS3900): Change to use mips_arch.
19032         (TARGET_MIPS4000): New.
19033         (TARGET_MIPS4100): New.
19034         (TARGET_MIPS4300): New.
19035         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
19036         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
19037         for -mipsX.
19038         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
19039         (ISA_HAS_BRANCHLIKELY): To here.
19040         (CC1_CPU_SPEC):  New.
19041         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
19042         (mips_arch_string): Declare.
19043         (mips_arch): Declare.
19044         (TARGET_OPTIONS): Add -march and -mtune.
19045
19046         * config/mips/mips.c (mips_arch_string): New.
19047         (mips_arch): New.
19048         (override_options): Handle -march for codegen and -mtune
19049         for scheduling. Use mips_arch. Move tx39 target default here.
19050         (mips_parse_cpu): Move error message to override_options.
19051
19052         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
19053
19054         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
19055
19056         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
19057         (MIPS Options): Ditto.  Change mcpu entry to historical text.
19058
19059 2001-07-05  H.J. Lu  (hjl@gnu.org)
19060
19061         * config/mips/mips.c (mips_parse_cpu): New function to parse
19062         -march=*/-mcpu=*.
19063
19064 2001-07-05  Jim Wilson  <wilson@redhat.com>
19065
19066         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
19067         * config/ia64/t-ia64: Likewise.
19068         (LIB1ASMFUNCS): Update comment.
19069
19070 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
19071
19072         * doc/install.texi (Install GCC: Binaries): Fix typo.
19073
19074 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
19075
19076         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
19077         reference using the stack pointer, adjust it since we push Y
19078         temporarily.
19079         ("*ashrsi3"): Likewise.
19080         ("*lshrsi3"): Likewise.
19081
19082 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
19083
19084         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
19085         when -fomit-frame-pointer is used.
19086
19087 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
19088
19089         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
19090         (try_redirect_by_replacing_jump): Reverse updating properly the
19091         count and frequency information.  Reverse removing cc0 setter.
19092         (forwarder_block_p): Reverse fixing for fallthru blocks.
19093
19094 2001-07-05  DJ Delorie  <dj@redhat.com>
19095
19096         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
19097         (translate_options): If the above is defined, use it to map
19098         given options to new options.
19099         * doc/tm.texi: Document it.
19100
19101 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
19102             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19103
19104         * doc/invoke.texi (Optimize Options): Document that -fgcse may
19105         cause programs using computed gotos to run more slowly.
19106
19107 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19108
19109         * doc/install.texi (Specific): Markup, spelling and typo fixes.
19110         Fixed sorting.
19111         Consistently require binutils 2.11.2, not prereleases.
19112         (Specific, decstation-*): Canonicalize as mips-dec-*.
19113         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
19114         always necessary.
19115         (Specific, m68k-altos): Removed reference to README.altos, deleted.
19116         (Specific, mips-*): Reword MIPS C compiler requirements.
19117         (Specific, powerpc*-*-*): New, mention --with-cpu once.
19118         (Specific, sunv5): Removed, obsolete.
19119
19120 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
19121
19122         * dwarf2out.c (output_loc_list): Use an all ones mask for
19123         .text asm output and don't rely on long long
19124         literals. Reformat some long lines.
19125
19126 2001-07-05  Andreas Jaeger  <aj@suse.de>
19127
19128         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
19129         section.
19130
19131 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
19132
19133         * dwarf2out.c (dwarf2out_define): Update comment.
19134         (dwarf2out_undef): Ditto.
19135         (dwarf2out_start_source_file): Ditto.
19136         (dwarf2out_end_source_file): Ditto.
19137         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
19138         since we never call the start/end debug hook for the primary file.
19139
19140 2001-07-04  Kazu Hirata  <kazu@hxi.com>
19141
19142         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
19143         from shll.
19144
19145 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
19146
19147         * cppinit.c (remove_dup_dirs): Inform if a system include
19148         directory is being reordered.
19149         * doc/invoke.texi (Directory Options): GCC warns if you hide a
19150         system include.
19151         * doc/cpp.texi (Search Paths): Likewise.
19152         * doc/gcc.texi (Interoperation): Remove information about
19153         -I/usr/include.
19154
19155 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
19156
19157         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
19158         (VARRAY_TOP_CHAR_PTR): Likewise.
19159
19160 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19161
19162         * gcc.c (process_command): Don't assign elements of a const char*.
19163
19164 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19165
19166         * emit-rtl.c (change_address): Don't abort if invalid address while
19167         reload is in progress.
19168
19169 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
19170
19171         * c-lex.c (cb_file_change): Pass line number to
19172         debug_start_source_file.
19173         (cb_undefine): Pass correct line number to debug_undef.
19174
19175         * toplev.c (debug_start_source_file): Add line number to
19176         parameters. Pass it along to dwarf2out_start_source_file.
19177         (decode_g_option): Stop resetting debug level back to normal when
19178         we change debug formats, unless the current level is
19179         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
19180         3).
19181
19182         * toplev.h (debug_start_source_file): Add line number to
19183         parameters.
19184
19185         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
19186         parameters.
19187
19188         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
19189         parameters.
19190         Output debug_macinfo data for starting file if requested.
19191         (dwarf2out_end_source_file): Output debug_macinfo data for ending
19192         file if requested.
19193         (dwarf2out_define): Output debug_macinfo data for defining a macro
19194         if requested.
19195         (dwarf2out_undef): Output debug_macinfo data for undefining a
19196         macro if requested.
19197         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
19198         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
19199         (macinfo_section_label): New. DWARF2 macro info section label.
19200         (dwarf2out_init): If we want macro info, output the start label
19201         for the section.
19202         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
19203         attribute to the compilation unit die pointing to the macro info.
19204
19205 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
19206
19207         * dwarf2out.c (new_loc_list): Move to inside #ifdef
19208         DWARF2_DEBUGGING_INFO.
19209         (add_loc_descr_to_loc_list): Ditto.
19210         (output_loc_list): Ditto.
19211         Also, fix thinko in curr not being initialized.
19212         (gen_internal_sym): Ditto.
19213
19214 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19215
19216         * emit-rtl.c (replace_equiv_address): New function.
19217         * expr.h (replace_equiv_address): New declaration.
19218         * explow.c (validize_mem): Call it instead of change_address and
19219         also call if -fforce-addr and address is constant.
19220         * expr.c: Replace more calls to change_address with adjust_address
19221         and/or replace_equiv_address or to validize_mem.
19222         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
19223         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
19224         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
19225         * config/i370/i370.md, config/i860/i860.md: Likewise.
19226         * config/i960/i960.md, config/mips/mips.c: Likewise.
19227         * config/mips/mips.md, config/pa/pa.md: Likewise.
19228         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
19229         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
19230
19231 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19232
19233         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
19234
19235         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
19236         function.
19237
19238 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
19239
19240         * doc/include: New directory.
19241         * doc/fdl.texi: Move to doc/include/fdl.texi.
19242         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
19243         * doc/include/funding.texi, doc/include/gpl.texi: New files.
19244         * doc/gcc.texi: Use funding.texi and gpl.texi.
19245         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
19246         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
19247         Update dependencies and use -I $(docdir)/include.
19248
19249 2001-07-04  Anthony Green  <green@redhat.com>
19250
19251         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
19252
19253 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19254
19255         * doc/install.texi (sparc64-*-*): Remove garbage.
19256
19257 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
19258
19259         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
19260         Fix typo in last change to use adjust_address.
19261
19262 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19263
19264         * doc/install.texi (Specific): Update information for *-*-solaris*.
19265
19266 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19267
19268         * explow.c (plus_constant_wide): Reinitialize Y for restart.
19269
19270 2001-07-03  Stan Shebs  <shebs@apple.com>
19271
19272         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
19273         case for flag_no_mach_text_sections.
19274         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
19275         * config/darwin.c (flag_no_mach_text_sections): Remove.
19276         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
19277
19278 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19279
19280         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
19281         and avoid checking for constant as first operand.
19282         * recog.c (find_constant_term_loc): No longer static.
19283         (adj_offettable_operand): Delete.
19284         * rtl.h (adj_offsettable_operand): Delete declaration.
19285         (find_constant_term): Add declaration.
19286         * caller-save.c: Replace calls to adj_offsettable_operand with calls
19287         to adjust_address.
19288         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
19289         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
19290         * config/i386/i386.c, config/i386/i386.md: Likewise.
19291         * config/i860/i860.c, config/i960/i960.c: Likewise.
19292         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
19293         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
19294         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
19295         * config/mips/mips.c, config/mips/mips.md: Likewise.
19296         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
19297         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
19298         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
19299         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
19300         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
19301         * config/ns32k/ns32k.md: Likewise.
19302
19303 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
19304
19305         * rtl.c (copy_rtx): Handle 'T' format letter.
19306         * gensupport.c (collect_insn_data): Likewise.
19307         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
19308
19309 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
19310
19311         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
19312         -B option.  Use 'dir' not 'foo' as example directory name.
19313
19314 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19315
19316         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
19317         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
19318
19319 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
19320
19321         * doc/cppinternals.texi: Improve formatting and logical markup.
19322
19323 2001-07-03  Andreas Jaeger  <aj@suse.de>
19324
19325         * Makefile.in (insn-recog.o): Add dependency on reload.h.
19326
19327         * genrecog.c (write_header): Include reload.h for prototypes in
19328         insn-recog.c.
19329
19330 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
19331
19332 config:
19333         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
19334         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
19335         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
19336         i386_pe_valid_type_attribute_p): Add.
19337         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
19338         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
19339
19340 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19341
19342         * explow.c (plus_constant_wide, case LO_SUM): New case.
19343         (plus_constant_for_output_wide): Delete.
19344         * rtl.h (plus_constant_for_output): Delete.
19345         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
19346         instead of plus_constant_for_output.
19347         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
19348         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
19349         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
19350         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
19351         * config/sparc/sparc.md: Likewise.
19352         Convert some change_address calls to adjust_address.
19353
19354 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
19355
19356         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
19357         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
19358         documentation of -std and -Wwrite-strings.
19359
19360 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
19361
19362         * cse.c (canon_hash): Don't register registers in very small
19363         register classes, as extending their lifetime might cause
19364         reload to fail.
19365
19366 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
19367
19368         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
19369
19370         * flow.c (forwarder_block_p): Fix for fallthru blocks.
19371         (try_redirect_by_replacing_jump): Update properly the count
19372         and frequency information.
19373
19374 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
19375
19376         * toplev.c (dump_file_index): Move SSA dumps just after first
19377         jump dump.
19378         (dump_file): Corresponding changes.
19379         (rest_of_compilation): Move SSA path to just after the first
19380         jump pass.
19381         * doc/gcc.texi (Passes): Update due to movement of SSA path.
19382         * doc/invoke.texi: Update dump file #s as they were completely
19383         out of date with reality.
19384
19385 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
19386
19387         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
19388
19389         * expr.c (emit_move_insn_1): Deal with non-default
19390         STACK_PUSH_CODE.
19391
19392         * expr.c (emit_single_push_insn): Fix warning.
19393
19394 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
19395
19396         * expr.c (emit_move_insn_1): Avoid modifying
19397         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
19398
19399 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19400
19401         * emit-rtl.c (adjust_address): New function.
19402         * expr.h (adjust_address): Add declaration.
19403         * builtins.c: Replace some calls to change_address with calls to it
19404         or to validize_mem.
19405         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
19406         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
19407         * config/arm/arm.c, config/convex/convex.c: Likewise.
19408         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
19409         * config/i386/i386.c, config/i386/i386.md: Likewise.
19410         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
19411         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
19412         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
19413         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
19414         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
19415
19416 2001-07-02  Jim Wilson  <wilson@redhat.com>
19417
19418         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
19419
19420 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
19421
19422         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
19423         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
19424
19425 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
19426
19427         * cppinit.c (lang_defaults): New table.
19428         (set_lang): Just read from lang_defaults into the live options
19429         structure.
19430
19431 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
19432
19433         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
19434         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
19435         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
19436
19437 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19438
19439         * doc/install.texi: Various spelling and markup fixes.
19440         (Installing GCC): Component specific installation instructions are
19441         gone.
19442         Fix reference.
19443         Warn about removing old install dir in the presence of shared libs.
19444         (Configuration): Invoke with options target to match configure
19445         --help.
19446         Consistently refer to gas, gld pathnames.
19447         Invert --enable-multilib documentation.
19448         Remove references to old compiler versions.
19449
19450 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19451
19452         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
19453
19454 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19455
19456         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
19457         section.
19458         (Specific, mips*-sgi-irix5): Note IDO download.
19459         Reworded MIPS C hints.
19460         Use GNU as instead of GAS.
19461         Markup fixes.
19462         Removed SGI Freeware reference, IRIX 6 only.
19463         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
19464         Note N64 library requirement/workaround.
19465         Update O32 hints.
19466         Complete list of structure passing bug victims.
19467
19468 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19469
19470         * doc/install.texi: Remove CVS Id.
19471
19472 2001-07-02  Andreas Jaeger  <aj@suse.de>
19473
19474         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
19475         (find_inherently_necessary): Remove unused variable.
19476
19477 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
19478
19479         * c-common.h (TDI_inlined): New ast dump phase.
19480         (dump_flag_name): New function.
19481         * c-dump.c (dump_files): Add inlined phase.
19482         (dump_flag_name): Define.
19483         * doc/invoke.texi (-fdump-ast-inlined): Document.
19484
19485 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19486
19487         * stor-layout.c (layout_decl): Revert change to handling of alignment
19488         in packed types.
19489
19490 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19491
19492         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
19493         for FIELD_DECL.
19494
19495 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
19496
19497         * doc/tm.texi (FUNCTION_ARG): Document that the last call
19498         is special.
19499
19500 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
19501
19502         * tlink.c (recompile_files): Remove COMPILER_PATH and
19503         LIBRARY_PATH from the environment.
19504
19505 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
19506
19507         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
19508         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
19509         enumerators.
19510         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
19511
19512         * c-parse.in (OBJC_STRING): Kill.
19513         (objc_string): Decompose to [objc_string] '@' STRING.
19514         (reswords): Take the leading '@' off all the Objective C keywords.
19515         (objc_rid_sans_at): Kill.
19516         (init_reswords): Don't initialize it.
19517         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
19518         (_yylex): Kill reconsider label.  Look ahead one token after
19519         an '@'; if we get an identifier, check whether it's an
19520         Objective C @-keyword.  If so, return the keyword.  Otherwise,
19521         put back the token and return the '@' as a terminal.
19522
19523         * cpplib.c (lex_macro_node): Remove unnecessary check for
19524         leading '@' on identifier.  Clarify control flow and commentary.
19525
19526 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19527
19528         * cse.c (new_label_ref): Variable deleted.
19529         (insert): Remove set of new_label_ref.
19530         (check_for_label_ref): New function.
19531         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
19532
19533 See ChangeLog.5 for earlier changes.