OSDN Git Service

* cpperror.c: Update comments and copyright.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2
3         * cpperror.c: Update comments and copyright.
4         * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
5         cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
6
7 2002-01-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8
9         * collect2.c (main): Use strcmp when testing for "-shared".
10
11 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
12
13         * cppmacro.c: Don't include intl.h.  Update comments.
14         (new_number_token): Allocate enough buffer for 64-bit unsigned
15         integers; update prototype.
16         * cppmain.c: Update comments.
17
18 2002-01-03  William Cohen  <wcohen@redhat.com>
19
20         * function.h (struct function): Add profile.
21         (current_function_profile): New.
22         doc/extend.texi: Update documentation.
23         * final.c (final_start_function): Use current_function_profile
24         instead of profile_flag.
25         (profile_after_prologue): Likewise.
26         * function.c (expand_function_start): Likewise.
27         (expand_function_start): Likewise.
28         * config/alpha/alpha.c (direct_call_operand): 
29         (alpha_does_function_need_gp): Likewise.
30         (alpha_expand_prologue): Likewise.
31         * config/arm/arm.c (arm_expand_prologue): Likewise.
32         thumb_expand_prologue: Likewise.
33         * config/d30v/d30v.c (d30v_stack_info): Likewise.
34         * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
35         (fr30_expand_prologue): Likewise.
36         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
37         * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
38         * config/i386/i386.h (FINALIZE_PIC): Likewise.
39         * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
40         * config/i960/i960.c (i960_output_function_prologue): Likewise.
41         * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
42         * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
43         (m32r_expand_prologue): Likewise.
44         * config/m88k/m88k.c (m88k_layout_frame): Likewise.
45         (m88k_expand_prologue): Likewise.
46         * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
47         * config/mips/mips.c (compute_frame_size): Likewise.
48         (mips_expand_prologue): Likewise.
49         (mips_can_use_return_insn): Likewise.
50         * config/pa/elf.h (ASM_FILE_START): Likewise.
51         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
52         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
53         * config/pa/som.h (ASM_FILE_START): Likewise.
54         * config/romp/romp.c (romp_using_r14): Likewise.
55         * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
56         (rs6000_stack_info): Likewise.
57         * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
58         * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
59         * config/v850/v850.c (compute_register_save_size): Likewise.
60
61 2002-01-03  Jakub Jelinek  <jakub@redhat.com>
62
63         * simplify-rtx.c (simplify_binary_operation) [DIV]: If
64         gen_lowpart_common fails, use gen_lowpart_SUBREG.
65
66 2002-01-03  Turly O'Connor  <turly@apple.com>
67
68         * darwin.c (machopic_output_possible_stub_label): Don't generate
69         stub routines for pseudo-stubs which we've just defined.
70
71 2002-01-03  Kazu Hirata  <kazu@hxi.com>
72
73         * builtins.c: Fix formatting.
74         * c-typeck.c: Likewise.
75         * combine.c: Likewise.
76         * expr.c: Likewise.
77         * loop.c: Likewise.
78
79 2002-01-03  Andreas Schwab  <schwab@suse.de>
80
81         * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
82         and return true if _cpp_push_next_buffer pushed a new include
83         file.
84         * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
85         _cpp_pop_file_buffer did not push a new file.
86         * cpphash.h (_cpp_pop_file_buffer): Update declaration.
87
88 2002-01-02  Eric Christopher  <echristo@redhat.com>
89
90         * final.c (final_scan_insn): Change 0 -> NULL_RTX in
91         FIND_REG_INC_NOTE call. Update copyright.
92         * loop.c (canonicalize_condition): Ditto.
93         * reorg.c (delete_scheduled_jump): Ditto.
94
95 2002-01-03  Kazu Hirata  <kazu@hxi.com>
96
97         * gcse.c: Fix formatting.
98
99 2002-01-03  Graham Stott  <grahams@redhat.com>
100
101         * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
102         forward defs for struct tags rtx_def, union_tree, rtvec_def
103         also output corresponding typedefs for rtxm, tree, and rtvcec.
104
105         * system.h: Move forward defs for struct tags rtx_def, union_tree,
106         rtvec_def along with corresponding typedefs for rtx, tree, and
107         rtvcec to config.h, hconfig.h, tconfig.h
108
109 2002-01-03  Graham Stott  <grahams@redhat.com>
110
111         * tree.h: Update copyright date.
112         (IS_EXPR_CODE_CLASS): Add parenthesis.
113         (TREE_SET_CODE): Add whitespace.
114         (TREE_CHECK): Add parenthesis.
115         (TREE_CLASS_CODE): Add parenthesis and wrap long line.
116         (CST_OR_CONSTRUCTOR_CHECK):
117         (EXPR_CHECK): Add parenthis, whitespace and wrap line.
118         (TREE_SYMBOL_REFERENCED): Whitespace.
119         (INT_CST_LT): Likewise.
120         (INT_CST_LT_UNSIGNED): Likewise.
121         (tree_real_cst): Unwrap comment.
122         (tree_string): Likewise.
123         (tree_complex): Likewise.
124         (IDENTIFIER_POINTER): correct cast.
125         (SAVE_EXPR_CONTEXT): Whitespace.
126         (EXPR_WFL_FILENAME_NODE): Likewise.
127         (EXPR_WFL_FILENAME): Remove parenthesis.
128         (DECL_ORIGIN): Add parenthesis.
129         (DECL_FROM_INLINE): Use NULL_TREE.
130         (build_int_2): Whitespace.
131         (build_type_variant): Add parenthesis.
132
133         * gcc/jcf-parse.c: Update copyright date.
134         (yyparse): Constify resource_filename.
135
136 2002-01-03  Graham Stott  <grahams@redhat.com>
137
138         * rtl.h: Update copyright date.
139         (RTL_CHECK1): Wrap long line.
140         (RTL_CHECK2): Likewise.
141         (RTL_CHECKC1): Wrap long line and whitespace.
142         (RTL_CHECKC2): Likewise.
143         (XWINT): Whitespace.
144         (XINT): Likewise.
145         (XSTR): Likewise.
146         (XEXP): Likewise.
147         (XVEC): Likewise.
148         (XMODE): Likewise.
149         (XBITMAP): Likewise.
150         (XTREE): Likewise.
151         (XBBDEF): Likewise.
152         (XTMPL): Likewise.
153         (X0WINT): Likewise.
154         (X0INT):Likewise.
155         (X0UINT): Likewise.
156         (X0STR): Likewise.
157         (X0EXP): Likewise.
158         (X0VEC): Likewise.
159         (X0MODE): Likewise.
160         (X0BITMAP): Likewise.
161         (X0TREE): Likewise.
162         (X0BBDEF): Likewise.
163         (X0ADVFLAGS): Likewise.
164         (X0CSELIB): Likewise.
165         (X0MEMATTR): Likewise.
166         (XCWINT): Likewise.
167         (XCINT): Likewise.
168         (XCUINT): Likewise.
169         (XCSTR): Likewise.
170         (XCEXP): Likewise.
171         (XCVEC): Likewise.
172         (XCMODE): Likewise.
173         (XCBITMAP): Likewise.
174         (XCTREE): Likewise.
175         (XCBBDEF): Likewise.
176         (XCADVFLAGS): Likewise.
177         (XCCSELIB): Likewise.
178         (XC2EXP): Likewise.
179         (INSN_UID): Likewise.
180         (PREV_INSN): Likewise.
181         (PATTERN): Likewise.
182         (INSN_CODE): Likewise.
183         (PUT_REG_NOTE_KIND): Likewise.
184         (CODE_LABEL_NUMBER): Likewise.
185         (NOTE_SOURCE_FILE): Likewise.
186         (NOTE_BLOCK): Likewise.
187         (NOTE_EH_HANDLER): Likewise.
188         (NOTE_RANGE_INFO): Likewise.
189         (NOTE_LIVE_INFO): Likewise.
190         (NOTE_BASIC_BLOCK): Likewise.
191         (NOTE_EXPECTED_VALUE): Likewise.
192         (NOTE_LINE_NUMBER): Likewise.
193         (LABEL_NAME): Likewise.
194         (LABEL_NUSES): Likewise.
195         (LABEL_ALTERNATE_NAME): Likewise.
196         (ADDRESSOF_DECL): Likewise.
197         (JUMP_LABEL): Likewise.
198         (LABEL_NEXTREF): Likewise.
199         (REGNO): Likewise.
200         (ORIGINAL_REGNO: Likewise.
201         (HARD_REGISTER_NUM_P): Add parenthesis.
202         (SUBREG_REG): Whitespace.
203         (SUBREG_BYTE): Likewise.
204         (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
205         (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
206         (ASM_OPERANDS_OUTPUT_IDX): Likewise.
207         (ASM_OPERANDS_INPUT_VEC): Likewise.
208         (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
209         (ASM_OPERANDS_INPUT): Likewise.
210         (ASM_OPERANDS_INPUT_LENGTH): Likewise.
211         (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
212         (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
213         (ASM_OPERANDS_INPUT_MODE): Likewise.
214         (ASM_OPERANDS_SOURCE_FILE): Likewise.
215         (ASM_OPERANDS_SOURCE_LINE): Likewise.
216         (MEM_SET_IN_STRUCT_P): Minor reformat.
217         (TRAP_CONDITION): Whitespace.
218         (TRAP_CODE): Likewise.
219         (COND_EXEC_TEST): Likewise.
220         (COND_EXEC_CODE): Likewise.
221         (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
222         (PHI_NODE_P): Add parenthesis.
223         (plus_constant): Whitespace and add parenthesis.
224
225 2002-01-03  Kazu Hirata  <kazu@hxi.com>
226
227         * config/avr/avr.c: Fix comment typos.
228         * config/c4x/c4x.md: Likewise.
229         * config/dsp16xx/dsp16xx.h: Likewise.
230         * config/dsp16xx/dsp16xx.md: Likewise.
231         * config/i386/i386.md: Likewise.
232         * config/ia64/ia64.c: Likewise.
233         * config/m32r/m32r.h: Likewise.
234         * config/m68hc11/m68hc11.md: Likewise.
235         * config/mmix/mmix.c: Likewise.
236         * config/mn10200/mn10200.c: Likewise.
237         * config/romp/romp.c: Likewise.
238         * config/sh/sh.c: Likewise.
239         * config/stormy16/stormy16.c: Likewise.
240         * config/stormy16/stormy16.h: Likewise.
241         * config/stormy16/stormy16.md: Likewise.
242
243 2002-01-03  Graham Stott  <grahams@redhat.com>
244
245         * loop.h: Update copyright date.
246         (LOOP_MOVABLES): Fix typo.
247         (LOOP_REGS): Likewise.
248         (LOOP_IVS): Likewise.
249
250 2002-01-03  Graham Stott  <grahams@redhat.com>
251
252         * cppinit.c: Update copyright date.
253         Don't include output.h
254         * Makefile.in: Update copyright date.
255         Update dependency.
256
257 2002-01-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
258
259         PR c/5226
260         * invoke.texi (-mthreads): Remove from documented RS/6000 options.
261         (-pthread) Add to RS/6000 options.
262
263 2002-01-02  Kazu Hirata  <kazu@hxi.com>
264
265         * except.c: Fix comment typos.
266         * loop.c: Likewise.
267         * varasm.c: Likewise.
268         * doc/tm.texi: Fix a typo.
269
270 2002-01-02  Jakub Jelinek  <jakub@redhat.com>
271
272         * c-typeck.c (output_init_element): Allow initializing static storage
273         duration objects with compound literals.
274
275 2002-01-02  Richard Henderson  <rth@redhat.com>
276
277         * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
278         after abusing it.
279
280 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
281
282         * gcc.c (default_compilers): Const-ify.
283         * mips-tdump.c (stab_names): Likewise.
284         * mips-tfile.c (map_coff_types, map_coff_storage,
285         map_coff_sym_type, map_coff_derived_type, stabs_symbol,
286         pseudo_ops_t, pseudo_ops): Likewise.
287         * protoize.c (default_include): Likewise
288
289         * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
290         (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
291         Add array size in declaration.
292         (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
293         emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
294         esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
295         etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
296         eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
297         efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
298         c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
299         emtens, make_nan): Const-ify.
300         (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
301         DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
302
303 2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>
304
305         * config.gcc (ia64-*-*): Set extra_headers.
306         (alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
307         * config/alpha/t-osf: Remove.
308         * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
309
310 2002-01-02  David Edelsohn  <edelsohn@gnu.org>
311
312         * config/rs6000/t-aix43: Revert previous change.
313
314 2002-01-02  Jason Merrill  <jason@redhat.com>
315
316         * c-decl.c (c_expand_body): Call outlining_inline_function when
317         emitting an inline function out of line.
318
319 2002-01-02  Richard Henderson  <rth@redhat.com>
320
321         * dwarf2out.c (limbo_die_node): Add created_for member.
322         (new_die): New argument created_for.  Update all callers.
323         (mark_limbo_die_list): New.
324         (dwarf2out_init): Register limbo_die_list as a root.
325         (dwarf2out_finish): Force insert limbo dies into their function
326         context.
327
328 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
329
330         PR c++/5089
331         * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
332
333 2002-01-02  Kazu Hirata  <kazu@hxi.com>
334
335         * config/h8300/fixunssfsi.c: Update copyright.
336         Fix comment typos.
337         Fix formatting.
338         * config/h8300/h8300.c: Update copyright.
339         Eliminate warnings.
340
341 2002-01-02  Kazu Hirata  <kazu@hxi.com>
342
343         * config/romp/romp.c: Fix comment formatting.
344         * config/romp/romp.h: Likewise.
345         * config/romp/romp.md: Likewise.
346         * config/s390/s390.c: Likewise.
347         * config/stormy16/stormy16.c: Likewise.
348         * config/stormy16/stormy16.h: Likewise.
349
350 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
351
352         * c-common.h (genrtl_expr_stmt_value): Declare.
353         * c-semantics.c (genrtl_goto_stmt): Redirect to...
354         (genrtl_goto_stmt_value): ... this new function.  Pass new
355         argument down to expand_expr_stmt_value, taking
356         TREE_ADDRESSABLE into account.
357         * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
358         STMT_EXPR as addressable, i.e., one whose result we want.
359         * expr.c (expand_expr): Don't save expression statement value
360         of labeled_blocks or loop_exprs.
361         * stmt.c (expand_expr_stmt): Redirect to...
362         (expand_expr_stmt_value): ... this new function.  Use new
363         argument to tell whether to save expression value.
364         (expand_end_stmt_expr): Reset last_expr_type and
365         last_expr_value if we don't have either.
366         * tree-inline.c (declare_return_variable): Mark its use
367         statement as addressable.
368         * tree.h: Document new use of TREE_ADDRESSABLE.
369         (expand_expr_stmt_value): Declare.
370
371 2002-01-01  Tom Rix  <trix@redhat.com>
372
373         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
374         rs6000_emit_allocate_stack.
375
376 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
377
378         * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
379         ${srcdir}/ginclude/ to every entry in extra_headers.
380         * configure: Regenerate.
381         * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
382         * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
383         * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
384         * ginclude/proto.h: Rename to config/convex/proto.h.
385
386 Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
387
388         * attribs.c (handle_vector_size_attribute): Use host_integerp
389         and tree_int_cst; remove warnings.
390         * caller-save.c (insert_restore): Add cast to get rid of warning.
391         (insert_save): Likewise.
392         * emit-rtl.c (adjust_address_1, offset_address): Likewise.
393         * regmove.c (find_matches): Add temporary var to kill a warning.
394
395 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
396
397         * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
398         LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
399         * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
400         (vms-dwarf2eh.o): Add Makefile rule.
401         * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
402         * config/alpha/vms-dwarf2eh.asm: New file.
403
404         * gcc.c (delete_if_ordinary): Delete all versions.
405
406 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
407
408         * config/mmix/mmix.md: Update FIXME to not mention
409         define_constants.
410         (MMIX_rJ_REGNUM): New define_constants constant.
411         ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
412         "*movdicc_real"): Adjust contraints formatting.
413         ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
414         for branch prediction.
415         ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
416         output template.
417         ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
418         "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
419         number.  Delete related FIXMEs.
420         * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
421         from number to MMIX_rJ_REGNUM.
422         (TARGET_MASK_BRANCH_PREDICT): New.
423         (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
424         (TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
425         value.  Add -mbranch-predict and -mno-branch-predict.
426         (TARGET_VERSION): Drop date.
427         (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
428         * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
429         for finding out global symbols.
430         (mmix_asm_output_labelref): Revert condition for global symbol.
431         (mmix_print_operand): <case '+'>: Emit P for a likely branch.
432         (mmix_print_operand_punct_valid_p): A '+' is valid.
433
434 2001-12-31  Richard Henderson  <rth@redhat.com>
435
436         * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS.
437
438 2001-12-31  Richard Henderson  <rth@redhat.com>
439
440         * regrename.c (build_def_use): Don't rename asm operands that
441         were originally hard registers.
442         (copyprop_hardreg_forward_1): Likewise.
443         (find_oldest_value_reg): Copy ORIGINAL_REGNO from source.
444         * varasm.c (make_decl_rtl): Use gen_rtx_raw_REG.  Set ORIGINAL_REGNO.
445
446 2001-12-31  Douglas B Rupp  <rupp@gnat.com>
447
448         * config/alpha/vms.h (HAS_INIT_SECTION, NEED_ATEXIT): Remove.
449         (NAME__MAIN, SYMBOL__MAIN): Define.
450
451 2001-12-31  Richard Henderson  <rth@redhat.com>
452
453         * cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL
454         before decrementing LABEL_NUSES from a jump table.
455
456         * final.c (alter_subreg): Assign REGNO after changing the rtx code.
457
458         * config/alpha/alpha.c (reg_no_subreg_operand): Reject all
459         non-registers.
460
461 2001-12-31  Graham Stott  <grahams@redhat.com>
462
463         * halfpic.h: Remove foward defs of tree_node and rtx_def.
464
465         * toplev.h: Remove forward def of tree_node, rtx_def.
466
467         * except.h: Remove forward def of tree_node, rtx_def and
468         define of tree, rtx. Also remove undefs.
469
470         * basic-block.h: Remove forward def of tree_node and
471         define of tree.
472
473 2001-12-30  Richard Henderson  <rth@redhat.com>
474
475         * cfglayout.c (scope_def, scope_forest_info, forest,
476         relate_bbs_with_scopes, make_new_scope, build_scope_forest,
477         remove_scope_notes, insert_intra_before_1, insert_intra_1,
478         insert_intra_bb_scope_notes, insert_inter_bb_scope_notes,
479         rebuild_scope_notes, free_scope_forest_1, dump_scope_forest,
480         dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove.
481         (fixup_reorder_chain): Don't set scope for bb.
482         (insn_scopes, scope_to_insns_initialize, set_block_levels,
483         change_scope, scope_to_insns_finalize): New.
484         (cfg_layout_initialize, cfg_layout_finalize): Update to match.
485         * cfglayout.h (scope_def, scope): Remove.
486         (reorder_block_def): Remove scope member.
487         (scope_to_insns_initialize, scope_to_insns_finalize): Declare.
488         * haifa-sched.c: Revert reemit_other_notes change.
489         * sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes.
490         Use scope_to_insns_initialize and scope_to_insns_finalize.
491         * sched-rgn.c (schedule_insns): Likewise.
492
493 2001-12-31  Graham Stott  <grahams@redhat.com>
494
495         * c-lex.c: Include tree.h before expr.h
496
497         * c-typeck.c: Include rtl.h earlier.
498
499         * tree.h (STRIP_NOPS): Remove extraneous semicolon.
500         (STRIP_SIGN_NOPS): Likewise.
501         (STRIP_TYPE_NOPS): Likewise.
502         (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): Add Parenthesis around
503         macro paramater.
504
505         * final.c (struct bb_list): Delete.
506         (struct bb_str): Likewise.
507
508         * cfgloop.c (flow_loop_entry_edges_find): Fix typo.
509         (flow_loop_exit_edges_find): Likewise.
510
511         * gcse.c (gcse_main): Fix typos.
512         (alloc_gcse_mem): Likewise.
513
514         * function.h: Remove undefs for rtx and tree.
515
516 2001-12-30  Richard Henderson  <rth@redhat.com>
517
518         * loop.c (check_dbra_loop): Fix last change: examine both
519         has_multiple_exit_targets and exit_count.
520
521 2001-12-30  Richard Henderson  <rth@redhat.com>
522
523         * integrate.c (copy_rtx_and_substitute): Fix error last change:
524         we need to unconditionally create a new mem.
525
526 2001-12-30  Hans-Peter Nilsson  <hp@bitrange.com>
527
528         * config/mmix/mmix.md ("*call_real"): Fix typo in comment.
529         * config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT
530         to mmix_extra_constraint.
531         * config/mmix/mmix.c (mmix_secondary_reload_class): Only handle
532         non-global register classes.  Mark now unused parameters as such.
533         (mmix_extra_constraint, 'U'): Use new parameter strict and call
534         calling memory_operand_p or strict_memory_address_p, not
535         address_operand.
536         * config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter.
537
538 2001-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
539
540         * unroll.c: Move include files above first use of `const'.
541
542 2001-12-30  Jakub Jelinek  <jakub@redhat.com>
543
544         * cfgrtl.c (try_redirect_by_replacing_jump): Allow redirect_jump
545         to fail if target is EXIT_BLOCK_PTR, die otherwise.
546         (redirect_edge_and_branch): Likewise.
547         * cfgcleanup.c (try_forward_edge): Don't force jump redirecting
548         if target is EXIT_BLOCK_PTR.
549
550 2001-12-29  David Edelsohn  <edelsohn@gnu.org>
551
552         * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
553         gcc invoked with -shared.
554
555 2001-12-29  Graham Stott  <grahams@redhat.com>
556
557         * config/i386/i386.c (ix86_asm_dialect): Fix enum type.
558
559         (override_options): Delete abs macro unused.
560
561         (output_pic_addr_const): Use ASM_ATT/ASM_INTEL enumerations
562         when testing ASSEMBLER_DIALECT.
563
564         (print_reg): Likewise.
565         (print_operand): Likewise.
566         (print_operand_address): Likewise.
567         (print_operand): abort if ASSEMBLER_DIALECT is unknown dialect.
568
569         * config/i386/i386.h (ix86_asm_dialect): Fix enum type.
570
571         (FIND_BASE_TERM): Fix typo.
572
573 Sat Dec 29 15:48:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
574
575         * expr.c (store_field): Use adjust_address, not PUT_MODE.
576         (expand_expr, case VIEW_CONVERT_EXPR): Likewise.
577         * reload1.c (eliminate_regs, case SUBREG): Likewise, but use
578         adjust_address_nv.
579         * varasm.c (make_decl_rtl): Likewise.
580         * integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use
581         replace_equiv_address_nv.
582
583         * varasm.c (decode_addr_const, case INTEGER_CST): Call
584         output_constant_def instead of looking at TREE_CST_RTL.
585
586         * expr.c (convert_move): If -fforce-mem, force FROM to not be memory.
587
588         * stor-layout.c (layout_decl): Don't misalign field of variable size
589         for packed record.
590
591         * dwarf2out.c (compute_section_prefix): Avoid cast warning.
592         (gen_decl_die): Only check DECL_IGNORED_P on decls.
593         (dwarf2out_decl): Check for DECL_IGNORED_P only when needed.
594
595 2001-12-29  Jakub Jelinek  <jakub@redhat.com>
596
597         * cfglayout.c (insert_intra_before_1): New.
598         (insert_inter_bb_scope_notes): Emit sibling block notes which don't
599         span multiple basic blocks.
600
601 2001-12-29  Richard Henderson  <rth@redhat.com>
602
603         * loop.c (prescan_loop): Set has_multiple_exit_targets for exception
604         edges.  Rearrange jump interpretation code to use pc_set.
605         (check_dbra_loop): Examine has_multiple_exit_targets not exit_count.
606
607         * sched-deps.c (sched_analyze_insn): Set scheduling barrier for
608         all insns that can throw, not just if flag_non_call_exceptions.
609
610 2001-12-29  Stan Shebs  <shebs@apple.com>
611
612         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove.
613         (default_constant_string_class_name): New global.
614         (objc_init): Set it.
615         (synth_module_prologue): Use it.
616
617         * objc/objc-act.c: Apply various cosmetic and formatting changes.
618
619 2001-12-29  Kazu Hirata  <kazu@hxi.com>
620
621         * config/rs6000/darwin-tramp.asm: Fix comment formatting.
622         * config/rs6000/freebsd.h: Likewise.
623         * config/rs6000/rs6000.c: Likewise.
624         * config/sh/sh.c: Likewise.
625         * config/sh/sh.h: Likewise.
626
627 2001-12-28  Stan Shebs  <shebs@apple.com>
628
629         * objc/objc-act.c (build_module_descriptor): Make sure the init
630         function is not deferred.
631         (build_dispatch_table_initializer): Compute the method encoding if
632         not already done.
633
634 2001-12-28  Kazu Hirata  <kazu@hxi.com>
635
636         * doc/md.texi: Add @findex define_insn_and_split.
637
638 2001-12-28  Hans Bohem  <hans_boehm@hp.com>
639
640         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
641         * config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp,
642         bsp setup.  Set pri_unat_loc to something reasonable.
643         (uw_install_context): Add missing cast.
644         (unw_access_gr): Fix off-by-1 indexing error.
645
646 2001-12-28  Kazu Hirata  <kazu@hxi.com>
647
648         * except.c: Fix comment formatting.
649         * flags.h: Likewise.
650         * flow.c: Likewise.
651         * predict.c: Likewise.
652         * simplify-rtx.c: Likewise.
653         * system.h: Likewise.
654         * vmsdbg.h: Likewise.
655         * vmsdbgout.c: Likewise.
656
657 2001-12-28  Kazu Hirata  <kazu@hxi.com>
658
659         * config/h8300/h8300.md: Fix formatting.
660
661 2001-12-28  Geoff Keating  <geoffk@redhat.com>
662
663         * varasm.c (record_constant_1): Correct parameter to recursive
664         call in default case.
665
666 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
667
668         * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT,
669         ASM_OUTPUT_DWARF_PCREL): Define.
670         * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
671         * configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports
672         .uaword %r_disp32() and linker handles it correctly.
673         * configure, config.in: Rebuilt.
674
675 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
676
677         * c-typeck.c (store_init_value): If initializing object with array
678         type of unknown size by a compound literal, set object's size from
679         compound literal size.
680         * doc/extend.texi (Compound Literals): Adjust documentation.
681
682 2001-12-28  Richard Henderson  <rth@redhat.com>
683
684         * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
685         (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
686         (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
687         * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
688         INTEL_EXTENDED_IEEE_FORMAT.
689
690 2001-12-27  Geoff Keating  <geoffk@redhat.com>
691
692         * combine.c (try_combine): Mask off sign bits when combining
693         stores to the low and high parts of a two-word value.
694
695         * expr.c (expand_expr): Don't mark memory for non-constants as
696         constant.
697
698 Thu Dec 27 20:39:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
699
700         * integrate.c (copy_rtx_and_substitute, case MEM): If inlining
701         and not for LHS, clear RTX_UNCHANGING_P.
702
703 2001-12-28  Philipp Thomas  <pthomas@suse.de>
704
705         * cppfiles.c (stack_include_file): Don't translate <stdin>.
706
707 2001-12-27  Roger Sayle <roger@eyesopen.com>
708
709         * builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
710         when all arguments are known constant.  Fixes PR opt/3508.
711
712 2001-12-27  Kazu Hirata  <kazu@hxi.com>
713
714         * config/h8300/h8300.md (two anonymous patterns): Remove.
715
716 2001-12-27  Richard Henderson  <rth@redhat.com>
717
718         * haifa-sched.c (reemit_other_notes): New.
719         (schedule_block): Use it.
720         * sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
721         * sched-rgn.c (schedule_insns): Likewise.
722         * cfglayout.c (remove_scope_notes): Handle removing note at
723         the end of the insn chain.
724         * function.c (debug_find_var_in_block_tree): New.
725
726 2001-12-27  Alan Modra  <amodra@bigpond.net.au>
727             David Edelsohn  <edelsohn@gnu.org>
728
729         * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
730
731 2001-12-27  Jakub Jelinek  <jakub@redhat.com>
732
733         * toplev.c (independent_decode_option): Re-add -aux-info option
734         handling.
735
736 Thu Dec 27 09:50:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
737
738         * integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
739         if special value.
740
741 2001-12-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
742
743         * collect2.c (is_ctor_dtor): Const-ify.
744         * m88k-protos.h (output_file_start): Likewise.
745         * m88k.c (m88k_lang_independent_options, output_options,
746         output_file_start): Likewise.
747         * fix-header.c (files_to_ignore, std_include_entry, include_entry,
748         std_include_table, main): Likewise.
749         * protoize.c (longopts): Likewise.
750         * regclass.c (int_reg_class_contents): Likewise.
751         * toplev.c (dump_file, f_options, W_options): Make static.
752         (lang_independent_options, f_options, W_options): Const-ify.
753         * tree-dump.c (dump_file_info): Likewise.
754         * unroll.c (_factor): Make static.
755
756 Wed Dec 26 17:55:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
757
758         * config/alpha/alpha.c (alpha_align_insns): Remove warning.
759
760         * config/sparc/sparc.md (call struct patterns): Show starting
761         at two words long.
762
763 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
764
765         * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
766         * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
767
768 2001-12-26  DJ Delorie  <dj@redhat.com>
769
770         * function.c (expand_main_function): Make sure stack adjustments
771         happen before sjlj exception setup.
772
773 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
774
775         * rs6000.md (indirect_jump): Prefer CTR over LR.
776         * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
777
778 Tue Dec 25 12:04:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
779
780         * dwarf2out.c: Reformatting and minor code rearrangement.
781
782 2001-12-24  Douglas B. Rupp (rupp@gnat.com)
783
784         * configure.in (quoted_stage_prefix_set_by_configure): Generate.
785         * configure: Regenerated.
786         * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
787         quoted_stage_prefix_set_by_configure.
788
789 Mon Dec 24 10:24:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
790
791         * rtl.h (in_expr_list_p): New declaration.
792         * rtlanal.c (in_expr_list_p): New function.
793         * cfgcleanup.c: Reformatting and minor code rearrangement.
794         * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
795
796 2001-12-23  Richard Henderson  <rth@redhat.com>
797
798         PR c/5163:
799         * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
800         we have a function body associated.  Minor cleanups.
801         (grokdeclarator): Do not set DECL_INLINE without a function body.
802
803 2001-12-23  Richard Henderson  <rth@redhat.com>
804
805         * stmt.c (resolve_operand_names): Handle operand modifiers.
806
807 2001-12-23  Richard Henderson  <rth@redhat.com>
808
809         * stmt.c (parse_input_constraint): Break out from ...
810         (expand_asm_operands): ... here.  Loop over the operands twice,
811         the first time only calling mark_addressable.  Correct and simplify
812         the conditions for spilling an output operand to memory.
813
814 2001-12-23  Richard Henderson  <rth@redhat.com>
815
816         * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
817
818         * config/alpha/alpha.md (UNSPEC_SIBCALL): New.
819         (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
820         (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
821
822 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
823
824         * c-typeck.c (c_start_case): Don't strip conversions from the
825         controlling expression.  Partially fixes PR c/2454.
826
827 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
828
829         * Makefile.in (USER_H): Remove proto.h.
830         * config.gcc (c*-convex-*): Set extra_headers=proto.h.
831
832 2001-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
833
834         * arc.c (arc_hard_regno_mode_ok): Const-ify.
835         * arc.h (arc_hard_regno_mode_ok): Likewise.
836         * i386.c (x86_64_reg_class_name): Make static.
837         * m68k.c (regno_reg_class): Const-ify.
838         * m68k.h (regno_reg_class): Likewise.
839         * mcore.c (reg_class_from_letter): Likewise.
840         * mcore.h (reg_class_from_letter): Likewise.
841         * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
842         ext_shift_insns, ext_shift_amounts): Likewise.
843         * sh.h (reg_class_from_letter): Likewise.
844         * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
845         hard_64bit_mode_classes): Likewise.
846         * sparc.h (hard_regno_mode_classes): Likewise.
847
848         * gcc.c (modify_target): Make static.
849         * gengenrtl.c (defs, formats): Likewise.
850         * reload1.c (elim_table_1, init_elim_table): Const-ify.
851         * tradcpp.c (directive, directive_table, handle_directive,
852         skip_if_group, run_directive): Likewise.
853
854 2001-12-23  Richard Henderson  <rth@redhat.com>
855
856         * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
857         an invalid result register; do end the sequence properly.
858         (emit_library_call_value_1): Likewise.
859
860 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
861
862         * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
863
864         * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
865
866         * config/rs6000/rs6000.c: Clean up some spacing and indentation.
867         (altivec_init_builtins): Add tree types for builtins with 4 bit
868         literals.
869         (bdesc_3arg): Add vsldoi variants.
870
871 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
872
873         * 1750a.h (datalbl, jmplbl): Declare array size explicitly.
874         * a29k.h (a29k_debug_reg_map): Likewise.
875         * arc.h (arc_regno_reg_class): Likewise.
876         * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
877         * convex.h (regno_reg_class, reg_class_from_letter): Likewise.
878         * d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
879         * i386.h (regclass_map): Likewise.
880         * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
881         * mcore.h (regno_reg_class): Likewise.
882         * mips.h (mips_print_operand_punct, mips_char_to_class):
883         Likewise.
884         * ns32k.h (regclass_map): Likewise.
885         * pj.h (pj_debugreg_renumber_vec): Likewise.
886         * s390.h (regclass_map): Likewise.
887         * sh.h (regno_reg_class): Likewise.
888         * sparc.h (sparc_regno_reg_class): Likewise.
889
890         * hard-reg-set.h (reg_class_contents): Likewise.
891         * machmode.h (class_narrowest_mode): Likewise.
892
893 2001-12-22  David Edelsohn  <edelsohn@gnu.org>
894
895         * loop.c (scan_loop, move_movables, count_one_set): Do not
896         overlook hard registers when computing statistics.
897
898 Sun Dec 23 00:49:37 CET 2001  Jan Hubicka  <jh@suse.cz>
899
900         * calls.c (ECF_LIBCALL_BLOCK): New constant.
901         (emit_call_1, initialize_argument_information,
902         precompute_arguments, expand_call,
903         emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
904         instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
905
906 2001-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
907
908         * config.gcc (extra_headers): Move settings to math-68881.h and
909         ppc-asm.h to common code for CPU types.  Use math-68881.h on all
910         m68k targets.
911         (header_files): Remove unused setting.
912
913 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
914
915         * elxsi.c: Include "hard-reg-set.h" and/or don't declare
916         `call_used_regs' explicitly.
917         * i860.c: Likewise.
918         * m68k.c: Likewise.
919         * ns32k.c: Likewise.
920         * pa.c: Likewise.
921         * vax.c: Likewise.
922         * we32k.c: Likewise.
923
924 Fri Dec 21 23:30:14 CET 2001  Jan Hubicka  <jh@suse.cz>
925
926         * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
927         (TARGET_CPU_DEFAULT_*): Renumber.
928
929 Sat Dec 22 12:20:20 EST 2001  John Wehle  (john@feith.com)
930
931         * rtl.h (subreg_lsb): Declare.
932         * rtlanal.c (subreg_lsb): Implement.
933
934 Sat Dec 22 08:59:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
935
936         * predict.c: Reformatting and minor cleanups.
937         * cfg.c, cfganal.c, cfgbuild.c: Likewise.
938
939         * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
940         SAVE_EXPR.
941         * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
942         (put_addressof_into_stack): Clarify code in setting of used_p.
943
944         * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
945         (expand_call): Delete from here.
946         Do pending stack adjustments if ECF_SP_DEPRESSED.
947
948         * dwarf2out.c (save_rtx): Deleted.
949         (mem_loc_descriptor): Do equivalent operation.
950         (add_const_value_attribute, case CONST): Likewise.
951         (add_name_and_src_coords_attributes): Likewise.
952
953 2001-12-21  Kazu Hirata  <kazu@hxi.com>
954
955         * config/h8300/h8300.h: Fix comment formatting.
956
957 Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
958
959         * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
960         (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
961
962 2001-12-21  Robert Lipe  <robertlipe@usa.net>
963
964          * system.h (PREFETCH): Explictly undefine.
965
966 2001-12-21  Richard Henderson  <rth@redhat.com>
967
968         * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
969         (RESTORE_WARN_FLAGS): Restore it.
970         (extension): Zero warn_traditional.
971
972 2001-12-21  Kazu Hirata  <kazu@hxi.com>
973
974         * doc/passes.texi: Fix a typo.
975
976 2001-12-21  Kazu Hirata  <kazu@hxi.com>
977
978         * config/h8300/h8300.h: Fix a comment typo.
979
980 2001-12-21  Jakub Jelinek  <jakub@redhat.com>
981
982         * combine.c (nonzero_bits): If using reg_nonzero_bits,
983         we don't know anything about bits outside of X mode.
984         (num_sign_bit_copies): Likewise.
985
986 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
987
988         * config/arm/arm.md (prefetch): Use 'a' operand code.
989
990 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
991
992         * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
993         subshells.
994         * configure.in: Likewise for perl Pod::Man.
995
996         * configure: Regenerated.
997
998 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
999
1000         * builtin-attrs.def (__builtin_printf_unlocked,
1001         __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
1002         Mark with the __printf__ attribute.
1003
1004         * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
1005         and set the replacement function depending on it.
1006         (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
1007         Handle BUILT_IN_*_UNLOCKED when optimizing.
1008
1009         * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
1010         DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
1011         Declare the "unlocked" stdio functions.
1012
1013         * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
1014         Add an `unlocked' parameter and set the replacement function
1015         depending on it.
1016         (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
1017         BUILT_IN_FPRINTF_UNLOCKED.
1018
1019         * doc/extend.texi (printf_unlocked, fprintf_unlocked,
1020         fputs_unlocked): Document.
1021
1022 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
1023
1024         * cfgloop.c (flow_loops_find): Use the information of the depth
1025         first search order of the CFG correctly when finding natural loops.
1026
1027 2001-12-20  Richard Henderson  <rth@redhat.com>
1028
1029         * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
1030
1031 2001-12-20  Richard Henderson  <rth@redhat.com>
1032
1033         * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
1034         * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
1035         operand into $27.
1036
1037 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1038
1039         * configure.in (all_headers, all_lib2funcs): Remove.
1040         * configure: Regenerate.
1041         * Makefile.in (LANG_EXTRA_HEADERS): Remove.
1042         (USER_H): Don't include $(LANG_EXTRA_HEADERS).
1043         * config/alpha/t-interix (USER_H): Don't include
1044         $(LANG_EXTRA_HEADERS).
1045         * config/i386/t-interix: Likewise.
1046         * config/t-openbsd: Likewise.
1047
1048 2001-12-20  Andreas Jaeger  <aj@suse.de>
1049
1050         * libgcc2.c (__bb_exit_func): Remove unused variable.
1051         (num_digits): Remove unused function.
1052
1053 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
1054
1055         * config/arm/arm.c (arm_output_epilogue): Changed IP restore
1056         to use ldmfd instead of ldmea.
1057         * config/arm/arm.c (arm_compute_initial_elimination_offset):
1058         Modified to reflect behavior of arm_expand_prologue when generating
1059         interrupt handlers
1060
1061 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
1062
1063         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
1064         function. Compute which of registers r0 through r12 should be
1065         saved onto the stack during a function's prologue.
1066         (arm_compute_save_reg_mask): Use
1067         arm_compute_save_reg0_reg12_mask.
1068         (arm_compute_initial_elimination_offset): Use
1069         arm_compute_save_reg0_reg12_mask.
1070
1071         (arm_expand_prologue): Do not mark as save of the IP register
1072         for an interrupt handler as being part of the frame creation
1073         code.
1074
1075 2001-12-20  Richard Henderson  <rth@redhat.com>
1076
1077         * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
1078         to emit floating point values.
1079         (assemble_real_1): Remove.
1080
1081         * 1750a/1750a.c (real_value_to_target_single): New.
1082         (real_value_to_target_double): New.
1083         * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
1084         (REAL_VALUE_TO_TARGET_SINGLE): New.
1085         (REAL_VALUE_TO_TARGET_DOUBLE): New.
1086         * 1750a/1750a-protos.h: Update.
1087
1088         * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
1089         alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
1090         avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
1091         d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
1092         fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
1093         i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
1094         i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
1095         i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
1096         m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
1097         m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
1098         m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
1099         m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
1100         mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
1101         mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
1102         ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
1103         romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
1104         sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
1105         vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
1106         ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
1107         ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
1108         associated support routines.
1109
1110 Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
1111
1112         * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
1113         if one of block does not contain jump.
1114         (outgoing_edge_math): Revert last path; require edges to be noncomplex
1115         nonfake to match single exit edge; require conditional jumps to not
1116         have side effect.
1117
1118 2001-12-20  Turly O'Connor  <turly@apple.com>
1119
1120         * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
1121         "recog_operand" to "recog_data.operand".
1122         * rtl.def: Likewise.
1123
1124 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
1125
1126         * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
1127         narrower mode than op0, only return the bits in DIV's mode.
1128
1129 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
1130
1131         * combine.c (distribute_notes): Avoid adding REG_LABEL notes
1132         to JUMP_INSNs with JUMP_LABEL.
1133
1134 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
1135
1136         * doc/install.texi: Add documentation for --enable-altivec.
1137
1138         * config.gcc: Add support for --enable-altivec.
1139
1140         * config/rs6000/altivec.h: New.
1141
1142         * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
1143         Define.  Fix typo.
1144
1145         * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
1146         unspec_volatile.
1147         (generate_set_vrsave): Generate the unspec here instead of calling
1148         an .md pattern.
1149         (generate_set_vrsave): Use gen_rtvec.
1150         (rs6000_emit_prologue): Replace call to gen_get_vrsave with
1151         gen_rtx_SET.
1152
1153         * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
1154         for setting special registers.
1155         ("*set_vrsave_internal"): Use unspec_volatile.
1156         ("set_vrsave"): Remove.
1157         ("get_vrsave"): Remove.
1158
1159         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
1160         SPECIAL_REGS.
1161
1162 2001-12-19  Bruce Korb  <bkorb@gnu.org>
1163
1164         * gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
1165         (strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
1166         * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
1167         * gcc/fixinc/base/...: adjust for changes in fixes
1168
1169 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1170
1171         * po/gcc.pot: Regenerate.
1172
1173         * configure.in (all_diff_excludes, diff_excludes): Remove.
1174         * configure: Regenerate.
1175         * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
1176         * objc/config-lang.in (diff_excludes): Remove.
1177
1178 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
1179
1180         * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
1181         the destination register as a parameter to mems_ok_for_ldd_peep.
1182         For store peepholes pass NULL_RTX.  Move all volatile checks ...
1183         * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
1184         register parameter, check it's not the same as base for an address.
1185         * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
1186
1187 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
1188
1189         * config/ia64/ia64.c (ia64_single_set): Return first set for
1190         prologue_allocate_stack and epilogue_deallocate_stack instructions.
1191
1192 2001-12-19  Dale Johannesen  <dalej@apple.com>
1193
1194          * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
1195          redefine in terms of rs6000_legitimize_reload_address().
1196          * config/rs6000/rs6000-protos.h: Add this function.
1197          * config/rs6000/rs6000.c: Add this function.  Includes
1198          handling for Darwin FP constants.
1199
1200 Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
1201
1202         * config/pa/t-hpux-shlib: New file.
1203         * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
1204         for 32bit hpux10 & hpux11 configurations.
1205
1206 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
1207
1208         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
1209         -mno-fpu onto gas unless -mhard-float is specified.
1210         (MULTILIB_DEFAULTS): Include msoft-float.
1211
1212         * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
1213
1214         * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
1215         * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
1216
1217 Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
1218
1219         * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
1220         descriptor output.
1221
1222 2001-12-18  Stan Shebs  <shebs@apple.com>
1223
1224         * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
1225
1226 Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1227
1228         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
1229         on an INTEGER_CST.
1230
1231 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
1232
1233         * rs6000.c (rs6000_override_options): Only use DI ops when
1234         TARGET_64BIT.  Fix typo.
1235
1236 Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
1237
1238         * att.h (ASM_FILE_START): Use asm_dialect.
1239         * linux.h (ASM_FILE_START): Likewise.
1240         * gas.h (ASM_FILE_START): Likewise.
1241         * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
1242         ix86_asm_string, ix86_asm_dialect): New.
1243         (override_options): Set asm_dialect.
1244         * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
1245         MASK_DEBUG_ADDR): Kill.
1246         (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
1247         (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
1248         (ASSEMBLER_DIALECT): Use asm_dialect.
1249         (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
1250         remove debug-addr and debug-arg.
1251         (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
1252         (asm_dialect): New enum.
1253         (ix86_debug_arg_string, ix86_debug_addr_string,
1254         ix86_asm_string, ix86_asm_dialect): Declare.
1255         * invoke.texi (-mintel-syntax): Remove.
1256         (-masm): Document.
1257
1258 Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
1259
1260         * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
1261
1262 2001-12-18  Jason Merrill  <jason@redhat.com>
1263
1264         C++ ABI change: destroy value arguments in caller.
1265         * calls.c (initialize_argument_information): Pass the address of
1266         the TARGET_EXPR temporary rather than storing it into another.
1267
1268 Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
1269
1270         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
1271         * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
1272
1273 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
1274
1275         * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
1276         * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
1277         * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
1278         (CC1_SPEC): Don't default to -gstabs+ if -m32.
1279
1280 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
1281
1282         * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
1283
1284 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
1285
1286         * po/gcc.pot: Regenerate.
1287
1288 2001-12-18  Kazu Hirata  <kazu@hxi.com>
1289
1290         * config/h8300/h8300.c: Fix comment typos.
1291         * config/h8300/h8300.h: Fix comment formatting.
1292
1293 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1294
1295         * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
1296         mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
1297         declaration to NUM_MACHINE_MODES.
1298         (mode_size, mode_unit_size): Set array type to unsigned char.
1299         (mode_bitsize): Set array type to unsigned short.
1300
1301         * rtl.c (rtx_length): Set array type to unsigned char.
1302         (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
1303         NUM_RTX_CODE.
1304         (mode_bitsize): Set array type to unsigned short.
1305         (mode_size, mode_unit_size): Set array type to unsigned char.
1306         (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
1307         mode_wider_mode, mode_mask_array): Set array size to
1308         NUM_MACHINE_MODES.
1309
1310         * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
1311         size in declaration to NUM_RTX_CODE.
1312
1313 2001-12-17  Richard Henderson  <rth@redhat.com>
1314
1315         * config/alpha/alpha.md (unop): Encode RB as $sp.
1316
1317 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1318
1319         * Makefile.in: Update dependencies.
1320         * c-lang.c: Remove unnecessary includes.
1321         (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
1322         c-objc-common.c.
1323         (finish_file): Move body to c_common_finish_file.
1324         * c-objc-common.c: Include varray.h and ggc.h.
1325         (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
1326         expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
1327         (c_objc_common_init): Initialize deferred function array.
1328         * c-tree.h (c_objc_common_finish_file,
1329         static_ctors, static_dtors): New.
1330 objc:
1331         * Make-lang.in: Update dependencies.
1332         * objc/objc-act.c: Don't include varray.h.
1333         (defer_fn, deferred_fns): Move to c-objc-common.c.
1334         (objc_init): Similarly for initialization of it.
1335         (finish_file): Move some to c-objc-common.c, use
1336         c_objc_common_finish_file.
1337
1338 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
1339
1340         * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
1341
1342 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1343
1344         * doc/cppinternals.texi: Update.
1345
1346 Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
1347
1348         * expmed.c (emit_store_flag): Extract updated comparison code
1349         from the return value of compare_from_rtx.
1350         * expr.c (do_store_flag): Similarly.
1351
1352 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
1353
1354         * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
1355         preference to BASE_REG_CLASS.
1356         * recog.c (preprocess_constraints): Ditto.
1357         * regclass.c (record_operand_costs, scan_one_insn, regclass,
1358         record_reg_classes, record_address_regs): Ditto.
1359         * regrename.c (scan_rtx_address, scan_rtx,
1360         replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
1361         * reload.c (find_reloads, find_reloads_address,
1362         find_reloads_address_1): Ditto.
1363         * reload1.c (maybe_fix_stack_asms): Ditto.
1364         * defaults.h (MODE_BASE_REG_CLASS): Provide default
1365         definition.
1366         * doc/tm.texi: Document MODE_BASE_REG_CLASS.
1367
1368         * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
1369
1370 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
1371
1372         * doc/install.texi2html: Use -I $SOURCEDIR.
1373
1374         Separate user and internals manuals.
1375         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
1376         dependencies.
1377         ($(docdir)/gccint.info, gccint.dvi): New targets.
1378         (maintainer-clean, install-info, uninstall): Update.
1379         * doc/.cvsignore: Add gccint.info*.
1380         * doc/include/gcc-common.texi: New file.
1381         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
1382         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
1383         is defined.
1384         * doc/gccint.texi: New file.
1385         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
1386         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
1387         Update for separate user and internals manuals.
1388
1389 2001-12-17  Dale Johannesen  <dalej@apple.com>
1390
1391          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
1392          ASM_CPU_SPEC: Ditto.
1393          RTX_COSTS: Fix timing info for 7450 multiply.
1394          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
1395          Allow floats to be kept in int regs in movsf_low,
1396          movsf_low_st (Darwin only)
1397
1398 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
1399
1400         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
1401         parallel.
1402         (is_gpr_return_reg): New.
1403         (rs6000_emit_prologue): Call generate_set_vrsave with additional
1404         argument.  Save only registers in the mask.  Attach
1405         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
1406         rs6000_frame_related when saving VRSAVE.
1407         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
1408         argument.  Restore only registers in the mask.  Restore altivec
1409         registers after we restore CR.
1410         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
1411         sets instead of clobbers for call saved registers.
1412         (altivec_frame_fixup): New.
1413
1414 2001-12-17  Richard Henderson  <rth@redhat.com>
1415
1416         * config/sparc/sparc.md (movdi_zero): Remove.
1417         (movdi_insn_sp32_v9): New.
1418
1419 2001-12-17  Richard Henderson  <rth@redhat.com>
1420
1421         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
1422         a single outgoing edge too.
1423
1424 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
1425
1426         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
1427         edges resulting from computed jump
1428
1429 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
1430
1431         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
1432         * basic-block.h (CLEANUP_THREADING): New constant.
1433         * cfgcleanup.c: Include cselib.h
1434         (thread_jump, mark_effect): New functions.
1435         (try_forward_edges): Do jump threading when asked for.
1436         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
1437         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
1438         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
1439         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
1440         CLEANUP_THREAD instead.
1441
1442 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1443
1444         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
1445
1446 2001-12-17  Tom Rix  <trix@redhat.com>
1447
1448         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
1449         of bytes.
1450
1451 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
1452
1453         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
1454         asm_out.integer): New fields.
1455         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
1456         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
1457         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
1458         the individual initialisers together.
1459         (TARGET_ASM_OUT): Add the new initialisers.
1460         * output.h (assemble_integer): Return bool.
1461         (integer_asm_op): Declare.
1462         (default_assemble_integer): Declare.
1463         (assemble_aligned_integer): New interface to assemble_integer.
1464         * varasm.c (integer_asm_op): New function to select pseudo-op.
1465         (default_assemble_integer): Default implementation of asm_out.integer.
1466         (assemble_integer): Use the new target hook.  Split objects into
1467         words or bytes if the target hook fails.  Return bool.
1468         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
1469         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
1470         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1471         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
1472         Document new target hooks.
1473
1474         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
1475         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
1476         (dw2_assemble_integer): New.
1477         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
1478         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
1479         dw2_asm_output_encoded_addr_rtx): Use it.
1480         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
1481         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
1482         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
1483         if it returns NULL.
1484         * dwarf2asm.h (dw2_assemble_integer): Declare.
1485         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
1486         default implementation of most macros.
1487         (output_unsigned_leb128): Use dw2_asm_output_data.
1488         (output_signed_leb128, dwarfout_source_line): Likewise.
1489         (output_reg_number): Use dw2_assemble_integer.
1490         (generate_macinfo_entry): Separate the type and offset arguments.
1491         Use assemble_integer to write the value.
1492         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
1493         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
1494         * final.c (output_addr_const): Don't put brackets round a subtracted
1495         symbol value or ".".
1496         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
1497
1498         * config/1750a/1750a.c (assemble_integer_1750a): New,
1499         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
1500         * config/arc/arc.c (arc_assemble_integer): New.
1501         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1502         * config/arm/arm.c (arm_poke_function_name): Likewise.
1503         (arm_assemble_integer): New, extracted from...
1504         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
1505         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
1506         (ARM_FUNCTION_PROFILER): Likewise.
1507         * config/avr/avr-protos.h (asm_output_byte): Remove.
1508         (asm_output_char, asm_output_short): Remove.
1509         * config/avr/avr.c (avr_assemble_integer): New.
1510         (asm_output_byte, asm_output_char, asm_output_short): Remove.
1511         * config/clipper/clipper.h (ASM_LONG): Remove.
1512         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
1513         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
1514         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
1515         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
1516         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
1517         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
1518         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1519         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
1520         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
1521         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
1522         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1523         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
1524         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
1525         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
1526         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
1527         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1528         (ASM_SHORT, ASM_LONG): Undefine.
1529         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1530         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
1531         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1532         * config/ia64/ia64.c (ia64_assemble_integer): New.
1533         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
1534         (ASM_OUTPUT_DWARF_PCREL): Likewise.
1535         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1536         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
1537         (ASM_SHORT, ASM_LONG): Remove.
1538         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
1539         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
1540         macros, the allowed values for INT_OP_GROUP.
1541         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
1542         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
1543         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
1544         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
1545         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1546         * config/m68k/dpx2.h (ASM_LONG): Undefine.
1547         (INT_OP_GROUP): Define to INT_OP_DC.
1548         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
1549         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1550         * config/m68k/lynx.h (ASM_LONG): Undefine.
1551         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
1552         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1553         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1554         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
1555         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
1556         for GAS and INT_OP_NO_DOT otherwise.
1557         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
1558         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1559         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
1560         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1561         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
1562         (INT_OP_GROUP): Define to INT_OP_STANDARD.
1563         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1564         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
1565         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
1566         * config/m68k/tower-as.h (ASM_LONG): Remove.
1567         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1568         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
1569         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1570         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
1571         * config/mips/iris5.h (TARGET_IRIX5): Define.
1572         * config/mips/mips.c (mips_assemble_integer): New.
1573         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
1574         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
1575         * config/mmix/mmix.c (mmix_assemble_integer): New.
1576         (mmix_asm_output_double_int): Remove.
1577         (mmix_print_operand): Call mmix_output_octa directly.
1578         * config/mmix/mmix.h (ASM_LONG): Remove.
1579         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1580         * config/pa/pa.c (pa_assemble_integer): New.
1581         (pa_override_options): Only use aligned DI ops on 64-bit targets.
1582         Only use the unaligned ops if TARGET_GAS.
1583         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
1584         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
1585         * config/pj/pj.h (ASM_LONG): Undefine.
1586         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
1587         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
1588         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
1589         and in_toc_section() rather than the in_section variable.
1590         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
1591         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
1592         (RELOCATABLE_NEEDS_FIXUP): Define.
1593         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
1594         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
1595         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
1596         to get the word directive.
1597         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1598         * config/s390/s390.c (s390_assemble_integer): New.
1599         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
1600         integer_asm_op to get the word directive.
1601         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
1602         * config/sparc/sparc-protos.h (output_double_int): Remove.
1603         * config/sparc/sparc.c (output_double_int): Move to...
1604         (sparc_assemble_integer): ...this new function.
1605         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
1606         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
1607         * config/sparc/sysv4.h (ASM_LONG): Remove.
1608         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
1609         ASM_LONG.
1610         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
1611         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
1612
1613         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
1614         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
1615         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
1616         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
1617         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
1618         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
1619         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1620         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
1621         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
1622         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
1623         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
1624         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
1625         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
1626         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
1627         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
1628         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
1629         appropriate.
1630
1631         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
1632         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
1633         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
1634         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
1635         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
1636         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
1637         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
1638         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
1639         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
1640         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
1641         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
1642         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
1643         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
1644         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
1645         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
1646         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
1647         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
1648         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
1649         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
1650         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
1651         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
1652         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
1653         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
1654         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
1655         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1656         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
1657
1658 2001-12-17  Stan Shebs  <shebs@apple.com>
1659
1660         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
1661         (STACK_BOUNDARY): Remove definition.
1662         (CPP_PREDEFINES): Define __POWERPC__.
1663
1664 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1665
1666         * doc/c-tree.texi (Trees): Only refer to GCC.
1667
1668 2001-12-17  Andreas Jaeger  <aj@suse.de>
1669
1670         * c-common.def: Fix typo in comment.
1671
1672 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
1673
1674         * config.gcc (sparc64-*-freebsd*): Add target.
1675         * config/sparc/freebsd.h: New file.
1676         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
1677         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
1678         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
1679
1680 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1681
1682         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
1683         PLUS operands into registers for altivec mode.
1684
1685 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1686
1687         * builtins.c (apply_args_size): Change regno to unsigned.
1688
1689 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1690
1691         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
1692         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
1693
1694 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
1695
1696         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
1697         gettext on argument before printing.
1698
1699         * fold-const.c (negate_expr): Always call fold on new
1700         NEGATE_EXPR.
1701
1702 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
1703
1704         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
1705         a DECL directly.
1706         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
1707         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
1708         * c-decl.c (build_compound_literal): Put the decl inside a
1709         DECL_STMT.
1710         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
1711         Fixes PR c/5105.
1712
1713 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1714
1715         * config.gcc: Add powerpc-*-eabisimaltivec*.
1716
1717 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1718
1719         * c-common.c, c-common.h (back_end_hook): Remove.
1720         * c-lang.c (finish_file): Remove back_end_hook.
1721
1722 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1723
1724         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
1725         last change.
1726
1727 2001-12-16  Richard Henderson  <rth@redhat.com>
1728
1729         * toplev.c (parse_options_and_default_flags): Don't enable
1730         flag_cprop_registers at -O1.
1731
1732 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1733
1734         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
1735         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
1736         * avr.h (reg_class): Likewise.
1737         * avr.md: Likewise.
1738         * mcore.c (try_constant_tricks, mcore_byte_offset,
1739         mcore_halfword_offset): Likewise.
1740         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
1741         * v850.c (not_power_of_two_operand): Likewise.
1742
1743         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
1744         warnings.
1745         * convex.h (ASM_OUTPUT_ASCII): Likewise.
1746         * i370.h (ASM_OUTPUT_ASCII): Likewise.
1747         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
1748         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
1749         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
1750         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
1751         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
1752         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
1753         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
1754         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
1755         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
1756         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
1757         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
1758         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
1759         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
1760         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1761         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
1762         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
1763         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
1764         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
1765         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
1766         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
1767         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
1768         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
1769         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
1770         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
1771
1772         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
1773         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
1774         * psos.h (CPP_PREDEFINES): Likewise.
1775         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
1776         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
1777         ASM_OUTPUT_EXTERNAL): Likewise.
1778         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1779         Likewise.
1780         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
1781         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1782         Likewise.
1783         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
1784
1785         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
1786         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
1787         * fold-const.c (real_hex_to_f): Use hex_value.
1788         * real.c (asctoeg): Use hex_value & ISXDIGIT.
1789         * toplev.c (toplev_main): Call hex_init.
1790         * tradcpp.c (main): Call hex_init.
1791
1792         * nextstep-protos.h: New file.
1793         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
1794         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
1795         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
1796         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
1797         handle_pragma): Move prototypes to nextstep-protos.h.
1798         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
1799         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
1800
1801 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1802
1803         PR other/3725
1804         * configure.in: Add AC_SUBST(target_alias).
1805         * configure: Regenerated.
1806
1807 2001-12-15  Richard Henderson  <rth@redhat.com>
1808
1809         * config/alpha/alpha.md (sibcall_osf_1_er): New.
1810         (sibcall_value_osf_1_er): New.
1811
1812 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
1813
1814         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
1815         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
1816         addrs; eliminate restriction of only using fp and sp as base
1817         registers.
1818         * config/sparc/sparc-protos.h: Update.
1819         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
1820         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
1821         from old define_peepholes.
1822         Convert all the ldd/std peepholes to peephole2.
1823
1824 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1825
1826         * s390.md (prologue, epilogue, *return_si, *return_di): New.
1827         s390.c (find_unused_clobbered_reg, s390_frame_info,
1828         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
1829         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
1830         s390.c (s390_arg_frame_offset): Use s390_frame_info.
1831         (leaf_function_flag, cur_is_leaf_function,
1832         save_fprs, restore_fprs, force_const_mem_late): Remove.
1833         (s390_function_prologue, s390_function_epilogue): Mostly remove.
1834         s390.md (lit): New.  Uses ...
1835         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
1836         s390-protos.h (s390_output_constant_pool): Declare.
1837         s390.md (load_multiple, store_multiple): Allow use after reload.
1838         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
1839         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
1840         s390.h (CALL_REALLY_USED_REGISTERS): Define.
1841         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
1842         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
1843         s390.c (s390_sr_alias_set): New global variable, initialized ...
1844         (override_options): ... here.  New.
1845         s390-protos.h (override_options): Declare.
1846         s390.h (OVERRIDE_OPTIONS): Call it.
1847         s390.c (s390_function_profiler): New.
1848         s390-protos.h (s390_function_profiler): Declare.
1849         s390.h (FUNCTION_PROFILER): Call it.
1850         s390.c (s390_profile): Remove.
1851
1852         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
1853         (addr_generation_dependency_p): Consider literal pool register loads.
1854         (s390_adjust_priority): Do not schedule load_multiple.
1855         s390.md (attribute "type"): Define some additional types.
1856         (function_unit "integer"): Adapt.
1857         (many insns): Adapt "type" attribute setting.
1858
1859         * s390.c (general_s_operand, s_imm_operand): New.
1860         (s_operand): Remove old definition, call general_s_operand instead.
1861         s390-protos.h (s_imm_operand): Declare.
1862         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
1863         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
1864         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
1865         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
1866         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
1867         s390.md (many insns): Rework insn predicates.
1868
1869         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
1870         non-symbolic constants.  Reload will force them because of ...
1871         (s390_preferred_reload_class): ... this.  New.
1872         s390-protos.h (s390_preferred_reload_class): Declare.
1873         s390.h (PREFERRED_RELOAD_CLASS): Call it.
1874         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
1875         *reload_la_31 splitters): Handle constants after reload.
1876         (many insns): no longer force all constants immediately.
1877         s390.c (legitimate_reload_constant_p): New helper routine.
1878         s390-protos.h (legitimate_reload_constant_p): Declare.
1879         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
1880
1881         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
1882         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
1883         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
1884         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
1885         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
1886         (DWARF_FRAME_REGISTERS): Define.
1887         s390.c (regclass_map): Add virtual frame pointer.
1888         (legitimate_la_operand_p): Allow use of virtual frame pointer.
1889         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
1890         (addaddr, addsi_64): Delete.
1891
1892         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
1893         floating point registers.
1894         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
1895         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
1896         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
1897
1898         * s390.md (movti): Replace multi-insn output with splitters.
1899         (movdi_31, movdf_31): Likewise.
1900         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
1901         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
1902         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
1903         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
1904         (movsf_64, movsf_31): Remove, replace by ...
1905         (movsf): ... this.
1906         (movqi_64): Use lhi instead of llill.
1907         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
1908
1909         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
1910         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
1911         extendqihi2 and associated splitters): Reworked.
1912         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
1913         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
1914         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
1915         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
1916         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
1917         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
1918         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
1919         and associated splitters): Likewise.
1920         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
1921         and associated splitters): New.
1922         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
1923         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
1924         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
1925         s390.h (PROMOTE_PROTOTYPES): Remove.
1926         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
1927
1928         * s390.md (muldi3): Delete, use instead ...
1929         (mulsidi3): ... this.
1930         (*muldi3_64): Rename to muldi3.
1931         (mulsi_6432): Fix template.
1932         (divdi3, moddi3): Delete, replace by ...
1933         (divmoddi4): ... this.
1934         (divmodtidi3): Fix template.
1935         (divmodtisi3): New.
1936         (udivdi3, umoddi3): Delete, replace by ...
1937         (udivmoddi4): ... this.
1938         (udivmodtidi3): Fix template.
1939         (divsi3, modsi3): Delete, replace by ...
1940         (divmodsi4): ... this.
1941         (divmoddisi3): Fix template.
1942         (udivsi3, umodsi3): Adapt.
1943
1944         * s390.md (anddi3): Remove SS alternative, use instead ...
1945         (anddi3_ss, anddi3_ss_inv): ... these.
1946         (anddi3_ni): New.
1947         (andsi3*, andhi3*, andqi3*): Likewise.
1948         (iordi3): Remove SS alternative, use instead ...
1949         (iordi3_ss, iordi3_ss_inv): ... these.
1950         (iordi3_oi): New.
1951         (iorsi3*, iorhi3*, iorqi3*): Likewise.
1952         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
1953         (xordi3): Remove SS alternative, use instead ...
1954         (xordi3_ss, xordi3_ss_inv): ... these.
1955         (xordi3_oi): New.
1956         (xorsi3*, xorhi3*, xorqi3*): Likewise.
1957         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
1958         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
1959         Expand to XOR with -1.
1960         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
1961         (cmpdi_tm): Delete, replace by ...
1962         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
1963         (cmpsi_cct): Delete, replace by ...
1964         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
1965         (cmpdi_tm2, cmpsi_tm2): Improve.
1966         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
1967         s390.c (s390_single_hi, s390_extract_hi,
1968         s390_single_qi, s390_extract_qi): New helper routines.
1969         s390-protos.h (s390_single_hi, s390_extract_hi,
1970         s390_single_qi, s390_extract_qi): Declare.
1971         s390.c (tmxx_operand, const1_operand): Remove.
1972         s390-protos.h (tmxx_operand, const1_operand): Likewise.
1973         s390.h (PREDICATE_CODES): Likewise.
1974
1975         * s390.md (sqrtdf2, sqrtsf2): New.
1976
1977         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
1978         (check_and_change_labels): Remove section-change special case.
1979
1980         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
1981         in leaf functions.  Needs ...
1982         (DYNAMIC_CHAIN_RTX):  ... this.  New.
1983
1984         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
1985
1986         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
1987         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
1988         input operands using a match_dup clause.
1989         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
1990
1991         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
1992         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
1993
1994         * s390.md (floatsidf2_ibm): Use correct operand.
1995
1996         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
1997         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
1998         non-portable constants.
1999         s390.c (s390_gen_rtx_const_DI): New helper routine.
2000         s390-protos.h (s390_gen_rtx_const_DI): Declare.
2001
2002         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
2003
2004         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
2005         ASM_OUTPUT_BYTE): Clean up assembly output.
2006         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
2007         (ASM_OUTPUT_ASCII): Remove.
2008
2009         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
2010
2011 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
2012
2013         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
2014         before including unwind-dw2-fde.c, if we are not using the
2015         special code in this file.
2016
2017 2001-12-15  Richard Henderson  <rth@redhat.com>
2018
2019         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
2020         MASK_EXPLICIT_RELOCS if the assembler supports it.
2021         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
2022         * configure, config.in: Rebuild.
2023
2024 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2025
2026         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
2027         for rounded_stack_size.
2028
2029 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
2030
2031         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
2032         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
2033         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
2034         "bit-field" spellings in messages.
2035         * po/gcc.pot: Regenerate.
2036
2037 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
2038
2039         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
2040         American spelling in messages.
2041         * po/gcc.pot: Regenerate.
2042
2043 2001-12-15  Kazu Hirata  <kazu@hxi.com>
2044
2045         * config/h8300/h8300.md: Adjust whitespacing.  Remove
2046         constraints from expanders.  Replace \@ with @.
2047
2048 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
2049
2050         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
2051
2052 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
2053
2054         * regrename.c (copyprop_hardreg_forward): Do not keep register
2055         value data live across abnormal call or eh egdes.
2056
2057 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2058
2059         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
2060         BIGGEST_ALIGNMENT for 0.
2061
2062 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
2063
2064         * predict.def (PRED_NORETURN): Make probabilities match reality.
2065         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
2066         Likewise.
2067
2068 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
2069
2070         * configure.in: Check for ld.
2071         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
2072         * configure, config.in: Rebuilt.
2073         * config.gcc: Add crtbeginT.o to extra_parts where needed.
2074         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
2075         frame unwinding on Linux.
2076         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
2077         frame unwinding.
2078         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
2079         (LINK_EH_SPEC): Define.
2080         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
2081         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
2082         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
2083         iterate further if pc falls into current library, but fde was not
2084         found.
2085         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
2086         if using glibc.
2087         (LINK_EH_SPEC): Define.
2088         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
2089         Use crtbeginT.o for -static.
2090         (LINK_EH_SPEC): Define.
2091         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
2092         * Makefile.in (crtbeginT.o): Add rule.
2093         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
2094         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
2095         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
2096         If none of the above switches are passed, use -lgcc -lgcc_eh.
2097         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
2098         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
2099         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
2100         * unwind-dw2-fde.c: Don't include any headers if this file
2101         is included from other .c file.
2102         * unwind-dw2-fde-glibc.c: New file.
2103         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
2104         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
2105
2106 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2107
2108         * builtins.c (expand_builtin_memcmp): Mark parameter with
2109         ATTRIBUTE_UNUSED.
2110         * cfgcleanup.c (insns_match_p): Likewise.
2111         * regrename.c (mode_change_ok): Likewise.
2112         * gcc.c (execute): Const-ify.
2113
2114 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
2115
2116         * c-parse.in (typename): Do not split attributes.
2117         Remove unsupported attributes warning.
2118
2119         * c-decl.c (groktypename): Apply attributes.
2120
2121 2001-12-14  Richard Henderson  <rth@redhat.com>
2122
2123         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
2124         initialization as possibly dead.
2125
2126 2001-12-14  Richard Henderson  <rth@redhat.com>
2127
2128         * regrename.c (mode_change_ok): New.
2129         (find_oldest_value_reg): Use it.
2130
2131 2001-12-14  Richard Henderson  <rth@redhat.com>
2132
2133         * regrename.c (struct value_data): Add max_value_regs.
2134         (init_value_data): Initialize it.
2135         (kill_value): Kill values that overlap the dying register.
2136         (set_value_regno): New.
2137         (kill_set_value, kill_autoinc_value, copy_value): Use it.
2138         (copyprop_hardreg_forward_1): Kill earlyclobber operands
2139         before looking at inputs.
2140
2141 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
2142
2143         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
2144         DECL_WEAK for function descriptors.
2145         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
2146         weak support present.
2147         (ASM_WEAKEN_LABEL): Same.
2148
2149 2001-12-14  Kazu Hirata  <kazu@hxi.com>
2150
2151         * config/h8300/h8300.md (anonymous pattern): Add a missing
2152         mode.
2153
2154 2001-12-14  Kazu Hirata  <kazu@hxi.com>
2155
2156         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
2157         comment typo.
2158
2159 2001-12-14  Kazu Hirata  <kazu@hxi.com>
2160
2161         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
2162         Remove the initialization requierment.
2163         (h8300_handle_tiny_data_attribute): Likewise.
2164
2165 2001-12-14  Kazu Hirata  <kazu@hxi.com>
2166
2167         * config/h8300/h8300.md (udivqi3): Remove.
2168         (divqi3): Likewise.
2169         (udivhi3): Likewise.
2170         (divhi3): Likewise.
2171         (umodqi3): Likewise.
2172         (modqi3): Likewise.
2173         (umodhi3): Likewise.
2174         (modhi3): Likewise.
2175         (udivmodqi3): New.
2176         (divmodqi3): Likewise.
2177         (udivmodhi3): Likewise.
2178         (divmodhi3): Likewise.
2179
2180 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
2181
2182         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
2183         by active_insn_p; count conditional jump as instruction.
2184
2185 2001-12-14  DJ Delorie  <dj@redhat.com>
2186             Danny Smith  <dannysmith@users.sourceforge.net>
2187
2188         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
2189         at SYM_NAME[0] or SYM_NAME[3].
2190         (STRIP_NAME_ENCODING): Don't check for leading '*'.
2191
2192 2001-12-14  Ira Ruben   <ira@apple.com>
2193
2194         Add -### option (displays driver-generated commands without
2195         executing and quotes all arguments).
2196         * doc/invoke.texi: Add -###.
2197         * gcc.c (verbose_only_flag) - New flag.
2198         * (execute): If -### write quoted arguments and return.
2199         * (display_help): Print meaning of -###.
2200         * (process_command): Handle -###.
2201
2202 2001-12-14  Ira Ruben   <ira@apple.com>
2203
2204         Fix to no allow -save-temps to clobber user's source file.
2205         * gcc.c: Add static globals input_stat and input_stat_set.
2206         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
2207         set, check that user's input file is not overwritten.
2208         (set_input): Reset input_stat_set for each new file.
2209
2210 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
2211
2212         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
2213
2214 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
2215
2216         * combine.c (record_dead_and_set_regs): Use
2217         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
2218
2219 2001-12-14  Roger Sayle <roger@eyesopen.com>
2220
2221         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
2222         __builtin_fsqrt to __builtin_sqrt.
2223
2224         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
2225         * doc/extend.texi: Simplify documentation to match patch.
2226
2227 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
2228
2229         * config.gcc: Revamp target_cpu_default2 to strings;
2230         support new x86 variants.
2231         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
2232         properly; set prefetch_sse.
2233         * i386.h (x86_prefetch_sse): Declare.
2234         (TARGET_PREFETCH_SSE): New.
2235         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
2236         (TARGET_CPU_DEFAULT_*): New.
2237
2238 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
2239                               Jan Hubicka  <jh@suse.cz>
2240
2241         * config/i386/i386.h (struct processor_costs): Add new members
2242           prefetch_block and simultaneous_prefetches.
2243           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
2244         * config/i386/i386.c (processor_costs structs): Add values for
2245           prefetch_block and simultaneous_prefetches.
2246         * config/i386/i386.md (unspec values): Remove values for prefetch
2247           operations, which now use the PREFETCH rtx code.
2248           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
2249           unified prefetch support.
2250
2251 2001-12-14  Jason Merrill  <jason@redhat.com>
2252
2253         * diagnostic.c (sorry): Increment sorrycount before saving the
2254         buffer state.
2255
2256 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
2257
2258         * i386.md (sqrt?f): Fix conditionals.
2259
2260 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
2261
2262         * config.gcc (alpha64-dec-*vms*): New case.
2263         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
2264         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
2265         * config/alpha/xm-vms64.h: Likewise.
2266
2267         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
2268         (alpha_write_linkage): Test for null alpha_links.
2269         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
2270         (vms_section_type_flags, vms_asm_named_section): Handle them.
2271
2272 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
2273
2274         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
2275         (override_option): Set ix86_fpmath.
2276         * i386.h (MASK_MIX_SSE_I387): Remove.
2277         (TARGET_SSE_MATH): New.
2278         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
2279         (TARGET_SWITCHES): Remove "mix-sse-i387".
2280         (fpmath_unit): New enum.
2281         (ix86_fpmath, ix86_fpmath_string): Declare.
2282         * i386.md (swapsf): Fix condition.
2283         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
2284         (fp_?f_*_nosse): New.
2285         (fp_*): Use TARGET_SSE_MATH.
2286         * invoke.texi (-mfpmath): Document.
2287         (-msse2): Add.
2288
2289 2001-12-14  Jason Merrill  <jason@redhat.com>
2290
2291         * dwarf2out.c (output_die): Print the string in the comment for
2292         a DW_FORM_strp.
2293
2294 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
2295
2296         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
2297         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
2298         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
2299         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
2300
2301 2001-12-13  Richard Henderson  <rth@redhat.com>
2302
2303         * regrename.c (kill_value_regno): Simplify chain removal.
2304         (kill_value): Kill all of HARD_REGNO_NREGS.
2305         (kill_set_value): Use kill_value not kill_value_regno.
2306         (kill_autoinc_value): Likewise.
2307         (copyprop_hardreg_forward): Don't collect refresh_blocks.
2308         Call delete_noop_moves.
2309
2310 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
2311
2312         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
2313         for the mode attribute.
2314         (handle_mode_attribute): Handle types, not decls.
2315
2316 2001-12-13  Jason Merrill  <jason@redhat.com>
2317
2318         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
2319
2320 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
2321
2322         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
2323         constraint to base register.
2324         (eh_set_lr_si): Same.
2325
2326 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
2327
2328         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
2329         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
2330         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
2331
2332 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2333
2334         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
2335         warning and reformat comments.
2336         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
2337         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
2338         if overflow.
2339
2340 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
2341
2342         * config/rs6000/rs6000.c (rs6000_override_options): Add
2343         SUBSUBTARGET_OVERRIDE_OPTIONS.
2344
2345         * config/rs6000/eabialtivec.h: New file.
2346
2347         * config/rs6000/linuxaltivec.h: New file.
2348
2349         * config.gcc: Add powerpc-*-eabialtivec and
2350         powerpc-*-linux-gnualtivec.
2351
2352 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2353
2354         * toplev.c (process_options, parse_options_and_default_flags):
2355         Set flag_no_inline before the post_options hook.
2356
2357 2001-12-13  Richard Henderson  <rth@redhat.com>
2358
2359         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
2360         is false.
2361
2362 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
2363
2364         * collect2.c (COLLECT_SHARED_INIT_FUNC)
2365         (COLLECT_SHARD_FINI_FUNC): Define default values.
2366         (write_c_file_stat): Use them to call construtor and destructor
2367         functions in shared libraries.
2368         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
2369         (COLLECT_SHARD_FINI_FUNC): Document them.
2370         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
2371         (COLLECT_SHARD_FINI_FUNC): Define.
2372
2373         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
2374         shared library.  Pass -shared through to the linker.
2375         * config/arm/netbsd.h (LINK_SPEC): Likewise.
2376
2377         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
2378         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
2379         (SHLIB_INSTALL): Define.
2380
2381 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
2382
2383         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
2384         the same way as we handle SYMBOL_REFS.
2385
2386 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2387
2388         * loop.c (remove_constant_addition): Fix prototype and whitespace.
2389         (emit_prefetch_instructions): Remove warnings and whitespace
2390         changes.
2391
2392 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
2393
2394         * config/alpha/vms-cc.c (preprocess_args): Fix forward
2395         declaration.
2396
2397 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
2398
2399         * predict.c (estimate_probability): Reorganize opcode heuristics.
2400         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
2401         PRED_FPOPCODE): New.
2402
2403         * i386.c (override_options): Recognize various CPU variants and set
2404         SSE/MMX/3dNOW flags accordingly.
2405         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
2406         MASK_3DNOW_A_SET): New.
2407         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
2408         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
2409         (MASK_*): Renumber.
2410         (TARGET_FLAGS): Use new masks.
2411         (CPP_CPU_SPECS): Recognize new CPU variants.
2412         * invoke.texi (-mcpu): Update documentation.
2413
2414         * flags.h (flag_prefetch_loop_arrays): Declare.
2415         * loop.h (LOOP_PREFETCH): Define new constant.
2416         * loop.c (strength_reduce): Call emit_prefetch_instructions.
2417         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
2418         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
2419         constants.
2420         (check_store_data): New structure.
2421         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
2422         New functions.
2423         * toplev.c: Include insn-flags.h.
2424         (flag_prefetch_loop_arrays): New global variable.
2425         (lang_independent_option): Add -fprefetch-loop-arrays.
2426         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
2427         is set.
2428         * Makefile.in (toplev.c): Depend on insn-flags.h.
2429         * invoke.texi (-fprefetch-loop-arrays): Document.
2430
2431         * predict.c (estimate_probability): Distribute the loop exit
2432         probability according to number of exit edges.
2433
2434         * cfgcleanup.c (insns_match_p): Break out from ...;
2435         (flow_find_cross_jump): ... here;
2436         (outgoing_edges_match): Add parameter MODE; attempt to match everything
2437         except for tablejumps.
2438         (try_crossjump_to_edge): Accept complex edges.
2439         (try_crossjump_bb): Likewise.
2440
2441 2001-11-29  Corey Minyard <minyard@acm.org>
2442
2443         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
2444         instead of plus_constant.
2445         * simplify-rtx.c (neg_const_int): New.
2446         (simplify_gen_binary, simplify_plus_minus): Use it.
2447
2448 2001-12-12  Roger Sayle  <roger@eyesopen.com>
2449
2450         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
2451         expand_builtin_strcpy): Additional arguments TARGET and MODE.
2452         (expand_builtin_bzero, expand_builtin_strcpy,
2453         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
2454         TARGET and MODE parameters to the above functions.
2455         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
2456         case where the LEN parameter is constant zero.
2457         (expand_builtin_memcmp): No longer conditional on
2458         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
2459         the cases where len is either constant zero or one.
2460         Optimize to call to memcpy, even if the memcpy isn't inlined.
2461         (expand_builtin_strncpy): Optimize to call memcpy, even if the
2462         memcpy isn't inlined.
2463         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
2464         to optimize to a call to memcmp.
2465         (expand_builtin): expand_builtin_memcmp can always be called,
2466         and pass the required parameters to expand_builtin_memcmp,
2467         expand_builtin_memset, expand_builtin_memcpy and
2468         expand_builtin_strcpy.
2469
2470 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
2471
2472         * config.gcc (arm-*-freebsd*): Add target.
2473         * config/arm/freebsd.h: New file.
2474         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
2475         (CPP_SPEC): #undef before defining.
2476         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
2477         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
2478         -Amachine=arm.
2479         * config/arm/linux-elf.h: Likewise.
2480         * config/arm/netbsd.h: Likewise.
2481         * config/arm/riscix.h: Likewise.
2482         * config/arm/riscix1-1.h: Likewise.
2483         * config/arm/semiaof.h: Likewise.
2484
2485 2001-12-12  Richard Henderson  <rth@redhat.com>
2486
2487         * regrename.c (copyprop_hardreg_forward): New optimization.
2488         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
2489         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
2490         replace_oldest_value_reg, replace_oldest_value_addr,
2491         replace_oldest_value_mem, copyprop_hardreg_forward_1,
2492         debug_value_data, validate_value_data): New.
2493         * rtl.h (copyprop_hardreg_forward): Declare.
2494         * toplev.c (flag_cprop_registers): New.
2495         (f_options): Add -fcprop-registers
2496         (rest_of_compilation): Invoke it.
2497         (parse_options_and_default_flags): Set it at -O1.
2498         * doc/invoke.texi: Document it.
2499
2500 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
2501
2502         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
2503         (DEBUG_RANGES_SECTION_LABEL): Define.
2504         (ranges_section_label): Add.
2505         (add_AT_range_list): New.
2506         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
2507         (output_loc_list): Location expression length is always 2-byte.
2508         (output_die): Handle dw_val_class_range_list.
2509         (gen_lexical_block_die): Call add_AT_range_list.
2510         (dwarf2out_init): Initialize ranges_section_label.
2511         (dwarf2out_finish): Emit ranges_section_label.
2512
2513 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
2514
2515         * c-typeck.c (digest_init): Allow initializing
2516         static storage duration objects with compound literals.
2517         * doc/extend.texi (Compound literals): Document the extension.
2518
2519 2001-12-12  Richard Henderson  <rth@redhat.com>
2520
2521         * emit-rtl.c (adjust_address_1): Always copy address to avoid
2522         shared rtl.
2523
2524 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
2525
2526         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
2527         to avoid overflow.
2528
2529 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
2530
2531         * cppfiles.c (read_include_file): Set buffer size properly when
2532         file is shorter than expected.
2533
2534 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2535
2536         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
2537         enumeral types - encode them using 'i'.
2538
2539 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
2540
2541         * doc/extend.texi (Deprecated Features): Deprecate implicit
2542         typename. Document that named return and initializer lists are now
2543         removed.
2544
2545 2001-12-11  Roger Sayle <roger@eyesopen.com>
2546
2547         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
2548         compiler warning about enumeration values not being handled.
2549
2550 2001-12-11  Momchil Velikov  <velco@fadata.bg>
2551
2552         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
2553         shifts.
2554
2555 2001-12-11  Richard Henderson  <rth@redhat.com>
2556
2557         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
2558         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
2559         * config/alpha/alpha.md (prefetch): New.
2560
2561 2001-12-11  Richard Henderson  <rth@redhat.com>
2562
2563         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
2564         if C has only low bits set and doesn't intersect with X or Y.
2565
2566 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
2567
2568         * basic-block.h (flow_preorder_transversal_compute): Declare.
2569         * cfganal.c (flow_preorder_transversal_compute): Implement.
2570
2571 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
2572
2573         * cfganal.c (flow_depth_first_order_compute): Always
2574         increment dfsnum.
2575
2576 2001-11-30 Alan Matsuoka <alanm@redhat.com>
2577
2578         * combine.c (combine_simplify_rtx) : Can't simplify
2579         cases that use mode class MODE_CC.
2580
2581 2001-12-11  Richard Henderson  <rth@redhat.com>
2582
2583         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
2584         which there is no divide expander.
2585
2586 2001-12-11  Richard Henderson  <rth@redhat.com>
2587
2588         * except.c (sjlj_find_directly_reachable_regions): Don't
2589         consider RNL_BLOCKED a directly reachable region.
2590         (sjlj_assign_call_site_values): Trust directly_reachable.
2591         (sjlj_emit_dispatch_table): Likewise.
2592
2593 2001-12-11  Richard Henderson  <rth@redhat.com>
2594
2595         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
2596         we represent the address load's dependency on the gp.
2597         (divmoddi_internal_er): Likewise.
2598         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
2599
2600 2001-12-11  Richard Henderson  <rth@redhat.com>
2601
2602         * emit-rtl.c (widen_memory_access): New.
2603         * expr.h (widen_memory_access): Declare it.
2604         * config/alpha/alpha.c (get_aligned_mem): Use it.
2605
2606 2001-12-11  Richard Henderson  <rth@redhat.com>
2607
2608         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
2609         simplification above out of range check.
2610
2611 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
2612
2613         * config/sparc/sparc.md (prefetch): New.
2614
2615 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2616
2617         * output.h (regno_uninitialized): Make argument unsigned.
2618
2619         * flow.c (regno_uninitialized): Make regno unsigned.
2620
2621 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2622
2623         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
2624         * config/cris/cris.h (ENDFILE_SPEC): Define.
2625         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
2626         * config/pa/elf.h: Likewise.
2627
2628 2001-12-11  Richard Henderson  <rth@redhat.com>
2629
2630         * objc/objc-act.c (build_string_class_template): New.
2631         (build_objc_string_object): Call it.
2632
2633 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
2634
2635         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2636         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2637         * calls.c (store_unaligned_arguments_into_pseudos): Check
2638         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
2639         are passed/returned.
2640         * expr.c (move_block_from_reg): Ditto.
2641         (move_block_from_reg): Ditto.
2642         (copy_blkmode_from_reg): Ditto.
2643         * stmt.c (expand_return): Ditto.
2644         * stor-layout.c (compute_record_mode): If
2645         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
2646         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
2647         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
2648         so that Structures of one field are still treated as structures.
2649         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
2650         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
2651         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
2652         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
2653         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
2654         to special case handling of structure padding.
2655
2656 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
2657
2658         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
2659         (may_trap_exp): Stores only are risk if they trap, too, not just
2660         if code == MEM.
2661
2662 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2663
2664         * flow.c (find_regno_partial): Indent properly.  Add a default to
2665         switch.
2666
2667 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2668
2669         * c-common.c (combine_strings): Complain if concatenating
2670         __FUNCTION__.
2671         * c-parse.in (yylexname): Flag artificial strings.
2672         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
2673 doc:
2674         * extend.texi: Update.
2675
2676 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2677
2678         * c-common.c (type_for_mode): Handle unsigned vectors.
2679         (type_for_mode): Remove redundant calls to TYPE_MODE.
2680
2681         * tree.c (make_vector): New.
2682         (build_common_tree_nodes_2): Use make_vector for vector types.
2683         Add unsigned vector types.
2684
2685         * tree.h (tree_index): Add unsigned types for vectors.
2686         (unsigned_V16QI_type_node): New.
2687         (unsigned_V4SI_type_node): New.
2688         (unsigned_V8QI_type_node): New.
2689         (unsigned_V8HI_type_node): New.
2690         (unsigned_V4HI_type_node): New.
2691         (unsigned_V2SI_type_node): New.
2692
2693 2001-12-11  Stan Shebs  <shebs@apple.com>
2694
2695         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
2696         test of class names.
2697
2698 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2699
2700         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
2701         cpu configuration headers.
2702         * config/h8300/elf.h: Include dbxelf.h.
2703         * config/m68k/linux.h: Likewise.
2704         * config/m68k/m68020-elf.h: Likewise.
2705         * config/m68k/m68kv4.h: Likewise.
2706         * config/sh/elf.h: Likewise.
2707         * config/m68k/m68kemb.h: Add comment about the its purpose.
2708
2709 2001-12-11  Richard Henderson  <rth@redhat.com>
2710
2711         * objc/objc-act.c (build_constructor): Cast initializer values
2712         to the proper field types.
2713
2714 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
2715
2716         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
2717
2718 2001-12-10  Roger Sayle <roger@eyesopen.com>
2719
2720         * builtins.c (expand_builtin): Use a switch statement to list
2721         those functions not expanded without optimizations, instead of a
2722         series of equality tests.
2723
2724 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2725
2726         * config/alpha/vms.h (LIB_SPEC): Define.
2727         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
2728
2729         * libgcc2.c (_bb): Remove ctime declaration.
2730
2731         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
2732         that works if LN_S = cp.
2733
2734         * config/alpha/x-vms (version): Change "." to "_".
2735
2736         * configure.in: Hardcode that vfork works on VMS host.
2737         * configure: Regenerated.
2738
2739 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
2740
2741         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
2742         unless do_obj true.
2743         (process_command): Modify calls to convert_filename.
2744
2745 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2746
2747         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
2748
2749 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
2750
2751         * combine.c (known_cond): Check mode of each operand to determine
2752         if COND is comparing floating point values.
2753
2754 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
2755
2756         * rs6000.h (processor_type): Add PPC405.
2757         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
2758         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
2759         rios1, rs64, and ppc630 processors.
2760         * rs6000.c (processor_target_table): Add PPC405.
2761
2762 2001-12-10  Richard Henderson  <rth@redhat.com>
2763
2764         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
2765         instead of hardcoding subregs into the _be and _le patterns.
2766
2767 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
2768
2769         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
2770
2771 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2772
2773         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
2774         what insn does.
2775
2776 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2777
2778         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
2779         copyright notice formerly conditioned on @ifinfo on @ifnottex
2780         instead.
2781
2782 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2783
2784         * vmsdbgout.c (lookup_filename): Remove warning.
2785
2786 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2787
2788         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
2789
2790         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
2791         (exeext, target_alias, prefix, local_prefix): Define.
2792         * config/alpha/x-vms (USE_COLLECT2): Make empty.
2793         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
2794         file specifications. Remove ".".
2795         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
2796         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
2797
2798 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
2799
2800         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
2801
2802 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
2803
2804         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
2805         Add rules for building [vp]crt0.o
2806         * config/alpha/vms.h (START_FILE_SPEC): Define.
2807         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
2808         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
2809         * doc/invoke.texi: Document special Alpha/VMS options.
2810
2811 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2812
2813         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
2814         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
2815         not GNUC.
2816
2817 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2818                           Douglas B. Rupp  <rupp@gnat.com>
2819
2820         * tree.c (append_random_char): Conditionalize INO for VMS.
2821
2822 2001-12-09  Richard Henderson  <rth@redhat.com>
2823
2824         * cfgcleanup.c (label_is_jump_target_p): New function.
2825         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
2826         target of a JUMP_INSN from the preceding block.
2827
2828 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
2829
2830         * vmsdbgout.c (lookup_filename): Assign null string instead
2831         of null pointer to fnam.
2832
2833 2001-12-09  Richard Henderson  <rth@redhat.com>
2834
2835         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
2836         immediately after a call; insert nops before a call.
2837
2838 2001-12-09  Richard Henderson  <rth@redhat.com>
2839
2840         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
2841         not FUNCTION_BOUNDARY.
2842         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
2843         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
2844         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
2845
2846 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
2847
2848         * config/mmix/mmix.c (mmix_function_block_profiler,
2849         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2850         unused functions.
2851         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
2852         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2853         prototypes.
2854
2855         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
2856         Delete obsoleted macros.
2857
2858 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2859
2860         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
2861         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
2862
2863         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
2864         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
2865         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
2866         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
2867         config/i370/i370.c, config/i386/i386.c,
2868         config/i386/i386-interix.h, config/i386/i386.md,
2869         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
2870         config/m32r/m32r-protos.h, config/mcore/mcore.h,
2871         config/rs6000/rs6000.h, config/sparc/linux64.h,
2872         config/sparc/sparc.c, config/v850/v850-protos.h,
2873         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
2874         spelling errors.
2875
2876 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
2877
2878         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
2879         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
2880
2881         * config/rs6000/rs6000.c: Ditto.
2882
2883         * config/rs6000/rs6000.md: Ditto.
2884
2885 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2886
2887         * 1750a.md: Add default case in switch.
2888         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2889         if-else statement.
2890         * dsp16xx.c (print_operand_address): Likewise.
2891         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
2892         * ia64.md: Add missing braces.
2893         * rs6000-protos.h (s8bit_cint_operand): Prototype.
2894         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2895         if-else statement.
2896         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
2897         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
2898         * dbxout.c (dbxout_source_file): Move a variable into the scope
2899         where it is used.
2900         * final.c (profile_function): Mark parameter with
2901         ATTRIBUTE_UNUSED.
2902         * genemit.c (gen_expand): Likewise for generated file.
2903         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
2904
2905         * vmsdbg.h: Delete spurious close-comment.
2906         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
2907         * vmsdbgout.c (write_modbeg): Define return type.
2908
2909         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
2910         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2911         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2912         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
2913         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
2914         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
2915         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
2916
2917 2001-12-08  Tom Rix  <trix@redhat.com>
2918
2919         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
2920         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
2921         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
2922         for powerpc64.
2923         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
2924         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
2925         * config/rs6000/rs6000.c (expand_block_move): Do not use
2926         gen_movstrsi_2reg and powerpc64.
2927
2928 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
2929
2930         * c-common.h (rid): Add RID_CHOOSE_EXPR and
2931         RID_TYPES_COMPATIBLE_P.
2932
2933         * c-parse.in (reswords): Add __builtin_choose_expr.
2934         Add __builtin_types_compatible_p.
2935         Add CHOOSE_EXPR token.
2936         Add TYPES_COMPATIBLE_P token.
2937         Add production for CHOOSE_EXPR.
2938         Add production for TYPES_COMPATIBLE_P.
2939
2940         * doc/extend.texi (__builtin_choose_expr): Add documentation.
2941         (__builtin_types_compatible_p): Likewise.
2942
2943 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
2944
2945         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2946         to unions.
2947
2948 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2949
2950         * c-parse.in: Take string literals in assembler constructs,
2951         not expressions.
2952         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
2953         check the strings are STRING_CSTs.
2954
2955 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2956
2957         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
2958         using combine_strings to do the concatenation.
2959         * c-parse.in: Replace uses of the string non-terminal with STRING.
2960         Don't attempt string concatenation.
2961         (OBJC_STRING): New terminal.
2962         (string): Remove non-terminal.
2963         (_yylex): Call combine_strings on function names.  Generate
2964         OBJC_STRING terminals; don't pass '@' on to yacc.
2965         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
2966         (build_asm_stmt): Similarly.
2967
2968 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2969
2970         * rtlanal.c (get_jump_table_offset): Delete unused variable.
2971
2972 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2973
2974         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
2975         (prefetch): Rewrite using PREFETCH RTL primitive.
2976         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
2977         * arm.c (arm_init_builtins): Don't initialize a builtin for
2978         __builtin_prefetch here.
2979         (arm_expand_builtin): Don't expand __builtin_prefetch here.
2980
2981 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2982
2983         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
2984         in test for a subreg.
2985
2986 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2987
2988         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
2989         strings.
2990
2991 2001-12-07  Richard Henderson  <rth@redhat.com>
2992
2993         * doc/extend.texi: Fix typo last change.
2994
2995         * c-decl.c (c_language): Remove duplicate.
2996
2997 2001-12-07  Dale Johannesen  <dalej@apple.com>
2998
2999         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
3000         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
3001         specific codegen, eliminate a register copy.
3002         (print_operand_address): Add support for Darwin's lo16(constant)
3003         syntax.
3004         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
3005         generation of addresses within very large data objects.
3006         (s8bit_cint_operand):  New.
3007         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
3008         Move "mtjmpr" to correct functional unit for 750/7400/7450.
3009         Add imul2 and imul3 insn types for multiplication by 16- and
3010         8-bit constants.
3011         Change tablejump patterns to strongly discourage using LR
3012         rather than CTR.
3013         Add %lo16 patterns for Darwin loads and stores.
3014
3015 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3016
3017         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
3018
3019 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
3020
3021         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
3022         with %sp because it can cause the delayed instruction to load
3023         below the stack.
3024
3025 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3026
3027         * alpha.c (alpha_expand_unaligned_store,
3028         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
3029         call to immed_double_const.
3030
3031 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
3032
3033         * doc/extend.texi (Variable Attributes): Document vector_size.
3034
3035         * attribs.c (c_common_attribute_table): Add vector_size.
3036         (handle_vector_size_attribute): New.
3037         (vector_size_helper): New.
3038         (decl_attributes): Relayout the decl after calculating attribs.
3039
3040 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3041
3042         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
3043         description for Trouble section.
3044         * doc/install-old.texi: Adjust for inclusion as chapter of new
3045         installation manual.
3046         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
3047         Adjust to include old installation chapter as chapter of new
3048         installation manual.
3049
3050 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
3051
3052         * rtl.h (get_jump_table_offset): Declare.
3053         * rtlanal.c (get_jump_table_offset): Implement.
3054
3055 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3056
3057         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
3058         Deleted; were used only by BB profiler code.
3059         (sbb_head, sbb_tail, sbb_label_num): Likewise.
3060         (end_final): Delete now-unused vars I, PTR, and SPTR.
3061
3062         * expr.c (store_field): Remove warning.
3063         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
3064         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
3065         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
3066         divisor constant power of 2.
3067         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
3068
3069 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3070
3071         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
3072         shifting.
3073
3074 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
3075
3076         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
3077         (DWARF_FRAME_REGISTERS): Delete.
3078
3079 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
3080
3081         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
3082         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
3083         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
3084         with defaults for read prefetch with high degree of locality.
3085         * doc/extend.texi (__builtin_prefetch): Update documentation.
3086         * doc/md.texi (prefetch): Add documentation.
3087
3088 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3089
3090         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
3091         UNIX V5.1A stdio.h.
3092         * fixinc/fixincl.x: Regenerate.
3093         Fixes PR libf2c/4826.
3094
3095 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
3096             Richard Henderson  <rth@redhat.com>
3097
3098         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
3099         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
3100
3101         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
3102         to PRE_GCC3_DWARF_FRAME_REGISTERS.
3103         (frame_state): Same.
3104         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
3105
3106 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3107
3108         * langhooks.c (lhd_staticp): Mark parameter with
3109         ATTRIBUTE_UNUSED.
3110
3111 2001-12-06  H.J. Lu <hjl@gnu.org>
3112
3113         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
3114         reduce noise.
3115         (.po.pox): Likewise.
3116         (o/$(PACKAGE).pot): Likewise.
3117
3118 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
3119
3120         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
3121         * tree-inline.c (expand_call_inline): ... here.
3122
3123 2001-12-06  H.J. Lu <hjl@gnu.org>
3124
3125         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
3126         (.po.pox): Likewise.
3127         (o/$(PACKAGE).pot): Likewise.
3128
3129 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
3130
3131         * config.gcc: Include dbxelf.h before elfos.h.
3132         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
3133
3134 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
3135
3136         * cppfiles.c (open_file): If we've opened a directory by
3137         mistake, close it.
3138         (find_include_file): Avoid turning / into // or // into ///.
3139
3140 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
3141
3142         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
3143         (STRUCT_VALUE_REGNUM): Restore definition.
3144
3145 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
3146
3147         * flow.c (find_regno_partial): Return register, not the expression
3148         the register is in.
3149
3150 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3151
3152         * function.c (handle_epilogue_set): Check for FP setting case when
3153         SP is set from FP in same insn.
3154
3155 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
3156
3157         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
3158         RTX when calling alter_subreg().
3159         (store_multiple_sequence): Pass pointer to RTX when calling
3160         alter_subreg().
3161
3162 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3163
3164         * function.c (assing_parms): Fix typo in last change.
3165         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
3166         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
3167         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3168         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
3169
3170 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
3171
3172         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
3173         correct code selecting section.
3174
3175 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
3176
3177         * final.c (count_basic_block, add_bb, add_bb_string):
3178         Kill.
3179         (end_final, final_start_function, final, final_scan_insn,
3180         leaf_function_p): Kill BB profiler related code.
3181         * flags.h (profile_block_flag): Kill.
3182         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
3183         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
3184         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
3185         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
3186         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
3187         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
3188         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
3189         __bb_init_trace_func): Kill.
3190         * toplev.c (profile_block_flag): Kill.
3191         (indepdendent_decode_option, process_options): Kill -a related code.
3192         * alpha.c (direct_call_operand): Likewise.
3193         * arm.c (arm_expand_prologue, thumb_expand_prologue,
3194         thumb_expand_epilogue): Likewise.
3195         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
3196         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3197         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3198         MACHINE_STATE_RESTORE): Kill.
3199         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3200         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3201         MACHINE_STATE_RESTORE): Kill.
3202         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
3203         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
3204         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
3205         code.
3206         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
3207         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3208         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3209         MACHINE_STATE_RESTORE): Kill.
3210         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
3211         * i960.c (i960_output_function_prologue): Kill BB profiler related
3212         code.
3213         * ia64.c (ia64_compute_frame_size): Likewise.
3214         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3215         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3216         MACHINE_STATE_RESTORE): Kill.
3217         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
3218         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3219         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3220         MACHINE_STATE_RESTORE): Kill.
3221         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
3222         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3223         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3224         MACHINE_STATE_RESTORE): Kill.
3225         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
3226         Kill BB profiler related code.
3227         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3228         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3229         MACHINE_STATE_RESTORE): Kill.
3230         * mips.c (mips_expand_prologue): Kill BB profiler related code.
3231         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3232         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3233         MACHINE_STATE_RESTORE): Kill.
3234         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
3235         * s960.c (s390_function_prologue): Kill BB profiler related code.
3236         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3237         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3238         MACHINE_STATE_RESTORE): Kill.
3239         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3240         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3241         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3242         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3243         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
3244         sparc_nonflat_function_epilogue): Kill BB profiler related code.
3245         (sparc_function_block_profiler, sparc_block_profiler,
3246         sparc_function_block_profiler_exit): Kill.
3247         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
3248         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3249         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3250         MACHINE_STATE_RESTORE): Kill.
3251         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3252         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3253         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3254         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3255         MACHINE_STATE_RESTORE): Kill.
3256         * doc/invoke.texi: Kill documentation of -a and -ax.
3257         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3258         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3259         MACHINE_STATE_RESTORE): Kill.
3260
3261 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
3262
3263         * doc/rtl.texi: Use a table to display RTL format characters.
3264
3265 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
3266
3267         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
3268
3269 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3270
3271         * function.c (keep_stack_depressed): Check global_live_at_start
3272         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
3273
3274 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
3275
3276         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
3277         as set by the generic FreeBSD configure framework.
3278
3279 2001-12-04  Jason Merrill  <jason@redhat.com>
3280
3281         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3282         start_inlining, end_inlining.
3283         * tree-inline.c (expand_call_inline): Call them.
3284         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
3285         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
3286         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
3287         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
3288         (lhd_tree_inlining_end_inlining): New fn.
3289
3290 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3291
3292         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
3293         * c-common.h (shadow_warning): New.
3294         * c-decl.c: Include c-common.h.
3295         (warn_if_shadowing): New, broken out of pushdecl.
3296         (pushdecl): Use warn_if_shadowing.
3297         (store_parm_decls): Prevent duplicate -Wshadow warnings.
3298
3299 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
3300
3301         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
3302         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
3303         (LIB_SPEC): Remove.
3304
3305 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3306
3307         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
3308         (QUAL_UNION_TYPE): New type.
3309
3310         * varasm.c (output_constant, case ERROR_MARK): New case.
3311
3312         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
3313         (c_com): Delete its reference.
3314         * builtins.c: Delete memory checking code.
3315         * calls.c, expr.c, function.c, stmt.c: Likewise.
3316         * builtins.c (expand_builtin_arg_info): Remove reference to
3317         EXPAND_MEMORY_USE_* modifiers.
3318         * explow.c (expr_size): Likewise.
3319         * expr.c (expand_expr, expand_increment): Likewise.
3320         * expr.h (ARGS_SIZE_RTX): Likewise.
3321         * function.c (assign_parms, expand_pending_sizeso): Likewise.
3322         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
3323         * expr.c (in_check_memory_usage): Delete.
3324         (get_push_address, get_memory_usage_from_modifier): Delete.
3325         (expand_assigment): Use EXPAND_WRITE on destination.
3326         (expand_expr): Delete ro_modifier.
3327         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
3328         add EXPAND_WRITE.
3329         (memory_use_mode): Delete.
3330         * flags.h (flag_check_memory_usage): Deleted.
3331         (flag_prefix_function_name): Likewise.
3332         * function.c (expand_function_start): Don't set
3333         current_function_check_memory_usage.
3334         * function.h (check_memory_usage): Delete.
3335         * libfuncs.h, optabs.c: Delete chkr_* stuff.
3336         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
3337         EXPAND_WRITE.
3338         * toplev.c (flag_check_memory_usage): Deleted.
3339         (flag_prefix_function_name): Likewise.
3340         (f_options, process_options): Delete references to above.
3341         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
3342         * varasm.c (CHKR_PREFIX): Deleted.
3343         (make_decl_rtl): Remove flag_prefix_function_name handling.
3344         (assemble_name): Likewise.
3345         * doc/extend.texi: Remove no_check_memory_usage attribute.
3346         * doc/invoke.texi: Remove -fcheck-memory-usage
3347         and -fprefix-function-name.
3348
3349 2001-12-05  Andreas Schwab  <schwab@suse.de>
3350
3351         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
3352         from autoconf.
3353
3354 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
3355
3356         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
3357
3358 2001-12-05  William Cohen  <wcohen@redhat.com>
3359
3360         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
3361         instruction.
3362
3363 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
3364
3365         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
3366         builtins.
3367
3368         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
3369         better reflect reality (change from Apple's tree).
3370         Add more of altivec instructions.
3371         Add ftruncv4sf2 pattern.
3372         Remove more unspecs (vector merge instructions, etc).
3373
3374         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
3375         builtins.
3376         (bdesc_1arg): New, for 1 argument altivec builtins.
3377         (altivec_expand_builtin): Handle unary and ternary ops.
3378         (altivec_init_builtins): Ditto.
3379
3380 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3381
3382         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
3383         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
3384
3385 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3386
3387         * gcse.c (store_killed_in_insn): Consider pure calls
3388         as potential store killers in addition to normal calls.
3389
3390 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3391
3392         * expr.c (expand_expr): When checking promoted value, use
3393         DECL_MODE (exp) and not mode.
3394
3395 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3396
3397         * c-typeck.c (output_init_element): Call digest_init
3398         just once, not in each if branch and check its return value for
3399         error_mark_node.
3400
3401 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
3402
3403         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
3404         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
3405         (finish_struct): Break the loop if n_incomplete went to 0.
3406         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
3407
3408 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
3409
3410         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
3411
3412 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3413                           Douglas B. Rupp  <rupp@gnat.com>
3414
3415         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
3416         * doc/invoke.texi: Add -gvms.
3417         * doc/passes.texi: Add mention of vmsdbgout.c.
3418         * doc/tm.texi: Document VMS debugging output.
3419
3420 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3421
3422         * function.h (tree, rtx): Remove no-longer-needed definitions.
3423
3424         * function.c (keep_stack_depressed): Refine check for register
3425         clobbered over call.
3426
3427         * expr.c (store_expr): When copying string constant into array,
3428         use functions that update memrefs instead of computations on
3429         addresses to better track MEMs.  Also properly handle 32/64 pointers.
3430         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
3431         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
3432
3433         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
3434         underneath COMPONENT_REFs.
3435         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
3436
3437 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3438
3439         * toplev.c (display_target_options): Don't print twice.
3440
3441 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
3442
3443         * emit-rtl.c (set_unique_reg_note): Don't set
3444         a REG_EQUAL or REG_EQUIV note if multiple sets
3445         are present.
3446
3447 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3448
3449         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
3450         CASE_DROPS_THROUGH.
3451
3452 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
3453
3454         * rtl.h (initialize_uninitialized_subregs): New prototype.
3455         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
3456         when optimization is on.
3457         * flow.c (find_regno_partial): Find subregs within an expression.
3458         (initialize_uninitialized_subregs): Initialize live on entry registers
3459         which are used in subreg expressions.
3460
3461 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
3462
3463         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
3464
3465 2001-12-04  DJ Delorie  <dj@redhat.com>
3466
3467         * fixinc/fixincl.c (initialize): Avoid problemsome macro
3468         parameter names (PR 3388).
3469
3470 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
3471
3472         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
3473         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
3474
3475 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3476
3477         * c-common.def (COMPOUND_LITERAL_EXPR): New.
3478         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
3479         (c_staticp): New function.
3480         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
3481         (c_staticp): Declare.
3482         * c-typeck.c (default_function_array_conversion, build_unary_op):
3483         Don't handle CONSTRUCTOR specially.
3484         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
3485         * c-decl.c (build_compound_literal): New function.
3486         * c-tree.h (build_compound_literal): Declare.
3487         * c-parse.in (primary): Use build_compound_literal.
3488         * c-lang.c (LANG_HOOKS_STATICP): Define.
3489         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
3490         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
3491         * doc/extend.texi: Update documentation of compound literals.
3492         Fixes PR c/4787.
3493
3494 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3495
3496         * langhooks.h (struct lang_hooks): Add staticp.
3497         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
3498         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
3499         * langhooks.c (lhd_staticp): New function.
3500         * tree.c (staticp): Call lang_hooks.staticp for language-specific
3501         tree codes.
3502
3503 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3504
3505         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
3506         * gcc.c (process_command): Ensure the cpp driver sees
3507         --help and --target-help, and that the help is printed
3508         exactly once.
3509
3510 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
3511
3512         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
3513
3514 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
3515
3516         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
3517         flag_strict_aliasing.  Use separate assignment statements.
3518
3519 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
3520
3521         * build-make, cross-make: Delete file.
3522         * configure.in: Set and substitute CROSS, ALL,
3523         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
3524         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
3525         whether build == host and host == target.  Do not
3526         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
3527         AC_SUBST cross_defines or extra_c_flags.
3528         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
3529         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
3530         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
3531         partially or completely with autoconf-substituted @variable@
3532         notation.
3533         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
3534         @build_overrides@, @extra_c_flags@, all.build, install-build,
3535         install-cross-rest, install-float-h-cross): Deleted.
3536         (install-normal): Rename to install.  Delete old "install"
3537         indirection rule.
3538
3539 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
3540
3541         * stmt.c (expand_return): Clear destination instead of clobbering it
3542         when setting a return value via bitsets.
3543
3544 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
3545
3546         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
3547         it has DECL_SAVED_TREE.
3548
3549         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
3550         is in a different binding level, get its abstract origin to be
3551         olddecl.
3552         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
3553         check earlier.
3554         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
3555         DECL_INITIAL is NULL.
3556
3557 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
3558
3559         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
3560         Return correct value if one of the subexpressions was optimized to
3561         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
3562         (and_reg_cond): Similarly.
3563
3564 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
3565
3566         * function.c (assign_parms): Set last_named only for last named
3567         argument.
3568
3569 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3570
3571         * doc/install.texi: Use the GFDL.  Include years from old install
3572         manual in copyright notice.  Include copyright and GFDL notice on
3573         HTML index page.  Include usual footer on testing.html.
3574         * doc/install.texi2html: Build gfdl.html.  Use -I
3575         $SOURCEDIR/include.
3576         * doc/include/fdl.texi: Adapt for use in the install manual.
3577
3578 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3579
3580         * doc/install.texi: Document that installed native compiler for
3581         building cross compilers should be GCC 2.95 or later.
3582
3583 2001-12-03  Eric Christopher  <echristo@redhat.com>
3584
3585         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
3586         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
3587         patterns.
3588
3589 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
3590
3591         * rtl.def (PREFETCH): New rtx code.
3592         * doc/rtl.texi (PREFETCH): Add documentation.
3593         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
3594         * rtlanal.c (reg_referenced_p): Ditto.
3595         * sched-vis.c (print_exp):  Ditto.
3596         * ssa-dce.c (find_inherently_necessary):  Ditto.
3597
3598         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
3599           (PREFETCH_BLOCK): Define.
3600         * config/ia64/ia64.md (itanium_class): Add lfetch.
3601           (prefetch, prefetch_internal): New.
3602
3603         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
3604         * builtins.def (BUILT_IN_PREFETCH): New.
3605         * builtins.c (expand_builtin_expect): New.
3606           (expand_builtin): Call it.
3607         * doc/extend.texi: Document __builtin_prefetch.
3608
3609         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
3610           conflicts with new generic prefetch functionality.
3611         * config/i386/i386.c (ix86_expand_builtin): Use new name for
3612           prefetch_sse.
3613
3614 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
3615
3616         * objc/Make-lang.in: Update copyright.
3617         (OBJC_OBJS): Add objc-lang.o.
3618         (objc-lang.o): New rule.
3619         * objc/config-lang.in: Fix file description and update
3620         copyright.
3621         * objc/objc-act.c: Do not include langhooks.h and
3622         langhooks-def.h
3623         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
3624         (objc_post_options): Move to objc-lang.c.
3625         (objc_init_options): Move to objc-lang.c.
3626         (objc_init): Make non-static.
3627         (objc_decode_option): Make non-static.
3628         (HASHFUNCTION): Remove macro.
3629         (hash_func): New function.
3630         (hash_enter): Replace HASHFUNCTION with hash_func.
3631         (hash_lookup): Replace HASHFUNCTION with hash_func.
3632         (maybe_objc_tree_codes): New function.
3633         (init_objc): Move ObjC tree code initialization to
3634         maybe_objc_tree_codes().
3635         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
3636         (objc_init): New public prototype.
3637         (objc_decode_option): New public prototype.
3638         (maybe_add_objc_tree_codes): New public prototype.
3639         * objc/objc-lang.c: New file.
3640         (lang_hooks): Moved from objc-act.c.
3641         (objc_post_options): Moved from objc-act.c.
3642         (objc_init_options): Moved from objc-act.c.
3643
3644 2001-12-03  Geoff Keating  <geoffk@redhat.com>
3645
3646         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
3647         of array elements.
3648
3649 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3650
3651         PR c/4988
3652         * gcc.c (process_command): Don't add a preprocessor option for
3653         --help and --target-help; cc1 is enough.
3654
3655 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3656
3657         * c-decl.c (grokdeclarator): Use ISO word.
3658         * cppinit.c: Remove leading capital from diagnostic messages, as
3659         per GNU coding standards.
3660         * emit-rtl.c: Similarly.
3661         * final.c: Similarly.
3662         * gcc.c: Similarly.
3663         * tradcpp.c: Similarly.
3664         * config/arm/arm.c: Similarly.
3665         * config/arm/arm.h: Similarly.
3666         * config/avr/avr.c: Similarly.
3667         * config/avr/avr.h: Similarly.
3668         * config/c4x/c4x.c: Similarly.
3669         * config/cris/cris.c: Similarly.
3670         * config/cris/cris.h: Similarly.
3671         * config/d30v/d30v.c: Similarly.
3672         * config/dsp16xx/dsp16xx.c: Similarly.
3673         * config/dsp16xx/dsp16xx.h: Similarly.
3674         * config/h8300/h8300.c: Similarly.
3675         * config/i386/i386.c: Similarly.
3676         * config/i386/xm-djgpp.h: Similarly.
3677         * config/i960/i960.h: Similarly.
3678         * config/m32r/m32r.c: Similarly.
3679         * config/m68hc11/m68hc11.c: Similarly.
3680         * config/m88k/m88k.c: Similarly.
3681         * config/m88k/m88k.h: Similarly.
3682         * config/mcore/mcore.c: Similarly.
3683         * config/mcore/mcore.h: Similarly.
3684         * config/mips/mips.c: Similarly.
3685         * config/mmix/mmix.c: Similarly.
3686         * config/pa/pa.c: Similarly.
3687         * config/rs6000/rs6000.c: Similarly.
3688         * config/rs6000/sysv4.h: Similarly.
3689         * config/s390/s390.c: Similarly.
3690         * config/sparc/sparc.c: Similarly.
3691         * config/v850/v850-c.c: Similarly.
3692         * config/v850/v850.c: Similarly.
3693
3694 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
3695
3696         * rs6000.h (RETURN_IN_MEMORY): Cast result of
3697         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
3698
3699 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
3700
3701         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
3702         bit twiddling constant.
3703
3704 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
3705
3706         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
3707         call purge_dead_edges after removing.
3708         (delete_null_pointer_checks): Do not handle delete_list.
3709
3710         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
3711         (count_basic_blocks): ... here.
3712         (find_basic_blocks, find_bb_boundaries): Cleanup.
3713
3714         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
3715         overflow for types greater then 2 * HOST_WIDE_INT.
3716
3717         * reload.c (find_reloads): Update the duplicates after swapingg.
3718
3719 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3720
3721         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
3722
3723 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
3724
3725         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
3726         MASK_LONG_DOUBLE_128): Delete.
3727         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
3728         TARGET_AIX_STRUCT_RET): New flags.
3729         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
3730         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
3731         and -m(no-)svr4-struct-return.
3732         (TARGET_OPTIONS): Add entry for -mlong-double-.
3733         (rs6000_long_double_size_string, rs6000_long_double_type_size,
3734         rs6000_altivec_abi): Declare.
3735         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
3736         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
3737         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
3738         structures of size <= 8 bytes in registers.
3739         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
3740
3741         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
3742         rs6000_long_double_type_size, rs6000_altivec_abi): New
3743         globals.
3744         (rs6000_override_options): Set rs6000_long_double_type_size
3745         from rs6000_long_double_size_string, if nonzero.  Set the
3746         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
3747         not already set.
3748         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
3749         target_flags bit.
3750         (rs6000_init_builtins): This hook now takes no arguments.
3751
3752         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
3753         DRAFT_V4_STRUCT_RET to 1.
3754
3755 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3756
3757         * c-typeck.c (really_start_incremental_init, push_init_level):
3758         Avoid constructor_max_index being other than an INTEGER_CST.
3759
3760 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3761
3762         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
3763         unsigned.
3764         (ASM_GENERATE_INTERNAL_LABEL): Same.
3765         (UNIQUE_SECTION): Fix typo.
3766
3767 2001-12-02  Richard Henderson  <rth@redhat.com>
3768
3769         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
3770
3771 2001-12-02  Richard Henderson  <rth@redhat.com>
3772
3773         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
3774         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
3775         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
3776         * expr.h, final.c, reload1.c: Adjust users.
3777
3778         * alias.c (nonoverlapping_component_refs_p): New.
3779         (decl_for_component_ref, adjust_offset_for_component_ref): New.
3780         (nonoverlapping_memrefs_p): Use them.
3781         * emit-rtl.c (component_ref_for_mem_expr): New.
3782         (set_mem_attributes): Use it.
3783         (set_mem_offset): New.
3784         * expr.c (expand_assignment): Call set_mem_attributes for
3785         inner references; adjust the memory offset as needed.
3786         * print-rtl.c (print_mem_expr): New.
3787         (print_rtx): Use it.
3788
3789 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
3790
3791         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
3792
3793         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
3794         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
3795         (ASM_SPEC): Don't redefine.
3796         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
3797         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
3798         * config/alpha/vms-dwarf2.asm: New file.
3799
3800         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
3801         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
3802         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
3803         (vmsdbgout_after_prologue): New declaration.
3804         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
3805         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
3806         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
3807         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
3808         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
3809         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
3810         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
3811         Test VMS_DEBUGGING_INFO.
3812         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
3813         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
3814         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
3815         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
3816         VMS_AND_DWARF2_DEBUG.
3817         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
3818         (decode_g_option): Add "vms" to debug_type_names.
3819         (process_options): Set vmsdbg_debug_hooks if -gvms.
3820         (lang_independent_init): Emit line number for VMS unless -g0.
3821         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
3822         * vmsdbg.h, vmsdbgout.c: New files.
3823
3824 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3825
3826         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
3827
3828 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3829
3830         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
3831         * dwarf2out.c (is_cxx): Prototype.
3832         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
3833         warning.
3834         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
3835
3836 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3837
3838         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
3839
3840 2001-12-02  Geoff Keating  <geoffk@redhat.com>
3841
3842         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
3843         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
3844         rather than simplify_subreg.  Check for volatile-ness.  Check that
3845         we're not splitting one slow operation into two slow operations.
3846
3847 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3848
3849         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
3850         before shifting.
3851
3852 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3853
3854         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
3855         capital from diagnostics.
3856         * c-lex.c (cb_file_change): Similarly.
3857         * c-parse.in : Similarly.
3858         * cfgrtl.c (verify_flow_info): Similarly.
3859         * collect2.c: Similarly.
3860         * cppfiles.c (find_include_file): Similarly.
3861         * cppinit.c (cpp_handle_option): Similarly.
3862         * cpplex.c (cpp_spell_token): Similarly.
3863         * cppmain.c (do_preprocessing): Similarly.
3864         * gcc.c (translate_options, process_command, do_spec1,
3865         main, pfatal_execute): Similarly.
3866         * genattr.c (main): Similarly.
3867         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
3868         write_test_expr, main): Similarly.
3869         * gencodes.c (main): Similarly.
3870         * genconfig.c (main): Similarly.
3871         * genconstants.c (main): Similarly.
3872         * genemit.c (main): Similarly.
3873         * genextract.c (main): Similarly.
3874         * genflags.c (main): Similarly.
3875         * genopinit.c (main): Similarly.
3876         * genoutput.c (process_template, main): Similarly.
3877         * genpeep.c (main): Similarly.
3878         * genrecog.c (main): Similarly.
3879         * gensupport.c (is_predicable, identify_predicable_attribute,
3880         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
3881         * ggc-page.c (alloc_anon): Similarly.
3882         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
3883         parse_begin, parse_bend, parse_def, parse_end, parse_file,
3884         parse_stabs_common, parse_stabs, write_varray, write_object,
3885         read_seek, copy_object, main, error): Similarly.
3886         * profile.c (compute_branch_probabilities): Similarly.
3887         * reg-stack.c (check_asm_stack_operands): Similarly.
3888         * reload.c (find_reloads): Similarly.
3889         * reload1.c (spill_failure, failed_reload): Similarly.
3890         * rtl-error.c (_fatal_insn_not_found): Similarly.
3891         * toplev.c (read_integral_parameter, crash_signal,
3892         decode_f_option, set_target_switch, parse_options_and_default_flags)
3893         : Similarly.
3894         * tradcif.y (parse_number, yylex): Similarly.
3895         * tradcpp.c (main, fancy_abort): Similarly.
3896         * tree.c (tree_check_failed): Similarly.
3897         * varray.c (varray_check_failed): Similarly.
3898         * xcoffout.c (xcoff_output_standard_types): Similarly.
3899 objc:
3900         * objc-act.c (get_object_ref, lookup_and_install_protocols,
3901         build_objc_string_object, objc_declare_alias, build_ivar_chain,
3902         finish_message_expr, build_protocol_expr, is_public,
3903         start_class): Similarly.
3904
3905 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3906
3907         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
3908         trailing period from diagnostics.
3909         * c-lex.c (cb_file_change): Similarly.
3910         * cppmacro.c (check_trad_stringification): Similarly.
3911         * gcc.c (do_spec_1): Similarly.
3912         * genattr.c (main): Similarly.
3913         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
3914         * gencodes.c (main): Similarly.
3915         * genconfig.c (main): Similarly.
3916         * genconstants.c (main): Similarly.
3917         * genemit.c (main): Similarly.
3918         * genextract.c (main): Similarly.
3919         * genopinit.c (main): Similarly.
3920         * genoutput.c (main): Similarly.
3921         * genpeep.c (main): Similarly.
3922         * genrecog.c (main): Similarly.
3923         * mips-tfile.c (add_file, error): Similarly.
3924         * profile.c (init_branch_prob): Similarly.
3925         * reload1.c (spill_failure): Similarly.
3926         * stmt.c (parse_output_constraint): Similarly.
3927         * varasm.c (assemble_variable): Similarly.
3928
3929 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3930
3931         * m68k.c (init_FPA_table): Provide static prototype.
3932         * mips/abi64.h (mips_function_value): Move prototype to ...
3933         * mips-protos.h (mips_function_value): ... here.
3934         * mips.c: Include halfpic.h.
3935         * output.h (rdata_section): Prototype.
3936
3937         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3938         * m88k.c (m88k_svr3_asm_out_constructor,
3939         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
3940         !OBJECT_FORMAT_ELF.
3941         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3942         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3943         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3944
3945 2001-12-01  Geoff Keating  <geoffk@redhat.com>
3946
3947         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
3948         LO_SUM addresses less than word size are not legitimate,
3949         because they lead to invalid SUBREGs.
3950         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
3951
3952 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
3953
3954         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
3955         while scanning for multiple back edges.
3956
3957 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3958
3959         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
3960         * config/rs6000/tramp.asm: Use it.
3961
3962 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
3963
3964         * gencheck.c, gengenrtl.c: Don't define xmalloc.
3965         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
3966         xmalloc.
3967
3968 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3969
3970         * pa.c (output_ascii): Cast `p' to unsigned char.
3971
3972 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3973
3974         * config/rs6000/rs6000.c (altivec_expand_builtin): add
3975         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
3976         *_16qi,_8hi, rename existing V4SI ones to *_4si.
3977         (altivec_init_builtins): Ditto.
3978         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
3979
3980         * config/rs6000/rs6000.md: Add attribute types vecsimple,
3981         veccomplex, vecfloat, and vecperm, for altivec instructions.
3982         Modify altivec patterns to use appropriate attribute type.
3983         Modify altivec patterns to match RTL operations where appropriate
3984         (IE no unspec where we can avoid it).
3985         Add vector unit scheduling for ppc7450.
3986         Rename patterns to what they are where appropriate
3987         (altivec_vaddfp->addv4sf3, etc)
3988
3989         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
3990         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
3991
3992         * config/rs6000/sysv4.h: Add -mcpu=7450.
3993
3994         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
3995         _builtin_altivec_ld_interal function.
3996
3997 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3998
3999         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
4000         strchr, strrchr, isascii, gettimeofday.
4001         * config.in, configure: Regenerate.
4002
4003 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
4004
4005         * unroll.c (unroll_loop): Correct special exit cases.
4006
4007 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
4008
4009         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
4010         accept DFmode and DImode only.
4011
4012 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
4013
4014         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
4015         (STACK_DYNAMIC_OFFSET): Same.
4016
4017 2001-11-30  Richard Henderson  <rth@redhat.com>
4018
4019         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
4020
4021 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
4022
4023         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
4024         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
4025         the values in call_used_registers.
4026
4027 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
4028
4029         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
4030         gthr-single.
4031
4032 2001-11-30  Jason Merrill  <jason@redhat.com>
4033
4034         * dwarf2out.c (is_cxx): New fn.
4035         (add_data_member_location_attribute): Check it.
4036         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
4037
4038 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4039
4040         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
4041
4042 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
4043
4044         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
4045         MODE_VECTOR_FLOAT as allowed.
4046
4047 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
4048
4049         Purge cruft now we have build libiberty.
4050
4051         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
4052         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
4053         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
4054         USE_HOST_STRSTR): Delete variables.
4055         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
4056         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
4057         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
4058         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
4059         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
4060         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
4061         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
4062         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
4063         (HOST_LIBS): Ditto.
4064         (HOST_RTL): Remove hashtab.o safe-ctype.o.
4065         (OBJS): Remove splay-tree.o.
4066         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
4067         (distclean): No need to delete splay-tree.c obstack.c
4068         hashtab.c safe-ctype.c.
4069         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
4070         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
4071         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
4072         Delete.
4073         * configure.in: Don't use them.
4074         Set and substitute @FORBUILD@.
4075         * config.in, configure: Regenerate.
4076         * doprint.c: Move to libiberty/_doprnt.c.
4077         * doc/configterms.texi: Document that libiberty is now built
4078         up to three times.  Fix typo.
4079
4080 2001-11-30  Jason Merrill  <jason@redhat.com>
4081
4082         * dwarf2out.c (add_data_member_location_attribute): Do the
4083         right thing for virtual bases.
4084         * dbxout.c (dbxout_type): For a virtual base, print the offset
4085         within the vtable.
4086
4087 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
4088
4089         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
4090
4091 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
4092
4093         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
4094         go in memory.
4095         Remove unused attribute for named.
4096
4097 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4098
4099         * genattrtab.c (attr_rtx_1): New function containing the
4100         majority of `attr_rtx'.  Move variable declarations into the
4101         scope where they are used.  Eliminate unnecessary gotos.
4102         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
4103         VA_FIXEDARG, and VA_CLOSE.
4104
4105 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
4106
4107         * config/cris/cris.c (cris_notice_update_cc): Check first
4108         destination also against overlap with cc_status.value2 and second
4109         destination against overlap with cc_status.value1.  For overlaps,
4110         clear overlapped value, don't just CC_STATUS_INIT.
4111
4112         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
4113         Fix typo in comment.
4114         (LINK_SPEC): Remove whitespace at end of line.
4115
4116 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
4117
4118         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
4119
4120 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
4121
4122         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
4123         macros for the supported debugging types.
4124
4125 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4126
4127         PR other/4932
4128         * config/i386/i386.c (print_operand):  Verify that the
4129           argument to %c is a constant and not a conditional which
4130           needs to be reversed.
4131
4132 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
4133
4134         * emit-rtl.c (gen_lowpart_common): Fix conversion of
4135         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
4136         of low part of those arrays for 32bit and 64bit hosts.
4137
4138 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4139
4140         * Makefile.in (insn-output.o): Depend on insn-codes.h.
4141
4142 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
4143
4144         * configure.in (target_list): Add generated-manpages.
4145         * configure: Regenerate.
4146         * Makefile.in (generated-manpages): Depend on
4147         lang.generated-manpages.
4148         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
4149
4150 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
4151
4152         * config/arm/crti.asm (_init): Add .thumb_func if compiled
4153         with -mthumb.
4154         (_fini): Add .thumb_func if compiled with -mthumb.
4155
4156 2001-11-28  Eric Christopher  <echristo@redhat.com>
4157
4158         * config/mips/mips.c (override_options): Fix thinko in mips_tune
4159         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
4160
4161 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
4162
4163         * alpha.md (tablejump): Use pic_offset_table_rtx
4164         instead of gen_rtx_REG.
4165
4166 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
4167
4168         * expr.c (store_expr): When copying a string constant into an
4169         array, reset the known alignment of the MEM for the section to
4170         be cleared to BITS_PER_UNIT.
4171
4172 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
4173
4174         * config/cris/cris.c: Remove whitespace at end of line.
4175
4176 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
4177
4178         * config.gcc (i[34567]86-*-interix3*): New case.
4179         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
4180         New files.
4181
4182 2001-11-28  Richard Henderson  <rth@redhat.com>
4183
4184         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
4185         symbolic_operand as the predicate.
4186
4187 2001-11-28  Richard Henderson  <rth@redhat.com>
4188
4189         * doloop.c (doloop_modify_runtime): Properly select induction
4190         variable; skip late entry test if biv initializer created by loop.
4191
4192 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4193
4194         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
4195         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
4196
4197         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
4198
4199         * tree.h: Add missing checks on some macros; make formatting more
4200         consistent.
4201
4202         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
4203         level; only add to pending_sizes if find it.
4204
4205         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
4206
4207         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
4208         Add casts to remove warnings.
4209
4210         * Makefile.in (OBJS): Sort alphabetically.
4211
4212         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
4213         Also minor cleanups.
4214
4215 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
4216
4217         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
4218         (FLAGS_TO_PASS): Add STAGE_PREFIX.
4219         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
4220         to STAGE_PREFIX.
4221
4222 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
4223
4224         * cse.c (true_dependence_in_rtx): New function.
4225         (invalidate): Use it.
4226
4227         * c-common.h (GOTO_FAKE_P): New macro.
4228         * tree-inline.c (GOTO_FAKE_P): Set.
4229         * c-tree.texi (GOTO_FAKE_P): Document.
4230
4231         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
4232         containing pointers.
4233         (output_addressed_constants): Check for local/external relocations.
4234         * elfos.h (SELECT_SECTION): Classify data section.
4235         * tm.texi (SELECT_SECTION): Update documentation.
4236
4237         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
4238         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
4239
4240 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4241
4242         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
4243         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
4244         OBJECT_FORMAT_ROSE.
4245
4246 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
4247
4248         * config/cris/cris.c: Tweak spacing for prototypes.
4249         (LOSE_AND_RETURN): New macro.
4250         (cris_operand_lossage): New function.
4251         (cris_print_index, cris_print_base): Use cris_operand_lossage
4252         rather than fatal_insn.
4253         (cris_print_operand, cris_print_operand_address): Use
4254         LOSE_AND_RETURN rather than fatal_insn and internal_error.
4255         (cris_output_addr_const): Use LOSE_AND_RETURN and
4256         output_operand_lossage rather than fatal_insn and internal_error
4257         for valid but unexpected rtx expressions.
4258
4259         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
4260         for a SUBREG in src or dest, abort instead.
4261
4262 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4263
4264         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
4265         doc.
4266
4267 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
4268
4269         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
4270         preprocessor define.  If only DBX_DEBUGGING_INFO or only
4271         DWARF2_DEBUGGING_INFO is supported for the target, provide
4272         appropriate definitions.
4273
4274 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4275
4276         * Makefile.in: Update, and add c-objc-common.o dependencies.
4277         * c-lang.c: Remove unnecessary includes.
4278         (c_init): Move bulk of code to c_objc_common_init, and call it.
4279         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
4280         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
4281         c-objc-common.c.
4282         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
4283         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
4284         c_objc_common_init, c_missing_noreturn_ok_p): New.
4285         * toplev.c: Update comment.
4286         * doc/passes.texi: Update.
4287 objc:
4288         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
4289         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
4290         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
4291         (objc_init): Update to use c_objc_common_init.
4292
4293 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4294
4295         * cpphash.c (_cpp_init_hashtable): Update.
4296         * cpphash.h (struct spec_nodes): Remove n_L.
4297         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
4298
4299 2001-11-17  Richard Henderson  <rth@redhat.com>
4300
4301         * unroll.c (loop_iterations): Move last change ...
4302         * doloop.c (doloop_modify_runtime): ... here.
4303
4304 2001-11-17  Corey Minyard  <minyard@acm.org>
4305             Richard Henderson  <rth@redhat.com>
4306
4307         * unroll.c (loop_iterations): Detect one situation in which we
4308         overestimate the number of iterations.
4309
4310 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4311
4312         * gcc.c (set_input): Export.
4313         Move declaration ...
4314         gcc.h (set_input): ... here.
4315
4316 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4317
4318         * gcc.c (set_collect_gcc_options): New function, split out from
4319         main.
4320         Ignore elided switches.
4321         (do_spec): Invoke before executing command.
4322         (do_spec_1): Likewise.
4323         Fixes PR other/3968.
4324
4325 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
4326
4327         * config/cris/cris.h (INT_ASM_OP): Remove.
4328
4329 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4330
4331         * config/i386/sol2.h (WINT_TYPE): Redefine.
4332         (WINT_TYPE_SIZE): Likewise.
4333
4334 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4335
4336         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
4337         (dup2): Make static and add prototype.
4338         * m68k/plexus.h: Don't define NO_DUP2.
4339         * configure.in (AC_CHECK_FUNCS): Add dup2.
4340         * config.in, configure: Regenerate.
4341
4342         * ia64/aix.h (REG_SIZE): Don't #undef.
4343         * sparc.h (REG_SIZE): Delete.
4344         * flow.c (mark_used_regs): Don't use REG_SIZE.
4345         * regs.h (REG_SIZE): Delete.
4346
4347 2001-11-27  Andreas Schwab  <schwab@suse.de>
4348
4349         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
4350         PREFERRED_DEBUGGING_TYPE.
4351
4352 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4353
4354         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
4355         (expr.o, varasm.o): Depends on langhooks.h.
4356         * c-common.c (c_safe_from_p): Always declare.
4357         (c_expand_expr): Refine when declared.
4358         * c-lang.c (c-common.h): Now include.
4359         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
4360         (c_init): Don't set lang_safe_from_expr.
4361         * expr.c (langhooks.h): Now include.
4362         (lang_safe_from_p): No longer define.
4363         (safe_from_p): Use lang hook.
4364         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
4365         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
4366         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
4367         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
4368         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
4369         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
4370         * langhooks.h (struct lang_hooks): New fields expand_constant
4371         and safe_from_p.
4372         * output.h (output_constant): Size arg is HOST_WIDE_INT.
4373         * stmt.c (expand_decl_init): No longer need to expand constant
4374         for CONST_DECL.
4375         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
4376         * toplev.c (lang_expand_constant): Delete var.
4377         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
4378         operations on SAVE_EXPR.
4379         * varasm.c (langhooks.h): Now include.
4380         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
4381         (record_constant_1, output_addressed_constants): Likewise.
4382         (initializer_constant_valid_p, output_constant): Likewise.
4383         (output_constant_def): Process no-defer of string constant.
4384         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
4385         (output_constant): Strip more conversions.
4386         Track our size and pad for the rest.
4387         (array_size_for_constructor): Remove code for non-byte STRING_CST.
4388         (output_constructor): SIZE now HOST_WIDE_INT.
4389
4390 2001-11-27  Richard Henderson  <rth@redhat.com>
4391
4392         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
4393         in computing DIFF.
4394
4395 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
4396
4397         * cppfiles.c (read_include_file): Add comment.
4398
4399 2001-11-26  Richard Henderson  <rth@redhat.com>
4400
4401         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
4402
4403 2001-11-26  Richard Henderson  <rth@redhat.com>
4404
4405         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
4406         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
4407         commented out override.
4408
4409 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4410
4411         * cppfiles.c (stack_include_file): Don't optimize zero-length
4412         files.
4413         (read_include_file): NUL-terminate read files.
4414         * cpplex.c (handle_newline, skip_escaped_newlines,
4415         get_effective_char, skip_whitespace, parse_identifier,
4416         parse_identifier_slow, parse_number, parse_string,
4417         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
4418         NUL-terminated.
4419         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
4420         Be sure buffers are NUL terminated.
4421         * cppmacro.c (warn_of_redefinition): Kill compile warning.
4422
4423 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4424
4425         * c-common.c: Include tree-inline.h.
4426         (c_language): Move separate definitions here.
4427         (c_common_init_options, c_common_post_options): New.
4428         (c_common_lang_init): Rename c_common_init.
4429         * c-common.h (c_common_lang_init): Similarly.
4430         (c_common_init_options, c_common_post_options): New.
4431         * c-lang.c (c_post_options): Move body to c_common_post_options.
4432         (c_init_options): Use c_common_init_options.
4433         (c_init): Update.
4434         * langhooks.def: Rearrange.
4435         * langhooks.h: Rearrange, and improve comments.
4436         * toplev.c (do_compile): New function.
4437         (toplev_main): Use it.
4438         (lang_independent_f_options, parse_options_and_default_flags,
4439         process_options): Remove trailing periods.
4440         * Makefile.in: Update.
4441 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
4442         functions.
4443         (ojbc_init): Update.
4444
4445 2001-11-26  Richard Henderson  <rth@redhat.com>
4446
4447         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
4448
4449 2001-11-26  DJ Delorie  <dj@redhat.com>
4450
4451         * expr.c (store_constructor): Actually use the value computed
4452         if WORD_REGISTER_OPERATIONS.
4453
4454 2001-11-26  Richard Henderson  <rth@redhat.com>
4455
4456         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
4457         for CONSTRUCTOR.
4458
4459 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
4460
4461         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
4462         correct function on AIX.
4463
4464 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
4465
4466         * toplev.c (process_options): Don't force
4467         flag_optimize_sibling_calls to zero just because exceptions are
4468         enabled.
4469
4470 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
4471
4472         * df.h (transfer_function_sbitmap): Use PARAMS around argument
4473         list in function prototypes.
4474         (transfer_function_bitmap): Likewise.
4475
4476 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
4477
4478         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
4479         * config/i386/netbsd-elf.h: Likewise.
4480
4481 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
4482
4483         * doc/trouble.texi: Remove outdated RS/6000 comments.
4484
4485 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
4486
4487         * final.c (walk_alter_subreg): Fix return value.
4488
4489 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
4490
4491         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
4492         alter_subreg.
4493         * sparc.md (post-reload splitters): Do not call alter_subreg.
4494         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
4495
4496 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
4497
4498         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
4499
4500 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
4501
4502         * final.c: (insn_lengths): Make it an int *, so that large jump
4503         tables don't overflow.
4504
4505 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
4506
4507         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
4508         (format_types): Use it for scanf.
4509         (dollar_arguments_pointer_p): New.
4510         (init_dollar_format_checking): Store details of which arguments
4511         are pointers.
4512         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
4513         (finish_dollar_format_checking): Take extra parameter
4514         pointer_gap_ok.  Treat unused arguments differently if
4515         pointer_gap_ok and the unused arguments are pointers.
4516         (check_format_info_main): Pass extra argument to
4517         finish_dollar_format_checking.
4518         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
4519         unused arguments are present between used arguments with operand
4520         numbers.
4521
4522 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
4523
4524         * df.c: Add prototypes for hybrid_search_bitmap and
4525         hybrid_search_sbitmap.
4526         (hybrid_search_bitmap): New function.
4527         (hybrid_search_sbitmap): New function.
4528         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
4529         (iterative_dataflow_bitmap): Ditto.
4530
4531 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4532
4533         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
4534         address computations.
4535
4536 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4537
4538         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
4539         register b (low part of d).
4540
4541 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4542
4543         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
4544         passed to mcount.
4545
4546 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
4547
4548         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
4549         * config/alpha/x-vms: New file, to compile the above.
4550         * config.gcc (alpha*-dec-vms*): Add x-vms.
4551
4552 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
4553
4554         * genextract.c (main): Set ro_loc for peepholes.
4555
4556 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
4557
4558         * fix-header.c (main): Move inf_buffer termination and inf_limit
4559         calculation to after read.
4560
4561         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
4562         (__UNIX_FOPEN): Define.
4563
4564 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4565
4566         * function.c (assign_stack_temp_for_type): Clear alias set before
4567         setting new one.
4568
4569 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
4570
4571         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
4572         format.
4573         * rs6000.md (cmptf): Fix typo.
4574
4575 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
4576
4577         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
4578         * varasm.c (output_constructor): Use assemble_integer rather
4579         than ASM_OUTPUT_BYTE.
4580
4581 2001-11-23  Andreas Jaeger  <aj@suse.de>
4582
4583         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
4584         extension.
4585
4586 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
4587
4588         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
4589         default definition.
4590         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
4591         (MULTILIB_DEFAULTS): Remove previous definition.
4592
4593 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4594
4595         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
4596         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
4597
4598 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4599
4600         * cris.h: Revert thinko in last patch.
4601
4602 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4603
4604         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
4605         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
4606         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
4607         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
4608         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
4609         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
4610
4611         * predict.c, reg-stack.c: Fix spelling errors.
4612
4613 2001-10-09  Andrew Haley  <aph@redhat.com>
4614
4615         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
4616         start of stack slot.
4617
4618 2001-11-22  Graham Stott  <grahams@redhat.com>
4619
4620         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
4621         replacement jump after original jump.
4622
4623         (verify_flow_info): Remove redundent initialisation.
4624         Handle reaching end of insn list before finding a BARRIER.
4625         Only issue one missing barrier diagnostic.
4626
4627 2001-11-22  Graham Stott  <grahams@redhat.com>
4628
4629         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
4630
4631 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4632
4633         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
4634         insn actually does.
4635
4636 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
4637
4638         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
4639         Fix typo -mm32rx=> -m32rx.
4640
4641         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
4642         targets.
4643
4644         * config.gcc (xscale-coff): Add necessary header files to
4645         tm_file variable.
4646
4647 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4648
4649         * rs6000.c (output_cbranch): Use $, not %$, in output template.
4650
4651 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4652
4653         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
4654         (lang_type_quals): Declare.
4655         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
4656         retrieve language-specific qualifiers for a type node, instead of
4657         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
4658         lang_dump_tree.
4659         * tree-dump.h: Rename from c-dump.h.
4660         * c-common.h (C_TYPE_QUALS): Removed.
4661         Move declarations for tree-dump.c interface to...
4662         * tree.h: ... here. Remove lang_dump_tree.
4663         * langhooks.h (struct lang_hooks_for_tree_dump): New.
4664         (struct lang_hooks): Add tree_dump hooks.
4665         * langhooks.c (lhd_tree_dump_dump_tree): New function.
4666         (lhd_tree_dump_type_quals): New function.
4667         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
4668         Declare.
4669         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
4670         * Makefile.in: Move tree-dump.o to language-independent back-end.
4671
4672 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4673
4674         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
4675         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
4676         * arc.h (DBX_REGISTER_NUMBER): Likewise.
4677         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
4678         * avr.h (DBX_REGISTER_NUMBER): Likewise.
4679         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
4680         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
4681         * convex.h (DBX_REGISTER_NUMBER): Likewise.
4682         * cris.h (DBX_REGISTER_NUMBER): Likewise.
4683         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
4684         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
4685         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
4686         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
4687         * i370.h (DBX_REGISTER_NUMBER): Likewise.
4688         * i860.h (DBX_REGISTER_NUMBER): Likewise.
4689         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
4690         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
4691         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4692         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
4693         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
4694         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
4695         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
4696         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
4697         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
4698         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
4699         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
4700         * romp.h (DBX_REGISTER_NUMBER): Likewise.
4701         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
4702         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4703         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
4704         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
4705         * v850.h (DBX_REGISTER_NUMBER): Likewise.
4706         * vax.h (DBX_REGISTER_NUMBER): Likewise.
4707         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
4708
4709         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
4710         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
4711
4712 2001-11-21  H.J. Lu <hjl@gnu.org>
4713
4714         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
4715
4716 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4717
4718         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
4719         emit_cmp_and_jump_insns.
4720
4721         * stormy16.c (xstormy16_expand_builtin_va_arg,
4722         xstormy16_expand_casesi): Likewise.
4723
4724 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4725
4726         * function.c (keep_stack_depressed): Major rework.
4727         (handle_epilogue_set, emit_equiv_load): New functions.
4728         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
4729         has return value.
4730         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
4731         * rtl.h (SET_IS_RETURN_P): New macro.
4732
4733         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
4734         and also support TREE_ADDRESSABLE.
4735         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
4736
4737 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
4738
4739         * rs6000.md (cmptf_internal1): Replace %$ with $.
4740
4741 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
4742
4743         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
4744         (read_include_file): Use STAT_SIZE_TOO_BIG.
4745
4746         * cppinit.c (INO_T_COPY): Define.
4747         (INO_T_EQ): Uppercase parameters.
4748         (append_include_chain): Use INO_T_COPY.
4749
4750 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
4751
4752         * cfg.c: Fix typos and formatting in the introductory comment.
4753
4754 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
4755
4756         * profile.c (compute_branch_probabilites):  Compute probabilities
4757         for entry/exit edges; estimate probabilities for zero counts.
4758
4759 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4760
4761         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
4762         to emit_library_call.
4763         * function.c (expand_main_function, expand_function_start,
4764         expand_function_end): Likewise.
4765         * profile.c (output_func_start_profiler): Likewise.
4766         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
4767         second argument to emit_library_call.
4768         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
4769         as second argument to emit_library_call.
4770         * calls.c (emit_library_call): Update fn_type description.
4771
4772 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4773
4774         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
4775         if fndecl is still DECL_INLINE and has DECL_RESULT.
4776
4777 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4778
4779         * clipper.c (clipper_movstr): Avoid uninitialized warning.
4780         * i960.c (is_mask, legitimize_address): Likewise.
4781         * m88k.c (m88k_expand_prologue): Likewise.
4782         * m88k.md: Likewise.
4783         * mcore.c (emit_new_cond_insn): Likewise.
4784         * stormy16.c (xstormy16_emit_cbranch): Likewise.
4785
4786 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4787
4788         * config.gcc: Delete powerpcle-*-solaris2* stanza.
4789         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
4790         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
4791         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
4792         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
4793         config/rs6000/t-ppcos: Expunge all references to Solaris.
4794
4795         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
4796
4797         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
4798         output templates.
4799         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
4800         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
4801
4802 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4803
4804         * sh.md: Avoid uninitialized warnings.
4805         * vax.c (vax_rtx_cost): Likewise.
4806
4807 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4808
4809         * rs6000.c (direct_return): Check if we are saving altivec
4810         registers.
4811         (first_altivec_reg_to_save): New.
4812         Updated stack frame layout comments.
4813         (rs6000_stack_info): Calculate altivec register save size.
4814         Save link register if we saved some altivec registers.
4815         (rs6000_stack_info): Align save size to 16 if altivec abi or
4816         abi_darwin.
4817         (rs6000_stack_info): Calculate altivec register offsets.
4818         (rs6000_stack_info): Add altivec info to save_size.
4819         (debug_stack_info): Add altivec debug info.
4820         (rs6000_emit_prologue): Save altivec registers and vrsave.
4821         (compute_vrsave_mask): New.
4822         (altivec_expand_builtin): Remove unused variables.
4823         (rs6000_parse_abi_options): Add static qualifier.
4824         (rs6000_expand_builtin): Remove unused parameters.
4825         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
4826         (altivec_init_builtins): Same.
4827         (is_altivec_return_reg): New.
4828         (vrsave_operation): New.
4829         (ALTIVEC_REG_BIT): New.
4830         (generate_set_vrsave): New.
4831
4832         * rs6000.md (get_vrsave): New.
4833         (set_vrsave): New.
4834         (*set_vrsave_internal): New.
4835
4836         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
4837         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
4838         altivec_padding_size, vrsave_mask.
4839         (TOTAL_ALTIVEC_REGS): New.
4840         (EPILOGUE_USES): Add VRSAVE_REGNO.
4841
4842 2001-11-20  Jeff Law <law@redhat.com>
4843
4844         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
4845         exit label as necessary.
4846
4847 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
4848
4849         * reload1.c (elimination_effects): Use function_invariant_p
4850         instead of CONSTANT_P when considering register equivalences.
4851
4852 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
4853
4854         * config.gcc: Add FreeBSD/PowerPC target.
4855         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4856         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4857         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4858         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4859         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4860         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
4861         freebsd-spec.h to tm_file.
4862         (rs6000-*-lynxos*): Add lynx.h to tm_file.
4863         * config/freebsd.h: Tidy up.
4864         (USING_CONFIG_FREEBSD): Define.
4865         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
4866         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
4867         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
4868         (TARGET_HAS_F_SETLKW): Define.
4869         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
4870         * config/freebsd-spec.h: New file.
4871         * config/rs6000/freebsd.h: New file.
4872         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
4873         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
4874         USING_SVR4_H to know when to turn on ELF support.
4875         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
4876         define only if not already defined.
4877         Add FreeBSD support.
4878         * config/rs6000/aix.h (TARGET_VERSION): Define.
4879         * config/rs6000/beos.h: Likewise.
4880         * config/rs6000/darwin.h: Likewise.
4881         * config/rs6000/mach.h: Likewise.
4882         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
4883         Don't include lynx.h directly.
4884
4885 2001-11-20  Graham Stott  <grahams@redhat.com>
4886
4887         * unwind-dw2-fde.c (__deregister_frame_info_bases):
4888         Fix lossage in last change return OB.
4889
4890 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
4891
4892         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
4893         Remove unneeded exit related macros.
4894
4895 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
4896
4897         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
4898
4899         * rs6000.c (rs6000_emit_move): Add TFmode case.
4900         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
4901         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
4902         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
4903         * rs6000.h: ... to here.
4904         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
4905         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
4906         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
4907
4908 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4909
4910         * emit-rtl.c (get_mem_attrs): Fix typo.
4911
4912 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4913
4914         * c-lang.c (finish_file): Backout 2001-11-16
4915         changes, instead set DECL_DEFER_OUTPUT for static inline functions
4916         before calling c_expand_deferred_function.
4917
4918 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4919
4920         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
4921         Don't register empty .eh_frame sections.
4922         (__deregister_frame_info_bases, __deregister_frame): Don't
4923         unregister them either.
4924
4925 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4926
4927         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
4928         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
4929         * configure: Regenerate.
4930         * config.in: Add dummy definitions of new flags.
4931         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
4932         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
4933         * gcc.c (ASM_DEBUG_SPEC): New macro.
4934         (asm_debug): New static variable.
4935         (default_compilers): Add asm_debug when assembling from
4936         user input.
4937         (static_specs): Add asm_debug.
4938
4939 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
4940
4941         * config.gcc (*-*-freebsd*): Remove configuration block.
4942
4943 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4944
4945         bootstrap/4422
4946         * configure.in: Setup ability to run ./stage[1234]/xgcc in
4947         fixinc *as if* it were a proper lang subdirectory.
4948         * configure: Rebuilt.
4949
4950 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4951
4952         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
4953
4954 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4955
4956         * 1750a.md: Don't use hex format for a const_int.
4957
4958 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4959
4960         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
4961
4962 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
4963
4964         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
4965         defined (prevents link errors when gettext isn't in the system
4966         library).
4967
4968 2001-11-19  DJ Delorie  <dj@redhat.com>
4969
4970         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
4971         (validate_const_int): New.
4972         (read_rtx): Validate constant integers.
4973         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
4974
4975 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
4976
4977         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
4978
4979 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4980
4981         * toplev.c (DUMPFILE_FORMAT): Define default.
4982         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
4983         (close_dump_file, compile_file): Likewise.
4984         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
4985         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
4986
4987 2001-11-19  Jeff Law <law@redhat.com>
4988
4989         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
4990         a nop-jump.
4991
4992 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4993
4994         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
4995         Don't fall off the base token run.
4996
4997 2001-11-19  Jason Wilkins <fenix@io.com>
4998
4999         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
5000
5001 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5002
5003         * tree.def (VIEW_CONVERT_EXPR): New tree code.
5004         * tree.h (handled_component_p): New declaration.
5005         * alias.c (handled_component_p): Move function from here ...
5006         * expr.c (handled_component_p): ... to here and non longer static.
5007         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
5008         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
5009         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
5010         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
5011         (expand_expr, case VIEW_CONVERT_EXPR): New case.
5012         (expand_expr, cse ADDR_EXPR): No need to copy if already
5013         BIGGEST_ALIGNMENT.
5014         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
5015         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
5016         (output_constant): Handle VIEW_CONVERT_EXPR.
5017         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
5018         Add new case for VIEW_CONVERT_EXPR.
5019
5020 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5021
5022         * a29k/unix.h (ASM_FILE_START): Const-ify.
5023         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
5024         * i386/isc.h (ASM_FILE_START): Const-ify.
5025         * i386/sun386.h (ASM_FILE_START): Likewise.
5026         * m32r.md: Likewise.
5027         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
5028         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
5029         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
5030         * mn10200.md: Initialize variable.
5031
5032 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
5033
5034         * gcse.c (try_replace_reg): Copy RTX before creating note.
5035
5036         * df.h (df_ref_flags): New uenum.
5037         (DF_REF_FLAGS): New macro.
5038         (struct ref): Add field "flags".
5039         * df.c (HANDLE_SUBREG): Remove.
5040         (df_ref_create): Likewise; set flags field of ref.
5041         (df_def_record_1): Strip down read_write subreg; remove
5042         commented out code; set READ_WRITE flag.
5043         (read_modify_subreg_p): New static function.
5044         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
5045         new argument "flags".
5046         (df_insn_refs_record): Update call of df_uses_record.
5047         (df_insn_modify): Avoid #if 0 around comment.
5048         (df_dump): Dump the read/write flag.
5049
5050         * predict.c (propagate_freq): Make cyclic_probability and frequency
5051         volatile
5052
5053         * i386.c (ix86_cc_mode): Accept USE.
5054
5055         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
5056         jump is turned into simplejump.
5057
5058 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
5059
5060         * doc/fragments.texi, doc/trouble.texi: Remove links to old
5061         installation chapter.
5062         * doc/gcc.texi: Don't claim that this manual documents
5063         installation.  Mark Installation menu entry as being out of date.
5064
5065 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
5066
5067         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
5068         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
5069         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
5070
5071 2001-11-19  Jason Merrill  <jason@redhat.com>
5072
5073         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
5074         cur_token, not after.
5075
5076         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
5077         Lose ASM_OUTPUT_CONSTRUCTOR.
5078         * system.h: Poison it and INT_ASM_OP.
5079         * c-lang.c (finish_file): Don't check for it.
5080         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
5081
5082 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5083
5084         * mmix.c (mmix_cc1_ignored_option): Const-ify.
5085         (mmix_init_machine_status): Make static to match declaration.
5086         (mmix_unique_section): Const-ify.
5087         (mmix_output_quoted_string): Avoid automatic aggregate
5088         initialization.
5089         (mmix_output_register_setting): Likewise.
5090         (mmix_output_shiftvalue_op_from_str): Likewise.
5091
5092         * mmix.h (mmix_cc1_ignored_option): Const-ify.
5093         (ASM_OUTPUT_BYTE): Fix format specifier warning.
5094         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5095
5096 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5097
5098         PR c/4448
5099         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
5100         name __objc_thread_exit_status so that it matches the
5101         variable defined in objc/thr.h.
5102
5103 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5104
5105         PR bootstrap/4020
5106         * mklibgcc.in: Add missing semi-colons.
5107         * Makefile.in: Same.
5108
5109 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5110
5111         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
5112         after re-laying out decl in incomplete case.
5113         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
5114
5115 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
5116
5117         * doc/install-old.texi: Move some sections out to ...
5118         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
5119         ... here.  New files.  Make into chapters rather than sections.
5120         * doc/gcc.texi: Include the new files and add menu entries for
5121         them.
5122         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5123
5124 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5125
5126         * tree.h (TYPE_ALIGN_OK): New flag.
5127         * emit-rtl.c (set_mem_attributes): Handle it.
5128         * expr.c (emit_single_push_insn): Only set to alias set 0 if
5129         doing sibcall optimization.
5130         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
5131         when make temporary.
5132         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
5133         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
5134
5135         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
5136
5137 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
5138
5139         * c-decl.c (c_decode_option): Give deprecation warning for
5140         -traditional.
5141         * doc/invoke.texi (-traditional): Note that this option is
5142         deprecated.
5143
5144 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
5145
5146         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
5147         arg to HOST_WIDE_INT, not long.
5148
5149         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
5150         (HAS_INIT_SECTION): Define.
5151         (REAL_ARITHMETIC): Don't undefine.
5152
5153 2001-11-18  Egor Duda  <deo@logos-m.ru>
5154
5155         * config/i386/cygwin.h: Strip leading '*' from name, if any.
5156
5157 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
5158
5159         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
5160         * c-common.c: Include diagnostic.h.
5161         (c_common_finish): New.
5162         * c-common.h (c_common_finish): New.
5163         * c-lang.c (LANG_HOOKS_FINISH): Override.
5164         * c-parse.in: Don't include diagnostic.h.
5165         (finish_parse): Remove.
5166         * langhooks.h: Update comments.
5167         * toplev.c (lang_dependent_init): New prototype.
5168         (finalize): New.
5169         (compile_file): Split cleanup code out to finalize.
5170         (lang_dependent_init): Stop if lang_hooks.init fails.
5171         (toplev_main): Update.
5172         * tree.h (finish_parse): Remove.
5173 objc:
5174         * objc-act.c (LANG_HOOKS_FINISH): Override.
5175
5176 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
5177
5178         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
5179         * config/alpha/vms_tramp.asm: New file.
5180         * config/alpha/vms-tramp.asm: Removed.
5181
5182 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
5183
5184         * c-common.c (struct disabled_builtin, disabled_builtins,
5185         disable_builtin_function, builtin_function_disabled_p): New.
5186         (builtin_function_2): Check for disabled built-in functions.
5187         * c-common.h (disable_builtin_function): Declare.
5188         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
5189         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
5190         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
5191
5192 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5193
5194         PR target/4606
5195         * config.gcc: Remove reference to va-clipper.h.
5196
5197 2001-11-17  Stan Shebs  <shebs@apple.com>
5198
5199         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
5200         AltiVec-related bitfields.
5201
5202 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5203
5204         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
5205         (mark_eh_region, case ERT_UKNONW): New case.
5206
5207 2001-11-17  Christopher Faylor  <cgf@redhat.com>
5208             Corinna Vinschen  <vinschen@redhat.com>
5209
5210         * config/i386/cygwin.h: Search target specific include directory for
5211         w32api stuff, if appropriate.
5212
5213 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
5214
5215         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
5216
5217 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
5218
5219         * config/rs6000/rs6000.md: Change all ldvx to lvx.
5220
5221 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
5222
5223         * gensupport.c (process_rtx): Don't assume filename is the first
5224         argument of any rtl.
5225
5226 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5227
5228         * vax-protos.h (reg_was_0_p): New prototype.
5229         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
5230         * vax.c (follows_p, reg_was_0_p): New functions.
5231
5232 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5233
5234         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
5235         (casesi1): Likewise.  Define new pattern which arises by simplification
5236         when operand 1 is a constant int.  Correct pattern which arises by
5237         simplification when operand 1 is zero.
5238
5239 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
5240
5241         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
5242         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
5243         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
5244         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
5245         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
5246         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
5247         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
5248         * config/arm/aof.h: Don't include arm.h.
5249         * config/arm/aout.h: Likewise.
5250         * config/arm/coff.h: Don't include semi.h and aout.h.
5251         * config/arm/elf.h: Don't include aout.h.
5252         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
5253         (TARGET_VERSION): Undef before defining.
5254         (ARM_OS_NAME): Likewise
5255         (TARGET_DEFAULT): Likewise
5256         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
5257         * config/arm/pe.h: Don't include arm/coff.h.
5258         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
5259         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
5260         * config/arm/riscix1-1.h: Likewise.
5261         * config/arm/rix-gas.h: Don't include riscix.h.
5262         (DBX_CONTIN_LENGTH): Undef before defining.
5263         * config/arm/semi.h: Don't include aout.h.
5264         * config/arm/semiaof.h: Don't include aof.h.
5265         * config/arm/strongarm-coff.h: Don't include coff.h.
5266         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
5267         * config/arm/vxarm.h: Don't include arm/coff.h.
5268         * config/arm/xscale-coff.h: Don't include coff.h.
5269
5270 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5271
5272         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
5273         emit_cmp_insn.
5274
5275 2001-11-16  Andreas Jaeger  <aj@suse.de>
5276
5277         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
5278         to ....
5279         (fixup_fallthru_exit_predecessor): ... this.
5280         Change callers and prototype.
5281
5282 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
5283
5284         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
5285         hand; don't use gen_setcc_2.
5286         (ix86_expand_builtin): Fix pshufw.
5287         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
5288         case UNORDERED to emit the right assembler instruction.
5289         (mmx_pshufw): Lose operand 2.
5290         (cvtsi2ss): Fix representation.
5291         From Graham Stott:
5292         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
5293
5294 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
5295
5296         * doc/include/linux-and-gnu.texi: Remove.
5297         * doc/gnu.texi: New.
5298         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
5299         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5300
5301 2001-11-16  Kazu Hirata  <kazu@hxi.com>
5302
5303         * config/a29k/a29k.c: Fix comment formatting.
5304         * config/a29k/a29k.h: Likewise.
5305         * config/arc/arc.c: Likewise.
5306         * config/arc/arc.h: Likewise.
5307         * config/vax/vax.c: Likewise.
5308         * config/vax/vax.h: Likewise.
5309         * config/we32k/we32k.c: Likewise.
5310         * config/we32k/we32k.h: Likewise.
5311
5312 2001-11-16  Jeff Law  <law@redhat.com>
5313
5314         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
5315         creating a new jump insn.
5316
5317 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5318
5319         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
5320         copy misaligned data.
5321         * varasm.c (assemble_variable): Set alignment into MEM when changed.
5322
5323 2001-11-16  Graham Stott  <grahams@redhat.com>
5324
5325         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
5326         OPALIGN type.
5327
5328 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
5329
5330         * except.c: Support for catching a list of types with a single handler
5331         (struct eh_region): Change type and filter to lists for catch regions.
5332         (mark_eh_region): Mark the filter list for GC also.
5333         (expand_start_catch): Always build a list if argument not NULL and
5334         register each type of the list through add_type_for_runtime.
5335         (duplicate_eh_region_1): Change type into type_list for catch regions.
5336         (assign_filter_values): Assign a filter to each type associated with a
5337         catch region. Assign filter for NULL types in a unique entry in the
5338         filter list.
5339         (build_post_landing_pads): Emit compare and jump for each filter of
5340         the list associated with a catch region.
5341         (reachable_next_level): When the type thrown is known, stop the search
5342         as soon as one type within a catch list matches. Also, a handler is
5343         potentially reachable only if at least one of the types it catches
5344         has not been previously caught.
5345         (collect_one_action_chain): Retrieve the filter for a NULL type list
5346         from the first filter list entry. For non NULL type lists, add an
5347         action record for every filter assigned.
5348         * except.h: Reflect changes in comment before expand_start_catch.
5349
5350 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5351
5352         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
5353         BLKmode.
5354
5355 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
5356
5357         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
5358
5359 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
5360
5361         * c-lang.c (finish_file): Don't emit static inline functions if
5362         they weren't referenced.
5363
5364 2001-11-15  Stan Shebs  <shebs@apple.com>
5365
5366         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
5367
5368 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
5369
5370         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
5371         call.
5372         * config/i386/i386.md: Likewise.
5373
5374 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5375
5376         * timevar.c (rtl.h): Include so get fancy abort.
5377
5378 2001-11-15  Dale Johannesen  <dalej@apple.com>
5379
5380         * config/darwin.h (SELECT_RTX_SECTION):  Force address
5381         initializers into 'const' section
5382         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
5383         if_then_else to match result, not operands
5384
5385 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5386
5387         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
5388         * emit-rtl.c (change_address): Fix typo in default alignment.
5389         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
5390         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
5391         * rtl.h (REGNO_PTR_FRAME_P): New macro.
5392
5393         * expr.c (store_field): Pass tree instead of max size; callers changed.
5394         Change handling of alignment.
5395         Only copy to_rtx if is TARGET.
5396         (expand_expr_unaligned): Delete; callers now use expand_expr.
5397         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
5398         (expand_assignment): Change handling of alignment.
5399         Only copy to_rtx if was original.
5400         (get_inner_reference): No longer return alginment; callers changed.
5401         (expand_expr, case COMPONENT_REF): Change handling of alignment.
5402         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
5403         (compare_from_rtx): Delete ALIGN parm; all callers changed.
5404         (do_compare_rtx_and_jump): Likewise.
5405         * expr.h: Reflect above changes.
5406         * tree.h: Likewise.
5407         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
5408         to get_inner_reference.
5409         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
5410         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
5411         * optabs.c: Likewise.
5412         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
5413         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
5414         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
5415         compare_rtx_and_jump, and emit_cmp_jump_insns.
5416         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
5417         * function.c (assign_stack_temp_for_type): No longer static.
5418         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
5419         (prepare_cmp_insn): Delete declaration.
5420         * rtl.h (assign_stack_temp_for_type): Add declaration.
5421         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
5422         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
5423         * config/i386/i386.c,config/mips/mips.c: Likewise.
5424         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
5425         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
5426
5427 2001-11-15  Stan Shebs  <shebs@apple.com>
5428
5429         * config/rs6000/rs6000.h: Fix a comment typo.
5430         (RTX_COSTS): Sort processor versions better.
5431
5432 2001-11-15  Kazu Hirata  <kazu@hxi.com>
5433
5434         * config/h8300/h8300.md: Fix insn length of bit insns.
5435
5436 2001-11-15  Jason Merrill  <jason@redhat.com>
5437
5438         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
5439         DIEs if there were errors in the source.
5440
5441         * config/alpha/alpha-interix.h, config/alpha/elf.h,
5442         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
5443         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
5444         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
5445         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
5446         config/elfos.h, config/lynx.h, config/netware.h,
5447         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
5448         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
5449         uses to use ASM_LONG.
5450
5451 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
5452
5453         * gensupport.c  process_include : Change call to alloca to
5454         xmalloc.
5455
5456 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
5457
5458         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
5459         templates.
5460
5461 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5462
5463         * final.c (alter_subreg): If simplify_subreg can't do anything,
5464         handle REG ourselves and abort for others.
5465
5466 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
5467
5468         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
5469         routines.
5470
5471 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5472
5473         * fix-header.c (read_scan_file): Update.
5474
5475 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5476
5477         * toplev.c (toplev_main): Don't start timing until after
5478         command-line options are parsed.
5479
5480 2001-11-15  Andreas Schwab  <schwab@suse.de>
5481
5482         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
5483         makefile frag, not host makefile frag.
5484         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
5485         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
5486         used.
5487         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
5488         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
5489         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
5490         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
5491         * config/i386/t-dgux (STMP_FIXPROTO): Define.
5492         * config/x-interix: Don't define STMP_FIXPROTO and
5493         FIXPROTO_DEFINES.
5494         * config/t-interix: New file, define STMP_FIXPROTO.
5495         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
5496         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
5497         * config/t-svr4 (FIXPROTO_DEFINES): Define.
5498         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
5499         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
5500         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
5501         * config/m68k/t-hp3200: Renamed from x-hp3200.
5502         * config/i370/t-oe: Renamed from x-oe.
5503         * config/mips/t-iris: Renamed from x-iris.
5504         * config/pa/t-bsd: Renamed from x-pa.
5505         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
5506         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
5507         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
5508         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
5509         config/rs6000/x-cygwin: Remove files.
5510
5511         * configure.in: Check for target objdump and use that in eh_frame
5512         optimization test.
5513         * configure: Regenerated.
5514
5515 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
5516
5517         * jump.c (squeeze_notes): Return true if no real insns were found.
5518         * rtl.h (squeeze_notes): Adjust prototype.
5519         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
5520         squeeze_notes finds no real instructions, abort.
5521         (merge_blocks_move_successor_nojumps): Likewise.
5522         * loop.c (find_and_verify_loops): Likewise.
5523         * stmt.c (expand_end_case): Likewise.
5524         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
5525         find any real instructions.
5526
5527         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
5528
5529         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
5530         conditional jump, request updating life into for the block
5531         containing it.  Fix a typo which prevented life info update.
5532         Clear blocks bitmap before using it.
5533
5534 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5535
5536         * c-common.c: Include c-lex.h.
5537         (c_common_lang_init): Change prototype.  Call init_c_lex and
5538         init_pragma from here.
5539         * c-common.h (c_common_lang_init): Change prototype.
5540         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
5541         * c-lang.c (c_init): Change prototype.  Update.
5542         (c_init_options): Update.
5543         * c-lex.c (cpp_filename): Remove.
5544         (init_c_lex): Update.  Read the main file, and get the original
5545         file name.
5546         (yyparse): Finish the command line options.
5547         * c-parse.in (c_parse_init): Call init_reswords here.
5548         (init_parse): Remove.
5549         * c-tree.h (c_init_decl_processing): New.
5550         * cpphash.c (_cpp_init_hashtable): After initializing the hash
5551         table, populate it.
5552         * cppinit.c (read_original_filename, cpp_finish_options): New.
5553         (cpp_create_reader): New prototype. Defer hash table initialization.
5554         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
5555         hash table.  Get the original filename.
5556         * cpplib.h (cpp_create_reader): Update.
5557         (cpp_start_read): Remove.
5558         (cpp_read_main_file, cpp_finish_options): New.
5559         * cppmain.c (main, do_preprocessing): Update.
5560         * langhooks.h (struct langhooks): Update init prototype.
5561         * toplev.c (general_init, parse_options_and_default_flags,
5562         process_options, lang_indpendent_init, lang_dependent_init,
5563         init_asm_output): New; perform the bulk of initialization.
5564         (compile_file): Move most of initialization to above functions.
5565         (debug_hooks): Initialize statically.
5566         (set_Wunused): Relocate.
5567         (toplev_main): Move most of initialization to other init functions.
5568         Have a clear logic flow.
5569         * tree.h (init_parse, init_decl_processing): Remove.
5570 objc:
5571         * objc-act.c (objc_init): Update prototype, combine with old
5572         init_parse.
5573         (objc_init_options): Update.
5574
5575
5576 2001-11-15  Andreas Jaeger  <aj@suse.de>
5577
5578         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
5579         portability.
5580         * basic-block.h: Adjust prototype.
5581
5582 2001-11-15  Kazu Hirata  <kazu@hxi.com>
5583
5584         * config/rs6000/aix31.h: Fix comment formatting.
5585         * config/rs6000/beos.h: Likewise.
5586         * config/rs6000/darwin.h: Likewise.
5587         * config/rs6000/eabi.asm: Likewise.
5588         * config/rs6000/linux.h: Likewise.
5589         * config/rs6000/linux64.h: Likewise.
5590         * config/rs6000/lynx.h: Likewise.
5591         * config/rs6000/netbsd.h: Likewise.
5592         * config/rs6000/rs6000.c: Likewise.
5593         * config/rs6000/rs6000.h: Likewise.
5594         * config/rs6000/rs6000.md: Likewise.
5595         * config/rs6000/sol2.h: Likewise.
5596         * config/rs6000/tramp.asm: Likewise.
5597         * config/rs6000/xcoff.h: Likewise.
5598         * config/rs6000/xm-beos.h: Likewise.
5599
5600 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
5601
5602         * rtl.def (INCLUDE) : Define.
5603         * gensupport.c  (init_include_reader, process_include,
5604         save_string) :  New functions to implement an include facility
5605         in .md files.
5606         * gensupport.h : Add prototype for init_md_reader_args.
5607         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
5608         genextract.c genflags.c genopinit.c genoutput.c
5609         genpeep.c genrecog.c: Change call to init_md_reader to
5610         init_md_reader_args.
5611         * md.texi: Document (include "path") and -I directives for RTL
5612         generation tools.
5613
5614 2001-11-14  DJ Delorie  <dj@redhat.com>
5615
5616         * integrate.c (get_hard_reg_initial_reg): New.
5617         * integrate.h (get_hard_reg_initial_reg): Prototype.
5618         * local-alloc.c (block_alloc): Don't tie pseudos that
5619         represent call-saved hard regs' initial values.
5620
5621 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5622
5623         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
5624         recursion.
5625
5626 2001-11-14  Roger Sayle <roger@eyesopen.com>
5627
5628         * fold-const.c (fold): Optimize strlen comparisons against zero.
5629
5630 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
5631
5632         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
5633         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
5634         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
5635         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
5636         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
5637         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
5638         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
5639         Include various CPU headers via tm_file.  a.out based platforms now
5640         properly include sparc/aout.h.  sol2.h usage now implies including
5641         elfos.h, svr4.h, and sparc/sysv4.h.
5642         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
5643         Also define to '1'.
5644         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
5645         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5646         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
5647         Remove.  They are a.out specific and belong in sparc/aout.h.
5648         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
5649         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5650         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
5651         sparc/sparc.h.
5652         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
5653         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
5654         Moved here from sparc/sparc.h.
5655         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
5656         defining.
5657         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
5658         * config/sparc/lynx.h:  Don't include lynx.h.
5659         (SELECT_SECTION): Do not undef.
5660         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
5661         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
5662         and sparc/sysv4.h.
5663         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
5664         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
5665         sparc/aout.h now.
5666         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
5667         Don't undef, there is no need.
5668         * config/sparc/splet.h (CPP_PREDEFINES): Define.
5669         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
5670         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
5671         Don't include sparc/sparc.h.
5672         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
5673         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5674         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
5675         elfos.h and svr4.h.
5676         (TARGET_VERSION): Define.
5677         * config/sparc/vxsim.h (TARGET_VERSION): Define.
5678
5679 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
5680
5681         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
5682         (cfg_layout_finalize): Use it.
5683         * bb-reorder.c (HAVE_epilogue): Remove.
5684         (make_reorder_chain): Do not care special placement of
5685         last basic block.
5686
5687         * predict.c (expected_value_to_br_prob): Delete the note
5688         once transformed.
5689
5690         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
5691         measure integration time separately.
5692
5693 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5694
5695         * function.c (struct temp_slot): ALIGN now unsigned.
5696
5697 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5698
5699         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
5700         * config/dsp16xx/dsp16xx.h: Likewise.
5701         * config/dsp16xx/dsp16xx.md: Likewise.
5702
5703 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5704
5705         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
5706         that deals with 7-bit shifts in HImode.
5707
5708 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
5709
5710         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
5711         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
5712         (final_scan_insn): Update call of alter_subreg.
5713         (cleanup_subreg_operands): Likewise.
5714         (alter_subreg): Rewrite using simplify_subreg.
5715         (output_address, output_operand): Update call of alter_subreg.
5716         * output.h (alter_subreg): Update prototype.
5717         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
5718         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
5719         * Makefile.in (final.o): Add dependency on expr.h
5720
5721 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5722
5723         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
5724
5725 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
5726
5727         * doc/install.texi (sparc-*-linux*): Mention requirements for
5728         binutils and glibc.
5729
5730 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
5731
5732         * Makefile.in (POD2MAN): Don't include --section=1.
5733         (manext): Rename to man1ext.  All users changed.
5734         (man7ext): New.
5735         (man7dir): New.
5736         (generated-manpages): Also depend on $(docdir)/gfdl.7,
5737         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
5738         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
5739         --section=1 in calls to $(POD2MAN).
5740         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
5741         (maintainer-clean, install, uninstall): Handle the new man pages.
5742         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
5743         (installdirs): Create man7dir.
5744         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
5745         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
5746         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
5747         the SEE ALSO man page section.
5748         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
5749         and fsf-funding(7) in the SEE ALSO man page section.
5750         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
5751         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
5752         * doc/include/fdl.texi, doc/include/funding.texi,
5753         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
5754         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
5755
5756 2001-11-13  Richard Henderson  <rth@redhat.com>
5757
5758         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
5759         as appropriate for the artificial decl.
5760
5761 2001-11-13  Richard Henderson  <rth@redhat.com>
5762
5763         * loop.c (combine_movables): Turn off combination until
5764         move_movables validation bugs are fixed.
5765
5766 2001-11-13  DJ Delorie  <dj@redhat.com>
5767
5768         * config.gcc (powerpc|rs6000): Set default cpp options based
5769         on --with-cpu settings.
5770         * config/rs6000/softfloat.h: New.
5771
5772 2001-11-13  Kazu Hirata  <kazu@hxi.com>
5773
5774         * config/h8300/h8300.c (shift_alg_si): Use special code for
5775         25-bit shifts on H8/S.
5776         (get_shift_alg): Generate special code for 25-bit shifts on
5777         H8/S.
5778
5779 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
5780
5781         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
5782         (adjust_automodify_address_1): New.
5783         * expr.h (adjust_address, adjust_address_nv): Adjust.
5784         (adjust_automodify_address, adjust_automodify_address_nv): Define.
5785         (adjust_address_1): Update prototype.
5786         (adjust_automodify_address_1): Add prototype.
5787         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
5788         (store_by_pieces_2): Likewise.
5789
5790 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5791
5792         * Makefile.in (explow.o): Now depends on ggc.h.
5793         * explow.c (ggc.h): Include.
5794         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
5795
5796         * Makefile.in (expr.o): Depends on insn-attr.h.
5797         * expr.c (insn-attr.h): New include.
5798         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
5799         of MEM.
5800         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
5801         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
5802         clean up related usage in ADDR_EXPR.
5803         (expand_expr_unaligned): Likewise.
5804
5805         * emit-rtl.c (change_address): Fix typo in alias setting.
5806
5807 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5808
5809         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
5810
5811 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5812
5813         PR bootstrap/3451
5814         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
5815         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
5816
5817 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5818
5819         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
5820         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
5821         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
5822         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
5823         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
5824         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
5825         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
5826         sparc64-*-linux*):  Include various CPU headers via tm_file.
5827         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
5828         (SELECT_SECTION): Likewise.
5829         (SELECT_RTX_SECTION): Likewise.
5830         * config/sparc/sparc_bi.h: New file.
5831         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
5832         * config/sparc/linux-aout.h: Likewise.
5833         * config/sparc/linux.h: Don't include sparc/sysv4.h.
5834         * config/sparc/linux64.h: Likewise.
5835         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5836         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
5837         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
5838         and dbxcoff.h
5839         (ASM_OUTPUT_IDENT): Do not #undef.
5840         (SELECT_SECTION): Likewise.
5841         (SELECT_RTX_SECTION): Likewise.
5842         * config/sparc/liteelf.h: Don't include gofast.h.
5843         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
5844         * config/sparc/lynx.h: Don't include sparc/sparc.h.
5845         * config/sparc/pbd.h: Likewise.
5846         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
5847         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
5848         * config/sparc/rtemself.h: Don't include rtems.h.
5849         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
5850         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
5851         sparc_bi.h instead.
5852         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
5853         * config/sparc/sol2.h: Include sparc/sparc.h directly.
5854         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
5855         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
5856         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
5857         * config/sparc/sp86x-elf.h: Don't include gofast.h.
5858         * config/sparc/splet.h: Don't include sparc/aout.h.
5859         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
5860         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
5861         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
5862         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
5863         * config/sparc/vxsparc64.h: Don't include gofast.h.
5864         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5865
5866 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5867
5868         * doc/standards.texi: Mention C99 TC1.
5869
5870 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5871
5872         * mips-protos.h (mips_output_conditional_branch): Const-ify.
5873         * mips.c (mips_output_conditional_branch): Likewise.
5874
5875 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5876
5877         * config/h8300/h8300.c (shift_alg_si): Use special code for
5878         15-bit logical shifts and 31-bit logical shifts.
5879         (get_shift_alg): Generate special code for 15-bit and 31-bit
5880         logical shifts.
5881
5882 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5883
5884         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
5885         doing 6-bit logical shifts on H8/S.
5886         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
5887         (get_shift_alg): Generate special code for 21-bit shifts on
5888         H8/S.
5889
5890 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5891
5892         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
5893         label.
5894
5895 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5896
5897         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
5898         if both size and offset known.
5899
5900 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5901
5902         * config/ia64/freebsd.h: Fix misspelling.
5903
5904 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5905
5906         * doc/gcc.texi: Move several chapters out to ...
5907         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
5908         doc/include/linux-and-gnu.texi, doc/interface.texi,
5909         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
5910         ... here.  New files.
5911         * doc/gcc.texi, doc/contrib.texi: Move section headings into
5912         contrib.texi.
5913         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5914
5915 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5916
5917         * config/alpha/alpha-interix.h: Fix comment formatting.
5918         * config/alpha/alpha.c: Likewise.
5919         * config/alpha/alpha.h: Likewise.
5920         * config/alpha/alpha32.h: Likewise.
5921         * config/alpha/freebsd.h: Likewise.
5922         * config/alpha/unicosmk.h: Likewise.
5923         * config/alpha/vms.h: Likewise.
5924
5925 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5926
5927         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5928
5929 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
5930
5931         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
5932         numbers.
5933
5934 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5935
5936         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
5937         from type.
5938         (replace_equiv_address): Call update_temp_slot_address.
5939
5940         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
5941
5942         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
5943
5944 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5945
5946         * config/h8300/h8300.c (shift_alg_qi): New.
5947         (shift_alg_hi): Likewise.
5948         (shift_alg_si): Likewise.
5949         (get_shift_alg): Change the type of count to unsigned int.
5950         Use the tables.
5951
5952 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
5953
5954         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
5955         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
5956         to decide whether to defer a function.
5957         (finish_function): Adjust.
5958         (c_expand_deferred_function): New function.
5959         * c-lang.c (deferred_fns): New variable.
5960         (c_init): Initialize it, and mark it as a root.
5961         (defer_fn): New function.
5962         (finish_file): Expand all deferred functions.
5963         * c-tree.h (defer_fn): Declare.
5964         (c_expand_deferred_function): Likewise.
5965         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
5966         * objc-act.c (deferred_fns): New variable.
5967         (objc_init): Initialize it, and mark it as a root.
5968         (defer_fn): New function.
5969         (finish_file): Expand all deferred functions.
5970
5971 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5972
5973         * alpha.c (unicosmk_special_name): Prototype.
5974         (unicosmk_ssib_name): Delete unused variable.
5975         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
5976         * alpha/vms.h (PREFIX): Undef before defining.
5977         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
5978         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
5979         controlling usage.  Const-ify.
5980         (alias_number): Delete unused variable.
5981         * m32r/m32r.c (m32r_sched_init): Add missing argument.
5982         (m32r_expand_block_move): Fix uninitialized warnings.
5983         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
5984         always true' warnings.
5985         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
5986         * sh/sh.c: Include "integrate.h".
5987         (output_far_jump): Fix uninitialized warning.
5988         * final.c (shorten_branches): Avoid automatic aggregate
5989         initialization.
5990         * integrate.c (subst_constants): Likewise.
5991
5992 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5993
5994         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
5995         (get_shift_alg): Remove redundant code.
5996
5997 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5998
5999         * config/pa/milli64.S: Fix comment formatting.
6000         * config/pa/pa-64.h: Likewise.
6001         * config/pa/pa-linux.h: Likewise.
6002         * config/pa/pa-protos.h: Likewise.
6003         * config/pa/pa.c: Likewise.
6004         * config/pa/pa.h: Likewise.
6005         * config/pa/pa32-linux.h: Likewise.
6006         * config/pa/pa32-regs.h: Likewise.
6007         * config/pa/pa64-hpux.h: Likewise.
6008         * config/pa/pa64-regs.h: Likewise.
6009         * config/pa/som.h: Likewise.
6010
6011 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
6012
6013         * doc/gcc.texi: Move several chapters out to ...
6014         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
6015         doc/service.texi, doc/standards.texi, doc/trouble.texi,
6016         doc/vms.texi: ... here.  New files.
6017         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
6018
6019 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
6020
6021         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
6022         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
6023         collect2.c, combine.c, config.in, configure, configure.in,
6024         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
6025         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
6026         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
6027         spelling errors.
6028
6029 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6030
6031         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
6032         Adjust operand number in CONST_DOUBLE.
6033
6034         * expmed.c (extract_bit_field): No longer pass in alignment.
6035         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
6036         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
6037         Likewise.
6038         * expr.c (store_constructor, store_constructor_field): Likewise.
6039         (store_field, emit_group_load, emit_group_store): Likewise.
6040         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
6041         (store_bit_field, extract_bit_field): Likewise.
6042         * calls.c, expr.c, function.c: Change calls to above functions.
6043         * ifcvt.c, stmt.c: Likewise.
6044
6045         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
6046         constant and one is on frame.
6047         If know memref offset, adjust size from decl.
6048
6049 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6050
6051         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
6052         format specifier warning.
6053         * convex.h (ASM_OUTPUT_BYTE): Likewise.
6054         * elfos.h (ALIGN_ASM_OP): Undef before defining.
6055         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
6056         warning.
6057         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6058         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6059         * i386-interix.h (gen_stdcall_suffix): Prototype.
6060         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6061         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6062         ASM_OUTPUT_LONG_DOUBLE): Likewise.
6063         * i386/interix.c (gen_stdcall_suffix): Const-ify.
6064         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
6065         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
6066         specifier warnings.
6067         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6068         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6069         ASM_OUTPUT_LONG_DOUBLE): Likewise.
6070         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6071         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6072         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6073         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6074         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
6075         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
6076         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
6077         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
6078         Likewise.
6079         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
6080         Likewise.
6081         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
6082         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
6083         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
6084         Likewise.
6085         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
6086         Likewise.
6087         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
6088         Likewise.
6089         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
6090         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6091         * m68k/news.h (PRINT_OPERAND): Likewise.
6092         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
6093         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
6094         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
6095         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
6096         definition.
6097         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
6098         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
6099         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
6100         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
6101         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
6102         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
6103         PRINT_OPERAND): Likewise.
6104         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
6105         Likewise.
6106         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
6107         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
6108         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
6109         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
6110         * mips.c (mips_output_external_libcall): Mark parameter with
6111         ATTRIBUTE_UNUSED.
6112         (mips_asm_file_start): Move variable into the scope where it's
6113         used.
6114         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
6115         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
6116         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
6117         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6118         * ns32k.c (print_operand): Likewise.
6119         * pa.c (print_operand, output_div_insn): Likewise.
6120         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
6121         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
6122         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
6123         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
6124         specifier warnings.
6125         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6126         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6127         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
6128         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
6129         specifier warnings.
6130         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6131
6132         * sdbout.c (sdbout_end_epilogue): Mark parameter with
6133         ATTRIBUTE_UNUSED.
6134         * varasm.c (assemble_global): Likewise.
6135
6136 2001-11-11  H.J. Lu <hjl@gnu.org>
6137
6138         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
6139
6140 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
6141
6142         * final.c (*_MAX_SKIP): Use *_max_skip variables.
6143         * flags.h (align_loops_max_skip, align_jumps_max_skip,
6144         align_labels_max_skip): New global variables.
6145         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
6146         align_labels_max_skip): New global variables.
6147         (toplev_main): Set new variables.
6148         * i386.c (override_options): Set max_skip values.
6149
6150 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
6151
6152         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
6153         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
6154         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
6155         don't print an @fptr for labels either.
6156         (xstormy16_output_addr_vec): Don't print @fptr here.
6157         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
6158
6159 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
6160
6161         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
6162         an ANSI/ISO definitino.
6163         (ssa_const_prop): Likewise.
6164
6165 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
6166
6167         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
6168         altivec registers.
6169
6170 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6171
6172         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
6173         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
6174         * cppmain.c (general_init): Call hex_init.
6175         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
6176
6177         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
6178
6179         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
6180         of dgux.c:output_file_start().
6181
6182         * i386/dgux.c: Delete file.
6183
6184 2001-11-09  Richard Henderson  <rth@redhat.com>
6185
6186         * config/alpha/alpha.c (decl_in_text_section): New.
6187         (current_file_function_operand): Use it.
6188         (alpha_encode_section_info, alpha_end_function): Likewise.
6189
6190 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
6191
6192         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
6193         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
6194         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
6195         so OS specific files and use CPP_PREDEFINES for their needs.
6196         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
6197         target headers to tm_file.
6198         * config/ia64/aix.h (TARGET_VERSION): Likewise.
6199         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
6200         * config/ia64/linux.h (TARGET_VERSION): Likewise.
6201         (FUNCTION_PROFILER): Remove.
6202         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
6203         version in config/ia64/linux.h.
6204         * config/ia64/freebsd.h: New file.
6205         * config/freebsd.h: Tidy up.
6206         (_USING_CONFIG_FREEBSD): Define.
6207         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
6208         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
6209         (FBSD_STARTFILE_SPEC): Likewise.
6210         (FBSD_ENDFILE_SPEC): Likewise.
6211         (FBSD_LIB_SPEC): Likewise.
6212         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
6213         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
6214         set an ELF-improper one.
6215
6216 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6217
6218         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
6219         constant can be loaded in a single instruction to a register.  When
6220         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
6221         depdi for insertion of most significant 32-bits on 64-bit hosts.
6222         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
6223         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
6224         * pa.md: New addmove pattern for adding constant_int to HImode
6225         register and moving result to HImode register.  Remove HImode HIGH
6226         and LO_SUM patterns.
6227
6228 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6229
6230         * Makefile.in: Update.
6231         * c-decl.c (print_lang_decl, print_lang_type): Remove.
6232         (print_lang_identifier): Rename c_print_identifier.
6233         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
6234         (print_lang_statistics, lang_print_xnode): Remove.
6235         * c-parse.in (set_yydebug): Rename c_set_yydebug.
6236         * c-tree.h (c_set_yydebug, c_print_identifier): New.
6237         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
6238         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
6239         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
6240         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
6241         (LANG_HOOKS_INITIALIZER): Update.
6242         * langhooks.h (struct lang_hooks): New members.
6243         (lang_print_tree_hook): New.
6244         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
6245         * print-tree.c: Include langhooks.h.
6246         (print_node): Update.
6247         * toplev.c (decode_d_option): Update.
6248         * tree.c: Include langhooks.h.
6249         (dump_tree_statistics): Update.
6250         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
6251         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
6252 objc:
6253         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
6254         LANG_HOOKS_SET_YYDEBUG): Override.
6255         (lang_print_xnode, print_lang_statistics): Remove.
6256
6257 2001-11-09  Richard Henderson  <rth@redhat.com>
6258
6259         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
6260         on the symbol string.
6261
6262 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6263
6264         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
6265         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
6266         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
6267
6268         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
6269
6270         * tlink.c (recompile_files): Copy strings passed to `putenv'.
6271
6272 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
6273
6274         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
6275         (TYPE_READONLY): Likewise.
6276
6277         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
6278
6279         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
6280         don't pass --gdwarf2 to the assembler if the compiler will also
6281         provide debug info.
6282
6283         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
6284         Don't change INDEX.
6285
6286 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6287
6288         * alias.c (nonoverlapping_memrefs_p): New function.
6289         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
6290
6291         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
6292
6293 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
6294
6295         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
6296         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
6297         generating altivec code.
6298         (FIXED_REGISTERS): VRSAVE is fixed.
6299         (CALL_USED_REGISTERS): VRSAVE is call used.
6300
6301 2001-11-09  Jason Eckhardt  <jle@rice.edu>
6302
6303         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
6304         code the branch target as ".+16/.+12", but rather use labels.
6305
6306 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
6307
6308         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
6309         to work around limitations of certain versions of GAS.
6310
6311         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
6312         (muldi3): Update due to SUBREG_BYTE changes.
6313         (casesi): Similarly.
6314
6315 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
6316
6317         * doc/invoke.texi: Remove comment referring to -xf77-version.
6318
6319 2001-11-09  Kazu Hirata  <kazu@hxi.com>
6320
6321         * config/convex/convex.c: Fix comment formatting.
6322         * config/convex/convex.h: Likewise.
6323
6324 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
6325
6326         * Makefile.in (.po.pox): Look both in srcdir and builddir
6327         for $(PACKAGE).pot.
6328         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
6329         to the source directory.
6330
6331 2001-11-09 Ben Elliston  <bje@redhat.com>
6332            Michael Meissner  <meissner@redhat.com>
6333            Andrew MacLeod  <amacleod@redhat.com>
6334            Richard Henderson  <rth@redhat.com>
6335            Nick Clifton  <nickc@redhat.com>
6336            Catherine Moore  <clm@redhat.com>
6337
6338         * m32r.c: Add support for m32rx processor.
6339         * m32r.h: Ditto.
6340         * m32r.md: Ditto.
6341         * t-m32r: Ditto.
6342         * m32r-protos.h: Add prototypes for m32rx functions.
6343         * doc/invoke.texi: Document -m32rx option.
6344
6345 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
6346
6347         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
6348         or after reload.
6349
6350 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6351
6352         * doc/install.texi2html: Use $MAKEINFO --no-split.
6353
6354 2001-11-09  Andreas Schwab  <schwab@suse.de>
6355
6356         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
6357         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
6358         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
6359         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
6360         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
6361
6362 2001-11-09  H.J. Lu <hjl@gnu.org>
6363
6364         * config/mips/mips.c (mips_output_function_prologues): Cast
6365         `tsize' to long for output.
6366
6367 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6368
6369         * c-lang.c (LANG_HOOKS_NAME): New.
6370         (lang_hooks): Constify.
6371         (c_init_options): Update.
6372         (lang_identify): Remove.
6373         * c-parse.in (language_string): Remove.
6374         * dbxout.c: Include langhooks.h.
6375         (dbxout_symbol_location): Update.
6376         * dwarf2out.c: Include langhooks.h.
6377         (gen_compile_unit_die): Update.
6378         * dwarfout.c: Include langhooks.h.
6379         (prototyped_attribute, output_compile_unit_die): Update.
6380         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
6381         (LANG_HOOKS_INITIALIZER): Update.
6382         * langhooks.h (struct lang_hooks): New members.  Constify.
6383         * stringpool.c: Don't include toplev.h.
6384         (set_identifier_size): Remove.
6385         * toplev.c (toplev_main): Initialize identifier size.
6386         (print_version): Update.
6387         * tree.h (language_string, init_lex, lang_identify,
6388         set_identifier_size): Remove.
6389         * Makefile.in: Update dependencies.
6390         * config/darwin.c: Include langhooks.h.
6391         (func_name_maybe_scoped): Update.
6392         * config/darwin.h (ASM_END_FILE): Update.
6393         * config/nextstep.h (ASM_END_FILE): Update.
6394         * config/nextstep21.h (ASM_END_FILE): Update.
6395         * config/i386/sun386.h (ASM_END_FILE): Update.
6396         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
6397         (rs6000_output_function_epilogue): Update.
6398 objc:
6399         * objc-act.c (LANG_HOOKS_NAME): Override.
6400         (struct lang_hooks): Constify.
6401         (objc_init_options): Update.
6402         (lang_identify): Remove.
6403
6404 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
6405
6406         * fold-const.c (lshift_double): Honor PREC.
6407         (rshift_double): Likewise.
6408
6409 2001-11-08  Kazu Hirata  <kazu@hxi.com>
6410
6411         * config/1750a/1750a.c: Fix comment formatting.
6412         * config/1750a/1750a.h: Likewise.
6413
6414 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
6415
6416         * configure.in (--enable-languages): Be more permissive about
6417         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
6418         * configure: Regenerated.
6419
6420 2001-11-08  Richard Henderson  <rth@redhat.com>
6421
6422         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
6423
6424 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
6425
6426         * config.gcc: Rename stormy16 to xstormy16.
6427         * config/stormy16/stormy-abi: Likewise.
6428         * config/stormy16/stormy16-protos.h: Likewise.
6429         * config/stormy16/stormy16.c: Likewise.
6430         * config/stormy16/stormy16.h: Likewise.
6431         * config/stormy16/stormy16.md: Likewise.
6432
6433 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
6434
6435         * tree.h (TYPE_VOLATILE): Add enable-checking code.
6436         (TYPE_READONLY): Likewise.
6437
6438 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6439
6440         * reload1.c (reload): Don't delete equiv insn if can throw.
6441
6442         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
6443         (clear_storage): Likewise, for OBJECT.
6444
6445 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
6446
6447         * pa.c (emit_move_sequence): Fix SUBREG expression to
6448         use proper byte offset when extending a constant from
6449         SImode to DImode.
6450
6451 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
6452
6453         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
6454         which cannot throw.
6455
6456 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6457
6458         * explow.c (convert_memory_address, case SUBREG): Only return
6459         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
6460
6461 2001-11-08  Richard Henderson  <rth@redhat.com>
6462
6463         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
6464         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
6465         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
6466
6467 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
6468
6469         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
6470
6471 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
6472
6473         * dwarf2out.c (debug_str_hash): New.
6474         (struct indirect_string_node): New.
6475         (struct dw_val_struct): Change type of val_str to it.
6476         (DEBUG_STR_SECTION_FLAGS): Define.
6477         (add_AT_string): Push string into hashtable, increment reference
6478         counter.
6479         (AT_string): Return string from ht_identifier.
6480         (AT_string_form): New.
6481         (free_AT): For dw_val_class_str, just decrement reference counter.
6482         (size_of_string): Remove.
6483         (size_of_die): Use AT_string_form to decide what size the string
6484         occupies in DIE.
6485         (size_of_pubnames): Use strlen instead of size_of_string.
6486         (value_format): Use AT_string_form for dw_val_class_str.
6487         (output_die): Output DW_FORM_strp strings using
6488         dw2_asm_output_offset.
6489         (indirect_string_alloc, output_indirect_string): New.
6490         (dwarf2out_finish): Emit .debug_str strings if there are any.
6491
6492 2001-11-08  Andreas Franck  <afranck@gmx.de>
6493
6494         * configure.in: Add AC_ARG_PROGRAM to support program name
6495         transformation with --program-prefix, --program-suffix and
6496         --program-transform-name.
6497         * configure: Regenerated.
6498         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
6499         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
6500         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
6501         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
6502         program_transform_name the way suggested by autoconf.
6503         (GCC_TARGET_INSTALL_NAME): Define.
6504         (install-driver): Use the transformed target alias name.
6505
6506 2001-11-08  Richard Henderson  <rth@redhat.com>
6507
6508         * config/mips/mips.c (save_restore_insns): Remove GP from the
6509         restore registers mask early instead of special casing it inside
6510         the loop.
6511
6512 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6513
6514         * cp/decl.c (shadow_warning): New function.
6515         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
6516         and an error when a block scope decl shadows a parameter.
6517
6518 2001-11-08  Richard Henderson  <rth@redhat.com>
6519
6520         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
6521         case as well.
6522
6523 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6524
6525         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
6526         to implement floating negation on processors prior to PA 2.0.
6527
6528 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
6529
6530         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
6531         (USE_LINKONCE_INDIRECT): Define.
6532         (dw2_output_indirect_constant_1): Try to output indirect constants
6533         into linkonce sections if possible.
6534         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
6535         (dw2_output_indirect_constants): Likewise.
6536
6537 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
6538
6539         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
6540
6541 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6542
6543         * c-decl.c (pushdecl): Remove file and line.
6544         * c-typeck.c (pop_init_level): Remove size.
6545
6546 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
6547
6548         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
6549         for rs6000.
6550
6551         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
6552         (TARGET_ALTIVEC): New.
6553         (TARGET_SWITCHES): Add altivec.
6554         (FIRST_PSEUDO_REGISTER): Change to 109.
6555         (CALL_USED_REGISTERS): Same.
6556         (FIRST_ALTIVEC_REGNO): New.
6557         (LAST_ALTIVEC_REGNO): New.
6558         (ALTIVEC_REGNO_P): New.
6559         (UNITS_PER_ALTIVEC_WORD): New.
6560         (ALTIVEC_VECTOR_MODE): New.
6561         (FIXED_REGISTERS): Add altivec registers.
6562         (REG_ALLOC_ORDER): Same.
6563         (HARD_REGNO_NREGS): Adjust for altivec registers.
6564         (HARD_REGNO_MODE_OK): Same.
6565         (MODES_TIEABLE_P): Same.
6566         (REGISTER_MOVE_COST): Same.
6567         (REGNO_REG_CLASS): Same.
6568         (reg_class): Add ALTIVEC_REGS.
6569         (REG_CLASS_NAMES): Same.
6570         (REG_CLASS_CONTENTS): Same.
6571         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
6572         (ALTIVEC_ARG_RETURN): New.
6573         (FUNCTION_VALUE): Handle VECTOR_TYPE.
6574         (LIBCALL_VALUE): Handle altivec vector modes.
6575         (VECTOR_MODE_SUPPORTED_P): New.
6576         (ALTIVEC_ARG_MIN_REG): New.
6577         (ALTIVEC_ARG_MAX_REG): New.
6578         (ALTIVEC_ARG_NUM_REG): New.
6579         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
6580         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
6581         (REGISTER_NAMES): Add altivec regs.
6582         (DEBUG_REGISTER_NAMES): Same.
6583         (ADDITIONAL_REGISTER_NAMES): Same.
6584         (rs6000_builtins): New.
6585         (MD_EXPAND_BUILTIN): New.
6586         (MD_INIT_BUILTINS): New.
6587         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
6588         for AltiVec instructions.
6589         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
6590         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
6591         registers.
6592         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
6593         (TARGET_SWITCHES): Add no-altivec.
6594         (DATA_ALIGNMENT): Align vectors to 128 bits.
6595         (TARGET_OPTIONS): Add abi= option.
6596         Add rs6000_abi_string extern.
6597         (LOCAL_ALIGNMENT): New.
6598         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
6599         (MASK_ALTIVEC_ABI): New.
6600         (TARGET_ALTIVEC_ABI): New.
6601         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
6602         call-saved.
6603         (STACK_BOUNDARY): Adjust for altivec.
6604         (BIGGEST_ALIGNMENT): Same.
6605         (rs6000_args): Add vregno.
6606         (USE_ALTIVEC_FOR_ARG_P): New.
6607         (FIXED_REGISTERS): Add vrsave register.
6608         (CALL_USED_REGISTERS): Same.
6609         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
6610         (VRSAVE_REGNO): New.
6611         (reg_class): Add VRSAVE_REGS.
6612         (REG_CLASS_NAMES): Same.
6613         (REG_CLASS_CONTENTS): Same.
6614         (REGNO_REG_CLASS): Same.
6615
6616         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
6617         (ABI_STACK_BOUNDARY): Same.
6618         (BIGGEST_ALIGNMENT): Same.
6619         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
6620         (ROUND_TYPE_ALIGN): Same.
6621
6622         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6623         to 64.
6624
6625         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6626         to 64.
6627
6628         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6629         to 64.
6630
6631         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
6632         (altivec_expand_builtin): New.
6633         (altivec_init_builtins): New.
6634         (TARGET_EXPAND_BUILTIN): New.
6635         (TARGET_INIT_BUILTINS): New.
6636         (rs6000_init_builtins): New.
6637         (struct builtin_description): New.
6638         (bdesc_2arg): New.
6639         (rs6000_reg_names): Add altivec registers.
6640         (alt_reg_names): Same.
6641         (secondary_reload_class): Altivec regs can hold altivec regs and
6642         memory.
6643         (rs6000_emit_move): Force constants into memory for AltiVec moves.
6644         (print_operand): Add 'y' case for printing altivec memory
6645         operands.
6646         (rs6000_legitimize_address): Legitimize vector addresses into
6647         [REG+REG] or [REG].
6648         (altivec_expand_binop_builtin): New.
6649         New string rs6000_current_abi.
6650         (rs6000_override_options): Call rs6000_parse_abi_options.
6651         (rs6000_parse_abi_options): New.
6652         (function_arg_boundary): Vector arguments must be 16
6653         byte aligned.
6654         (function_arg_advance): Handle vector arguments.
6655         (function_arg_partial_nregs): Same.
6656         (init_cumulative_args): Same.
6657         (function_arg): Same.
6658
6659         * config/rs6000/rs6000.md (altivec_lvx): New.
6660         (type): Add altivec attribute.
6661         (movv4si): New.
6662         (*movv4si_internal): New.
6663         (movv16qi): New.
6664         (*movv16qi_internal): New.
6665         (movv8hi): New.
6666         (*movv8hi_internal1): New.
6667         (movv4sf): New.
6668         (*movv4sf_internal1): New.
6669         (altivec_stvx): New.
6670         (vaddubm): New.
6671         (vadduhm): New.
6672         (vadduwm): New.
6673         (vaddfp): New.
6674         (vaddcuw): New.
6675         (vaddubs): New.
6676         (vaddsbs): New.
6677         (vadduhs): New.
6678         (vaddshs): New.
6679         (vadduws): New.
6680         (vaddsws): New.
6681         (vand): New.
6682         (vandc): New.
6683         (vavgub): New.
6684         (vavgsb): New.
6685         (vavguh): New.
6686         (vavgsh): New.
6687         (vavguw): New.
6688         (vavgsw): New.
6689         (vcmpbfp): New.
6690         (vcmpequb): New.
6691         (vcmpequh): New.
6692         (vcmpequw): New.
6693         (vcmpeqfp): New.
6694         (vcmpgefp): New.
6695         (vcmpgtub): New.
6696         (vcmpgtsb): New.
6697         (vcmpgtuh): New.
6698         (vcmpgtsh): New.
6699         (vcmpgtuw): New.
6700         (vcmpgtsw): New.
6701         (vcmpgtfp): New.
6702         (vcmpgefp): New.
6703         (vcmpgtub): New.
6704         (vcmpgtsb): New.
6705         (vcmpgtuh): New.
6706         (vcmpgtsh): New.
6707         (vcmpgtuw): New.
6708         (vcmpgtsw): New.
6709         (vcmpgtfp): New.
6710         (vmaxub): New.
6711         (vmaxsb): New.
6712         (vmaxuh): New.
6713         (vmaxsh): New.
6714         (vmaxuw): New.
6715         (vmaxsw): New.
6716         (vmaxfp): New.
6717         (vmrghb): New.
6718         (vmrghh): New.
6719         (vmrghw): New.
6720         (vmrglb): New.
6721         (vmrglh): New.
6722         (vmrglw): New.
6723         (vminub): New.
6724         (vminsb): New.
6725         (vminuh): New.
6726         (vminsh): New.
6727         (vminuw): New.
6728         (vminsw): New.
6729         (vminfp): New.
6730         (vmuleub): New.
6731         (vmulesb): New.
6732         (vmuleuh): New.
6733         (vmulesh): New.
6734         (vmuloub): New.
6735         (vmulosb): New.
6736         (vmulouh): New.
6737         (vmulosh): New.
6738         (vnor): New.
6739         (vor): New.
6740         (vpkuhum): New.
6741         (vpkuwum): New.
6742         (vpkpx): New.
6743         (vpkuhss): New.
6744         (vpkshss): New.
6745         (vpkuwss): New.
6746         (vpkswss): New.
6747         (vpkuhus): New.
6748         (vpkshus): New.
6749         (vpkuwus): New.
6750         (vpkswus): New.
6751         (vrlb): New.
6752         (vrlh): New.
6753         (vrlw): New.
6754         (vslb): New.
6755         (vslh): New.
6756         (vslw): New.
6757         (vsl): New.
6758         (vslo): New.
6759         (vsrb): New.
6760         (vrsh): New.
6761         (vrsw): New.
6762         (vsrab): New.
6763         (vsrah): New.
6764         (vsraw): New.
6765         (vsr): New.
6766         (vsro): New.
6767         (vsububm): New.
6768         (vsubuhm): New.
6769         (vsubuwm): New.
6770         (vsubfp): New.
6771         (vsubcuw): New.
6772         (vsububs): New.
6773         (vsubsbs): New.
6774         (vsubuhs): New.
6775         (vsubshs): New.
6776         (vsubuws): New.
6777         (vsubsws): New.
6778         (vsum4ubs): New.
6779         (vsum4sbs): New.
6780         (vsum4shs): New.
6781         (vsum2sws): New.
6782         (vsumsws): New.
6783         (vxor): New.
6784
6785 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
6786
6787         * Makefile.in (df.o): Add fibheap.h to dependencies.
6788
6789         * df.h: Add prototypes for transfer functions, iterative_dataflow
6790         functions.
6791         (enum df_flow_dir): New enum.
6792         (enum df_confluence_op): New enum.
6793         (struct df): Add inverse_rts_map.
6794
6795         * df.c: Add sbitmap.h to the list of includes.
6796         (df_rd_global_compute): Removed.
6797         (df_ru_global_compute): Removed.
6798         (df_lr_global_compute): Removed.
6799         (df_rd_transfer_function): New function.
6800         (df_ru_transfer_function): New function.
6801         (df_lr_transfer_function): New function.
6802         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
6803         Use iterative_dataflow_bitmap instead of df_*_global_compute.
6804         (iterative_dataflow_sbitmap): New function.
6805         (iterative_dataflow_bitmap): New function.
6806
6807 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6808
6809         * doc/gcc.texi: Move terminology and spelling conventions to
6810         htdocs/codingconventions.html.
6811
6812 2001-11-07  Graham Stott  <grahams@redhat.com>
6813
6814         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
6815
6816 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
6817
6818         * expmed.c (expand_mult): Force operand to register before computing
6819         cost.
6820         * i386.c (x86_decompose_lea): New global vairable.
6821         * i386.h (x86_decompose_lea): Declare.
6822         (TARGET_DECOMPOSE_LEA): New macro.
6823         (RTX_COST): Handle leas properly.
6824
6825 2001-11-06  Richard Henderson  <rth@redhat.com>
6826
6827         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
6828         defined for a CONSTRUCTOR; don't check it.
6829
6830 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
6831
6832         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
6833         test for absolute pathnames.
6834
6835 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
6836
6837         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
6838         instructions up to the target pc inclusive.
6839
6840 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
6841
6842         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
6843
6844 2001-11-06  Eric Christopher  <echristo@redhat.com>
6845
6846         * config/mips/mips.md(movdf_internal2): Add constraints for float
6847         to general register move.
6848         * config/mips/elf64.h: Add default ABI.
6849
6850 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6851
6852         * alias.c:: Include langhooks.h.
6853         * emit-rtl.c: Similarly.
6854         * toplev.c: Similarly.
6855         * tree-inline.c: Similarly.
6856         * langhooks-def.h: New, the old langhooks.h.  Give the default
6857         hooks a common prefix.
6858         * langhooks.h: Contents extracted from toplev.h.
6859         * toplev.h: Move langhook stuff to langhooks.h.
6860         * langhooks.c: Give default hooks a common prefix.
6861
6862         * c-lang.c: Include langhooks-def.h.
6863         * objc/objc-act.c: Similarly.
6864         * Makefile.in: Update.
6865         * objc/Make-lang.in: Update.
6866
6867 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6868
6869         * doc/install.texi: Document that configure options not listed in
6870         this file are unsupported.  Document --with-system-zlib.
6871
6872 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6873
6874         * rtl.h (mem_for_const_double): New declaration.
6875         * varasm.c (mem_for_const_double): New function.
6876         * config/convex/convex.md (movdf): Use it.
6877         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
6878         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
6879         * config/m68k/m68kv4.h: Likewise.
6880
6881         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
6882         of new GP reg classes.
6883
6884         * expr.c (store_field): When making temp object for unaligned
6885         component, set it to alias set 0.
6886
6887 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6888
6889         * c-common.c (c_expand_expr_stmt): Apply default conversions to
6890         non-lvalue arrays if C99.
6891         * c-typeck.c (default_conversion): Split out code handling
6892         array-to-pointer and function-to-pointer conversions into a
6893         separate default_function_array_conversion function.
6894         (default_function_array_conversion): New function.  Keep track of
6895         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
6896         arrays unchanged outside C99 mode instead of giving an error for
6897         them.
6898         (build_component_ref): Use pedantic_non_lvalue when handling
6899         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
6900         (convert_arguments): Use default_function_array_conversion.
6901         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
6902         non-lvalues are OK.
6903         (unary_complex_lvalue): Likewise.
6904         (internal_build_compound_expr): Use
6905         default_function_array_conversion.  Apply default conversions to
6906         function in compound expression.
6907         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
6908         Use default_function_array_conversion.
6909         * doc/extend.texi: Update documentation of subscripting non-lvalue
6910         arrays.
6911         Fixes PR c/461.
6912
6913 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
6914
6915         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
6916         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
6917         corresponding to the complete set of .po and .gmo files in
6918         the source directory's po subdir, modified by LINGUAS.  Don't
6919         look at ALL_LINGUAS.
6920         * configure.in: Don't set ALL_LINGUAS.
6921         * configure: Regenerate.
6922
6923         * Makefile.in (.po.gmo): Don't move into source directory.
6924         (.po.pox): Clarify comments.
6925         (install-po): Look for .gmo files in both srcdir and objdir;
6926         don't fail if a file is totally missing.
6927         (distclean): rmdir ada subdirectory too.
6928
6929 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6930
6931         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6932         CONSTRUCTORs _correctly_.
6933
6934 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6935
6936         * c-decl.c (delete_block): Remove.
6937         * c-tree.h (delete_block): Remove.
6938
6939 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6940
6941         * cppexp.c (lex, parse_defined): Update warning about defined.
6942
6943 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6944
6945         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6946         CONSTRUCTORs too.
6947
6948 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
6949
6950         * config/arm/arm.c (arm_return_in_memory): Cope with
6951         int_size_in_bytes returning -1.
6952
6953         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
6954         DECL being NULL.
6955
6956 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6957
6958         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
6959         remove unneeded dependencies;
6960         (cfglayout.o): New.
6961         * cfglayout.c, cfglayout.h: New files; break out from ...
6962         * bb-reorder.c: ... here; Remove unneeded includes;
6963
6964 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
6965
6966         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
6967
6968 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
6969
6970         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
6971         mode as well.  Do not explicitly create intermediate regs.
6972
6973 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6974
6975         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
6976         (common_section): Delete unused variable.
6977         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
6978         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6979         * arm-protos.h (arm_poke_function_name, aof_add_import,
6980         aof_delete_import): Const-ify.
6981         * arm.c (legitimize_pic_address): Wrap variables in the macro
6982         controlling their usage.
6983         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
6984         (arm_poke_function_name, pic_chain, import, aof_add_import,
6985         aof_delete_import): Const-ify.
6986         * i386.c (ix86_osf_output_function_prologue): Const-ify.
6987         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6988         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
6989         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
6990         * i860/sysv3.h: Add missing comment closure.
6991         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
6992         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
6993         to symbolic_operand.
6994
6995         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
6996         (i960-*-*): Set tmake_file.
6997         (sparc86x-*-elf*): Fix typo in header name.
6998
6999         * sched-rgn.c (schedule_insns): Delete unused variable.
7000
7001 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
7002
7003         PR c/2820
7004         * c-typeck.c (lookup_field): Rework to return a chain down to
7005         the looked-up field.
7006         (build_component_ref): Use the new lookup_field to handle
7007         nested anonymous entities correctly.
7008
7009 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7010
7011         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
7012         Change parameters to gen_rtx_CONST_DOUBLE.
7013         (GEN_INT64, sparc_emit_set_const64): Likewise.
7014         * config/sparc/sparc.md (movdf split): Likewise.
7015
7016 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
7017
7018         * unroll.c (calculate_giv_inc): Use find_last_value rather
7019         than just hoping the last instruction is the right SET.
7020         [Fixes 990604-1.c on stormy16.]
7021
7022         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
7023         library at all if -T is used.
7024
7025         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
7026         some uses of uninitialized variables in error cases.
7027
7028         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
7029         look at 'temp' if we won't be using it.
7030
7031         * config/stormy16/stormy16.h (CONST_COSTS): Define.
7032         (RTX_COSTS): Define.
7033         (ADDRESS_COST): Define.
7034         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
7035
7036         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
7037
7038         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
7039         stormy16_asm_output_mi_thunk.
7040         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
7041         function.
7042         * config/stormy16/stormy16-protos.h
7043         (stormy16_asm_output_mi_thunk): New prototype.
7044
7045 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
7046
7047         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
7048         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
7049         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
7050         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
7051         sched-int.h, toplev.c, config/alpha/alpha.c,
7052         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
7053         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
7054         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
7055         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
7056         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
7057         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
7058         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
7059
7060 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7061
7062         * Makefile.in (dbxout.o): Depend on function.h.
7063         * collect2.c (is_in_list): Hide unused function.
7064         * dbxout.c: Include function.h.
7065         (source_label_number, dbxout_source_line, dbxout_source_file,
7066         dbxout_function_end, dbxout_begin_function): Wrap/move inside
7067         macros controlling usage.
7068         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
7069         * output.h (exports_section): Prototype.
7070
7071         * convex.c (convex_output_function_prologue): Fix format specifier
7072         warning.
7073         (asm_declare_function_name): Fix signed/unsigned warning.
7074         (print_operand): Fix format specifier warning.
7075         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
7076         * dsp16xx-protos.h (uns_comparison_operator,
7077         num_1600_core_shifts): Prototype.
7078         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
7079         (frame_size, frame_pointer_offset): Delete.
7080         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
7081         Make static.  Fix format specifier warnings.
7082         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
7083         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
7084         * dsp16xx.md: Add default case in switches.
7085         * fr30.h (IN_RANGE): Delete.
7086         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
7087         * mcore-protos.h (mcore_output_cmov): Const-ify.
7088         * mcore.c (mcore_output_cmov): Likewise.
7089         * mcore.h (switch_to_section): Make static and prototype.
7090         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
7091         unsigned>=0 warnings.
7092         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
7093         * rs6000-protos.h (read_only_data_section,
7094         read_only_private_data_section): Prototype.
7095         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
7096         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
7097         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
7098
7099 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7100
7101         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
7102         ATTRIBUTE_UNUSED.
7103         * final.c (final_scan_insn): Add brackets around body of if-stmt.
7104         * gcc.c (convert_filename): Add static prototype.  Const-ify.
7105         Wrap variable in macros controlling its use.
7106         * output.h (sdata_section): Add prototype.
7107
7108         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
7109         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
7110         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
7111         (ASM_FILE_START): Const-ify.
7112         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
7113         specifier warning.
7114         * c4x.md: Don't use the 'U' integer suffix.
7115         * clipper.md (clipper_movstr): Delete declaration.
7116         * d30v-protos.h (d30v_move_2words): Const-ify.
7117         (debug_stack_info): Add prototype.
7118         * d30v.c: Include "integrate.h".
7119         (d30v_function_arg_boundary, d30v_function_arg,
7120         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
7121         signed/unsigned warnings.
7122         (d30v_print_operand_memory_reference, d30v_move_2words):
7123         Const-ify.
7124         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
7125         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
7126         * fr30.md: Const-ify.
7127         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
7128         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
7129         (mvs_get_label_page): Hide unused static function.
7130         * i860.c (current_function_original_name): Const-ify.
7131         * i860/sysv3.h (current_function_original_name): Likewise.
7132         * i860/sysv4.h (current_function_original_name): Likewise.
7133         * i960.md: Add default case in switches.  Remove unused variable.
7134         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
7135         * m32r.md: Const-ify.
7136         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
7137         * m68hc11.c: Include "reload.h".
7138         (static_chain_reg, print_options, m68hc11_asm_file_start):
7139         Const-ify.
7140         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
7141         around & in comparison.
7142         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
7143         * mn10200.c (shift_mode): Remove trailing comma.
7144         * mn10300-protos.h (output_tst): Const-ify.
7145         * mn10300.c (output_tst): Likewise.
7146         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
7147         warnings.
7148         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
7149         * pa.c (output_ascii): Likewise.
7150         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
7151         * pdp11.md (expand_unop): Delete declarations.
7152         * pj-protos.h (pj_output_addsi3): Const-ify.
7153         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
7154         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
7155         unique_src_operand): Add prototypes.
7156         (pj_output_store_into_lval): Make definition static.
7157         (pj_function_incoming_arg): Don't use unary plus.
7158         (pj_output_addsi3): Const-ify.
7159         * romp.md (get_symref): Delete declarations.
7160         * v850-c.c (mark_current_function_as_interrupt): Don't return
7161         value from void function.
7162         * v850.c: Include "integrate.h".
7163         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
7164         * vax-protos.h (const_section): Add prototype.
7165
7166 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
7167
7168         * machmode.def: Add documentation for the seventh argument in
7169         vector modes.
7170
7171 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
7172
7173         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
7174         consistently.
7175         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
7176         <-melf>: Don't have markup for ELF acronym.
7177
7178 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
7179
7180         * config.gcc (mmix-*-*): New target.
7181         * doc/invoke.texi: Document MMIX options.
7182         * doc/contrib.texi: Add note about MMIX port to my entry.
7183         * config/mmix/t-mmix: New file.
7184         * config/mmix/mmix.h: New file.
7185         * config/mmix/mmix-protos.h: New file.
7186         * config/mmix/mmix.c: New file.
7187         * config/mmix/mmix.md: New file.
7188         * config/mmix/crti.asm: New file.
7189         * config/mmix/crtn.asm: New file.
7190
7191 2001-11-03  Kazu Hirata  <kazu@hxi.com>
7192
7193         * config/sparc/linux-aout.h: Fix comment formatting.
7194         * config/sparc/linux.h: Likewise.
7195         * config/sparc/linux64.h: Likewise.
7196         * config/sparc/lynx.h: Likewise.
7197         * config/sparc/pbd.h: Likewise.
7198         * config/sparc/sol2-sld-64.h: Likewise.
7199         * config/sparc/sol2.h: Likewise.
7200         * config/sparc/sparc.c: Likewise.
7201         * config/sparc/sparc.h: Likewise.
7202         * config/sparc/sparc.md: Likewise.
7203         * config/sparc/sunos4.h: Likewise.
7204         * config/sparc/vxsim.h: Likewise.
7205         * config/sparc/vxsparc.h: Likewise.
7206         * config/sparc/vxsparc64.h: Likewise.
7207
7208 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7209
7210         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
7211         reference to CONST_DOUBLE_MEM in comment.
7212         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
7213         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
7214         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
7215         * function.c (pop_function_context_from): Don't call
7216         restore_varasm_status.
7217         * function.h (restore_varasm_status): Delete declaration.
7218         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
7219         * rtl.c: Likewise.
7220         * rtl.def (CONST_DOUBLE): Update comment.
7221         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
7222         (CONST_DOUBLE_CHAIN): Likewise.
7223         (CONST_DOUBLE_MEM): Delete.
7224         (gen_rtx_CONST_DOUBLE): Update parameters.
7225         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
7226         Remove reference to CONST_DOUBLE_MEM.
7227         (const_alias_set): New variable.
7228         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
7229         (immed_real_const_1): Adjust tests for 0, 1, and 2.
7230         Don't set CONST_DOUBLE_MEM.
7231         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
7232         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
7233         Put constant in const_alias_set.
7234         (struct pool_constant): ALIGN now unsigned.
7235         OFFSET now HOST_WIDE_INT.
7236         Delete LABEL.
7237         (restore_varasm_status): Deleted.
7238         (mark_pool_constant): Mark desc->rtl.
7239         (force_const_mem): Rework to store rtl in hash table,
7240         not CONST_DOUBLE_MEM.
7241         Put constant in const_alias_set.
7242         (find_pool_constant): Check desc->rtl.
7243         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
7244         (init_varasm_once): Initialize const_alias_set.
7245
7246         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
7247         force_const_mem.
7248
7249         * reload.c (combine_reloads): Don't combine an output reload if there
7250         are other reloads around for part of the output.
7251
7252         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
7253         constant expression.
7254         (set_mem_decl): New function.
7255         * expr.h (set_mem_decl): New declaration.
7256         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
7257         (output_asm_operand_names): Add tab.
7258         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
7259
7260         * builtins.c (get_memory_rtx): Properly set MEM alias set and
7261         attributes.
7262
7263 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
7264
7265         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
7266         Use "invalid" instead of "illegal".  Use @r in comments in
7267         examples.
7268
7269 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7270
7271         * c-decl.c (pushdecl): Move block inside if conditional to remove
7272         possibility of a segfault.  Lookup block-level extern
7273         variables in enclosing scopes correctly.
7274
7275         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
7276
7277 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
7278
7279         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
7280         SUBREG so we avoid SUBREGing memory.
7281
7282         * expmed.c (store_bit_field): Same.
7283
7284 2001-11-02  DJ Delorie  <dj@redhat.com>
7285
7286         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
7287         using FP registers for DImode mem-mem moves is acceptable.
7288
7289 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
7290
7291         * builtins.c (apply_args_size): Handle vector arguments.
7292         (apply_result_size): Same.
7293
7294         * machmode.def: Set WIDER mode field for all vector entries.
7295
7296 2001-11-02  Graham Stott  <grahams@redhat.com>
7297
7298         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
7299
7300 2001-11-01  Eric Christopher  <echristo@redhat.com>
7301
7302         * config.gcc: Revert part of earlier patch.
7303         * config/mips/linux.h: Ditto.
7304         * df.c: Include tm_p.h to avoid warnings.
7305         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
7306         #if/#endif.
7307         * config/mips/mips.c: Define mips_abi regardless.
7308         (mips_output_function_prologues): Add long casts for .frame
7309         output.
7310         (override_options): Allow use of ABI_32.
7311
7312 2001-11-01  Kazu Hirata  <kazu@hxi.com>
7313
7314         * config/m68hc11/m68hc11.c: Fix comment formatting.
7315         * config/m68hc11/m68hc11.h: Likewise.
7316         * config/m68hc11/m68hc11.md: Likewise.
7317
7318 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7319
7320         * c-typeck.c (default_conversion): Retain the original expression
7321         codes.
7322         * gcc.dg/Wparentheses.c: New tests.
7323
7324 2001-11-01  David S. Miller  <davem@redhat.com>
7325
7326         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
7327         64-bit Sparc description more in line with reality.
7328
7329 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
7330
7331         * Makefile.in (GCOV_OBJS): Add version.o.
7332         * gcov.c: Include "version.h" and <getopt.h>.
7333         (gcov_version_string): Remove.
7334         (print_usage): Take a parameter to determine whether this is a
7335         call from --help or an error message.  Give fuller output that
7336         follows the GNU Coding Standards for --help.
7337         (print_version): New function.
7338         (options): New.
7339         (process_args): Use getopt_long.  Support long options.  Follow
7340         GNU Coding Standards for --help and --version.
7341         * doc/gcov.texi: Document long options.
7342         Addresses part of PR other/704.
7343
7344 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7345
7346         * pa.c (output_move_double): Fix typo in double load.
7347
7348 2001-11-01  Kazu Hirata  <kazu@hxi.com>
7349
7350         * config/h8300/h8300.c (h8300_encode_label): Compute a string
7351         before passing it to ggc_alloc_string.
7352
7353 2001-11-01  Kazu Hirata  <kazu@hxi.com>
7354
7355         * config/m68k/3b1.h: Fix comment formatting.
7356         * config/m68k/3b1g.h: Likewise.
7357         * config/m68k/a-ux.h: Likewise.
7358         * config/m68k/amix.h: Likewise.
7359         * config/m68k/apollo68.h: Likewise.
7360         * config/m68k/atari.h: Likewise.
7361         * config/m68k/aux-exit.c: Likewise.
7362         * config/m68k/ccur-GAS.h: Likewise.
7363         * config/m68k/crds.h: Likewise.
7364         * config/m68k/dpx2.h: Likewise.
7365         * config/m68k/dpx2g.h: Likewise.
7366         * config/m68k/hp310.h: Likewise.
7367         * config/m68k/hp320.h: Likewise.
7368         * config/m68k/isi.h: Likewise.
7369         * config/m68k/linux.h: Likewise.
7370         * config/m68k/lynx.h: Likewise.
7371         * config/m68k/m68k-psos.h: Likewise.
7372         * config/m68k/m68k.c: Likewise.
7373         * config/m68k/m68k.h: Likewise.
7374         * config/m68k/m68k.md: Likewise.
7375         * config/m68k/m68kelf.h: Likewise.
7376         * config/m68k/m68kv4.h: Likewise.
7377         * config/m68k/mot3300.h: Likewise.
7378         * config/m68k/news.h: Likewise.
7379         * config/m68k/next.h: Likewise.
7380         * config/m68k/pbb.h: Likewise.
7381         * config/m68k/plexus.h: Likewise.
7382         * config/m68k/sgs.h: Likewise.
7383         * config/m68k/sun3.h: Likewise.
7384         * config/m68k/tower.h: Likewise.
7385         * config/m68k/vxm68k.h: Likewise.
7386
7387 2001-10-31  DJ Delorie  <dj@redhat.com>
7388
7389         * config/mips/mips.h (mips_cache_flush_func): Prototype.
7390         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
7391         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
7392         * config/mips/mips.c (mips_cache_flush_func): New.
7393         * doc/invoke.texi: Document the new options.
7394
7395 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
7396
7397         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
7398         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
7399
7400         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
7401
7402         * config/cris/cris.c: Include output.h after tree.h but before
7403         target.h.
7404
7405 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
7406
7407         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
7408         (INTL_SUBDIRS): Just intl.
7409         (.SUFFIXES): Add .gmo .po .pox.
7410         (native): Also depend on build-@POSUB@.
7411         (intl.all, intl.install): Depend on config.h and things it includes.
7412         (po-generated): New target; depend on c-parse.c and tradcif.c.
7413         (install-normal): Also depend on install-@POSUB@.
7414         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
7415         (build-, install-, build-po, update-po, install-po,
7416         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
7417
7418         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
7419         * configure.in: Don't munge XGETTEXT.  Don't generate
7420         po/Makefile.in.
7421         * configure: Regenerate.
7422
7423         * exgettext: Delete.
7424         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
7425         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
7426
7427 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7428
7429         * config/h8300/h8300.md (two anonymous patterns): New.
7430
7431 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
7432
7433         * tree.h (tree_index): Add support for V16QI and V8HI.
7434         (V8HI_type_node): New.
7435         (V16QI_type_node): New.
7436
7437         * tree.c (build_common_tree_nodes_2): Same.
7438
7439         * c-common.c (type_for_mode): Same.
7440
7441 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7442
7443         * config/i386/att.h: Fix comment formatting.
7444         * config/i386/beos-elf.h: Likewise.
7445         * config/i386/bsd.h: Likewise.
7446         * config/i386/bsd386.h: Likewise.
7447         * config/i386/crtdll.h: Likewise.
7448         * config/i386/cygwin.asm: Likewise.
7449         * config/i386/cygwin.h: Likewise.
7450         * config/i386/djgpp.h: Likewise.
7451         * config/i386/freebsd-aout.h: Likewise.
7452         * config/i386/freebsd.h: Likewise.
7453         * config/i386/gas.h: Likewise.
7454         * config/i386/i386-interix.h: Likewise.
7455         * config/i386/i386-protos.h: Likewise.
7456         * config/i386/i386.c: Likewise.
7457         * config/i386/i386.h: Likewise.
7458         * config/i386/i386.md: Likewise.
7459         * config/i386/i386elf.h: Likewise.
7460         * config/i386/interix.c: Likewise.
7461         * config/i386/isc.h: Likewise.
7462         * config/i386/isccoff.h: Likewise.
7463         * config/i386/iscdbx.h: Likewise.
7464         * config/i386/linux.h: Likewise.
7465         * config/i386/lynx.h: Likewise.
7466         * config/i386/mingw32.h: Likewise.
7467         * config/i386/netbsd-elf.h: Likewise.
7468         * config/i386/next.h: Likewise.
7469         * config/i386/osf1elf.h: Likewise.
7470         * config/i386/osfrose.h: Likewise.
7471         * config/i386/sco5.h: Likewise.
7472         * config/i386/seq-gas.h: Likewise.
7473         * config/i386/seq-sysv3.h: Likewise.
7474         * config/i386/sequent.h: Likewise.
7475         * config/i386/sol2.h: Likewise.
7476         * config/i386/sun386.h: Likewise.
7477         * config/i386/uwin.asm: Likewise.
7478         * config/i386/uwin.h: Likewise.
7479         * config/i386/vxi386.h: Likewise.
7480         * config/i386/win32.h: Likewise.
7481         * config/i386/winnt.c: Likewise.
7482         * config/i386/xm-cygwin.h: Likewise.
7483         * config/i386/xm-mingw32.h: Likewise.
7484
7485 2001-10-31  Kazu Hirata  <kazu@hxi.com>
7486
7487         * builtins.def: Fix comment typos.
7488         * config/alpha.c: Likewise.
7489         * config/arm/arm.c: Likewise.
7490         * config/avr/avr.h: Likewise.
7491         * config/d30v/d30v.c: Likewise.
7492         * config/d30v/d30v.h: Likewise.
7493         * config/d30v/d30v.md: Likewise.
7494         * config/dsp16xx/dsp16xx.c: Likewise.
7495         * config/fr30/fr30.c: Likewise.
7496         * config/fr30/fr30.md: Likewise.
7497         * config/i386/i386.c: Likewise.
7498         * config/i860/i860.c: Likewise.
7499         * config/i960/i960.c: Likewise.
7500         * config/ia64/ia64.c: Likewise.
7501         * config/mips/mips.c: Likewise.
7502         * config/pa/pa.c: Likewise.
7503         * config/rs6000/rs6000.c: Likewise.
7504         * config/s390/s390.c: Likewise.
7505         * config/sparc/sparc.c: Likewise.
7506
7507 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7508
7509         * config/mips/elf.h: Fix comment formatting.
7510         * config/mips/elf64.h: Likewise.
7511         * config/mips/iris5.h: Likewise.
7512         * config/mips/iris5gas.h: Likewise.
7513         * config/mips/iris6.h: Likewise.
7514         * config/mips/isa3264.h: Likewise.
7515         * config/mips/linux.h: Likewise.
7516         * config/mips/mips.c: Likewise.
7517         * config/mips/mips.h: Likewise.
7518         * config/mips/mips.md: Likewise.
7519         * config/mips/mips16.S: Likewise.
7520         * config/mips/netbsd.h: Likewise.
7521         * config/mips/osfrose.h: Likewise.
7522         * config/mips/r3900.h: Likewise.
7523         * config/mips/sni-svr4.h: Likewise.
7524         * config/mips/svr4-t.h: Likewise.
7525         * config/mips/ultrix.h: Likewise.
7526
7527 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
7528
7529         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
7530         when we update head->current.
7531
7532 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
7533
7534         * tree.c (id_string_size): Remove.
7535         (dump_tree_statistics): Update.
7536         * toplev.c (compile_file): If dumping stats, dump tree stats too.
7537
7538 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
7539
7540         * sched-rgn.c (schedule_insns): Fix comment.
7541
7542 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
7543
7544         * configure.in: Correct previous change: don't assume that
7545         gas's version number _isn't_ the last thing on the line, or
7546         isn't the only number on the line, either.
7547         * configure: Regenerate.
7548
7549 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7550
7551         * cfgcleanup.c: Fix a comment typo.
7552
7553 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7554
7555         * alias.c: Fix comment formatting.
7556         * recog.c: Likewise.
7557         * config/cris/cris.c: Likewise.
7558         * config/cris/cris.h: Likewise.
7559         * config/i960/i960.c: Likewise.
7560         * config/i960/i960.h: Likewise.
7561
7562 2001-10-30  Kazu Hirata  <kazu@hxi.com>
7563
7564         * config/arm/arm.c: Fix a comment typo.
7565         * config/arm/arm.h: Likewise.
7566         * config/ia64/ia64.c: Likewise.
7567
7568 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
7569
7570         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
7571         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
7572         * rtl.h (set_unique_reg_note): Change return value.
7573         * gcse.c (try_replace_reg): Use set_unique_reg_note.
7574         * cse.c (cse_insn): Likewise.
7575         * expr.c (emit_move_insn): Likewise.
7576         * explow.c (force_reg): Likewise.
7577         * local-alloc (update_equiv_regs): Likewise.
7578         * loop.c (move_moveables, load_mems): Likewise.
7579         * reload (find_reloads): Likewise.
7580
7581 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
7582
7583         Localization fixes.
7584         * c-decl.c (parmlist_tags_warning, start_struct,
7585         check_for_loop_decls): Separate messages for struct, union and
7586         enum cases to allow for languages in which they have different
7587         genders.
7588         * c-format.c (scanf_flag_specs): Separate short and long name of
7589         the assignment suppression feature.
7590         (check_format_types): Localize "pointer" and "different types"
7591         strings.
7592         * c-lex.c (lex_number): Localize "an unsigned long int" and
7593         related strings.
7594         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
7595         warning message.
7596         * c-typeck.c (build_unary_up): Separate messages for increment and
7597         decrement cases to allow for languages in which they use different
7598         articles.  Localize the strings "increment" and "decrement" in one
7599         case.
7600
7601 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
7602
7603         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
7604         when no changes has been made.
7605
7606         * gcse.c (reg_set_bitmap): Turn into reg_set.
7607         (modify_mem_list_set, canon_modify_mem_list_set)
7608         (clear_modify_mem_tables, free_modify_mem_tables): New.
7609         (gcse_main); Use free_modify_mem_tables.
7610         (free_gcse_mem): Likewise; free the bitmaps.
7611         (alloc_gcse_main): Initialize the bitmaps.
7612         (canon_list_insert): Set canon_modify_mem_list_set.
7613         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
7614         (compute_hash_table): Use clear_modify_mem_tables.
7615         (reset_opr_set_tables): Likewise.
7616         (oprs_not_set_p): reg_set_bitmap is regset.
7617         (mark_set, mark_clobber): Likewise.
7618
7619         * df.h (DF_EQUIV_NOTES): New constant.
7620         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
7621         when asked for.
7622
7623         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
7624         (init_regions, schedule_insns): Conditionalize the checking
7625         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
7626
7627 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
7628
7629         * i386.md (movti_rex64 splitter): Fix condition.
7630
7631 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
7632
7633         * configure.in: Do not assume that gas's version number is the
7634         last thing on the first line of as --version output.
7635         * configure: Regenerate.
7636
7637         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
7638         MT_WARNING, MT_ERROR, MT_FATAL.
7639         (main): Call gcc_init_libintl.
7640         (v_message): Call gettext on msgid and "warning: "
7641         * tradcif.y: Include intl.h.
7642         (yyerror): Make parameter definition consistent with
7643         prototype.  Call gettext on msgid argument.
7644
7645 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7646
7647         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
7648         warnings.
7649
7650         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
7651
7652 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7653
7654         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
7655         before referencing it.
7656
7657 2001-10-26  DJ Delorie  <dj@redhat.com>
7658
7659         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
7660         override -G, and force -G0.
7661
7662 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7663
7664         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
7665         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
7666         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
7667         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
7668
7669         * loop.h (struct induction): Rename ext_dependant to
7670         ext_dependent.
7671         * loop.c: Change all uses.
7672         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
7673         All callers changed.
7674         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
7675
7676 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7677
7678         * c-parse.in (expr_no_commas, primary), c-typeck.c
7679         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
7680
7681 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
7682
7683         Undo assemble_name change in earlier patch.
7684
7685 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
7686
7687         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
7688         determining the type of the receiver, do not check that TREE_CODE
7689         of receiver is CALL_EXPR before calling receiver_is_class_object().
7690         (receiver_is_class_object): For the GNU runtime: recognize
7691         the case that the receiver is self in a class method context.
7692         Check that TREE_CODE of receiver is CALL_EXPR when checking that
7693         the receiver is a call to objc_get_class.
7694
7695 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7696
7697         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
7698
7699 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7700
7701         * Makefile.in (OBJS): Put all files in alphabetical order.
7702
7703         * dwarf2out.c (add_const_value_attribute): Fix error in last
7704         change.
7705
7706 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7707
7708         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
7709         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
7710         fix warning.
7711         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
7712         (life_analysis): call purge_all_dead_edges after deleting noops.
7713         (delete_noop_move): Do not purge CFG.
7714         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
7715
7716 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
7717
7718         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
7719         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
7720         (ASM_GLOBALIZE_LABEL): Use assemble_name.
7721         (ASM_OUTPUT_COMMON): Likewise.
7722         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
7723         (rs6000_output_function_epilogue): Likewise.
7724         (output_mi_thunk): Fix typo.
7725         (rs6000_output_symbol_ref): Use assemble_name.
7726         (output_toc): Likewise.
7727         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
7728         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
7729         assemble_name calls STRIP_NAME_ENCODING.
7730         (ASM_OUTPUT_LABEL): Use assemble_name.
7731         (ASM_GLOBALIZE_LABEL): Likewise.
7732         (ASM_DECLARE_FUNCTION_NAME): Likewise.
7733         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
7734         (ASM_OUTPUT_LOCAL): Likewise.
7735
7736 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7737
7738         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
7739         (expand_builtin_apply, expand_builtin_return): Likewise.
7740         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
7741
7742 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7743
7744         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7745         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
7746         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
7747         configure, configure.in, except.c, except.h, flow.c, function.c,
7748         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
7749         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
7750         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
7751         unroll.c: Fix spelling errors.
7752
7753         * doc/extend.texi, doc/invoke.texi: Fix spelling.
7754
7755         * doc/gcc.texi: Document use of "dependent" and American spelling.
7756
7757 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
7758
7759         * expr.c (emit_group_load): Support CONCATs by storing them to memory
7760         and reloading.
7761
7762 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7763
7764         * expr.c (store_constructor_field): Only call adjust_address on MEM.
7765
7766 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
7767
7768         * genrecog.c (write_switch):  Output if before switch for
7769         DT_elt_zero_wide_safe.
7770
7771 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7772
7773         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
7774         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
7775         (FUNCTION_PROFILER): Const-ify.
7776         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
7777         (eliminate_constant_term, assemble_name, output_addr_const):
7778         Remove declarations.
7779         (ptr_half_pic_address_p, half_pic_hash): Prototype.
7780         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
7781         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
7782         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
7783         (half_pic_declare, half_pic_external): Const-ify.
7784         * toplev.c: Include "halfpic.h".
7785
7786 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7787
7788         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
7789         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
7790         config/i386/i386.c, config/i386/i386-interix.h,
7791         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
7792         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
7793         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
7794         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
7795         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
7796         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
7797         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
7798         spelling errors.
7799
7800         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7801         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
7802         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
7803         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
7804         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
7805         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
7806         system.h, toplev.c: Fix spelling errors.
7807
7808 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7809
7810         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
7811
7812         * dwarf2out.c (reg_number): Abort if pseudo.
7813         (reg_loc_descriptor): Return 0 if pseudo.
7814         (is_based_loc): Return 0 if pseudo.
7815         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
7816         recursive calls.
7817         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
7818         (loc_descriptor): Return 0 if can't find location and handle 0
7819         return from recursive calls.
7820         (loc_descriptor_from_tree): Likewise.
7821         Fix handling of indirect.
7822         Also return 0 for PLACEHOLDER_EXPR.
7823         Clean up COMPONENT_REF cases.
7824         (add_AT_location_descriptor): Simplify, but handle 0 return from
7825         loc_descriptor.
7826         (add_const_value_attribute): Avoid shift count warning.
7827         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
7828         Set comp_unit_die as context if not in function.
7829
7830         * config/mips/mips-protos.h: Break up long lines.
7831         Remove needless #ifdef/#endif blocks.
7832         Don't declare functions declared in file made by genpreds or recog.h.
7833         * config/mips/mips.c (mips_output_function_prologue): TSIZE
7834         is now HOST_WIDE_INT; delete unneeded casts.
7835         * config/mips/mips.h: Don't use #elif.
7836
7837         * expr.c (stor_constructor_field): Always call adjust_address.
7838         Copy TARGET before changing its alias set.
7839         (store_field): Likewise, for TO_RTX.
7840         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
7841         replacement.
7842         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
7843         (find_placeholder): Return 0 if can't find object.
7844         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
7845         returns 0.
7846
7847 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7848
7849         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
7850
7851 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
7852
7853         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
7854         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
7855         (merge_blocks): Properly udpate life after making edge nonfallthru.
7856         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
7857
7858 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7859
7860         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
7861
7862 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7863
7864         * c-typeck.c (convert_arguments): When comparing for enumeral
7865         type equality, use TYPE_MAIN_VARIANT.
7866         * gcc.dg/Wconversion.c: New tests.
7867
7868 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7869
7870         * s390/s390.c: Fix comment typos.
7871         * s390/s390.h: Likewise.
7872         * s390/s390.md: Likewise.
7873
7874 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7875
7876         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
7877         (walk_tree): Use it for tail calls where appropriate.
7878
7879 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7880
7881         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
7882         non-local label_refs.
7883
7884 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7885
7886         * config/h8300/h8300.md (4 anonymous patterns): New.
7887
7888 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7889
7890         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
7891         algorithm through the shift_info structure.
7892         (emit_a_shift): Update the use of get_shift_alg.
7893
7894 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
7895
7896         * sched-rgn.c: Remove bitset typedef.
7897         Change bitset to sbitmap in prototypes / variable types.
7898         Remove bbset_size.
7899         Remove edgeset_bits.
7900         Remove edgeset_size.
7901         s/BITSET_ADD/SET_BIT/g
7902         s/BITSET_INVERT/sbitmap_ones/g
7903         s/BITSET_INTER/sbitmap_a_and_b/g
7904         s/BITSET_UNION/sbitmap_a_or_b/g
7905         s/BITSET_DIFFER/sbitmap_difference/g
7906         s/bitset_member/TEST_BIT/g
7907         (BITSET_*): Removed.
7908         (bitset_member): Removed.
7909         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
7910         EXECUTE_IF_SET_IN_SBITMAP.
7911         (split_edges): Rewrite, use sbitmap functions instead of bitset
7912         operations.
7913         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
7914
7915 2001-10-26  Andreas Schwab  <schwab@suse.de>
7916
7917         * reload1.c (emit_input_reload_insns): Fix parens in last
7918         (undocumented) change that was supposed to change only whitespace.
7919
7920 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7921
7922         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
7923
7924         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
7925         ASM_OPERANDS.
7926
7927 2001-10-26  Andreas Jaeger  <aj@suse.de>
7928
7929         * flow.c (clear_log_links): Remove unused variable.
7930         * cfgcleanup.c (cleanup_cfg): Likewise.
7931
7932 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7933
7934         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
7935         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
7936
7937 2001-10-26  Richard Henderson  <rth@redhat.com>
7938
7939         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
7940         rename PV_REG to R27_REG.
7941         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
7942         (REG_CLASS_FROM_LETTER): Update.
7943         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
7944         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
7945         (udivsi3, modsi3, umodsi3): Likewise.
7946         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
7947
7948 2001-10-26  Richard Henderson  <rth@redhat.com>
7949
7950         * cfg.c (clear_aux_for_blocks): Split out of ...
7951         (free_aux_for_blocks): here.
7952         (clear_aux_for_edges): Split from ...
7953         (free_aux_for_edges): here.
7954         * basic-block.h: Declare them.
7955         * lcm.c (compute_antinout_edge): Use them.
7956         (compute_laterin, compute_available, compute_nearerout): Likewise.
7957         (optimize_mode_switching): Likewise.
7958
7959 2001-10-26  Richard Henderson  <rth@redhat.com>
7960
7961         * Makefile.in (unstage*): Remove as, ld, collect-ld before
7962         moving everything back to the main build directory.
7963
7964 2001-10-26  Christopher Faylor  <cgf@redhat.com>
7965
7966         * config/i386/cygwin.h: Search target specific include directory, if
7967         appropriate.
7968
7969 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7970
7971         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
7972         of macro guards. Fix #endif comment.
7973
7974         * output.h (default_exception_section, default_eh_frame_section):
7975         Move prototypes outside of macro guard.
7976
7977         * crtstuff.c: Fix #endif comment.
7978
7979 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
7980
7981         * doc/md.texi (movMM): Clarify semantics of storing into a
7982         non-paradoxical SUBREG.
7983
7984 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
7985
7986         * langhooks.c (lang_hook_default_clear_binding_stack): New.
7987         (lang_hook_default_get_alias_set): Move next to other alias
7988         hooks.
7989         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
7990         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
7991         (LANG_HOOKS_INITIALIZER): Add it.
7992         * toplev.h (struct lang_hooks): Add clear_binding_stack.
7993         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
7994         instead of a loop calling poplevel.
7995
7996 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
7997
7998         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
7999         occurrences of #elif with #if...#endif.
8000
8001 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8002
8003         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
8004
8005 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8006
8007         * alias.c (can_address_p): No longer static.
8008         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
8009         Return 0 if all parameters are default values.
8010         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
8011         (adjust_address_1): Try harder to compute a size.
8012         * expr.c (expand_assignment, store_constructor): If can't address,
8013         set MEM_KEEP_ALIAS_SET_P.
8014         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
8015         (store_field): Likewise.
8016         (store_constructor): Simplify call to store_constructor_field.
8017         * expr.h (can_address_p): New declaration.
8018         * gensupport.c (gen_rtx_CONST_INT): New function.
8019         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
8020         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
8021         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
8022
8023         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
8024
8025 2001-10-24  Christopher Faylor  <cgf@redhat.com>
8026
8027         * config/i386/cygwin.h: Use proper path for mingw crt files when
8028         -mno-cygwin.
8029
8030 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8031
8032         * dwarf2out.c (file_info_cmp): Always return consistent results.
8033
8034 2001-10-24  Roger Sayle <roger@eyesopen.com>
8035
8036         * stmt.c (expand_end_case): Index jumptables from zero for
8037         suitably small values of minval.
8038
8039 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
8040
8041         * stor-layout.c (place_union_field): If any field was aligned with
8042         attribute aligned, set record type's TYPE_USER_ALIGN.
8043         (place_field): Likewise.
8044         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
8045         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
8046
8047 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
8048
8049         * c-common.h (struct c_common_identifier): Remove rid_code field.
8050         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
8051
8052         * c-typeck.c (constructor_designated): New local flag.
8053         (struct constructor_stack): Add "designated" field to match.
8054         (start_init): Clear it.
8055         (really_start_incremental_init, push_init_level): Push and
8056         clear it.
8057         (pop_init_level): Pop it.
8058         (set_designator): Set it.
8059
8060         (pop_init_level): Suppress "missing initializer" warnings if
8061         constructor_designated is true.
8062         (process_init_element): Suppress warning about union
8063         initialization under traditional C, if constructor_designated
8064         is true.
8065
8066 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8067
8068         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
8069         change.
8070
8071 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
8072
8073         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
8074
8075 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
8076
8077         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
8078         the node was already a set to a constant.
8079
8080 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8081
8082         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
8083         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
8084
8085 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8086
8087         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
8088         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
8089         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
8090         * s390.c (s390_final_chunkify): Don't use string concatenation.
8091         (s390_function_prologue, s390_function_epilogue): Const-ify.
8092         * s390.h (FUNCTION_PROFILER): Remove unused variable.
8093
8094 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
8095
8096         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
8097         prototypes.
8098
8099 2001-10-23  Stan Shebs  <shebs@apple.com>
8100
8101         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
8102         -traditional-cpp in first-stage compilation.
8103
8104 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8105
8106         * gensupport.c (target_flags): Add.
8107
8108 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
8109
8110         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
8111         if needed.
8112         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
8113         * except.c (expand_builtin_frob_return_addr): Likewise.
8114         (expand_builtin_eh_return): Likewise.
8115         * stmt.c (expand_computed_goto): Likewise.
8116         * explow.c (memory_address): Likewise.
8117         (allocate_dynamic_stack_space): Clean up predicate testing.
8118         (probe_stack_range): Convert SIZE to Pmode.
8119         * calls.c (rtx_for_function_call): Only call convert_memory_address
8120         if needed.
8121         Pass function call operand as ptr_mode, not Pmode.
8122         * expr.c (expand_assignment): Clean up calls to convert_memory
8123         address by only doing so when needed and making offsets Pmode.
8124         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
8125         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
8126         is in Pmode, not ptr_mode.
8127
8128 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8129
8130         * darwin-protos.h (constructor_section, destructor_section,
8131         mod_init_section, mod_term_section): Prototype.
8132         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
8133         Const-ify.
8134         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
8135         Likewise.
8136         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
8137         objc_section_init declaration.
8138         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
8139         (objc_section_init, try_section_alias): Make static.
8140         (alias_section): Make static and hide unused function.
8141         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
8142
8143 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8144
8145         * alias.c (can_address_p): Compnonents are not addressable if
8146         the containing type has alias set 0.
8147         (get_alias_set): Rework to use STRIP_NOPS.
8148         Only call front-end routine on object, type, or object with
8149         NOPs stripped, not inner values.
8150         Use language hook to call front-end routine.
8151         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
8152         (expand_builtin_apply): Call set_mem_align on MEMs we make.
8153         Don't pass alignment to emit_block_move.
8154         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
8155         (expand_builtin_memset): Likewise, but for clear_storage.
8156         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
8157         and remove C++ specific parts.
8158         * c-common.h (c_common_get_alias_set): Add declaration.
8159         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
8160         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
8161         (save_fixed_argument_area): Call set_mem_align.
8162         Remove alignment in call to emit_block_move.
8163         (emit_library_call_value_1, store_one_arg): Likewise.
8164         (target_for_arg): Remove; disabled long ago.
8165         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
8166         once and similar cleanups.
8167         (offset_address): Use proper introductory comment.
8168         * expr.c (emit_block_move): Use alignment from that of MEM args, not
8169         from explicit operand; all callers changed.
8170         (clear_storage): Likewise.
8171         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
8172         (store_field): Remove kludge on alias set used for to_rtx.
8173         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
8174         (expand_expr_unaligned): Call set_mem_attributes instead of
8175         set_mem_alias_set.
8176         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
8177         * function.c (assign_stack_temp_for_type): Set MEM alignment.
8178         (expand_function_end): Track MEM attributes of trampolines.
8179         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
8180         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
8181         attributes from original.
8182         * langhooks.c (lang_hook_default_get_alias_set): New function.
8183         (hook_get_alias_set_0): New function.
8184         * langhooks.h (hook_get_alias_set_0): New declaration.
8185         (lang_hook_default_get_alias_set): Likewise.
8186         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
8187         * reload1.c (alter_reg): Use adjust_address_nv.
8188         * rtl.c (get_mode_alignment): Moved to here.
8189         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
8190         change default if unknown from 1 to BITS_PER_UNIT.
8191         * stor-layout.c (get_mode_alignment): Remove from here.
8192         * toplev.h (struct lang_hoks): Add get_alias_set field.
8193         * tree.h (lang_get_alias_set): Delete declaration.
8194         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
8195         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
8196         (ix86_va_arg): Likewise.
8197         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
8198         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
8199         * config/sparc/sparc.c (sparc_va_arg): Likewise.
8200         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
8201         (expand_block_move_mem): Remove dead code.
8202
8203 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8204
8205         * c-common.c (warn_div_by_zero): New.
8206         * c-common.h (warn_div_by_zero): New.
8207         * c-decl.c (c_decode_option): Take it on the command line.
8208         * c-typeck.c (build_binary_op): Warn about division by zero.
8209         * doc/invoke.texi: Document the new command line option, fix
8210         documentation of -Wmultichar.
8211         * testsuite/gcc.dg/divbyzero.c: New tests.
8212         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
8213
8214 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
8215
8216         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
8217
8218         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
8219         to avoid update_life_info call.
8220         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
8221         * cfgcleanup.c (bb_flags): New enum.
8222         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
8223         (notice_new_block, update_forwarder_flag): New functions.
8224         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
8225         (try_forward_edges): Likewise; update flags.
8226         (merge_blocks): Likewise.
8227         (outgoing_edges_match): Likewise.
8228         (try_crossjump_to_edge): Likewise.
8229         (try_optimize_cfg): Likewise; initialize and clear the flags;
8230         recompute life info if needed.
8231         (cleanup_cfg): No need to clear aux pointers.
8232
8233 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
8234
8235         * config/i386/i386.c (override_options): Default to minimum
8236         stack alignment when optimizing for code size.
8237         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
8238         change.
8239
8240         * config/i386/i386.c (override_options): Set upper limit of
8241         -mpreferred-stack-boundary to 12.
8242
8243 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
8244
8245         * recog.c (peephole2_optimize): Add default case to switch.
8246
8247 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
8248
8249         * doc/gcc.texi (Sending Patches): Remove.
8250
8251 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
8252
8253         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
8254         fields when comparing.
8255
8256 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8257
8258         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
8259         * arm.c (HOST_INT, HOST_UINT): Likewise.
8260
8261 2001-10-22  Stan Shebs  <shebs@apple.com>
8262
8263         * config/darwin-protos.h (darwin_exception_section): Declare.
8264         (darwin_eh_frame_section): Declare.
8265
8266 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
8267
8268         * i386.md (movti_rex64): Fix mode.
8269
8270 2001-10-22  Stan Shebs  <shebs@apple.com>
8271
8272         * target.h (struct gcc_target): Add asm_out.exception_section,
8273         asm_out.eh_frame_section.
8274         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
8275         (TARGET_ASM_EH_FRAME_SECTION): New.
8276         (TARGET_INITIALIZER): Update.
8277         * output.h (default_exception_section): Declare.
8278         (default_eh_frame_section): Declare.
8279         * dwarf2out.c: Include target.h.
8280         (output_call_frame_info): Call target hook for eh frames.
8281         (default_eh_frame_section): New function.
8282         * except.c: Include target.h.
8283         (output_function_exception_table): Call target hook for exception
8284         section.
8285         * varasm.c (default_exception_section): Rename from
8286         exception_section, remove EXCEPTION_SECTION macro.
8287
8288         * config/darwin.h (darwin_eh_frame_section): New function.
8289         (EXCEPTION_SECTION): Remove.
8290         (TARGET_ASM_EXCEPTION_SECTION): Define.
8291         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
8292         (nextstep_exception_section): New function.
8293         (nextstep_eh_frame_section): New function.
8294         (TARGET_ASM_EXCEPTION_SECTION): Define.
8295         (TARGET_ASM_EH_FRAME_SECTION): Define.
8296
8297         * config/pa/som.h (EXCEPTION_SECTION): Remove.
8298         (TARGET_ASM_EXCEPTION_SECTION): Define.
8299         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
8300         (EXCEPTION_SECTION): Remove.
8301         (TARGET_ASM_EXCEPTION_SECTION): Define.
8302         * config/stormy16/stormy16.h: Remove comments referencing
8303         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
8304
8305         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
8306         TARGET_ASM_EH_FRAME_SECTION.
8307
8308 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
8309
8310         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
8311         terms.
8312
8313         * c-format.c: Fix spelling typo in comment.
8314
8315         * sched-int.h: Fix typo in GCC preamble.
8316
8317 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8318
8319         PR debug/4252
8320         * doc/invoke.texi: Remove references to -fdump-translation-unit.
8321
8322 2001-10-22  Richard Henderson  <rth@redhat.com>
8323
8324         * config/i386/i386.c (ix86_expand_clear): New.
8325         * config/i386/i386-protos.h: Declare it.
8326         * config/i386/i386.md (setcc peep2s): Use it.
8327         (movsi_xor): Unexport.
8328
8329 2001-10-22  Richard Henderson  <rth@redhat.com>
8330
8331         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
8332         free_EXPR_LIST_list for LOG_LINKS.
8333
8334 2001-10-21  Robert Lipe  <robertlipe@usa.net>
8335
8336         * config/i386/i386.c (sco_asm_named_section): Delete.
8337         (sco_asm_out_constructor): Delete.
8338         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
8339         (ASM_OUTPUT_DOUBLE_INT): Likewise.
8340         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
8341         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
8342         (EXCEPTION_SECTION): Delete EH scn renaming hack.
8343
8344 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8345
8346         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
8347         and/or fold extra calls into fewer ones.
8348         * collect2.c (dump_file): Likewise.
8349         * cppexp.c (parse_number): Likewise.
8350         * cpplex.c (_cpp_lex_direct): Likewise.
8351         * final.c (output_asm_insn, asm_fprintf): Likewise.
8352         * fix-header.c (inf_scan_ident, main): Likewise.
8353         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
8354         Likewise.
8355         * fold-const.c (real_hex_to_f): Likewise.
8356         * gen-protos.c (parse_fn_proto): Likewise.
8357         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
8358         * genrecog.c (change_state, write_action): Likewise.
8359         * gensupport.c (shift_output_template): Likewise.
8360         * local-alloc.c (requires_inout): Likewise.
8361         * mips-tfile.c (IS_ASM_IDENT): Likewise.
8362         * protoize.c (is_id_char, main): Likewise.
8363         * real.c (asctoeg): Likewise.
8364         * recog.c (asm_operand_ok): Likewise.
8365         * reload.c (find_reloads): Likewise.
8366         * scan.c (scan_identget_token): Likewise.
8367         * sched-vis.c (print_value): Likewise.
8368         * stringpool.c (ggc_alloc_string): Likewise.
8369         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
8370         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
8371         * tradcpp.c (rescan): Likewise.
8372         * tree.c (clean_symbol_name): Likewise.
8373         * varasm.c (decode_reg_name): Likewise.
8374
8375         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
8376         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
8377         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
8378         * m88k.c (output_ascii): Likewise.
8379         * m88k.h (OVERRIDE_OPTIONS): Likewise.
8380         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
8381         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
8382         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
8383
8384 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8385
8386         * langhooks.c (lang_hook_default_do_nothing,
8387         lang_hook_default_decode_option): New defaults.
8388         * langhooks.h: Make hooks unconditional and non-NULL.
8389         * toplev.c (compile_file, toplev_main): Update.
8390         * toplev.h: Update comments.
8391         * objc/objc-act.c (lang_hooks): Update to new paradigm.
8392
8393 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8394
8395         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
8396
8397         * system.h (IN_RANGE): New macro.
8398
8399 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
8400
8401         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
8402         INTLDEPS variable, which does not include $LIBICONV.
8403         * Makefile.in: Use INTLDEPS in LIBDEPS.
8404         * configure: Regenerate.
8405
8406 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8407
8408         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
8409         * cpplex.c (lex_percent, lex_dot): Remove.
8410         (get_effective_char, skip_block_comment, skip_line_comment,
8411         parse_identifier_slow, parse_number, parse_string, save_comment,
8412         _cpp_lex_direct): Update to do lookback freely.
8413         (IF_NEXT_IS, BACKUP): New macros.
8414         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
8415         * cppmacro.c (paste_tokens): Update.
8416
8417 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
8418
8419         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
8420
8421 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
8422
8423         * reload1.c (reload): Check CONSTANT_P before calling
8424         LEGITIMATE_PIC_OPERAND_P.
8425         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
8426         workaround of 2001-10-13.
8427
8428 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
8429
8430         * i386.c (split_di): Handle splitting of DFmode.
8431
8432 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8433
8434         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
8435         (adjust_address_1, offset_address): Likewise.
8436
8437         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
8438         (output_asm_insn): Call it for each line output.
8439         Don't record an operand more than once.
8440
8441         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
8442         * main.c: Include config.h and system.h, but not ansidecl.h.
8443         * Makefile.in (main.o): Update accordingly.
8444
8445 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8446
8447         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
8448
8449 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
8450
8451         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
8452         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
8453         Break out from ...
8454         (find_sub_basic_blocks): ... here;
8455         (find_many_sub_basic_blocks): New.
8456         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
8457
8458         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
8459
8460         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
8461
8462         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
8463
8464         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
8465         * flow.c (update_life_info): Measure time.
8466         * c-decl.c: Include timevar.h
8467         (c_expand_body): Measure time.
8468         * toplev.c (rest_of_compilation): Measure time of mode switching
8469         separately.
8470         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
8471
8472         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
8473         (lang_independent_options): Add asynchronous-unwind-tables
8474         (toplev_main): flag_asynchronous_unwind_tables implies
8475         flag_unwind_tables.
8476         * flags.h (flag_asynchronous_unwind_tables): Declare.
8477         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
8478         flag_asynchronous_unwind_tables.
8479         (output_call_frame_info): Likewise.
8480         * invoke.texi (-fasynchronous-unwind-tables): Document.
8481         * i386.c (optimization_options): Enable
8482         flag_asynchronous_unwind_tables.
8483
8484         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
8485         * i386.md (s* expanders): Destination is QImode.
8486
8487         * toplev.c (rest_of_compilation): Do not call clear_log_links.
8488         * rtl.h (clear_log_links): Kill.
8489         * flow.c (clear_log_links): Make static; accept blocks parameter;
8490         do no clear life info.
8491         (update_life_info): Call clear_log_links.
8492
8493         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
8494
8495 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8496
8497         * cpplex.c (handle_newline, skip_escaped_newlines,
8498         get_effective_char, skip_block_comment, skip_line_comment,
8499         parse_identifier_slow, parse_number, parse_string,
8500         _cpp_lex_direct): Update to do more stepping back.
8501         (trigraph_ok): Similarly.  Rename trigraph_p.
8502         (SAVE_STATE, RESTORE_STATE): Remove.
8503         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
8504
8505         * cpplib.c (destringize): Rename destringize_and_run, and
8506         call run_directive directly.
8507         (_cpp_do__Pragma): Simplify.
8508
8509 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8510
8511         * pe.c (arm_pe_unique_section): Const-ify.
8512         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
8513         (switch_to_section): Add static prototype.
8514
8515         * output.h (drectve_section): Prototype.
8516
8517 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8518
8519         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
8520         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
8521         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
8522         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
8523         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
8524         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
8525         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
8526         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
8527         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
8528         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
8529         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
8530         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
8531         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
8532         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
8533         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
8534         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
8535         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
8536         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
8537         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
8538         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
8539         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
8540         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
8541         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
8542         cris-*-none, cris-*-linux*: Update ${tmfile} list.
8543         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
8544         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
8545         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
8546         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
8547         v850-*-*): Delete superflous ${cpu_type} setting.
8548         * config/linux.h: Delete svr4.h include.
8549         (SET_ASM_OP): Delete.
8550         * config/netware.h (INT_ASM_OP): Undef before define.
8551         * config/ptx4.h: Delete elfos.h include.
8552         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
8553         * config/svr4.h: Delete elfos.h include. Update commentary.
8554         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
8555         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
8556         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
8557         config/v850/v850.h: Delete svr4.h include.
8558         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
8559         config/m68k/m68kv4.h, config/m88k/sysv4.h,
8560         config/sparc/sysv4.h: Update includes.
8561         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
8562         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
8563         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
8564         config/m88k/dguxbcs.h: Delete includes.
8565         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
8566         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
8567         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
8568         it.
8569         * config/m88k/dgux.h: Delete include.
8570         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
8571         defining it.
8572         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
8573         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
8574         * config/sh/elf.h: Update include.
8575         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
8576         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
8577
8578 2001-10-19  Catherine Moore  <clm@redhat.com>
8579
8580         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
8581         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
8582         base and count fields.
8583         (stormy16_expand_builtin_va_start):  last_reg_count changed to
8584         size_of_reg_args.  Use count + size in first comparison.
8585
8586 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8587
8588         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
8589         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
8590         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
8591         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
8592         Set alignment from type if INDIRECT_REF.
8593         (adjust_address_1, offset_address): Simplify alignment compuitation.
8594         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
8595         here; done by set_mem_attributes.
8596
8597 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8598
8599         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
8600         * arm-protos.h (rdata_section, zero_init_section, common_section):
8601         Prototype.
8602         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
8603         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
8604         traditional mode stringification.
8605         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
8606         in macros controling its use.
8607         * rtlanal.c: Include tm_p.h.
8608         * varasm.c (asm_output_aligned_bss): Mark parameter with
8609         ATTRIBUTE_UNUSED.
8610         (assemble_constant_align, assemble_start_function, assemble_align,
8611         assemble_variable, assemble_trampoline_template,
8612         output_constant_def_contents): Wrap potentially empty if-stmt body
8613         in brackets.
8614
8615 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8616
8617         * a29k-protos.h (literal_section): Prototype.
8618         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
8619         * a29k.md: Ensure function pointers are prototyped.
8620         * genattrtab.c (write_eligible_delay): Mark parameter with
8621         ATTRIBUTE_UNUSED.
8622
8623 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8624
8625         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
8626         * 1750a.c (print_operand): Fix format specifier warning.
8627         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
8628         * 1750a.md: Likewise.
8629         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
8630         * genemit.c (output_add_clobbers): Mark parameter with
8631         ATTRIBUTE_UNUSED.
8632         * genrecog.c (write_subroutine): Likewise.
8633         * integrate.c (expand_inline_function): Delete unused variable.
8634         * varasm.c (remove_from_pending_weak_list): Wrap with
8635         ASM_WEAKEN_LABEL.
8636
8637 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
8638
8639         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
8640         field is different to previous argument's neg field.
8641
8642         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
8643
8644 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8645
8646         * final.c (get_decl_from_op): New function.
8647         (output_asm_insn): Call it; write "*" when item with decl is address.
8648
8649 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
8650
8651         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
8652         about 64-bit support from the 3.0_branch version.
8653
8654 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
8655
8656         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
8657         USE_INCLUDED_LIBINTL when appropriate.
8658         * configure, config.in: Regenerate.
8659         * Makefile.in (datadir): Set to @datadir@.
8660         (intl.o): Also depend on $(CONFIG_H) and system.h.
8661
8662         * intl.c: Factor out common gettext initialization sequence.
8663         (gcc_init_libintl):  New function.
8664         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
8665         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
8666         off NLS.  Add multiple include guard.  No need to #ifdef-guard
8667         an #undef.  Prototype gcc_init_libintl here.
8668
8669         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
8670         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
8671         Use gcc_init_libintl.
8672
8673 2001-10-19  Catherine Moore  <clm@redhat.com>
8674
8675         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
8676
8677         * config/stormy16/stormy16.c (stormy16_split_move):  Make
8678         sure that REG_INC notes are present for auto_inc operands.
8679
8680 2001-10-19  Andreas Jaeger  <aj@suse.de>
8681
8682         * configure: Regenerated.
8683         * configure.in: Add x86_64 to switch statements.
8684
8685 2001-10-18  Richard Henderson  <rth@redhat.com>
8686
8687         * config/alpha/alpha.md (sibcall_osf_1): Load destination
8688         address into $27 explicitly.
8689         (sibcall_value_osf_1): Likewise.
8690
8691 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8692
8693         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
8694         (offset_address): New function.
8695         (free_emit_status): Free regno_decl.
8696         (init_emit): Pass proper number of elements to xcalloc.
8697         Allocate regno_decl.
8698         (mark_emit_status): Mark regno_decl values.
8699         * expr.c (highest_pow2_factor): New function.
8700         (expand_assigment): Use it and offset_address.
8701         Properly handle ptr_mode vs. Pmode in offset calculation.
8702         (store_constructor, expand_expr_unaligned): Likewise.
8703         (expand_expr, case COMPONENT_EXPR): Likewise.
8704         * expr.h (offset_address): New decl.
8705         * function.h (struct emit_status): Add regno_decl.
8706         (REGNO_DECL): New macro.
8707         * final.c (output_asm_name): Move in file and don't conditionalize
8708         on flag_print_asm_name.
8709         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
8710         Output names of operands, if known.
8711         * function.c (assign_parms): Set REGNO_DECL.
8712         * integrate.c (integrate_decl_tree): Likewise.
8713         * stmt.c (expand_decl): Likewise.
8714         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
8715
8716 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
8717
8718         * attribs.c (handle_noinline_attribute): New function.
8719         (handle_used_attribute): Likewise.
8720         (c_common_attribute_table): Added noinline and used.
8721         * doc/extend.texi (Function Attributes): Document them.
8722         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
8723         Warn when merging inline with attribute noinline.
8724         (start_decl, start_function): Warn if inline and attribute
8725         noinline appear in the same declaration.
8726
8727 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
8728
8729         * config.gcc: Update c4x and i370 for C front end-specific
8730         dependencies.
8731         * config/c4x/c4x-c.c: New.
8732         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
8733         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8734         New declarations.
8735         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
8736         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8737         Make extern.
8738         (c4x_init_pragma): Remove.
8739         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
8740         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
8741         c4x_pr_ignored): Move to c4x-c.c.
8742         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
8743         * config/c4x/t-c4x: Update.
8744         * config/i370/i370-c.c: New.
8745         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
8746         (i370_pr_map): Move to i370-c.c.
8747         * config/i370/t-i370: New.
8748
8749         * doc/tm.texi: Update.
8750
8751 2001-10-17  Stan Shebs  <shebs@apple.com>
8752
8753         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
8754         typo fixes throughout.
8755         (machopic_output_stub): Remove some dead code.
8756
8757 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
8758
8759         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
8760         leak.
8761
8762 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8763
8764         * Makefile.in (print-rtl.o): Depend on TREE_H.
8765         * alias.c (get_alias_set): Make two passes over objects to first
8766         see if inner object is access via restricted pointer.
8767         Defer allocating alias set for restricted pointer until here.
8768         Call find_placeholder with second arg nonzero.
8769         Minor cleanups.
8770         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
8771         set for restricted pointer types.
8772         * emit-rtl.c (set_mem_attributes): Set more attributes.
8773         (set_mem_align, change_address, adjust_address_1): New functions.
8774         (change_address_1): Now static.
8775         (adjust_address, adjust_address_nv): Deleted.
8776         (replace_equiv_address): Call change_address_1.
8777         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
8778         (find_placeholder): Get starting point from PLIST arg.
8779         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
8780         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
8781         (adjust_address, adjust_address_nv): New macros.
8782         * print-rtl.c (tree.h): New include.
8783         (print_rtx, case MEM): Print all memory attributes.
8784
8785 2001-10-17  Richard Henderson  <rth@redhat.com>
8786
8787         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
8788
8789 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8790
8791         * c-tree.texi: Eliminate duplicated word.
8792         * cpp.texi: Likewise.
8793         * install.texi: Likewise.
8794         * invoke.texi: Likewise.
8795         * tm.texi: Likewise.
8796
8797 2001-10-17  Michael Collison  <collison@isisinc.net>
8798
8799         * dsp16xx.c: Fix comment formatting to match GNU standards.
8800         (dsp16xx_output_function_prologue): Change type of 'size'
8801         parameter from 'int' to HOST_WIDE_INT.
8802         (dsp16xx_output_function_epilogue): Change type of 'size'
8803         parameter from 'int' to HOST_WIDE_INT.
8804
8805 2001-10-16  Richard Henderson  <rth@redhat.com>
8806
8807         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
8808         * configure, config.in: Rebuild.
8809
8810         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
8811         (ix86_output_addr_diff_elt): New.
8812         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
8813         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8814         (JUMP_TABLES_IN_TEXT_SECTION): New.
8815         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
8816         * config/i386/i386-protos.h: Update.
8817
8818         * config/i386/386bsd.h, config/i386/beos-elf.h,
8819         config/i386/freebsd-aout.h, config/i386/freebsd.h,
8820         config/i386/i386-interix.h, config/i386/i386elf.h,
8821         config/i386/linux.h, config/i386/netbsd-elf.h,
8822         config/i386/netbsd.h, config/i386/openbsd.h,
8823         config/i386/ptx4-i.h, config/i386/rtemself.h,
8824         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
8825         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
8826
8827 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
8828
8829         * stmt.c (expand_asm_operands): Update commentary.
8830
8831 2001-10-16  Stan Shebs  <shebs@apple.com>
8832
8833         * config/darwin.h (GCC_NAME): Remove, no longer used.
8834         (NO_MATH_LIBRARY): Ditto.
8835         (MATH_LIBRARY): Define to emptiness.
8836         (DWARF2_DEBUGGING_INFO): Define.
8837         (PREFERRED_DEBUGGING_TYPE): Define.
8838         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
8839         (EXCEPTION_SECTION): Define.
8840         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8841         * config/darwin.c (darwin_encode_section_info): Handle case of
8842         DECL_INITIAL being error_mark_node.
8843
8844 2001-10-16  Richard Henderson  <rth@redhat.com>
8845
8846         * alpha.c (current_file_function_operand): Don't fail for profiling.
8847         (direct_call_operand): New.
8848         * alpha-protos.h: Declare it.
8849         * alpha.h (EXTRA_CONSTRAINT): Use it.
8850         (PREDICATE_CODES): Add it.
8851         (ASM_OUTPUT_MI_THUNK): Remove.
8852         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
8853         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
8854
8855 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
8856
8857         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
8858         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8859
8860 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8861
8862         * cfg.c (free_edge): Break out from ....
8863         (remove_edge): ... here.
8864         (clear_edges): Use free_edge.
8865
8866         * att.h (ASM_QUAD): Add comment.
8867         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
8868
8869 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
8870
8871         * i386.c (split_ti): New function.
8872         (ix86_split_to_parts): Support TImodes.
8873         * i386.h (VALID_INT_MODE_P): Add TImode.
8874         * i386.md (movdi splitter): Fix.
8875         (movti): Support 64bit integer registers.
8876         (movti_rex64): New function and splitter.
8877
8878         * i386.c (*_cost): Add movsx/movzx cost.
8879         * i386.h (struct processor_costs): Add movsx/movzx fields.
8880         (RTX_COSTS): Handle zero/sign extend + avoid believing that
8881         64bit operations require split on 64bit machine.
8882         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
8883
8884         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
8885         (ix86_expand_move): Avoid pushes of memory if size does not match;
8886         move long constants to register.
8887         (x86_initialize_trampoline): Fix mode.
8888         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
8889         Use ASM_QUAD on 64bit.
8890         * i386.md (test pattern): Disallow impossible constants.
8891         (tablejump PIC expander): Fix emitting of sum.
8892         (movdicc_rex64): Rename to movdicc.
8893         * linux64.h (LINK_SPEC): Add missing '%'.
8894
8895 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
8896
8897         * tree-inline.c (inlinable_function_p): Leave it up to the
8898         front-end to turn -finline-functions into DECL_INLINE set for all
8899         functions.
8900
8901 2001-10-16  Stan Shebs  <shebs@apple.com>
8902
8903         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
8904
8905 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
8906
8907         * recog.c: Formatting and comment typo fixes.
8908
8909         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
8910         version in single tree build.
8911         * configure: Regenerate.
8912
8913 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
8914
8915         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
8916         MODE arguments to gen_rtx and compare operand with const0_rtx.
8917
8918 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8919
8920         * system.h: Poison old unused target macros.
8921         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
8922         * config/stormy16/stormy16.c: Update references to obsolete macros.
8923         * config/stormy16/stormy16.h: Similarly.
8924         * config/stormy16/stormy16.md: Similarly.
8925         * config/cris/cris.h: Similarly.
8926
8927 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8928
8929         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
8930         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
8931         cpp_register_pragma): Update accordingly.
8932
8933 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8934
8935         * c-pragma.h (cpp_register_pragma_space): Remove.
8936         * cpplib.h (cpp_register_pragma_space): Remove.
8937         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
8938         (cpp_register_pragma_space): Remove.
8939         (cpp_register_pragma): Simplify using lookup_pragma_entry,
8940         add sanity checks.
8941         (do_pragma): Similarly.
8942         (_cpp_init_internal_pragmas): Don't register namespaces.
8943
8944         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
8945         Don't register namespaces.
8946         * cp/lex.c (init_cp_pragma): Similarly.
8947         * doc/tm.texi: Update.
8948
8949 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8950
8951         PR c/4157
8952         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
8953
8954 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
8955
8956         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
8957         add scheduling support.
8958         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
8959         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
8960         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
8961
8962
8963 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
8964
8965         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
8966         missing CONSTANT_P test in core GCC.
8967
8968 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8969
8970         * cppmain.c (struct printer): New member source.
8971         (scan_translation_unit): Fix spacing at start of lines.
8972         (cb_line_change): Update.
8973
8974         * gcc.dg/cpp/spacing2.c: New test.
8975
8976 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
8977
8978         * config/cris/arit.c: Use __builtin_labs, not abs.
8979
8980         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
8981
8982         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
8983         misplaced sprintf and fprintf argument.
8984
8985 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
8986
8987         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
8988         * configure.in, Makefile.in: Take out obsolete check-po logic.
8989         * configure, config.in: Regenerate.
8990
8991 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
8992
8993         * objc/objc-act.c (finish_objc): Correct precondition for emitting
8994         symtab declarations.
8995
8996 2001-10-12  Stan Shebs  <shebs@apple.com>
8997
8998         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
8999         declarations of arguments and local variables.
9000
9001 2001-10-12  Christopher Faylor  <cgf@redhat.com>
9002
9003         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
9004         ENDFILE_SPEC definition.
9005
9006 2001-10-12  Kazu Hirata  <kazu@hxi.com>
9007
9008         * gthr-dce.h: Fix comment formatting.
9009         * gthr-posix.h: Likewise.
9010         * gthr-single.h: Likewise.
9011         * gthr-solaris.h: Likewise.
9012         * gthr-vxworks.h: Likewise.
9013         * gthr-win32.h: Likewise.
9014
9015 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
9016
9017         * final.c (output_asm_insn): Make sure assembly dialects are
9018         terminated, not nested.  Output `|' and `}' characters if they
9019         don't appear inside assembly dialect selection.
9020         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
9021         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
9022         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
9023         strsetsi_rex_1): Add {} braces.
9024
9025 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
9026
9027         * toplev.c (compile_file): Ignore return value from yyparse.
9028         Always pop any nested binding levels after yyparse returns.
9029
9030 2001-10-11  Richard Henderson  <rth@redhat.com>
9031
9032         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
9033
9034 2001-10-11  Richard Henderson  <rth@redhat.com>
9035
9036         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
9037         fall back to add_AT_long_long for large CONST_INT.
9038
9039 2001-10-11  Richard Henderson  <rth@redhat.com>
9040
9041         * config/i386/i386.md (setcc splitters): Add four splitters to
9042         simplify compound compares that simplify_comparison can't handle.
9043
9044 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
9045
9046         * cpplex.c (digraph_spellings, token_spellings): Make static.
9047
9048 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9049
9050         * unroll.c (loop_iterations): Fixup last patch.
9051
9052 2001-10-11  Richard Henderson  <rth@redhat.com>
9053
9054         * rtl.h (REG_VTABLE_REF): New.
9055         * rtl.c (reg_note_name): Add it.
9056         * combine.c (distribute_notes): Handle it.
9057         * final.c (final_scan_insn): Handle it.
9058         * tree.def (VTABLE_REF): New.
9059         * expr.c (expand_expr): Handle it.
9060         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
9061         * output.h: Declare them.
9062
9063 2001-10-11  Richard Henderson  <rth@redhat.com>
9064
9065         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
9066         for a DECL_INITIAL.
9067
9068 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
9069
9070         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
9071         available in 64-bit mode.
9072
9073 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
9074
9075         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
9076         cris-*-linux* cases.
9077         * config/cris/cris-protos.h: New file.
9078         * config/cris/cris.c: New file.
9079         * config/cris/cris.h: New file.
9080         * config/cris/cris.md: New file.
9081         * config/cris/linux.h: New file.
9082         * config/cris/aout.h: New file.
9083         * config/cris/arit.c: New file.
9084         * config/cris/cris_abi_symbol.c: New file.
9085         * config/cris/mulsi3.asm: New file.
9086         * config/cris/t-aout: New file.
9087         * config/cris/t-cris: New file.
9088         * config/cris/t-elfmulti: New file.
9089         * config/cris/t-linux: New file.
9090         * doc/invoke.texi: Add CRIS options.
9091         * doc/install.texi (Specific): Add blurb for CRIS.
9092
9093 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
9094
9095         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
9096         before using it.
9097         * config/float/i32.h: Likewise.
9098         * config/float-i386.h: Likewise.
9099         * config/float-i64.h: Likewise.
9100         * config/float-m68k.h: Likewise.
9101         * config/float-sh.h: Likewise.
9102         * config/float-sparc.h: Likewise.
9103
9104 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
9105
9106         * doc/contrib.texi: Add note about CRIS port to my entry.
9107
9108 2001-10-11  Kazu Hirata  <kazu@hxi.com>
9109
9110         * basic-block.h: Fix formatting.
9111         * bitmap.h: Likewise.
9112         * cpplib.h: Likewise.
9113         * c-tree.h: Likewise.
9114         * diagnostic.h: Likewise.
9115         * flags.h: Likewise.
9116         * ggc.h: Likewise.
9117         * longlong.h: Likewise.
9118         * real.h: Likewise.
9119         * reload.h: Likewise.
9120         * rtl.h: Likewise.
9121         * tree.h: Likewise.
9122
9123 2001-10-10  Richard Henderson  <rth@redhat.com>
9124
9125         * c-parse.in (asm_operand): Allow named operands.
9126         * genconfig.c (max_recog_operands): Set to 29.
9127         * local-alloc.c (requires_inout): Skip multiple digits.
9128         * recog.c (asm_operand_ok): Likewise.
9129         (preprocess_constraints): Use strtoul for matching constraints.
9130         (constrain_operands): Likewise.
9131         * regmove.c (find_matches): Likewise.
9132         * reload.c (find_reloads): Likewise.
9133         * stmt.c (parse_output_constraint): Don't reject in-out
9134         constraint on operands > 9.  Reject '[' in constraint.
9135         (expand_asm_operands): Handle named operands.  Use strtoul
9136         for matching constraints.
9137         (check_operand_nalternatives): Split out from expand_asm_operands.
9138         (check_unique_operand_names): New.
9139         (resolve_operand_names, resolve_operand_name_1): New.
9140
9141         * doc/extend.texi (Extended Asm): Document named operands.
9142         * doc/md.texi (Simple Constraints): Document matching constraints
9143         on operands > 9.
9144
9145 2001-10-10  Richard Henderson  <rth@redhat.com>
9146
9147         * combine.c (try_combine): Handle a SEQUENCE of one insn.
9148
9149         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
9150         (jcc splitters): Add two splitters to simplify compound compares
9151         that simplify_comparison can't handle.
9152
9153 2001-10-10  Richard Henderson  <rth@redhat.com>
9154
9155         * langhooks.c: Include langhooks.h.
9156         * Makefile.in (langhooks.o): Depend on it.
9157
9158 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
9159
9160         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
9161         should not be considered as a no-op.
9162         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
9163
9164 2001-10-10  Stan Shebs  <shebs@apple.com>
9165
9166         * alias.c: Remove uses of "register" specifier in declarations
9167         of arguments and local variables.
9168         * c-common.c: Ditto.
9169         * c-convert.c: Ditto.
9170         * c-decl.c: Ditto.
9171         * c-format.c: Ditto.
9172         * c-semantics.c: Ditto.
9173         * c-typeck.c: Ditto.
9174         * caller-save.c: Ditto.
9175         * calls.c: Ditto.
9176         * cfg.c: Ditto.
9177         * cfgbuild.c: Ditto.
9178         * cfgrtl.c: Ditto.
9179         * collect2.c: Ditto.
9180         * combine.c: Ditto.
9181         * convert.c: Ditto.
9182         * cppexp.c: Ditto.
9183         * cppfiles.c: Ditto.
9184         * cse.c: Ditto.
9185         * dbxout.c: Ditto.
9186         * defaults.h: Ditto.
9187         * df.c: Ditto.
9188         * dwarf2out.c: Ditto.
9189         * dwarfout.c: Ditto.
9190         * emit-rtl.c: Ditto.
9191         * explow.c: Ditto.
9192         * expmed.c: Ditto.
9193         * expr.c: Ditto.
9194         * final.c: Ditto.
9195         * fix-header.c: Ditto.
9196         * floatlib.c: Ditto.
9197         * flow.c: Ditto.
9198         * fold-const.c: Ditto.
9199         * function.c: Ditto.
9200         * gcc.c: Ditto.
9201         * gcse.c: Ditto.
9202         * gen-protos.c: Ditto.
9203         * genattrtab.c: Ditto.
9204         * gencheck.c: Ditto.
9205         * genconfig.c: Ditto.
9206         * genemit.c: Ditto.
9207         * genextract.c: Ditto.
9208         * genflags.c: Ditto.
9209         * gengenrtl.c: Ditto.
9210         * genoutput.c: Ditto.
9211         * genpeep.c: Ditto.
9212         * genrecog.c: Ditto.
9213         * gensupport.c: Ditto.
9214         * global.c: Ditto.
9215         * gmon.c: Ditto.
9216         * graph.c: Ditto.
9217         * haifa-sched.c: Ditto.
9218         * hard-reg-set.h: Ditto.
9219         * hash.c: Ditto.
9220         * integrate.c: Ditto.
9221         * jump.c: Ditto.
9222         * lists.c: Ditto.
9223         * local-alloc.c: Ditto.
9224         * loop.c: Ditto.
9225         * mips-tdump.c: Ditto.
9226         * mips-tfile.c: Ditto.
9227         * optabs.c: Ditto.
9228         * prefix.c: Ditto.
9229         * print-rtl.c: Ditto.
9230         * read-rtl.c: Ditto.
9231         * real.c: Ditto.
9232         * recog.c: Ditto.
9233         * reg-stack.c: Ditto.
9234         * regclass.c: Ditto.
9235         * regmove.c: Ditto.
9236         * reload.c: Ditto.
9237         * reload1.c: Ditto.
9238         * reorg.c: Ditto.
9239         * resource.c: Ditto.
9240         * rtl.c: Ditto.
9241         * rtlanal.c: Ditto.
9242         * scan.c: Ditto.
9243         * sched-deps.c: Ditto.
9244         * sched-rgn.c: Ditto.
9245         * sdbout.c: Ditto.
9246         * simplify-rtx.c: Ditto.
9247         * stmt.c: Ditto.
9248         * stor-layout.c: Ditto.
9249         * toplev.c: Ditto.
9250         * tradcif.y: Ditto.
9251         * tradcpp.c: Ditto.
9252         * tree.c: Ditto.
9253         * unroll.c: Ditto.
9254         * varasm.c: Ditto.
9255         * xcoffout.c: Ditto.
9256
9257 2001-10-10  Richard Henderson  <rth@redhat.com>
9258
9259         * rtl.h (can_reverse_comparison_p): Remove.
9260
9261 2001-10-10  Christopher Faylor <cgf@redhat.com>
9262
9263         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
9264         used.
9265
9266 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
9267
9268         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
9269         (Thanks to Chris Faylor for suggesting macro name).
9270         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
9271         WIN32 defines.
9272         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
9273         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
9274         (MATH_LIBRARY): Undef before definition.
9275         (OUTPUT_QUOTED_STRING): Likewise.
9276         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
9277
9278 2001-10-10  Richard Henderson  <rth@redhat.com>
9279
9280         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
9281         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
9282         a tristate comparison value.
9283         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
9284
9285 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9286
9287         PR c++/4512
9288         * unroll.c (loop_iterations): Ignore insns generated by loop
9289         unrolling.
9290
9291         * config.gcc (mips*-*-gnu*): Delete support.
9292         * config/mips/gnu.h: Remove.
9293
9294 2001-10-10  Kazu Hirata  <kazu@hxi.com>
9295
9296         * calls.c: Fix formatting.
9297         * c-decl.c: Likewise.
9298         * cfgcleanup.c: Likewise.
9299         * combine.c: Likewise.
9300         * cppfiles.c: Likewise.
9301         * cpplib.c: Likewise.
9302         * cppmacro.c: Likewise.
9303         * crtstuff.c: Likewise.
9304         * cse.c: Likewise.
9305         * dwarf2out.c: Likewise.
9306         * expmed.c: Likewise.
9307         * expr.c: Likewise.
9308         * fold-const.c: Likewise.
9309         * function.c: Likewise.
9310         * gcse.c: Likewise.
9311         * genattrtab.c: Likewise.
9312         * ggc-page.c: Likewise.
9313         * integrate.c: Likewise.
9314         * libgcc2.c: Likewise.
9315         * loop.c: Likewise.
9316         * optabs.c: Likewise.
9317         * profile.c: Likewise.
9318         * protoize.c: Likewise.
9319         * real.c: Likewise.
9320         * recog.c: Likewise.
9321         * reload1.c: Likewise.
9322         * reload.c: Likewise.
9323         * reorg.c: Likewise.
9324         * resource.c: Likewise.
9325         * sched-rgn.c: Likewise.
9326         * sdbout.c: Likewise.
9327         * stmt.c: Likewise.
9328         * toplev.c: Likewise.
9329         * varasm.c: Likewise.
9330
9331 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
9332
9333         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
9334         * Makefile.in (langhooks.o): Add dependencies.
9335
9336 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
9337
9338         * rs6000.c (rs6000_emit_load_toc_table): Don't
9339         strdup the toc label.
9340         (create_TOC_reference): Likewise.
9341
9342 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
9343
9344         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
9345         version default.
9346
9347 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
9348
9349         * config/i386/i386.c (ix86_attribute_table): Correct
9350         min_len, max_len fields for dllimport, dllexport and shared.
9351
9352 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9353
9354         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
9355         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
9356         Consistently use "nonzero" instead of "non-zero".
9357
9358 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9359
9360         * acconfig.h: Fix comment formatting.
9361         * c-dump.h: Likewise.
9362         * c-tree.h: Likewise.
9363         * conditions.h: Likewise.
9364         * expr.h: Likewise.
9365         * function.h: Likewise.
9366         * gthr.h: Likewise.
9367         * hwint.h: Likewise.
9368         * integrate.h: Likewise.
9369         * intl.h: Likewise.
9370         * loop.h: Likewise.
9371         * optabs.h: Likewise.
9372
9373 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9374
9375         * c-common.h: Fix comment formatting.
9376         * c-dump.c: Likewise.
9377         * cfg.c: Likewise.
9378         * diagnostic.h: Likewise.
9379         * except.c: Likewise.
9380         * gcc.h: Likewise.
9381         * gcov-io.h: Likewise.
9382         * genattrtab.c: Likewise.
9383         * output.h: Likewise.
9384         * predict.h: Likewise.
9385         * reload1.c: Likewise.
9386         * reload.h: Likewise.
9387         * resource.h: Likewise.
9388         * scan.h: Likewise.
9389         * system.h: Likewise.
9390         * tree.h: Likewise.
9391         * tree-inline.c: Likewise.
9392         * tsystem.h: Likewise.
9393         * varasm.c: Likewise.
9394         * xcoffout.h: Likewise.
9395
9396 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
9397
9398         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
9399
9400 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
9401
9402         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
9403         config/i386/i386elf.h, config/i386/netbsd-elf.h,
9404         config/i386/netware.h, config/mcore/gfloat.h,
9405         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
9406         config/netware.h, gccbug.in: Update FSF address.
9407
9408 2001-10-09  Kazu Hirata  <kazu@hxi.com>
9409
9410         * c-common.c: Fix comment typos.
9411         * cfgrtl.c: Likewise.
9412         * collect2.c: Likewise.
9413         * cpplex.c: Likewise.
9414         * doloop.c: Likewise.
9415         * dwarf2out.c: Likewise.
9416         * dwarfout.c: Likewise.
9417         * expr.c: Likewise.
9418         * fold-const.c: Likewise.
9419         * gcc.c: Likewise.
9420         * gcov.c: Likewise.
9421         * gcse.c: Likewise.
9422         * global.c: Likewise.
9423         * ifcvt.c: Likewise.
9424         * loop.c: Likewise.
9425         * optabs.c: Likewise.
9426         * protoize.c: Likewise.
9427         * regclass.c: Likewise.
9428         * reorg.c: Likewise.
9429         * rtl.h: Likewise.
9430         * stmt.c: Likewise.
9431         * tree.h: Likewise.
9432         * doc/cpp.texi: Likewise.
9433         * doc/c-tree.texi: Likewise.
9434         * doc/extend.texi: Likewise.
9435         * doc/invoke.texi: Likewise.
9436         * doc/objc.texi: Likewise.
9437         * doc/tm.texi: Likewise.
9438
9439 2001-10-08  Richard Henderson  <rth@redhat.com>
9440
9441         * varasm.c (set_named_section_flags): Initialize "declared".
9442
9443 2001-10-08  Robert Lipe  <robertlipe@usa.net>
9444
9445         * varasm.c (struct in_named_entry): Add declared.
9446         (named_section_first_declaration): New function.
9447         (default_elf_asm_named_section): Use it.
9448         * output.h (named_section_first_declaration): New.
9449
9450 2001-10-08  Richard Henderson  <rth@redhat.com>
9451
9452         * i386.md (movsi_xor): Export.
9453         (setcc peep2): Use it when available; add an alternative to
9454         match zero_extendhisi2_and.
9455
9456 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9457
9458         * romp-protos.h (romp_initialize_trampoline): New function.
9459         * romp.c (romp_initialize_trampoline): Likewise.
9460         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
9461         romp_initialize_trampoline.
9462
9463 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9464
9465         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
9466         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9467         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9468         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9469
9470 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9471
9472         * unroll.c (loop_iterations): Extend check for multiple back edges.
9473
9474 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
9475
9476         * langhooks.h: New file.
9477         * Makefile.in (OBJS): Added langhooks.o.
9478         (c-lang.o): Depend on langhooks.h.
9479         (c-common.o): Don't depend on tree-inline.h.
9480         (tree-inline.o): Depend on toplev.h.
9481         (langhooks.o): New rule.
9482         * c-common.c: Don't include tree-inline.h.
9483         (c_mark_lang_decl): Mark argument c as unused.
9484         (c_common_lang_init): Don't initialize hooks here.
9485         * c-lang.c: Include langhooks.h, then override some macros.
9486         (lang_hooks): Initialize with macros in langhooks.h.
9487         (c_init): Don't initialize hooks here.
9488         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
9489         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
9490         * tree-inline.c: Include toplev.h.  Don't define hook variables.
9491         * tree-inline.h: Don't define hook types nor declare hook
9492         variables.  Move macros to...
9493         * langhooks.c: ... new file, as functions.  Adjust all callers.
9494
9495 2001-10-08  Jeffrey A Law  <law@cygnus.com>
9496
9497         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
9498         purge_mem_unchanging_flag on all instructions, not just on those
9499         before NOTE_INSN_FUNCTION_BEG.
9500
9501 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9502
9503         * cppmacro.c (_cpp_create_definition): Leave comments off.
9504
9505         * doc/cpp.texi: Update.
9506
9507 2001-10-08  DJ Delorie  <dj@redhat.com>
9508
9509         * c-decl.c (grokfield): Make sure the only unnamed fields
9510         we're allowing are either structs or unions.
9511         * doc/extend.texi: Add documentation for the unnamed field
9512         extension.
9513
9514 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
9515
9516         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
9517         * configure.in: Use it.
9518         * configure: Regenerated.
9519         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
9520         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
9521
9522 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9523
9524         * cppfiles.c (open_file): Don't mark zero-length files
9525         never-reread here.  Don't output diagnostics here either.
9526         (stack_include_file): Mark them never-reread here.
9527         (_cpp_read_file): Update.
9528
9529 2001-10-08  Richard Henderson  <rth@redhat.com>
9530
9531         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
9532
9533 2001-10-08  Richard Henderson  <rth@redhat.com>
9534
9535         * expr.c (store_expr): When converting a CONST_INT for storage
9536         in a SUBREG, convert it to both SUBREG modes before stripping
9537         the SUBREG.
9538
9539 2001-10-08  Richard Henderson  <rth@redhat.com>
9540
9541         * varasm.c (restore_varasm_status): New.
9542         * function.h: Declare it.
9543         * function.c (pop_function_context_from): Call it.
9544
9545 2001-10-08  Richard Henderson  <rth@redhat.com>
9546
9547         * c-common.h (struct c_lang_decl): Add declared_inline.
9548         * c-tree.h (DECL_DECLARED_INLINE_P): New.
9549         * c-lang.c (c_disregard_inline_limits): Use it.
9550         * c-decl.c (duplicate_decls): Likewise.
9551         (pushdecl, redeclaration_error_message): Likewise.
9552         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
9553         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
9554         Set DECL_INLINE if -finline-functions.
9555         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
9556
9557 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9558
9559         * cppmacro.c (funlike_invocation_p): Move some logic to caller
9560         in enter_macro_context.  Create a padding token in its own context
9561         if necessary when the search for '(' fails.
9562         (enter_macro_context): Update.
9563
9564 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9565
9566         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
9567         genmultilib, toplev.c: Fix spelling errors of "separate" as
9568         "seperate", and corresponding spelling errors of related words.
9569
9570 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9571
9572         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
9573         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
9574         Likewise.
9575         * c-dump.c (dump_option_value_info): Likewise.
9576         * c-format.c (format_length_info, format_char_info,
9577         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
9578         * collect2.c (names): Likewise.
9579         * cppdefault.h (default_include): Likewise.
9580         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
9581         * flow.c (life_analysis): Likewise.
9582         * gcc.c (dir_separator_str, modify_target, option_map,
9583         target_option_translations, spec_list_1, extra_specs_1,
9584         init_spec): Likewise.
9585         * gcov.c (gcov_version_string): Likewise.
9586         * genattr.c (write_units): Likewise.
9587         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
9588         * gengenrtl.c (rtx_definition, defs): Likewise.
9589         * genrecog.c (pred_table): Likewise.
9590         * global.c (global_alloc): Likewise.
9591         * lcm.c (optimize_mode_switching): Likewise.
9592         * local-alloc.c (find_free_reg): Likewise.
9593         * params.h (param_info): Likewise.
9594         * predict.c (predictor_info): Likewise.
9595         * protoize.c (unexpansion_struct): Likewise.
9596         * real.c (bmask): Likewise.
9597         * recog.h (insn_operand_data, insn_data): Likewise.
9598         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
9599         * stmt.c (expand_nl_goto_receiver): Likewise.
9600         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
9601         target_switches, target_options): Likewise.
9602         * tradcif.y (token, tokentab2, yylex): Likewise.
9603         * tree.h (attribute_spec): Likewise.
9604
9605         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
9606         Likewise.
9607         * arc.c (arc_output_function_epilogue): Likewise.
9608         * arm.c (processors, all_cores, all_architectures,
9609         arm_override_options, isr_attribute_arg, isr_attribute_args,
9610         arm_isr_value): Likewise.
9611         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
9612         Likewise.
9613         * c4x.c (c4x_int_reglist): Likewise.
9614         * d30v.c (override_options): Likewise.
9615         * h8300.c (shift_insn): Likewise.
9616         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
9617         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
9618         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
9619         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
9620         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
9621         * i386.h (processor_costs, ix86_cost): Likewise.
9622         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
9623         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
9624         * m68k.c (codes_68881, codes_FPA): Likewise.
9625         * m88k.c (mode_from_align, max_from_align, all_from_align,
9626         best_from_align, m_options): Likewise.
9627         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
9628         * mcore.c (mode_from_align): Likewise.
9629         * mips/elf64.h (UNIQUE_SECTION): Likewise.
9630         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
9631         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
9632         * mips.h (mips_regno_to_class): Likewise.
9633         * ns32k.c (scales): Likewise.
9634         * pa.c (import_string, magic_milli): Likewise.
9635         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
9636         * sparc.c (leaf_reg_remap, sparc_override_options,
9637         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
9638         Likewise.
9639         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
9640
9641 2001-10-07  Dale Johannesen  <dalej@apple.com>
9642
9643         * reload1.c (reload_reg_free_p): Teach register interference
9644         checking that multiple output reloads are emitted in
9645         reverse order.
9646         reload1.c (reload_reg_reaches_end_p):  Ditto.
9647         reload1.c (reloads_conflict):  Ditto.
9648
9649 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9650
9651         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
9652         NULL_TREE inside @code.
9653
9654 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9655
9656         * doc/gcc.texi: Document consistent style of "32-bit",
9657         "Objective-C", and "@code{NULL}".
9658
9659 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9660
9661         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
9662         (cpp_token_len, cpp_spell_token, cpp_output_token,
9663         _cpp_equiv_tokens): Handle it.
9664         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
9665         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
9666         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
9667         error messages.
9668
9669 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9670
9671         * gcc.c (default_compilers): Remove .ada.
9672
9673 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9674
9675         * doc/cppinternals.texi: Update.
9676
9677 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9678
9679         * gcc.c (main): Set this_file_error if the appropriate
9680         compiler for a language has not been installed.
9681
9682 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
9683
9684         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
9685
9686 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
9687
9688         * gccbug.in (CATEGORIES): Add ada.
9689
9690 2001-10-05  Catherine Moore  <clm@redhat.com>
9691
9692         * config/stormy16/stormy-abi:  Document abi changes.
9693         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
9694         (ICALL_REGS): New register class.
9695         (NUM_ARGUMENT_REGISTERS): Now 6.
9696         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
9697         in registers.
9698         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
9699         * config/stormy16.md (call_internal, call_value_internal,
9700         indirect_jump): Use new 'z' constraint.
9701
9702 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9703
9704         * doc/cppinternals.texi: Update.
9705
9706 2001-10-05  Richard Henderson  <rth@redhat.com>
9707
9708         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
9709         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
9710         the gas section-name-as-label feature.
9711
9712 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9713
9714         * doc/cppinternals.texi: Update.
9715
9716 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9717
9718         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
9719         to ensure valid SImode constants.
9720
9721 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
9722
9723         * Makefile.in (c-decl.o): Depend on tree-inline.h.
9724         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
9725         * c-decl.c: Include tree-inline.h.
9726         (c_expand_body): Call optimize_inline_calls. Determine whether
9727         a function is inlinable upfront, and only clear
9728         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
9729         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
9730         (c_disregard_inline_limits): New function.
9731         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
9732         (c_post_options): Enable tree inlining if inlining is enabled.
9733         Don't inline trees when instrumenting functions.
9734         (c_init): Initialize lang_disregard_inline_limits and
9735         lang_cannot_inline_tree_fn.
9736         * tree-inline.c (initialize_inlined_parameters): Handle calls
9737         with fewer arguments than declared parameters, and fewer
9738         parameters than passed arguments.  Don't assume value is a
9739         DECL.
9740         (declare_return_variable): Convert return value back to the
9741         original type, if it was promoted.
9742         (tree_inlinable_function_p): New function.
9743         (inlinable_function_p): Don't look at DECL_INLINE if we're
9744         inlining all functions.  Make it work with a NULL id.
9745         Re-check DECL_UNINLINABLE after language-specific checks.
9746         * tree-inline.h (tree_inlinable_function_p): Declare it.
9747         * integrate.c (save_for_inline): Don't bother to prepare argvec
9748         when not inlining.
9749         * cse.c (check_for_label_ref): Don't check deleted labels.
9750
9751         * Makefile.in (tree-inline.o): Depend on newly-included headers.
9752         * tree-inline.c: Include headers needed for the functions moved in.
9753         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
9754         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
9755         (copy_body, initialize_inlined_parameters): Likewise.
9756         (declare_return_variable, inlinable_function_p): Likewise.
9757         (expand_call_inline, expand_calls_inline): Likewise.
9758         (optimize_inline_calls, clone_body): Likewise.
9759         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
9760         (copy_tree_r, remap_save_expr): Likewise.
9761
9762 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
9763
9764         * Makefile.in (OBJS): Added tree-inline.o.
9765         (c-common.o): Depend on tree-inline.h.
9766         (tree-inline.o): New target.
9767         * c-common.c: Include tree-inline.h.
9768         (c_mark_lang_decl): Don't mark saved_tree.
9769         (c_common_lang_init): Set lang_anon_aggr_type_p.
9770         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
9771         (struct c_lang_decl): Moved saved_tree to tree_decl.
9772         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
9773         * integrate.h (function_attribute_inlinable_p): Declare it.
9774         * integrate.c (function_attribute_inlinable_p): Export it.
9775         * tree-inline.c: New file.  Define variables declared in...
9776         * tree-inline.h: New file.  Declare functions to be moved to
9777         tree-inline.c.  Define macros and declare types and hooks for
9778         language-specific tree inlining.
9779         (flag_inline_trees): Moved definition from cp/decl2.c.
9780         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
9781         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
9782         (struct tree_decl): Moved saved_tree from c_lang_decl and
9783         inlined_fns from C++'s lang_decl.
9784
9785 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
9786
9787         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
9788         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
9789
9790 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9791
9792         * doc/cppinternals.texi: Update.
9793
9794 2001-10-04  Eric Christopher  <echristo@redhat.com>
9795
9796         * config/mips/mips.c (init_cumulative_args): Remember to set
9797         cum->prototype.
9798         * config.gcc: Redo linux configuration. Add target_cpu_default
9799         of soft-float to all mipsisa32 combinations and tx39.
9800         * config/mips/linux.h: Remove include of mips.h.
9801
9802 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
9803
9804         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
9805         HOST_LDFLAGS and HOST_CPPFLAGS.
9806
9807 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
9808
9809         * c-parse.in (objc_inherit_code, objc_pq_context,
9810         objc_public_flag): Make static.
9811         (objc_interface_context, objc_implementation_context,
9812         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
9813         global tree array in objc/objc-act.[ch].
9814         (methoddef): Remove unnecessary code.
9815
9816         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
9817         Hoist struct definitions to objc-act.h.
9818         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
9819         cat_count): Place declaration in objc-act.h.
9820         (objc_tree_index): Move enumeration to objc-act.h.
9821         (objc_global_trees): Place declaration and macro accessors in
9822         objc-act.h.
9823         (implementation_context): Remove duplicate; use
9824         objc_implementation_context instead:
9825         (method_context): Remove duplicate; use objc_method_context
9826         instead.
9827         (objc_ellipsis_node, objc_method_prototype_template,
9828         implemented_classes, function_type): Move global vars to
9829         objc_global_trees.
9830         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
9831         (build_message_expr): Move actual construction of ObjC message
9832         send nodes to finish_message_expr.
9833         (finish_message_expr): New routine, contains code formerly in
9834         build_message_expr.
9835         * objc/objc-act.h (finish_message_expr): New prototype.
9836         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
9837         declarations; these vars are now part of objc_global_trees.
9838         (objc_tree_index, objc_global_trees): Move definitions from
9839         objc-act.c.
9840         * objc/objc-tree.def: Update copyright info.
9841
9842 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
9843
9844         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
9845         op is NULL.
9846         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
9847         only if TARGET_ARCH64.
9848
9849 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
9850
9851         * doc/extend.texi: Fix some problems with previous checkin.
9852         * doc/invoke.texi: Likewise.
9853
9854 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9855
9856         * cpphash.h: Update comments.
9857         (cpp_context): Update.
9858         (spec_nodes): Remove n__Pragma.
9859         * cppinit.c (cpp_create_reader): Update.
9860         (builtin_array): Add _Pragma.
9861         * cpplib.h: Update comments.
9862         (NODE_DISABLED, BT_PRAGMA): New.
9863         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
9864         * cppmacro.c (struct cpp_macro): Remove disabled.
9865         (builtin_macro): Return int, handle _Pragma, push the new token
9866         on the context stack.
9867         (funlike_invocation_p): Unconstify, update.
9868         (enter_macro_context): Handle builtins here.
9869         (replace_args, push_token_context, push_ptoken_context):
9870         Update for prototype changes.
9871         (_cpp_pop_context): Update.
9872         (cpp_get_token): Don't handle buitins, nor _Pragma here.
9873         (cpp_sys_macro_p): Update.
9874         (_cpp_free_definition): Clear disabled flag.
9875         (_cpp_create_definition): Upate.
9876         * cppmain.c: Update comments.
9877
9878 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
9879                                 Andreas Jaeger <aj@suse.de>,
9880                                 Jan Hubicka    <jh@suse.cz>
9881
9882         * doc/invoke.texi (i386 Options): Document x86-64 options.
9883         (i386 and x86-64 Options): Rename i386 options section.
9884
9885         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
9886         (TARGET_SWITCHES): Add -munwind-info.
9887         (MASK_NO_UNWIND_INFO): New.
9888         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
9889         biarch compilation.
9890         (ASM_OUTPUT_DOUBLE_INT): New.
9891
9892         * config/i386/linux64.h: New spec file for Linux x86-64 support.
9893         * config.gcc: Fix tm_file settings for x86-64.
9894         * config/i386/x86-64.h: New file with OS independent x86-64
9895         definitions.
9896         * config/i386/biarch64.h: New file used to configure compiler
9897         to biarch/64bit compilation.
9898
9899         * config/i386/i386.c: (override_options): Set flags default
9900         for 64bit compilation.
9901
9902 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
9903
9904         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
9905         (ix86_expand_int_movcc): Optimize DImode conditional moves with
9906         constants on x86_64.
9907         (ix86_attr_length_immediate_default): Support MODE_DI.
9908         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
9909         condition.
9910         (indirect_jump, tablejump): Turn into expander.
9911
9912 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9913
9914         * c-common.c (c_format_attribute_table): Make format and
9915         format_arg attributes apply to function types rather than to
9916         decls.
9917         (is_valid_printf_arglist): Construct an attribute list and pass
9918         that to check_function_format rather than a name.
9919         * c-common.h (check_function_format): Adjust prototype.
9920         * c-decl.c (duplicate_decls): Preserve attributes from type of
9921         built-in decl when allowing for harmless conflict in types.
9922         * c-format.c (record_function_format,
9923         record_international_format, function_format_list,
9924         international_format_info, international_format_list): Remove.
9925         (function_format_info): Remove next, name and assembler_name.
9926         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
9927         (decode_format_attr): New.
9928         (handle_format_attribute): Handle receiving a type rather than a
9929         decl.  Call decode_format_attr.  Store format information in a
9930         function_format_info.
9931         (handle_format_arg_attribute): Correct comment.  Handle receiving
9932         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
9933         arg_num.
9934         (check_format_info_recurse, check_format_info_main): Take argument
9935         numbers as unsigned HOST_WIDE_INT.
9936         (check_function_format): Take a list of attributes from the
9937         function type rather than a name or assembler name.  Check for
9938         format attributes in that list and the attributes on the type of
9939         the current function rather than looking through
9940         function_format_list.
9941         (check_format_info): Use unsigned HOST_WIDE_INT for argument
9942         numbers.
9943         (check_format_info_recurse): Take format_arg attributes from the
9944         type of the function calls rather than using
9945         international_format_list.  Allow for multiple format_arg
9946         attributes.
9947         * c-typeck.c (build_function_call): Pass type attributes to
9948         check_function_format rather than name or assembler name.  Don't
9949         require there to be a name or assembler name to check formats.
9950
9951 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9952
9953         * attribs.c (decl_attributes): Possibly call
9954         insert_default_attributes to insert default attributes on
9955         functions in a lazy manner.
9956         * builtin-attrs.def: New file; define the default format and
9957         format_arg attributes.
9958         * c-common.c (c_format_attribute_table): Move to earlier in the
9959         file.
9960         (c_common_nodes_and_builtins): Initialize format_attribute_table.
9961         (enum built_in_attribute, built_in_attributes,
9962         c_attrs_initialized, c_init_attributes,
9963         c_common_insert_default_attributes): New.
9964         (c_common_lang_init): Don't initialize format_attribute_table.  Do
9965         call c_init_attributes.
9966         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
9967         * c-common.h (init_function_format_info): Don't declare.
9968         (c_common_insert_default_attributes): Declare.
9969         * c-decl.c (implicitly_declare, builtin_function): Call
9970         decl_attributes.
9971         (init_decl_processing): Don't call init_function_format_info.
9972         (insert_default_attributes): New.
9973         * c-format.c (handle_format_attribute,
9974         handle_format_arg_attribute): Be quiet about inappropriate
9975         declaration when applying default attributes.
9976         (init_function_format_info): Remove.
9977         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
9978         (insert_default_attributes): Declare.
9979
9980 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9981
9982         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
9983
9984 2001-10-01  Jim Wilson  <wilson@redhat.com>
9985
9986         * sched-deps.c (add_dependence): When elide conditional dependence,
9987         check that insn doesn't modify cond2.
9988
9989 2001-10-01  Dale Johannesen  <dalej@apple.com>
9990
9991         * config/rs6000/rs6000.h (enum processor_type): Add support
9992         for 7400 (G4) and 7450.
9993         (RTX_COSTS): Ditto.
9994         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
9995         (rs6000_issue_rate): Ditto.
9996         (rs6000_adjust_cost): Fix cycle counts for compares.
9997         (debug_stack_info):  Fix an obvious typo.
9998         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
9999         * doc/invoke.texi: Document.
10000         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
10001         for Darwin.
10002         (PROCESSOR_DEFAULT): Ditto.
10003
10004 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
10005
10006         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
10007         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
10008         later recursive make invocation.
10009
10010 2001-10-01  Hans Boehm  <boehm@acm.org>
10011
10012         * optabs.c (emit_libcall_block): When using non-call exceptions,
10013         don't add REG_LIBCALL reg notes to trapping calls.
10014
10015 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
10016
10017         * flow.c (propagate_block_delete_libcall): Remove unused first arg
10018         (propagate_one_insn):  Update for above change
10019
10020 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
10021
10022         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
10023         _Unwind_GetTextRelBase): Argument is unused.
10024
10025 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10026
10027         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
10028         Loop through NOPs, placeholders, and components.
10029         Don't go through NOPs if change mode.
10030         (record_alias_subset): Do nothing if SUBSET and SET are the same.
10031         * emit-rtl.c (set_mem_alias_set): Enable check.
10032         * expr.c (find_placeholder): New function.
10033         (expand_expr, case PLACEHOLDER_EXPR): Use it.
10034         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
10035         to modify it and avoid unneeded copies.
10036         * expr.h (expand_expr): Always define.
10037         (find_placeholder): New declaration.
10038
10039 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10040
10041         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
10042         operand 2 is the stack pointer.
10043         ("addr-peephole"): Fix address computation peephole when operand 2
10044         is the stack pointer.
10045
10046 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10047
10048         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
10049         (ix86_setup_incoming_varargs): Likewise.
10050
10051 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
10052
10053         * stor-layout.c (layout_type): Don't complain about too-large
10054         array here.
10055
10056 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10057
10058         * function.c (keep_stack_depressed): Don't use delete_insn.
10059
10060         * expr.h (set_mem_alias_set): Move decl to here.
10061         * rtl.h (mem_attrs): New typedef and struct.
10062         (union rtunion_def): Add field for mem_attrs.
10063         (X0MEMATTR, MEM_ATTRS): New macros.
10064         (MEM_ALIAS_SET): Use MEM_ATTRS.
10065         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
10066         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
10067         (set_mem_alias_set): Delete decl from here.
10068
10069         * alias.c (set_mem_alias_set): Delete from here.
10070         * emit-rtl.c (mem_attrs_htab): New variable.
10071         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
10072         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
10073         (mem_attrs_mark, get_mem_attrs): Likewise.
10074         (gen_rtx_MEM): Clear MEM_ATTRS.
10075         (set_mem_attributes): Move to here.
10076         (set_mem_alias_set): Likewise, and call get_mem_attrs.
10077         (init_emit_once): const_int_htab now deletable htab.
10078         Initialize mem_attrs_htab.
10079         * explow.c (set_mem_attributes): Delete from here.
10080         * function.c (put_var_into_stack): Clear MEM_ATTRS.
10081         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
10082         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
10083         * reload1.c (reload): Rework changing REG to MEM.
10084
10085 2001-09-30  H.J. Lu <hjl@gnu.org>
10086
10087         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
10088         * config.in: Rebuild.
10089
10090 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10091
10092         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
10093         ("tsthi_1"): Avoid allocation in register y.
10094         ("*movqi_68hc12"): Reorganize and fix constraints.
10095         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
10096         ("addqi3"): Likewise.
10097         ("addhi3"): Fix constraints.
10098         ("*logicalhi3_zexthi"): Disparage soft registers.
10099
10100 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10101
10102         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
10103         to tmp reg.
10104
10105 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10106
10107         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
10108         that we use setjmp/longjmp exceptions.
10109
10110 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
10111
10112         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
10113         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
10114         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
10115         _cpp_pool_alloc, _cpp_next_chunk): Remove.
10116         (_cpp_extend_buff, BUFF_ROOM): Update.
10117         (_cpp_append_extend_buff): New.
10118         (struct cpp_reader): Remove macro_pool, add a_buff.
10119         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
10120         macro_pool.
10121         (cpp_destroy): Free a_buff instead of macro_pool.
10122         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
10123         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
10124         _cpp_pool_alloc, ): Remove.
10125         (parse_number, parse_string): Update use of _cpp_extend_buff.
10126         (_cpp_extend_buff): Update.
10127         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
10128         * cpplib.c (glue_header_name, parse_answer):
10129         Update use of _cpp_extend_buff.
10130         (cpp_register_pragma, cpp_register_pragma_space): Use
10131         _cpp_aligned_alloc.
10132         (do_assert, do_unassert): Check for EOL, update.
10133         * cppmacro.c (stringify_arg, collect_args): Update to use
10134         _cpp_extend_buff and _cpp_append_extend_buff.
10135         (save_parameter, parse_params, alloc_expansion_token,
10136         _cpp_create_definition): Rework memory management.
10137
10138 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
10139
10140         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
10141         update md_exec_prefix.
10142         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
10143         to string constant.
10144
10145 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
10146
10147         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
10148         (SELECT_CC_MODE): Use s390_select_ccmode.
10149         * config/s390/s390-protos.h (s390_select_ccmode): Add.
10150         * config/s390/s390.c (s390_select_ccmode): New.
10151         (s390_match_ccmode): Add CCLmode.
10152         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
10153         (output_branch_condition, output_inverse_branch_condition): Removed.
10154         (print_operand): Use s390_branch_condition_mnemonic.
10155         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
10156         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
10157         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
10158
10159         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
10160         when converting conditional branches to far branches.
10161         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
10162         cmpint_di): Use CCSmode instead of CCUmode.
10163
10164         * config/s390/s390.c (legitimate_la_operand_p): New.
10165         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
10166         * config/s390/s390.md (movsi): Convert load address patterns to
10167         arithmetic operations when necessary.
10168         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
10169         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
10170         (*do_la_reg_0): Don't use before reload.
10171
10172         * config/s390/s390.c (legitimize_address): Make more efficient
10173         use of two-register addressing mode.
10174
10175         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
10176         with -mno-backchain in some corner cases.
10177
10178         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
10179
10180 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
10181
10182         * reload.c (find_reloads): Mark new USE insns with QImode.
10183         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
10184         find_reloads_subreg_address): Likewise.
10185         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
10186         encountered.
10187         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
10188         CLOBBERs.
10189         (reload): Make sure there are no USEs with mode other than
10190         VOIDmode.  At the end, remove those marked with QImode.
10191
10192 2001-09-29  Per Bothner  <per@bothner.com>
10193
10194         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
10195         * Makefile.in (includedir):  Rename to local_includedir.
10196         (includedir):  Define as $(prefix)/include.
10197         * config.in (PREFIX_INCLUDE_DIR):  New variable.
10198         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
10199
10200 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
10201
10202         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
10203         storehps builtins.
10204         * doc/extend.texi (Vector Extensions): New node.
10205         * doc/invoke.texi (Machine Dependent Options): Add documentation for
10206         i386 -mmmx, -msse, -m3dnow.
10207
10208 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10209
10210         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
10211
10212 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
10213
10214         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
10215
10216         * doc/invoke.texi (Optimize Options): Delete spurious @table.
10217
10218 2001-09-28  Richard Henderson  <rth@redhat.com>
10219
10220         * varasm.c (assemble_integer): Bound alignment check by
10221         BIGGEST_ALIGNMENT.
10222
10223         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
10224
10225 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10226
10227         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
10228
10229 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
10230
10231         Mostly from Graham Stott  <grahams@redhat.com>
10232         * c-common.c (type_for_mode): Add support for V2SFmode.
10233         * tree.c (build_common_tree_nodes_2): Likewise.
10234         * tree.h (enum tree_index, global_trees): Likewise.
10235         * config/i386/i386.c (x86_3dnow_a): New variable.
10236         (override_options): Support 3Dnow extensions.
10237         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
10238         Athlon's version of 3Dnow.
10239         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
10240         (ix86_expand_builtin): Handle them.
10241         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
10242         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
10243         TARGET_3DNOW_A): New macros.
10244         (TARGET_SWITCHES): Add 3Dnow switches.
10245         (VALID_MMX_REG_MODE_3DNOW): New macro.
10246         (VECTOR_MODE_SUPPORTED_P): Use it.
10247         (enum ix86_builtins): Add entries for 3Dnow builtins.
10248         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
10249         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
10250         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
10251         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
10252         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
10253         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
10254         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
10255         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
10256         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
10257         sfence_insn, prefetch): Make these available if TARGET_SSE or
10258         TARGET_3DNOW_A.
10259
10260 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
10261
10262         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
10263         ix86_va_start, ix86_build_va_list): Declare.
10264         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
10265         ix86_va_start, ix86_build_va_list): New global functions.
10266         * i386.md (sse_prologue_save_insn): New insn.
10267         (sse_prologue_save): New expander.
10268         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
10269         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
10270
10271 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10272
10273         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
10274         Use size_t everywhere, make definitions consistent with
10275         prototypes.
10276
10277 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
10278
10279         * gcse.c (replace_store_insn): Use delete_insn.
10280         * loop.c (move_movables): Likewise; avoid delete_insn
10281         from clobbering notes moved elsewhere.
10282         (check_dbra_loop): Use delete_insn.
10283         * ssa.c (convert_from_ssa): Likewise.
10284         * cse.c (cse_insn): Use delete_insn.
10285
10286 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10287
10288         * cpphash.h (struct cpp_buff): Make unsigned.
10289         (_cpp_get_buff): Take length of size_t.
10290         (_cpp_unaligned_alloc): New.
10291         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
10292         (struct cpp_reader): Remove ident_pool.  Add u_buff.
10293         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
10294         (cpp_destroy): Destroy u_buff, not ident_pool.
10295         * cpplex.c (parse_number, parse_string, save_comment,
10296         cpp_token_as_text): Update to use the unaligned buffer.
10297         (new_buff): Make unsigned.
10298         (_cpp_unaligned_alloc): New.
10299         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
10300         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
10301         Similarly.
10302         (collect_args): Make unsigned.
10303
10304 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
10305
10306         * cpplex.c (cpp_output_token): Use a putc loop for
10307         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
10308
10309         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
10310         * configure, config.in: Regenerate.
10311         * system.h: Replace fwrite and fprintf with their unlocked
10312         variants if available.
10313
10314 2001-09-27  Richard Henderson  <rth@redhat.com>
10315
10316         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
10317         in favour of .eh_frame.
10318
10319 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
10320
10321         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
10322         to macros.
10323         (LIBCALL_VALUE): Likewise.
10324
10325 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10326
10327         * cpphash.h: Update comment.
10328         * cpplex.c: Update comments.
10329         (_cpp_can_paste): Remove.
10330         * cpplib.h (_cpp_can_paste): Remove.
10331         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
10332         lexer rather than _cpp_can_paste.
10333
10334 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10335
10336         * doc/cppinternals.texi: Update.
10337
10338 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10339
10340         * cpphash.h (struct cpp_pool): Remove locks and locked.
10341         (struct cpp_context): Add member buff.
10342         (struct cpp_reader): Remove member argument_pool.
10343         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
10344         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
10345         * cpplex.c (chunk_suitable): Remove pool argument.
10346         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
10347         (new_buff, _cpp_extend_buff): Update.
10348         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
10349         which buffer is returned.
10350         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
10351         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
10352         * cppmacro.c (lock_pools, unlock_pools): Remove.
10353         (push_ptoken_context): Take a _cpp_buff.
10354         (enter_macro_context): Pool locking removed.
10355         (replace_args): Use a _cpp_buff for the replacement list with
10356         arguments replaced.
10357         (push_token_context): Clear buff.
10358         (expand_arg): Use _cpp_pop_context.
10359         (_cpp_pop_context): Free a context's buffer, if any.
10360
10361 2001-09-26  DJ Delorie  <dj@redhat.com>
10362
10363         * c-typeck.c (digest_init): Check for sizeless arrays.
10364
10365 2001-09-26  Richard Henderson  <rth@redhat.com>
10366
10367         * optabs.c (init_one_libfunc): Create a dummy function type
10368         instead of using error_mark_node.
10369
10370 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10371
10372         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
10373         _cpp_extend_buff, _cpp_free_buff): New.
10374         (struct cpp_reader): New member free_buffs.
10375         * cppinit.c (cpp_destroy): Free buffers.
10376         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
10377         _cpp_extend_buff, _cpp_free_buff): New.
10378         * cpplib.h (struct cpp_options): Remove unused member.
10379         * cppmacro.c (collect_args): New.  Combines the old parse_arg
10380         and parse_args.  Use _cpp_buff for memory allocation.
10381         (funlike_invocation_p, replace_args): Update.
10382
10383 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
10384
10385         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
10386
10387 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
10388
10389         * except.c (sjlj_mark_call_sites): Change address inside sequence.
10390
10391 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
10392
10393         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
10394         glibc.
10395
10396 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
10397             Jim Wilson  <wilson@redhat.com>
10398
10399         * doc/install.texi (Specific, ia64-*-linux): Document.
10400
10401 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
10402
10403         * Makefile.in (cfgrtl.o): Add.
10404         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
10405         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
10406         free_aux_for_edge): Declare.
10407         * cfg.c
10408         (HAVE_return): Undefine.
10409         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
10410         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
10411         free_aux_for_edge): New global functions.
10412         (first_delete_block): New static variable.
10413         (init_flow): Clear first_delete_block.
10414         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
10415          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
10416          try_redirect_by_replacing_jump, last_loop_beg_note,
10417          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
10418          delete_insn, delete_insn_chain, create_basic_block_structure,
10419          create_basic_block, flow_delete_block, compute_bb_for_insn,
10420          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
10421          set_block_for_new_insns, split_block, merge_blocks_nomove,
10422          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
10423          redirect_edge_and_branch, force_nonfallthru_and_redirect,
10424          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
10425          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
10426          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
10427          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
10428          purge_all_dead_edges): Move to ....
10429         * cfgrtl.c: New file; .... Here.
10430
10431         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
10432         (reroder_basic_block): Use alloc_aux_for_blocks.
10433         * predict.c (estimate_bb_frequencies): Likewise; use
10434         alloc_aux_for_edges.
10435         * profile.c (compute_branch_probabilities): Likewise.
10436         (branch_prob): Likewise.
10437         * reg-stack.c (reg_to_stack): Likewise.
10438
10439         * emit-rtl.c (emit_insns_after): Never return NULL.
10440
10441         * basic-block.h (set_block_for_new_insns): Delete.
10442         * cfgrtl.c (set_block_for_new_insns): Delete.
10443
10444         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
10445         calls when crossjumping.
10446
10447         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
10448         * unroll.c (copy_loop_body): Use delete_insn.
10449
10450         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
10451         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
10452         keep_stack_depressed): Likewise.
10453         * gcse.c (cprop_cc0_jump): Likewise.
10454         * local-alloc.c (update_equiv_regs): Likewise.
10455         * loop.c (scan_loop, loop_delete_insns): Likewise.
10456         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
10457         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
10458         delete_output_reload, delete_address_reloads_1,
10459         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
10460         Likewise.
10461         * sibcall.c (replace_call_placeholder): Likewise.
10462         * cse.c (cse_insn): Likewise.
10463
10464 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
10465
10466         From Graham Stott  <grahams@redhat.com>
10467         (def_builtin): Only define builtins appropriate for target_flags.  All
10468         callers changed.
10469         (builtin_decsription): Add new field mask which is used to determine
10470         when to define the builtin via the macro def_builtin.
10471
10472         (bdesc_comi): Initialise new mask fields.
10473         (bdesc_2srg): Likewise.
10474         (bdesc_1arg): Likewise.
10475
10476         * config/i386/i386.c (ix86_init_builtins): Correct return type
10477         building v4hi_ftype_v4hi_int_int tree node.
10478         (ix86_expand_sse_comi): Fix typo swapping operands.
10479         Don't swap comparision condition, it is already swapped.
10480         (ix86_expand_sse_compare): Before swapping operands
10481         move operand 1 into new rtx and not the target rtx.
10482         Don't swap comparison condition, it is already swapped.
10483         Always check whether we need to create a new TARGET.
10484
10485         * config/i386/i386.md: (sse_comi) Fix typos.
10486         (sse_ucomi): Likewise.
10487         (cvtss2si): Fix operand 0 contraint.
10488         (cvttss2si): Likewise.
10489         (sse_unpckhps): Fix mode for operand 2.
10490         (sse_unpcklps): Likewise.
10491
10492 2001-09-25  Graham Stott  <grahams@redhat.com>
10493
10494         * sibcall.c (skip_copy_to_return_value): Tighten return value
10495         copy check.
10496
10497 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
10498
10499         * rs6000.c (lwa_operand): Address must be word aligned.
10500
10501 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10502
10503         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
10504         number has been set.
10505         (type_hash_mark): Mark type itself.
10506
10507 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10508
10509         * c-lex.c (cb_def_pragma): Update.
10510         (c_lex): Update, and skip padding.
10511         * cppexp.c (lex, parse_defined): Update, remove unused variable.
10512         * cpphash.h (struct toklist): Delete.
10513         (union utoken): New.
10514         (struct cpp_context): Update.
10515         (struct cpp_reader): New members eof, avoid_paste.
10516         (_cpp_temp_token): New.
10517         * cppinit.c (cpp_create_reader): Update.
10518         * cpplex.c (_cpp_temp_token): New.
10519         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
10520         (cpp_output_token): Don't print leading whitespace.
10521         (cpp_output_line): Update.
10522         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
10523         do_include_common, do_line, do_ident, do_pragma,
10524         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
10525         parse_assertion): Update.
10526         (get_token_no_padding): New.
10527         * cpplib.h (CPP_PADDING): New.
10528         (AVOID_LPASTE): Delete.
10529         (struct cpp_token): New union member source.
10530         (cpp_get_token): Update.
10531         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
10532         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
10533         replace_args, quote_string, stringify_arg, parse_arg, next_context,
10534         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
10535         _cpp_backup_tokens, _cpp_create_definition): Update.
10536         (push_arg_context): Delete.
10537         (padding_token, push_token_context, push_ptoken_context): New.
10538         (make_string_token, make_number_token): Update, rename.
10539         (cpp_get_token): Update to handle tokens as pointers to const,
10540         and insert padding appropriately.
10541         * cppmain.c (struct printer): New member prev.
10542         (check_multiline_token): Constify.
10543         (do_preprocessing, cb_line_change): Update.
10544         (scan_translation_unit): Update to handle spacing.
10545         * scan-decls.c (get_a_token): New.
10546         (skip_to_closing_brace, scan_decls): Update.
10547         * fix-header.c (read_scan_file): Update.
10548
10549         * doc/cpp.texi: Update.
10550
10551 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10552
10553         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
10554         leak by passing malloc'ed pointer to reconcat, not concat.
10555
10556 2001-09-24  DJ Delorie  <dj@redhat.com>
10557
10558         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
10559
10560 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
10561
10562         * flow.c (delete_dead_jumptables): Delete jumptable if the only
10563         reference is from the literal pool.
10564
10565 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
10566
10567         * doc/install.texi (Final install): Request additional information
10568         in mail about successful builds.
10569
10570 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10571
10572         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
10573         initial value of return pointer register instead of value in frame-20.
10574         Revise comments.
10575
10576 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10577
10578         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
10579         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
10580         the libcall if there isn't a referenced identifier for the symbol.
10581
10582 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10583
10584         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
10585         non 64-bit machines.  Use these as a plabel for the trampoline.
10586         (TRAMPOLINE_SIZE): Adjust size for new words.
10587         (INITIALIZE_TRAMPOLINE): Initialize new words.
10588         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
10589         pointer to the plabel in the trampoline.
10590
10591 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10592
10593         * pa.c (function_arg): Pass floating arguments in both general and
10594         floating registers in indirect (dynamic) calls when generating code
10595         for the 32 bit ABI and the HP assembler.
10596
10597 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10598
10599         * doc/install.texi: Markup fixes.
10600         Use Solaris 2, SunOS 4 as appropriate.
10601         (Specific, *-*-solaris2*): Explain this.
10602         Unconditionally warn against /usr/ucb tools.
10603         Remove Sun as warning, obsolete.
10604         Move X11 header bug workaround here, update patches.
10605         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
10606         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
10607
10608 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
10609
10610         * errors.h (warning, error, fatal, internal_error): Don't mark
10611         with ATTRIBUTE_PRINTF_n.
10612         * toplev.h (internal_error, fatal_io_error, warning, error,
10613         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
10614         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
10615         Likewise.
10616
10617 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10618
10619         * function.c (pop_function_context_from): var_refs_queue
10620         and temp slots now in GC memory.
10621         (mark_function_status, free_after_compilation): Likewise;
10622         also struct function now in GC memory.
10623         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
10624         (combine_temp_slots): Likewise.
10625         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
10626         (prepare_function_start): Use GC memory for struct function.
10627         (mark_temp_slot): Deleted.
10628         (gcc_mark_struct_function): struct function now in GC memory.
10629
10630         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
10631         code for division, not modulus.
10632
10633         * rtl.def (MEM): Remove obsolete part of comment.
10634
10635 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
10636
10637         * c-format.c (init_function_format_info): Check __builtin_printf
10638         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
10639         in gnu89 mode.
10640
10641 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10642
10643         * c-common.c (format_attribute_table): Remove decl.
10644         * tree.h (format_attribute_table, lang_attribute_table): New decls.
10645         (lang_attribute_common): Likewise.
10646
10647         * function.c (fix_lexical_address): Use set_mem_alias_set.
10648         (expand_function_start): Likewise.
10649         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
10650
10651         * varasm.c (output_constant): Fix unused variable warning.
10652
10653         * attribs.c: New file, from c-common.c.
10654         (attribute_tables): Now four elements.
10655         (format_attribute_table, lang_attribute_common): New variables.
10656         (init_attributes): Reflect above changes.
10657         (handle_mode_attribute): Delete check for wider than uintmax.
10658         * c-common.c: Delete parts moved to attribs.c.
10659         (enum attrs): Deleted; unused.
10660         (c_format_attribute_table): New variable.
10661         (c_common_lang_init): Initialize format_attribute_table with it.
10662         * c-common.h (decl_attributes): Remove decl.
10663         * tree.h (decl_attribute): Move it to here.
10664         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
10665         (attribs.o): New rule.
10666
10667 2001-09-22  Andreas Jaeger  <aj@suse.de>
10668
10669         * builtins.c (c_getstr): Remove unused variable.
10670
10671 2001-09-21  Richard Henderson  <rth@redhat.com>
10672
10673         * reload1.c (reload): Use delete_insn instead of splatting
10674         NOTE_INSN_DELETED.
10675
10676 2001-09-21  Richard Henderson  <rth@redhat.com>
10677
10678         * reload.c (push_secondary_reload): Don't check for "=" in output
10679         constraint after ""->ALL_REGS check.
10680
10681 2001-09-21  Richard Henderson  <rth@redhat.com>
10682
10683         * predict.c (expected_value_to_br_prob): Use pc_set.
10684
10685         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
10686         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
10687
10688 2001-09-21  Richard Henderson  <rth@redhat.com>
10689
10690         * rtl.h (LCT_RETURNS_TWICE): New.
10691         * calls.c (emit_call_1): Set current_function_calls_setjmp for
10692         ECF_RETURNS_TWICE.
10693         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
10694         to ECF_RETURNS_TWICE.
10695         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
10696         call to setjmp.
10697
10698         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
10699
10700         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
10701         (JMP_BUF_SIZE): New.
10702
10703 2001-09-21  Richard Henderson  <rth@redhat.com>
10704
10705         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
10706         to R8_REGS.
10707
10708 2001-09-21  Richard Henderson  <rth@redhat.com>
10709
10710         * tree.def (FDESC_EXPR): New.
10711         * expr.c (expand_expr): Handle it.
10712         * varasm.c (initializer_constant_valid_p): Likewise.
10713         (output_constant): Likewise.
10714         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10715         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10716         (ASM_OUTPUT_FDESC): New.
10717         * doc/tm.texi: Document the new macros.
10718
10719 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10720
10721         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
10722         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
10723         once merging is complete.
10724
10725 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10726
10727         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
10728
10729 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10730
10731         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
10732         that would be invalid after a merge.
10733
10734 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
10735
10736         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
10737         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
10738         remove some labels.
10739         (flow_delete_insn): This one.
10740         (delete_insn_chain): Rename from ...; do not care labels.
10741         (flow_delete_insn_chain): ... this one.
10742         (flow_delete_block): Remove the insns one BB has been expunged.
10743         (merge_blocks_nomove): Likewise.
10744         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
10745         updating BB boundaries.
10746         (tidy_fallthru_edge): Likewise.
10747         (commit_one_edge_insertion): Likewise.
10748         * cfgbuild.c (find_basic_block): Likewise.
10749         (find_basic_blocks_1): Likewise.
10750         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
10751         (try_crossjump_to_edge): Likewise.
10752         (try_optimize_cfg): Likewise.
10753         * cse.c (delete_trivially_dead_insns): Likewise.
10754         * df.c (df_insn_delete): Likewise.
10755         * doloop.c (doloop_modify): Use delete_related_insns.
10756         * emit-rtl.c (try_split): Likewise.
10757         (remove_insn): Update BB boundaries.
10758         * expect.c (connect_post_landing_pads): Use delete_related_insns.
10759         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
10760         updating BB boundaries.
10761         (propagate_block_delete_insn): Likewise.
10762         (propagate_block_delete_libcall): Likewise.
10763         * function.c (delete_handlers): Use delete_related_insns.
10764         (thread_prologue_and_epilogue_insns): Likewise.
10765         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
10766         * genpeep.c (gen_peephole): Use delete_related_insns.
10767         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
10768         BB boundaries.
10769         (find_cond_trap): Likewise.
10770         * integrate.c (save_for_inline): Use delete_related_insns.
10771         (copy_insn_list): Likewise.
10772         * jump.c (pruge_linie_number_notes): Likewise.
10773         (duplicate_loop_exit_test): Likewise.
10774         (delete_computation): Likewise.
10775         (delete_related_insn): Rename from ...; use delete_insn
10776         (delete_insn): ... this one.
10777         (redirect_jump): Use delete_related_insns.
10778         * loop.c (scan_loop): Likewise.
10779         (move_movables): Likewise.
10780         (find_and_verify_loops): Likewise.
10781         (check_dbra_loop): Likewise.
10782         * recog.c (peephole2_optimize): Likewise.
10783         * reg-stack.c (delete_insn_for_stacker): Remove.
10784         (move_for_stack_reg): Use delete_insn.
10785         * regmove.c (combine_stack_adjustments_for_block): Likewise.
10786         * reload1.c (delete_address_reloads): Use delete_related_insns.
10787         (fixup_abnormal_edges): Use delete_insn.
10788         * recog.c (emit_delay_sequence): Use delete_related_insns.
10789         (delete_from-delay_slot): Likewise.
10790         (delete_scheduled_jump): likewise.
10791         (optimize_skip): Likewise.
10792         (try_merge_delay_insns): Likewise.
10793         (full_simple_delay_slots): Likewise.
10794         (fill_slots_from_thread): Likewise.
10795         (relax_delay_slots): Likewise.
10796         (make_return_insns): Likewise.
10797         (dbr_schedule): Likewise.
10798         * rtl.h (delete_insn): Rename to delete_related_insns.
10799         (delete_insn, delete_insn_chain): New prototypes.
10800         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
10801         by df_insn_delete already.
10802         * ssa-dce.c (delete_insn_bb): Use delete_insn.
10803         * ssa.c (convert_from_ssa): Use delete_related_insns.
10804         * unroll.c (unroll_loop): Likewise.
10805         (calculate_giv_inc): Likewise.
10806         (copy_loop_body): Likewise.
10807
10808         * i386-protos.h (ix86_libcall_value, ix86_function_value,
10809         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10810         ix86_return_in_memory, ix86_function_value): Declare.
10811         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
10812         new static valurables.
10813         (x86_64_reg_class): New enum
10814         (x86_64_reg_class_name): New array.
10815         (classify_argument, examine_argument, construct_container,
10816          merge_classes): New static functions.
10817         (optimization_options): Enable flag_omit_frame_pointer and disable
10818         flag_pcc_struct_return on 64bit.
10819         (ix86_libcall_value, ix86_function_value,
10820         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10821         ix86_return_in_memory, ix86_function_value): New global functions.
10822         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
10823         (function_arg_advance): Handle x86_64 passing conventions.
10824         (function_arg): Likewise.
10825         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
10826         (RETURN_IN_MEMORY): Move offline.
10827         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
10828         (FUNCTION_VALUE_REGNO_P): New macro.
10829         (FUNCTION_ARG_REGNO_P): Move offline.
10830         (struct ix86_args): Add maybe_vaarg.
10831         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
10832         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
10833
10834 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
10835
10836         * s390.md: Changed attributes for scheduling.
10837         * s390.c: (s390_adjust_cost, s390_adjust_priority)
10838         Changed scheduling
10839
10840 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10841
10842         Table-driven attributes.
10843         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
10844         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
10845         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
10846         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
10847         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
10848         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
10849         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
10850         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
10851         * tree.h (struct tree_decl): Change machine_attributes to
10852         attributes.
10853         * doc/c-tree.texi: Document that all attributes are now attached
10854         to decls and types.
10855         * c-common.c (add_attribute, attrtab, attrtab_idx,
10856         default_valid_lang_attribute, valid_lang_attribute): Remove.
10857         (attribute_tables, attributes_initialized,
10858         c_common_attribute_table, default_lang_attribute_table): New
10859         variables.
10860         (handle_packed_attribute, handle_nocommon_attribute,
10861         handle_common_attribute, handle_noreturn_attribute,
10862         handle_unused_attribute, handle_const_attribute,
10863         handle_transparent_union_attribute, handle_constructor_attribute,
10864         handle_destructor_attribute, handle_mode_attribute,
10865         handle_section_attribute, handle_aligned_attribute,
10866         handle_weak_attribute, handle_alias_attribute,
10867         handle_no_instrument_function_attribute,
10868         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
10869         handle_no_limit_stack_attribute, handle_pure_attribute): New
10870         functions.
10871         (init_attributes, decl_attributes): Rewrite to implement
10872         table-driven attributes.
10873         * c-common.h (enum attribute_flags): Move to tree.h.
10874         * c-format.c (decl_handle_format_attribute,
10875         decl_handle_format_arg_attribute): Rename to
10876         handle_format_attribute and handle_format_arg_attribute.  Update
10877         for table-driven attributes.
10878         * c-common.h (decl_handle_format_attribute,
10879         decl_handle_format_arg_attribute): Remove prototypes.
10880         (handle_format_attribute, handle_format_arg_attribute): Add
10881         prototypes.
10882         * c-decl.c (grokdeclarator): Handle attributes nested inside
10883         declarators.
10884         * c-parse.in (setattrs, maybe_setattrs): Remove.
10885         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
10886         Update to handle nested attributes properly.
10887         (maybe_resetattrs, after_type_declarator,
10888         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
10889         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
10890         properly.
10891         (make_pointer_declarator): Update to handle nested attributes
10892         properly.
10893         * doc/extend.texi: Update documentation of limits of attributes
10894         syntax.  Warn about problems with attribute semantics in C++.
10895         * target.h (struct target): Remove valid_decl_attribute and
10896         valid_type_attribute.  Add attribute_table and
10897         function_attribute_inlinable_p.
10898         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
10899         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
10900         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
10901         Add.
10902         (TARGET_INITIALIZER): Update.
10903         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
10904         definition.
10905         (function_attribute_inlinable_p): New function.  Check for the
10906         presence of any machine attributes before using
10907         targetm.function_attribute_inlinable_p.
10908         (function_cannot_inline_p): Update.
10909         * Makefile.in (integrate.o): Update dependencies.
10910         * doc/tm.texi: Update documentation of target attributes and
10911         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
10912         * tree.c (default_valid_attribute_p, valid_machine_attribute):
10913         Remove.
10914         (default_target_attribute_table,
10915         default_function_attribute_inlinable_p): New.
10916         (lookup_attribute): Update comment to clarify handling of multiple
10917         attributes with the same name.
10918         (merge_attributes, attribute_list_contained): Allow multiple
10919         attributes with the same name but different arguments to appear in
10920         the same attribute list.
10921         * tree.h (default_valid_attribute_p): Remove prototype.
10922         (struct attribute_spec): New.
10923         (default_target_attribute_table): Declare.
10924         (enum attribute_flags): Move from c-common.h.  Add
10925         ATTR_FLAG_TYPE_IN_PLACE.
10926         (default_function_attribute_inlinable_p): Declare.
10927         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
10928         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10929         (TARGET_ATTRIBUTE_TABLE): Define.
10930         (vms_attribute_table): New.
10931         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
10932         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10933         (TARGET_ATTRIBUTE_TABLE): Define.
10934         (arc_attribute_table, arc_handle_interrupt_attribute): New.
10935         * config/arm/arm.c (arm_valid_type_attribute_p,
10936         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
10937         Remove.
10938         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10939         define.
10940         (TARGET_ATTRIBUTE_TABLE): Define.
10941         (arm_attribute_table, arm_handle_fndecl_attribute,
10942         arm_handle_isr_attribute): New.
10943         * config/avr/avr.c (avr_valid_type_attribute,
10944         avr_valid_decl_attribute): Remove.
10945         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
10946         define.
10947         (TARGET_ATTRIBUTE_TABLE): Define.
10948         (avr_attribute_table, avr_handle_progmem_attribute,
10949         avr_handle_fndecl_attribute): New.
10950         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
10951         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10952         (TARGET_ATTRIBUTE_TABLE): Define.
10953         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
10954         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
10955         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10956         (TARGET_ATTRIBUTE_TABLE): Define.
10957         (h8300_attribute_table, h8300_handle_fndecl_attribute,
10958         h8300_handle_eightbit_data_attribute,
10959         h8300_handle_tiny_data_attribute): New.
10960         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
10961         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
10962         Remove prototypes.
10963         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
10964         declarations.
10965         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
10966         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10967         define.
10968         (TARGET_ATTRIBUTE_TABLE): Define.
10969         (ix86_attribute_table, ix86_handle_cdecl_attribute,
10970         ix86_handle_regparm_attribute): New.
10971         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
10972         i386_pe_valid_type_attribute_p): Remove.
10973         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
10974         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
10975         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10976         (TARGET_ATTRIBUTE_TABLE): Define.
10977         (ia64_attribute_table): New.
10978         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
10979         interrupt_ident2, model_ident1, model_ident2): Remove.
10980         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10981         (TARGET_ATTRIBUTE_TABLE): Define.
10982         (init_idents): Update.
10983         (m32r_attribute_table, m32r_handle_model_attribute): New.
10984         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
10985         Remove.
10986         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10987         (TARGET_ATTRIBUTE_TABLE): Define.
10988         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
10989         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
10990         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10991         (TARGET_ATTRIBUTE_TABLE): Define.
10992         (mcore_attribute_table, mcore_handle_naked_attribute): New.
10993         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
10994         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10995         (TARGET_ATTRIBUTE_TABLE): Define.
10996         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
10997         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
10998         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10999         (TARGET_ATTRIBUTE_TABLE): Define.
11000         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
11001         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
11002         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
11003         (TARGET_ATTRIBUTE_TABLE): Define.
11004         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
11005         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
11006         New.
11007         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
11008         Remove.
11009         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
11010         (TARGET_ATTRIBUTE_TABLE): Define.
11011         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
11012         New.
11013         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
11014         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
11015         (TARGET_ATTRIBUTE_TABLE): Define.
11016         (v850_attribute_table, v850_handle_interrupt_attribute,
11017         v850_handle_data_area_attribute): New.
11018         * config/v850/v850-c.c (mark_current_function_as_interrupt):
11019         Return void.  Call decl_attributes instead of
11020         valid_machine_attribute.
11021
11022 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
11023
11024         * sh-protos.h (sh_pr_n_sets): Declare.
11025         * sh.c (calc_live_regs): If the initial value for PR has been copied,
11026         look at the copy to determine if PR needs to be saved.
11027         sh_pr_n_sets: New function.
11028         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
11029         (ALLOCATE_INITIAL_VALUE): Define.
11030
11031         * sh.c (initial_elimination_offset):
11032         Fix RETURN_ADDRESS_POINTER_REGNUM case.
11033
11034 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
11035
11036         * integrate.c (allocate_initial_values): New function.
11037         * integrate.h (allocate_initial_values): Declare.
11038         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
11039         here...
11040         * reload1.c (reload): And initialization of reg_equiv_memory_loc
11041         from here...
11042         * toplev.c (rest_of_compilation): To here.
11043         Call allocate_initial_values.
11044         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
11045
11046 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11047
11048         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
11049
11050 2001-09-20  DJ Delorie  <dj@redhat.com>
11051
11052         * c-typeck.c (really_start_incremental_init): Discriminate
11053         between zero-length arrays and flexible arrays.
11054         (push_init_level): Detect zero-length arrays and handle them
11055         like fixed-sized arrays.
11056         * expr.c (store_constructor): Handle zero-length arrays and
11057         flexible arrays correctly.
11058         * doc/extend.texi: Update zero-length array notes.
11059
11060 2001-09-20  Jim Wilson  <wilson@redhat.com>
11061
11062         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
11063         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
11064         for issue port conflicts.
11065         (cycle_end_fill_slots): TYPE_L instructions take two slots.
11066
11067 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
11068
11069         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
11070         on ia64.
11071
11072 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11073
11074         * fold-const.c (hashtab.h): Include.
11075         (int_const_binop): Remove FORSIZE arg and compute from type; all
11076         callers changed.
11077         Call size_int_type_wide for all single-word constants.
11078         (size_htab_hash, size_htab_eq): New functions.
11079         (size_int_type_wide): Rework to use hash table.
11080         * ggc-common.c (hashtab.h): Include.
11081         (struct d_htab_root): New struct.
11082         (d_htab_roots): New variable.
11083         (ggc_add_deletable_htab, ggc_htab_delete): New functions
11084         (ggc_mark_roots): Handle deletable htabs.
11085         * ggc-page.c (ggc_marked_p): New function.
11086         * ggc-simple.c (ggc_marked_p): Likewise.
11087         * ggc.h: Reformatting throughout.
11088         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
11089         * tree.c (init_obstacks): Make type_hash_table a deletable root.
11090         (type_hash_add): Allocate struct type_hash from GC memory.
11091         (mark_hash_entry, mark_type_hash): Deleted.
11092         (type_hash_marked_p, type_hash_mark): New functions.
11093         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
11094
11095 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
11096
11097         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
11098         than SImode.
11099
11100 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11101
11102         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
11103         array-too-large test for signed sizetype.
11104
11105 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11106
11107         * i386.md (indirect_jump): Allow Pmode operand.
11108         (tablejump): LIkewise; perform expansion to 64bit mode.
11109         * i386.c (symbolic_operand): Allow 64bit PIC references.
11110         (pic_symbolic_operand): Likewise.
11111         (ix86_find_base_term): Strip the 64bit PIC references.
11112         (legitimate_pic_address_disp_p): Handle 64bit PIC.
11113         (legitimize_pic_address): Likewise.
11114         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
11115         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
11116
11117 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
11118
11119         * stringpool.c (get_identifier_with_length): New function.
11120         * tree.h (get_identifier_with_length): New prototype.
11121
11122 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
11123             David Edelsohn  <edelsohn@gnu.org>
11124
11125         Revert:
11126         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
11127         already sign-extended.
11128
11129         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
11130         * config/rs6000/rs6000.c (logical_operand): Always compare op as
11131         HOST_WIDE_INT.
11132         (rs6000_emit_set_long_const): Avoid unnecessary shift.
11133         (output_profile_hook): Declare label_name const.
11134         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
11135         to match constraints.
11136
11137 2001-09-19  Stan Shebs  <shebs@apple.com>
11138
11139         * alias.c: Fix typos in comments.
11140         * sched-rgn.c (init_ready_list): Ditto.
11141         * unwind-dw2.c (uw_frame_state_for): Ditto.
11142         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
11143         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
11144         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
11145
11146 2001-09-19  Richard Henderson  <rth@redhat.com>
11147
11148         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
11149         to the exit block.
11150         * Makefile.in (cfg.o): Depend on TM_P_H.
11151
11152 2001-09-19  Richard Henderson  <rth@redhat.com>
11153
11154         * config/alpha/alpha.c (local_symbol_p): Split out from ...
11155         (local_symbolic_operand): ... here.
11156         (small_symbolic_operand): Check mode.
11157         (global_symbolic_operand): New.
11158         (input_operand): Reject symbolics if explicit relocs.
11159         (call_operand): Tidy.
11160         (alpha_legitimize_address): Use movdi_er_high_g.
11161         (alpha_expand_mov): Likewise.
11162         * config/alpha/alpha-protos.h: Update.
11163         * config/alpha/alpha.h (PREDICATE_CODES): Update.
11164         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
11165         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
11166         (UNSPECV_LDGP2): Remove.
11167         (all call patterns): Use 's' not 'i' for symbolic constraint.
11168         (call_osf call_value_osf): Use call_operand.
11169         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
11170         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
11171         (prologue_ldgp_1_er): Remove.
11172         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
11173         (builtin_setjmp_receiver_er patterns): Use them.
11174         (exception_receiver_er): Likewise.
11175
11176 2001-09-19  Richard Henderson  <rth@redhat.com>
11177
11178         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
11179
11180         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
11181         and NON_LOCAL_GOTO notes.
11182         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
11183         copy over CALL_INSN_FUNCTION_USAGE.
11184
11185 2001-09-18  Catherine Moore  <clm@redhat.com>
11186
11187         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
11188         Define as 0.
11189
11190 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
11191
11192         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
11193         new-style tm_file specification.  Specify correct tm_p_file,
11194         md_file, and out_file for s390x.
11195
11196         * config/s390/linux.h, linux64.h:  Don't include other target
11197         macro header files.  Now handled via tm_file.
11198
11199         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
11200         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
11201         are defined before use.
11202
11203 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
11204
11205         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
11206         code generation only for Gnu assembler.
11207
11208 2001-09-18  Catherine Moore  <clm@redhat.com>
11209
11210         * config/stormy16 (LIB_SPEC): Remove -lnosys.
11211
11212 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
11213
11214         * config/mips/mips.c (mips_frame_set): New.
11215         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
11216         a parallel frame-related expression with a set for each register.
11217
11218 2001-09-18  Philip Blundell  <philb@gnu.org>
11219
11220         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
11221         header files.
11222
11223 2001-09-17  Dale Johannesen  <dalej@apple.com>
11224
11225         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
11226         * config/rs6000/aix.h (FIXED_R2): Define.
11227         * config/rs6000/darwin.h (FIXED_R2): Define.
11228         * config/rs6000/sysv4.h (FIXED_R2): Define.
11229
11230 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
11231
11232         * except.c (dw2_build_landing_pads): New local
11233         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
11234         barrier after clobbers.  Fixes c++/4012.
11235
11236 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11237
11238         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
11239
11240 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
11241
11242         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
11243         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
11244
11245 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11246
11247         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
11248         alloca/strcpy.
11249
11250 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
11251
11252         * cpphash.h (_cpp_lex_direct): New.
11253         * cpplex.c (_cpp_lex_token): Update.
11254         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
11255         and increment that pointer.
11256         * cppmacro.c (alloc_expansion_token): New.
11257         (lex_expansion_token): Lex macro expansion directly into
11258         macro storage.
11259
11260 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
11261
11262         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
11263
11264 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
11265
11266         * basic-block.h (free_bb_for_insn): Declare.
11267         * bb-reorder.c (label_for_bb): Use block_label.
11268         (emit_jump_to_block_after): Remove.
11269         (insert_intra_1): Do not update block_for_insn.
11270         (insert_inter_bb_scope_notes): Likewise; update bb->end
11271         * cfg.c (free_bb_for_insn): New.
11272         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
11273         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
11274         (commit_one_edge_insertion): Likewise.
11275         (commit_one_edge_insertion): Do not update BB boundary.
11276         (commit_edge_insertions): Do not call compute_bb_for_insn.
11277         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
11278         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
11279         (merge_blocks_move_successor_nojumps): Likewise.
11280         (try_crossjump_to_edge): Do not update block_for_insn.
11281         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
11282         * df.c (df_pattern_emit_later): Do not update BB boundary.
11283         (df_jump_pattern_emit_after): Likewise.
11284         (df_insn_move_before): Use emit_insn_before.
11285         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
11286          properly.
11287         (add_insn_after, add_insn_before, emit_insns_after): Update BB
11288         boundaries and basic_block_for_insn.
11289         (reorder_insns_nobb): Rename from reorder_insns.
11290         (reorder_insns): New.
11291         (emit_block_insn_before, emit_block_insn_after): Kill.
11292         * flow.c (check_function_return_warnings): Do not call
11293         compute_bb_for_insn; Do not free basic_block_for_insn.
11294         (attempt_auto_inc): Do not update basic_block_for_insn.
11295         * function.c (emit_return_into_block): Likewise;
11296         do not update BB boundaries.
11297         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
11298         (insert_insn_end_bb): Use emit_insn_before; Likewise.
11299         (pre_insert_copy_insn): Likewise.
11300         (update_ld_motion_notes): Likewise.
11301         (insert_insn_start_bb): Likewise.
11302         (replace_store_insn): Likewise.
11303         * ifcvt.c (noce_process_if_block): Likewise.
11304         (if_convert): Do not call compute_bb_for_insn.
11305         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
11306         Use emit_insn_before and emit_insn_after.
11307         * recog.c (split_all_insns): Do not update BB boundaries;
11308         Do not call compute_bb_for_insn.
11309         (peephole2_optimize): Do not update BB boundaries.
11310         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
11311         emit_insn_before.
11312         (emit_swap_insn): Likewise.
11313         (convert_regs_1): Likewise.
11314         * reload1.c (reload): Call compute_bb_for_insn.
11315         * rtl.h (reorder_insns_nobb): Declare.
11316         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
11317         * toplev.c (rest_of_compilation): Call free_bb_for_insn
11318         at places CFG is invalidated; do not call compute_bb_for_insn.
11319
11320         * cfg.c (expunge_block): Invalidate BB structure.
11321
11322         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
11323         array.
11324
11325         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
11326
11327 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
11328
11329         * cpphash.h (_cpp_lex_token): Update prototype.
11330         * cpplex.c (_cpp_lex_token): New prototype.
11331         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
11332         lex_macro_node, read_flag, do_pragma_poison): Update.
11333         * cppmacro.c (cpp_get_token, parse_params,
11334         lex_expansion_token): Update.
11335
11336 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
11337
11338         * cppmain.c (scan_translation_unit): Don't worry about
11339         putting a space after hashes.
11340         * cpplib.c (directive_diagnostics): New.
11341         (_cpp_handle_directive): Update to use directive_diagnostics.
11342         (run_directive): Don't toggle prevent_expansion.
11343         (do_line): Backup in case of the line extension.
11344         * cpplib.h (cpp_lexer_pos): Remove.
11345         * cppmacro.c (_cpp_create_definition): Precede a leading #
11346         with whitespace.
11347
11348 2001-09-15  Richard Henderson  <rth@redhat.com>
11349
11350         * c-typeck.c (comptypes): Handle zero-length arrays properly.
11351
11352 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11353
11354         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
11355
11356 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11357
11358         PR preprocessor/3571
11359         * tradcpp.c (handle_directive): Skip non-vertical space.
11360
11361 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11362
11363         * cppmain.c (setup_callbacks): Set line callback only
11364         if outputting preprocessed source.
11365
11366 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11367
11368         * collect2.c (main): Const-ification.
11369         * gcc.c (translate_options, process_command): Use xstrdup in
11370         lieu of xmalloc/strcpy.
11371         (main): Use concat in lieu of xmalloc/strcpy/strcat.
11372
11373 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11374
11375         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
11376         example.
11377
11378 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11379
11380         * scan-decls.c (scan_decls): Fix typo.
11381
11382 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11383
11384         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
11385         Split mlstring_pos into mls_line and mls_col.
11386         * cppinit.c (cpp_create_reader): Initialize line to 1.
11387         (cpp_destroy): Free tokenruns.
11388         (push_include): Don't update lexer_pos.
11389         * cpplex.c (unterminated, parse_string): Update.
11390         (lex_token): Don't update lexer_pos, update.
11391         * cpplib.c (if_stack): Save line instead of line + col.
11392         (start_directive, _cpp_do__Pragma, do_else, do_elif,
11393         push_conditional, _cpp_pop_buffer): Update.
11394         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
11395         (_cpp_create_definition): Update.
11396
11397 2001-09-15  Eric Christopher  <echristo@redhat.com>
11398
11399         * config/mips/abi64.h: Add support for MEABI.
11400
11401 2001-09-15  Eric Christopher  <echristo@redhat.com>
11402
11403         * config/mips/mips.md: Add unspec #2.
11404         (reload_indi): Use.
11405         (reload_outdi): Ditto.
11406         (reload_outsi): Ditto.
11407         (HILO_delay): New.
11408
11409 2001-09-15  Eric Christopher  <echristo@redhat.com>
11410             Jason Eckhardt  <jle@redhat.com>
11411
11412         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
11413         * config/mips/isa32-linux.h: New file.
11414         * config/mips/isa3264.h: Ditto.
11415         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
11416         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
11417         (output_block_mode): Support MEABI.
11418         (function_arg): Ditto. Fix floating point arg passing.
11419         (mips_va_start): Ditto.
11420         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
11421         processors.
11422         (mips_asm_file_start): Add new section to pass abi to gdb.
11423         (function_arg_pass_by_reference): Support MEABI.
11424         (mips_parse_cpu): Support mips32 and mips64 processors.
11425         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
11426         TARGET_MIPS5KC.  Support isa32 and isa64.
11427         (processor_type): Add r4kc, r5kc, r20kc.
11428         (GENERATE_MULT3_SI): New.
11429         (GENERATE_MULT3_DI): Ditto.
11430         (GENERATE_MULT3): Remove.
11431         (ISA_HAS_64BIT_REGS): Add isa == 64.
11432         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
11433         (ISA_HAS_MADD_MSUB): New.
11434         (ISA_HAS_CLZ_CLO): Ditto.
11435         (ISA_HAS_DCLZ_DCLO): Ditto.
11436         (ABI_GAS_ASM_SPEC): New.
11437         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
11438         (ASM_SPEC): Ditto.
11439         (LINK_SPEC): Ditto.
11440         (SUBTARGET_CC1_SPEC): Ditto.
11441         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
11442         (PAD_VARARGS_DOWN): Support MEABI.
11443         (HARD_REGNO_NREGS): Move to mips.c.
11444         (ASM_OUTPUT_IDENT): Add #undef.
11445         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
11446         (mulsi3): Use GENERATE_MULT3_SI.
11447         (mulsi3_mult3): Ditto.  Support mips32, mips64.
11448         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
11449         (mul_sub_si): New pattern.
11450         (unnamed splitters): New.
11451         (muldi3): Use GENERATE_MULT3_DI.
11452         (muldi3_internal2): Ditto.
11453         (movdicc): Support mips32.
11454         * config/mips/t-isa3264: New file.
11455
11456 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
11457
11458         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
11459         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
11460         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
11461
11462         * reorg.c (fill_slots_from_thread): After call to
11463         steal_delay_list_from_target, update own_thread as new_thread may
11464         have branched.
11465
11466 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11467
11468         * cpperror.c (print_location): Take line and column, for
11469         default positioning use the previously lexed token.
11470         (_cpp_begin_message): Take line and column.
11471         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
11472         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
11473         * cpphash.h (_cpp_begin_message): Update prototype.
11474         * cppinit.c (push_include): Don't set output line.
11475         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
11476         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
11477         (do_pragma): Kludge for front ends.  Don't expand macros at all.
11478         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
11479         (struct cpp_token): Remove output_line.
11480         (struct cpp_callbacks): New member line_change.
11481         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
11482         cpp_get_token): Preserve BOL flag.
11483         (cpp_get_line): Remove.
11484         (_cpp_backup_tokens): Remove useless abort().
11485         * cppmain.c (cb_line_change): New.
11486         (scan_translation_unit): Don't worry about starting new lines here.
11487         * scan-decls.c (scan_decls): Update.
11488         * c-lex.c (c_lex, init_c_lex): Update.
11489         (cb_line_change, src_lineno): New.
11490
11491 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
11492
11493         * tree.c (append_random_chars): Generate the random
11494         characters in a reproducable fashion.
11495
11496 2001-09-14  Richard Henderson  <rth@redhat.com>
11497
11498         * config/i386/i386.c (internal_label_prefix): New.
11499         (internal_label_prefix_len): New.
11500         (override_options): Set them.
11501         (local_symbolic_operand): New.
11502         (legitimate_pic_address_disp_p): Use it.
11503         (legitimize_pic_address): Likewise.
11504
11505 2001-09-14  Marc Espie <espie@openbsd.org>
11506
11507         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
11508         correctly.
11509
11510 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11511
11512         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
11513         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
11514
11515 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
11516
11517         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
11518         invocation of SUBREG_REGNO_OFFSET.
11519
11520         * haifa-sched.c: Fix typo in FSF copyright statement.
11521         * sched-deps.c: Fix typo in FSF copyright statement.
11522         * sched-ebb.c: Fix typo in FSF copyright statement.
11523         * sched-rgn.c: Fix typo in FSF copyright statement.
11524         * sched-vis.c: Fix typo in FSF copyright statement.
11525
11526         * config.gcc: Move inclusion of arm elf specific header files
11527         from the files themselves into the tm_file variable.  Make
11528         sure that elfos.h is included before target specific elf
11529         headers.
11530         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
11531         already defined.
11532         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
11533         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
11534         ASM_OUTPUT_CASE_LABEL): Protect definition.
11535         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
11536         not already defined.
11537         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
11538         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
11539         Remove duplicate definition.
11540         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
11541         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
11542         (RDATA_SECTION_FUNCTION): Remove redundant definition.
11543         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
11544         Remove inclusion of arm/elf.h.
11545         * config/arm/unknown-elf.h: as for conix-elf.h.
11546         (STARTFILE_SPEC): Include crti.o and crtn.o.
11547         * config/arm/linux-elf.h: as for conix-elf.h.
11548         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
11549         * config/arm/strongarm-elf.h: Remove inclusion of
11550         unknown-elf.h.
11551         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
11552         * config/arm/unknown-elf-oabi.h: Remove inclusion of
11553         unknown-elf.h and elf.h.
11554         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
11555         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
11556         ASM_WEAKEN_LABEL): Remove redundant definition.
11557         * config/arm/elf.h: Test for inclusion of elfos.h
11558         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
11559         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
11560         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
11561         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
11562         redundant definition.
11563         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
11564         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
11565         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
11566         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
11567         Add rules to build crti.o and crtn.o
11568         * crti.asm: New file.
11569         * crtn.asm: New file.
11570
11571 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11572
11573         * c-parse.in (_yylex): Use _cpp_backup_tokens.
11574         * cpphash.h (struct tokenrun): Add prev.
11575         (struct lexer_state): Remove bol.
11576         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
11577         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
11578         : Remove.
11579         * cppinit.c (cpp_create_reader): Don't set bol.
11580         (cpp_destroy): Don't free lookaheads.
11581         * cpplex.c (lex_directive): Remove.
11582         (next_tokenrun): Update.
11583         (_cpp_lex_token): Clean up logic.
11584         (lex_token): Update to return a pointer to lexed token, since it
11585         can move to the start of the buffer.  Simpify newline handling.
11586         * cpplib.c (SEEN_EOL): Update.
11587         (skip_rest_of_line): Remove lookahead stuff.
11588         (end_directive): Line numbers are already incremented.  Revert
11589         to start of lexed token buffer if we can.
11590         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
11591         parse_answer): Use _cpp_backup_tokens.
11592         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
11593         instead.  Don't check for EOL.
11594         (do_include_common, do_line, do_pragma_system_header): Use
11595         skip_rest_of_line.
11596         * cpplib.h (BOL, _cpp_backup_tokens): New.
11597         * cppmacro.c (save_lookahead_token, take_lookahead_token,
11598         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
11599         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
11600         (builtin_macro): Don't use cpp_get_line.
11601         (cpp_get_line): Short term kludge.
11602         (parse_arg): Handle directives in arguments here.  Back up when
11603         appropriate.  Store EOF at end of argument list.
11604         (funlike_invocation_p): Use _cpp_backup_tokens.
11605         (push_arg_context): Account for EOF at end of list.
11606         (cpp_get_token): Remove lookahead stuff.  Update.
11607
11608 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11609
11610         * c-parse.in (yyerror): Const-ification and/or static-ization.
11611         * c-typeck.c (push_member_name): Likewise.
11612         * collect2.c (main): Likewise.
11613         * dbxout.c (dbxout_parms): Likewise.
11614         * diagnostic.c (format_with_decl): Likewise.
11615         * dwarf2out.c (output_ranges): Likewise.
11616         * dwarfout.c (fundamental_type_code): Likewise.
11617         * except.c (dw2_output_call_site_table): Likewise.
11618         * gcc.c (do_spec_1): Likewise.
11619         * genopinit.c (optabs): Likewise.
11620         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
11621         gen_declaration_1, handle_impent): Likewise.
11622         * protoize.c (default_include, in_system_include_dir, abspath):
11623         Likewise.
11624         * sched-vis.c (visualize_stall_cycles): Likewise.
11625         * sdbout.c (plain_type_1, sdbout_end_function,
11626         sdbout_end_epilogue): Likewise.
11627         * varasm.c (decode_reg_name): Likewise.
11628
11629         * 1750a.c (mod_regno_adjust): Likewise.
11630         * alpha.c (alpha_write_one_linkage,
11631         unicosmk_output_default_externs): Likewise.
11632         * arm.c (arm_condition_codes): Likewise.
11633         * arm.h (arm_condition_codes): Likewise.
11634         * avr.c (output_movsisf, encode_section_info): Likewise.
11635         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
11636         Likewise.
11637         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11638         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11639         * m88k.c (output_function_profiler): Likewise.
11640         * mips.c (mips_output_conditional_branch): Likewise.
11641         * ns32k.c (ns32k_out_reg_names): Likewise.
11642         * ns32k.h (ns32k_out_reg_names): Likewise.
11643         * pj.c (pj_output_rval): Likewise.
11644         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
11645         * sparc.c (sparc_flat_function_prologue,
11646         sparc_flat_function_epilogue): Likewise.
11647
11648 2001-09-13  Markus Werle <numerical.simulation@web.de>
11649             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11650
11651         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
11652         Aachen University of Technology".
11653
11654 2001-09-13  Andreas Schwab  <schwab@suse.de>
11655
11656         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
11657         C99.
11658
11659 2001-09-13  Richard Henderson  <rth@redhat.com>
11660
11661         * config/alpha/alpha.c (small_symbolic_operand): New.
11662         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
11663         (some_operand, input_operand): Don't handle HIGH.
11664         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
11665         (alpha_expand_mov): Likewise.
11666         (print_operand) [H]: Just print HIGH symbol.
11667         (print_operand_address): Handle small data.
11668         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
11669         (TARGET_SWITCHES): Add -msmall-data/large-data.
11670         (PIC_OFFSET_TABLE_REGNUM): New.
11671         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
11672         (PREDICATE_COES): Update.
11673         * config/alpha/alpha.md (adddi_er_high): New.
11674         (adddi_er_low): Handle small data.
11675         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
11676         prefer .sdata to .rodata.
11677         (SELECT_RTX_SECTION): Likewise.
11678
11679 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
11680
11681         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
11682         defining __size_t and leaving size_t undefined.
11683
11684 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
11685
11686         * basic-block.h (expunge_block): Declare.
11687         * cfg.c (expunge_block): Remove static declaration.
11688
11689 2001-09-12  Richard Henderson  <rth@redhat.com>
11690
11691         * integrate.c (copy_insn_list): Copy label name from
11692         NOTE_INSN_DELETED_LABEL.
11693
11694 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11695
11696         * c-common.c (c_tree_code_name): Const-ification.
11697         * c-decl.c (c_decode_option): Likewise.
11698         * c-typeck.c (warn_for_assignment): Likewise.
11699         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
11700         Likewise.
11701         * cppinit.c (output_deps): Likewise.
11702         * dependence.c (dependence_string, direction_string): Likewise.
11703         * dwarf2out.c (output_ranges): Likewise.
11704         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
11705         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
11706         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
11707         standard_startfile_prefix, standard_startfile_prefix_1,
11708         standard_startfile_prefix_2, tooldir_base_prefix,
11709         standard_bindir_prefix, find_a_file): Likewise.
11710         * genattrtab.c (make_length_attrs): Likewise.
11711         * gencheck.c (tree_codes): Likewise.
11712         * genemit.c (gen_split): Likewise.
11713         * genrecog.c (special_mode_pred_table): Likewise.
11714         * graph.c (graph_ext): Likewise.
11715         * protoize (default_include): Likewise.
11716         * reload.c (reload_when_needed_name): Likewise.
11717         * sched-vis.c (visualize_stall_cycles): Likewise.
11718         * tlink.c (recompile_files): Likewise.
11719         * toplev.c (decode_g_option): Likewise.
11720         * tradcpp.c (output_deps): Likewise.
11721         * varasm.c (decode_reg_name): Likewise.
11722
11723         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
11724         Const-ification.
11725         * arm.md: Likewise.
11726         * avr.c (avr_regnames, encode_section_info): Likewise.
11727         * c4x.c (float_reg_names): Likewise.
11728         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
11729         * elfos.h (const_section): Likewise.
11730         * i386.c (ix86_comp_type_attributes): Likewise.
11731         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
11732         * ia64/aix.h (UNIQUE_SECTION): Likewise.
11733         * ia64.c (type_names): Likewise.
11734         * m68hc11.c (reg_class_names): Likewise.
11735         * m88k.c (m_options): Likewise.
11736         * mips.c (mips_output_conditional_branch, mips_unique_section):
11737         Likewise.
11738         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
11739         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
11740         ultra_code_names): Likewise.
11741         * sparc.h (OVERRIDE_OPTIONS): Likewise.
11742
11743 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
11744
11745         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
11746         Use --fatal-warnings option for gas.
11747         * configure: Rebuilt.
11748
11749 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11750
11751         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
11752
11753 2001-09-11  Jim Wilson  <wilson@redhat.com>
11754
11755         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
11756
11757 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11758
11759         * builtins.c (c_strlen): Treat an offset too large for a
11760         HOST_WIDE_INT as out of range.
11761
11762 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
11763
11764         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
11765         (EDGE_CRITICAL_P): New predicate.
11766         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
11767         handling.
11768         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
11769         (dump_edge_info): Remove "crit".
11770         * cfganal.c (mark_critical_edges): Kill.
11771         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
11772         * cfgcleanup.c (cleanup_cfg): Likewise.
11773         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
11774         (find_spanning_tree): Likewise.
11775         * reg-stack.c (convert_regs_1): Likewise.
11776         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
11777
11778         * basic-block.h (create_basic_block_structure): New.
11779         (create_basic_block): Update prototype.
11780         (force_nonfallthru): New.
11781         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
11782         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
11783         handle updating of block_for_insn, creating of empty BBs and BBs at
11784         the end of INSN chain.
11785         (create_basic_block): New function.
11786         (split_block): Use create_basic_block.
11787         (force_nonfallthru_and_redirect): Break out from ...; cleanup
11788         (redirect_edge_and_branch_force): ... here.
11789         (force_nonfallthru): New.
11790         (split_edge): Rewrite to use force_nonfallthru and create_block.
11791         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
11792         (find_basic_blocks): Free basic_block_for_insn.
11793         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
11794
11795         * cfg.c: Fix formating.
11796         * cfgcleanup.c: Fix formating.
11797         (merge_blocks, tail_recursion_label_p): Return bool.
11798         (merge_blocks_move_predecessor_nojumps,
11799          merge_blocks_move_successor_nojumps): Return void.
11800
11801 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
11802
11803         * configure.in: Check whether assembler supports section merging.
11804         * config.in: Rebuilt.
11805         * configure: Rebuilt.
11806         * varasm.c (variable_section, output_constant_pool): Pass alignment
11807         to SELECT_SECTION and SELECT_RTX_SECTION.
11808         (mergeable_string_section): New.
11809         (mergeable_constant_section): New.
11810         (default_elf_asm_named_section): Output SECTION_MERGE and
11811         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11812         * output.h (mergeable_string_section): New.
11813         (mergeable_constant_section): New.
11814         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
11815         * toplev.c (flag_merge_constants): New.
11816         (f_options): Add -fmerge-constants and -fmerge-all-constants
11817         options.
11818         (toplev_main): Default to -fno-merge-constants if not optimizing.
11819         * flags.h (flag_merge_constants): Add extern.
11820         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
11821         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
11822         argument.
11823         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
11824         Define if assembler has working .subsection -1 support.
11825         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
11826         Put constant into special SHF_MERGE sections if the linker should
11827         attempt to merge duplicates.
11828         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
11829         macro argument.
11830         Put constant into special SHF_MERGE sections if the linker should
11831         attempt to merge duplicates.
11832         * config/alpha/elf.h: Likewise.
11833         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
11834         has working .subsection -1 support.
11835         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
11836         SELECT_SECTION.
11837         * config/svr3.h: Likewise.
11838         * config/darwin.h: Likewise.
11839         * config/arm/aof.h: Likewise.
11840         * config/arm/linux-elf.h: Likewise.
11841         * config/avr/avr.h: Likewise.
11842         * config/c4x/c4x.h: Likewise.
11843         * config/d30v/d30v.h: Likewise.
11844         * config/i386/dgux.h: Likewise.
11845         * config/i386/osfrose.h: Likewise.
11846         * config/i386/sco5.h: Likewise.
11847         * config/i386/svr3gas.h: Likewise.
11848         * config/ia64/aix.h: Likewise.
11849         * config/m32r/m32r.h: Likewise.
11850         * config/m68k/m68k.h: Likewise.
11851         * config/m88k/dgux.h: Likewise.
11852         * config/m88k/m88k.h: Likewise.
11853         * config/mcore/mcore-pe.h: Likewise.
11854         * config/mips/mips.h: Likewise.
11855         * config/pa/pa.h: Likewise.
11856         * config/pa/pa-linux.h: Likewise.
11857         * config/romp/romp.h: Likewise.
11858         * config/rs6000/sysv4.h: Likewise.
11859         * config/rs6000/xcoff.h: Likewise.
11860         * config/s390/linux.h: Likewise.
11861         * config/sparc/sparc.h: Likewise.
11862         * config/sparc/sysv4.h: Likewise.
11863         * config/stormy16/stormy16.h: Likewise.
11864         * config/v850/v850.h: Likewise.
11865         * config/vax/vms.h: Likewise.
11866         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
11867         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11868         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
11869         default_elf_asm_named_section for SHF_MERGE sections.
11870
11871 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11872
11873         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
11874         is OK.
11875
11876 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
11877
11878         * c-common.c (split_specs_attrs): Allow for empty attributes with
11879         empty TREE_PURPOSE.  Fixes PR c/4294.
11880
11881 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
11882
11883         * basic-block.h (cached_make_edge, make_single_succ): New.
11884         (make_edge): Remove first parameter.
11885         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
11886         * cfg.c (cached_make_edge): Rename from make_edge; return newly
11887         created edge; use obstack allocation.
11888         (make_edge, make_single_succ_edge): New.
11889         (first_removed_edge): New static variable.
11890         (init_flow): Initialize first_removed_edge and n_edges.
11891         (clear_edges): Use remove_edge.
11892         (flow_delete_block): Likewise.
11893         (remove_edge): Add removed edges to the removed edges list.
11894         (split_block, redirect_edge_and_branch_force, split_edge):
11895         Use make_edge.
11896         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
11897         (add_noreturn_fake_exit_edges): Likewise.
11898         (connect_infinite_loops_to_exit): Liekwise.
11899         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
11900         Use cached_make_edge.
11901         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
11902         * profile.c (branch_prob): Update make_edge call.
11903         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11904
11905 2001-09-11  Richard Henderson  <rth@redhat.com>
11906
11907         * config/alpha/alpha.c: Tidy formatting.
11908         (local_symbolic_operand): Verify mode.
11909         (alpha_sa_mask): Ignore unicos for eh_return.
11910         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
11911         * config/alpha/alpha.md (umk divsi patterns): Remove.
11912         (extendsfdf2): Remove unicos check.
11913         (tablejump): Merge vms and unicos code; always use direct set
11914         plus label_ref use.
11915
11916 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11917
11918         * config.gcc (alpha*-*-unicosmk*): New target.
11919
11920         * config/alpha/alpha-protos.h (symbolic_operand,
11921         unicosmk_add_call_info_word, unicosmk_add_extern,
11922         unicosmk_defer_case_vector, unicosmk_unique_section,
11923         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
11924         unicosmk_asm_file_start, unicosmk_asm_file_end,
11925         unicosmk_output_common): Declare.
11926
11927         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
11928         direct_return, function_arg, alpha_va_start, alpha_va_arg,
11929         alpha_does_function_need_gp, alpha_end_function): Support Cray
11930         Unicos/Mk.
11931         (alpha_init_machine_status, alpha_mark_machine_status,
11932         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
11933         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
11934         unicosmk_asm_named_section, unicosmk_insert_attributes,
11935         unicosmk_section_type_flags, symbolic_operand,
11936         unicosmk_output_module_name, unicosmk_output_default_externs,
11937         unicosmk_output_dex, unicosmk_output_externs,
11938         unicosmk_output_addr_vec, unicosmk_ssib_name,
11939         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
11940         unicosmk_asm_file_end, unicosmk_output_common,
11941         unicosmk_section_type_flags, unicosmk_unique_section,
11942         unicosmk_add_call_info_word, unicosmk_text_section,
11943         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
11944         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
11945         unicosmk_dex_count, unicosmk_special_name): New.
11946         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
11947         TARGET_ABI_UNICOSMK.
11948         (get_aligned_mem, alpha_expand_unaligned_load,
11949         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
11950         alpha_expand_unaligned_store_words): Support big-endian mode.
11951         (print_operand): Likewise. New format specifier 't'. Use
11952         TARGET_AS_SLASH_BEFORE_SUFFIX.
11953         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
11954         (alpha_pv_save_size): Update with above change.
11955         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
11956         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
11957         Unicos/Mk.
11958
11959         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
11960         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
11961         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
11962         (EXTRA_CONSTRAINT): New constraint 'U'.
11963         (PREDICATE_CODES): Add symbolic_operand.
11964
11965         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
11966         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
11967         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
11968         (integer division and modulus patterns): Split in default and
11969         Unicos/Mk versions.
11970         (*divmodsi_internal, *divmoddi_internal): Disable for
11971         TARGET_ABI_UNICOSMK.
11972         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
11973         little-endian and big-endian versions.
11974         (ext, ins, msk): Likewise.
11975         (extv, extzv, insv): Support big-endian mode.
11976         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
11977         (call_umk, call_value_umk, *call_umk, tablejump_umk,
11978         *tablejump_umk_internal, *call_value_umk): New.
11979         (*movdi_nofix): Add pattern for loading an address into a register on
11980         TARGET_ABI_UNICOSMK.
11981         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
11982         (umk_mismatch_args, arg_home_umk): New.
11983         (various insns): Don't use mov, fmov, nop, fnop and unop.
11984         (realign): Support TARGET_ABI_UNICOSMK.
11985
11986         * config/alpha/unicosmk.h: New file.
11987         * config/alpha/t-unicosmk: New file.
11988
11989         * fixinc/inclhack.def (unicosmk_restrict): New.
11990         * fixinc/fixincl.x: Regenerate.
11991
11992         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
11993         (wchar_t): Check for and define __WCHAR_T__.
11994
11995 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
11996
11997         * combine.c (simplify_shift_const): Treat shifts by the mode
11998         size as undefined.
11999
12000 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12001
12002         * cpphash.h (struct tokenrun): New.
12003         (struct cpp_context): New member bol.
12004         (struct cpp_reader): New members.
12005         (_cpp_init_tokenrun): New.
12006         * cppinit.c (cpp_create_reader): Set up the token runs.
12007         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
12008         (lex_token): New internalised version of _cpp_lex_token.  Don't
12009         handle directives or the multiple include optimization here any
12010         more.  Simply lex a token.
12011         * cpplib.c (run_directive): Clear bol.
12012         (_cpp_pop_buffer): Set bol.
12013         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
12014         arguments.
12015
12016 2001-09-11  Michael Meissner  <meissner@redhat.com>
12017
12018         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
12019         give an error if the user uses -mfp32.
12020         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
12021         default options.
12022         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
12023         floating point register size.
12024         (EXTRA_SPECS): Add CPP_FPR_SPEC.
12025
12026         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
12027         HOST_WIDE_INT_PRINT_DEC to properly print the result of
12028         int_size_in_bytes.
12029         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
12030         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
12031
12032 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
12033
12034         * dbxout.c (dbxout_parms): Fix typo in comment.
12035         * unroll.c (loop_find_equiv_value): Ditto.
12036         * toplev.c (rest_of_compilation): Ditto.
12037         * loop.c (scan_loop): Ditto.
12038         * dwarf2out.c (struct dw_fde_struct): Ditto.
12039
12040 2001-09-10  Zack Weinberg  <zackw@panix.com>
12041
12042         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
12043         copying identifier when we're just going to throw it away.
12044         (parse_identifier_slow): New routine to handle abnormal cases.
12045         (_cpp_lex_token): Update call site.
12046
12047         * hashtable.c (ht_lookup): Don't assume that the string we've
12048         been given is NUL-terminated.
12049         * system.h: #define __builtin_expect(a, b) to (a) if not
12050         GCC >=3.0.
12051
12052 2001-09-10  Michael Meissner  <meissner@redhat.com>
12053
12054         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
12055         binutils, gdb.
12056
12057 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
12058
12059         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
12060
12061 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12062
12063         * builtins.c (c_getstr): Correct thinko in last change and further
12064         cleanup.
12065
12066 2001-09-10  Tim Freeman <tim@fungibole.com>
12067
12068         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
12069         into varray's and register them as roots with the garbage
12070         collector so they are not collected too soon.
12071
12072 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
12073
12074         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
12075         New.
12076         * basic-block.h (flow_obstack, label_value_list,
12077         tail_recursion_label_list): Declare
12078         (tidy_fallthru_edges): Declare.
12079         (expunge_block, last_loop_beg_note): Delete.
12080         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
12081         * cfg.c: New file
12082         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
12083         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
12084         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
12085         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
12086         expunge_block, flow_delete_block, compute_bb_for_insn,
12087         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
12088         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
12089         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
12090         try_redirect_by_replacing_jump, last_loop_beg_note,
12091         redirect_edge_and_branch, redirect_edge_and_branch_force,
12092         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
12093         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
12094         commit_edge_insertions, dump_flow_info, debug_flow_info,
12095         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
12096         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
12097         Move here from flow.c
12098         * cfganal.c: New file.
12099         (forwarder_block_p, can_fallthru, mark_critical_edges,
12100          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
12101          find_unreachable_blocks, create_edge_list, free_edge_list,
12102          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
12103          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
12104          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
12105          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
12106          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
12107          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
12108         Move here from flow.c
12109         * cfgbuild.c: New file
12110         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
12111          make_edges, find_basic_blocks_1, find_basic_blocks,
12112          find_sub_basic_blocks): Move here from flow.c
12113         * cfgcleanup.c: New file.
12114         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
12115          merge_blocks_move_predecessor_nojumps,
12116          merge_blocks_move_successor_nojumps, merge_blocks,
12117          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
12118          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
12119         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
12120         if succeeded.
12121         * cfgloop.c: New file
12122         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
12123          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
12124          flow_loop_exit_edges_find, flow_loop_nodes_find,
12125          flow_loop_pre_header_scan, flow_loop_pre_header_find,
12126          flow_loop_tree_node_add, flow_loops_tree_build,
12127          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
12128          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
12129         Move here from flow.c
12130         * flow.c: Remove everything moved elsewhere
12131         * output.h (cleanup_cfg): Return bool.
12132
12133         * bb-reorder.c (reorder_block_def): Remove 'index'.
12134         (insert_intra_1): Add argument BB, set block for new note.
12135         (make_reorder_chain): Do not depdent on BB indexes.
12136         (make_reorder_chain_1): Do not use BB indexes.
12137         (label_for_bb): Likewise; set BB for new insn.
12138         (emit_jump_to_block_after): Likewise.
12139         (fixup_reorder_chain): Sanity check that all basic blocks
12140         are chained; verify newly created insn chain; remove
12141         undocnitional jump simplifying; Do not use BB indexes;
12142         properly initialize count and frequency information;
12143         dump reordered sequence.
12144         (insert_intra_bb_scope_notes): update call of insert_intra_1.
12145         (insert_inter_bb_scope_notes): Set block for new insn.
12146         (reorder_basic_blocks): Dump flow info before reoredering.
12147
12148 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12149
12150         * alias.c (clear_reg_alias_info): Use K&R format definition.
12151         Avoid unsigned warning.
12152         * builtins.c: Use "unsigned int", not "unsigned".
12153         (target_char_cast): Use host_integerp and tree_low_cst.
12154         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
12155         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
12156         (c_getstr): Likewise.
12157         (std_expand_builtin_va_arg): Use int_size_in_bytes.
12158         (builtin_memcpy_read_str): Avoid unsigned warning.
12159         (expand_builtin_memcpy): Alignments are unsigned.
12160         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
12161         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
12162         * predict.c (expensive_function_p): LIMIT now unsigned.
12163         * resource.c (mark_target_live_regs): Make some vars unsigned.
12164         * sdbout.c: Use "unsigned int", not "unsigned".
12165         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
12166         (sdbout_source_line): Likewise.
12167         (sdbout_record_type_name): Remove "const" for NAME declaration.
12168         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
12169
12170 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
12171
12172         * calls.c (store_one_arg): Expand comment.
12173
12174 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12175
12176         * calls.c (store_one_arg): Make sure that the entire argument is
12177         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
12178
12179 2001-09-09  Richard Henderson  <rth@redhat.com>
12180
12181         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
12182
12183 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
12184
12185         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
12186
12187 2001-09-09  Richard Henderson  <rth@redhat.com>
12188
12189         * config/alpha/alpha.c (alpha_next_sequence_number): New.
12190         (alpha_this_literal_sequence_number): New.
12191         (alpha_this_gpdisp_sequence_number): New.
12192         (some_operand, input_operand): Add HIGH.
12193         (local_symbolic_operand): New.
12194         (alpha_encode_section_info): New.
12195         (alpha_legitimate_address_p): Allow LO_SUM.
12196         (alpha_legitimize_address): Generate HIGH+LO_SUM.
12197         (alpha_expand_mov): Likewise.
12198         (secondary_reload_class): Check memory_operand not general_operand
12199         for FP_REGS test.
12200         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
12201         (alpha_expand_unaligned_store): Likewise.
12202         (alpha_expand_unaligned_load_words): Likewise.
12203         (alpha_expand_unaligned_store_words): Likewise.
12204         (alpha_expand_block_clear): Likewise.
12205         (print_operand): Handle %#, %*, %H.
12206         (print_operand_address): Handle LO_SUM.
12207         (find_lo_sum): New.
12208         (alpha_does_function_need_gp): Use it.
12209         (alpha_expand_block_move): Fix signed compare warnings.
12210         (alpha_sa_mask, alpha_align_insns): Likewise.
12211         * config/alpha/alpha-protos.h: Update.
12212         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
12213         (MASK_EXPLICIT_RELOCS): New.
12214         (TARGET_SWITCHES): Add -mexplicit-relocs.
12215         (EXTRA_CONSTRAINT): Add 'T'.
12216         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
12217         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
12218         (ENCODE_SECTION_INFO): Out line.
12219         (REDO_SECTION_INFO_P): New.
12220         (STRIP_NAME_ENCODING): New.
12221         (ASM_OUTPUT_LABELREF): New.
12222         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
12223         (PREDICATE_CODES): Update.
12224         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
12225         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
12226         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
12227         builtin_setjmp_receiver_er, exception_receiver_1_er,
12228         call_value_osf_1_er): New patterns.
12229         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
12230         (movqi, movhi, movsi): Add explicit $31 base register to lda.
12231         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
12232         (FINAL_PRESCAN_INSN): New.
12233
12234 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
12235
12236         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
12237
12238 2001-09-08  Andreas Jaeger  <aj@suse.de>
12239
12240         * i386.h (TARGET_SWITCHES): Fix description.
12241
12242 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
12243
12244         * rs6000.c (num_insns_constant): Compute number of instructions
12245         more accurately.
12246
12247         * doc/install.texi: Explain AIX exception handling work-around.
12248         Update URL for AIX fixes.
12249
12250 2001-09-07  Jim Wilson  <wilson@redhat.com>
12251
12252         * alias.c (clear_reg_alias_info): New.
12253         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
12254         * rtl.h (clear_reg_alias_info): Declare.
12255
12256 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12257
12258         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
12259         available.
12260         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
12261         (m16m,edivm,emulm): Change declaration to match definition.
12262
12263 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
12264
12265         * reload.c (push_reload): Check for subreg_lowpart_p instead of
12266         SUBREG_BYTE being 0 when determining if the inner part of a subreg
12267         can be reloaded.
12268
12269 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12270
12271         * c-common.c (signed_or_unsigned_type): Handle machine mode types
12272         which have no corresponding C type.
12273         * fold_const.c (target_isinf,target_isnan,target_negative): Update
12274         the representation of 64-bit doubles to work with 64-bit ints.
12275
12276 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
12277
12278         * config/mips/mips.c (override_options): Do not override ISA when ABI
12279         specified if MIPS_CPU_STRING_DEFAULT was specified.
12280
12281 2001-09-07  Richard Henderson  <rth@redhat.com>
12282
12283         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
12284         (express_from_1): Wrap lines.
12285         * rtlanal.c (commutative_operand_precedence): Rename from
12286         operand_preference; export.
12287         * rtl.h: Declare it.
12288         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
12289         (simplify_binary_operation): Invoke simplify_plus_minus on
12290         (CONST (PLUS ...)) as well.
12291         (struct simplify_plus_minus_op_data): New.
12292         (simplify_plus_minus_op_data_cmp): New.
12293         (simplify_plus_minus): Use them.  Avoid infinite recursion with
12294         simplify_binary_operation wrt CONST.
12295
12296 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
12297
12298         * h8300-protos.h (general_operand_dst_push): Remove.
12299         * h8300.c (general_operand_dst_push): Likewise.
12300         * h8300.h (OK_FOR_T): Likewise.
12301         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
12302         * h8300.md (pushqi_h8300): New.
12303         (pushqi_h8300hs): Likewise.
12304         (pushqi): Likewise.
12305         (pushhi_h8300): Likewise.
12306         (pushhi_h8300hs): Likewise.
12307         (pushhi): Likewise.
12308
12309 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12310
12311         * genattrtab.c (attr_printf): First arg is unsigned.
12312         Clean up formatting of callers.
12313
12314 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
12315
12316         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
12317         registers.
12318
12319 2001-09-07  Andreas Jaeger  <aj@suse.de>
12320
12321         * i386.h (TARGET_SWITCHES): Fix descriptions.
12322
12323 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12324
12325         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
12326
12327 2001-09-06  Ira Ruben  <ira@apple.com>
12328
12329         Remove OP_IDENTIFIER.
12330         * tree.def (OP_IDENTIFIER): Remove.
12331         * tree.c (tree_node_kind enum): Remove op_id_kind.
12332         (tree_node_kind_names): Remove "op_identifiers".
12333         (make_node): Remove OP_IDENTIFIER test.
12334         (build_op_identifier): Removed because it isn't being used.
12335         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
12336         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
12337
12338 2001-09-06  Richard Henderson  <rth@redhat.com>
12339
12340         * simplify-rtx.c (simplify_binary_operation): Revert last change.
12341
12342 2001-09-06  Richard Henderson  <rth@redhat.com>
12343
12344         * simplify-rtx.c (simplify_binary_operation): Simplify contents
12345         of CONST.
12346
12347 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12348
12349         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
12350         number used for CR register.
12351
12352 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
12353                           Joern Rennecke (amylaar@cygnus.com)
12354
12355         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
12356         * h8300.c (initial_offset): Handle offset between RP and FP.
12357         (h8300_return_addr_rtx): New function.
12358         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
12359         return register.
12360         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
12361         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
12362         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
12363         (CAN_ELIMINATE, REGISTER_NAMES):
12364         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
12365
12366 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
12367
12368         Remove TYPE_NONCOPIED_PARTS.
12369         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
12370         (struct tree_type): Remove noncopied_parts.
12371         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
12372         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
12373         (fixed_type_p): Remove.
12374         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
12375         (expand_expr, MODIFY_EXPR): Likewise.
12376         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
12377         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
12378
12379 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
12380
12381         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
12382         compiler warnings.
12383         (mask64_operand): Likewise.
12384         (includes_rldic_lshift_p): Likewise.
12385         (includes_rldicr_lshift_p): Likewise.
12386
12387 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
12388
12389         * objc/objc-act.c (build_message_expr): If a class method cannot
12390         be found, do not issue a warning if a corresponding instance
12391         method exists in the root class.
12392
12393 2001-09-05  Richard Henderson  <rth@redhat.com>
12394
12395         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
12396
12397 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
12398
12399         * function.c (ggc_mark_struct_function): Mark f->outer.
12400         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
12401         * integrate.c (output_inline_function): ... not here.
12402
12403 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
12404
12405         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
12406
12407         * i386.c (size_cost): New static variable.
12408         (override_function): Use size_cost when -Os is specified.
12409
12410         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
12411         properly;  Use current_function_calls_eh_return.
12412         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
12413         use leave to avoid dependency chain.
12414
12415         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
12416         get BB loop_depth instead of computing it from LOOP notes.
12417
12418         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
12419
12420 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12421
12422         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12423         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
12424         UNALIGNED_DOUBLE_INT_ASM_OP): Define
12425
12426 2001-09-05  Jeffrey A Law  (law@cygnus.com)
12427             Jason Merrill (jason@redhat.com)
12428
12429         * stor-layout.c (layout_type): Complain if an array's size can
12430         not be represented in a size_t.
12431
12432         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
12433
12434 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
12435
12436         * gcc.c: (process_command) Add parentheses around assignment
12437         used as truth value.
12438
12439 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
12440
12441         * config/mips/mips.c (save_restore_insns): Don't mark any register
12442         save slots as unchanging if current_function_calls_eh_return.
12443
12444 2001-09-05  Richard Henderson  <rth@redhat.com>
12445
12446         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
12447         * config/alpha/alpha-protos.h: Declare it.
12448         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
12449         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
12450         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
12451         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
12452         (REG_OK_FOR_BASE_P): Select one of the above.
12453
12454 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
12455
12456         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
12457         (crti.o): Prefix name of object file with $(T).
12458         (crtn.o): Likewise.
12459
12460 2001-09-05  David S. Miller  <davem@redhat.com>
12461
12462         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
12463         * config/sparc/linux64.h: Likewise.
12464
12465 2001-09-05  Andreas Jaeger  <aj@suse.de>
12466
12467         * doc/invoke.texi (i386 Options): -mwide-multiply is not
12468         available anymore, remove the documentation.
12469         (i386 Options): Fix typo, cleanup index entries.
12470
12471         * prefix.c (concat): Remove, we can use the version from liberty.
12472
12473 2001-09-05  Richard Henderson  <rth@redhat.com>
12474
12475         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
12476         New functions split out of md file expanders.
12477         * config/alpha/alpha-protos.h: Declare them.
12478         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
12479
12480 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12481
12482         * cppmacro.c (funlike_invocation_p): No need to restore context.
12483
12484 2001-09-04  Richard Henderson  <rth@redhat.com>
12485
12486         * reload.c (push_reload): Export.
12487         * reload.h (push_reload): Declare it.
12488
12489         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
12490         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
12491         * config/alpha/alpha.c (alpha_legitimize_address): New.
12492         (alpha_legitimize_reload_address): Likewise.
12493         * config/alpha/alpha-protos.h: Declare them.
12494
12495 2001-09-04  Stan Shebs  <shebs@apple.com>
12496
12497         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
12498         * config/darwin.c (machopic_stub_name): Account for internally
12499         generated lib calls such as memcpy.
12500
12501 2001-09-04  Richard Henderson  <rth@redhat.com>
12502
12503         * unwind.h (_UA_END_OF_STACK): New flag.
12504         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
12505
12506 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
12507
12508         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
12509
12510 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
12511
12512         * config/mips/mips.c (save_restore_insns): Change base_offset to
12513         fp_offset in second call to mips_emit_frame_related_store.
12514
12515 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
12516
12517         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
12518         sometimes be represented as a NOTE of type
12519         NOTE_INSN_DELETED_LABEL.
12520         (Insns): Document NOTE_INSN_DELETED_LABEL.
12521
12522 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
12523
12524         * c-common.h (tree_dump_index): Add more comments.
12525         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
12526         (dump_option_value_info): New struct.
12527         (dump_options): New array.
12528         (dump_switch_p): Parse switch options symbolically.
12529         * doc/invoke.texi (-fdump-ast): Rename to ...
12530         (-fdump-tree): ... here. Document that options are symbolic, and
12531         not all are applicable.
12532
12533 2001-09-04  David S. Miller  <davem@redhat.com>
12534
12535         * config/sparc/sparc.md (define_splits): Kill constraints.
12536
12537         Cleanup redundant and unused insn attributes.
12538         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
12539         binary, and move.  Mark ialu as default.
12540         (commented out define_function_unit "alu"): Kill.
12541         (define_attr "use_clobbered"): Kill.
12542         (whole file): Kill address insn type references.  Replace
12543         all unary/binary/move references with ialu.
12544         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
12545         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
12546         TYPE_IALU.
12547
12548         Simplify length insn attribute and make more judicious use
12549         of insn attribute defaulting.
12550         * config/sparc/sparc.md (all insns with length > one): Mark as
12551         insn type multi if real instructions, else use default if
12552         it is a forced splitter.
12553         (all insns with length == one): Use default insn length.
12554         (all insns of type ialu): Use default insn type.
12555
12556         Fix erroneous insn attribute settings.
12557         (addx): Set insn type to misc.
12558         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
12559         const_umulsidi3_sp64): Set insn type to imul.
12560
12561         Track SFmode vs DFmode insns according to UltraSPARC
12562         scheduling rules.
12563         * config/sparc/sparc.md ("fptype"): New attribute, default
12564         to "single".
12565         (all DFmode single insns): Mark as fptype "double".
12566
12567 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
12568
12569         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
12570
12571 2001-09-03  Richard Henderson  <rth@redhat.com>
12572
12573         * function.h (struct function): Add arg_pointer_save_area_init.
12574         * function.c (expand_function_end): Init arg_pointer_save_area.
12575         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
12576         when called from a nested function.
12577
12578 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
12579
12580         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
12581         is enabled.
12582
12583 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
12584
12585         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
12586
12587 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
12588
12589         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
12590         (emit_push_insn): Use specified padding direction when
12591         STACK_PUSH_CODE is POST_INC.
12592
12593         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
12594
12595 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12596
12597         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
12598
12599 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
12600
12601         * cppinit.c (cpp_start_read): Free the imacros list as we
12602         traverse it.  Don't free the chains before returning.
12603         (_cpp_push_next_buffer): Only try pushing buffers if we've
12604         completed -imacros handling.
12605
12606 2001-08-31  Eric Christopher  <echristo@redhat.com>
12607
12608         * gcc.c (handle_braces): Add explaination for abort.
12609
12610 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
12611
12612         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
12613         move adjustment of bitpos instead.
12614
12615 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
12616
12617         * function.c: Remove all_functions.  Make outer_function_chain
12618         static.
12619         (init_function_start): Don't add new function structure to
12620         all_functions.
12621         (find_function_data, push_function_context_to,
12622         pop_function_context_from, put_var_into_stack,
12623         trampoline_address): Update for changed structure element names.
12624         (push_function_context_to): Disentangle.
12625         (free_after_compilation): Also free F.
12626         (expand_dummy_function_end): Don't free cfun here.
12627         (put_var_into_stack): Comment why we can't use find_function_data here.
12628         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
12629         (mark_function_chain): Split into maybe_mark_struct_function and
12630         ggc_mark_struct_function.  Export the latter.
12631         (init_function_once): Mark from cfun and outer_function_chain;
12632         not all_functions.
12633
12634         * function.h (struct function): Kill next_global.  Rename next
12635         to outer.  All users updated to match.
12636         (all_functions, outer_function_chain): Don't declare.
12637
12638         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
12639         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
12640         don't touch f->inlinable, after calling rest_of_compilation.
12641
12642         * tree.h: Forward-declare struct function.  Prototype
12643         ggc_mark_struct_function.
12644
12645 2001-08-31  Kazu Hirata  <kazu@hxi.com>
12646
12647         * config/h8300/h8300.md (*andorhi3): Fix typos.
12648
12649 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12650
12651         * calls.c (emit_library_call_value): Don't use a fixed
12652         argument after VA_CLOSE, i.e. out of scope in traditional C.
12653
12654         * emit-rtl.c (gen_rtvec): Likewise.
12655
12656 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12657
12658         * Makefile.in (c-pragma.o): Depend on output.h.
12659         (reorg.o): Depend on except.h.
12660
12661         * c-pragma.c: Include output.h.
12662
12663         * reorg.c: Include except.h.
12664
12665         * unwind-dw2.c: Call __builtin_alloca, not alloca.
12666
12667 2001-08-31  Richard Henderson  <rth@redhat.com>
12668
12669         * sched-deps.c (add_dependence): Don't elide dependency if the
12670         conditional used by insn is modified in elem.
12671
12672 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
12673
12674         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
12675
12676 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
12677
12678         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
12679         dump_switch_p.
12680
12681 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12682
12683         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
12684         function.
12685         (stormy16_asm_out_constructor): New function.
12686         (TARGET_ASM_CONSTRUCTOR): Define.
12687         (TARGET_ASM_DESTRUCTOR): Define.
12688
12689 2001-08-31  Andreas Jaeger  <aj@suse.de>
12690
12691         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
12692         * loop.c (add_label_notes): Likewise.
12693         * reload.c (find_reloads): Likewise.
12694         * config/sh/sh.c (machine_dependent_reorg): Likewise.
12695
12696 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
12697
12698         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
12699         code here.  Take _Unwind_{W,Sw}ord*.
12700         (read_encoded_value_with_base): Use them.
12701         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
12702         words.
12703         (extract_cie_info): Simplify read_?leb128 handling.
12704         (execute_stack_op, execute_cfa_program): Likewise.
12705         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
12706
12707 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12708
12709         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
12710         the frame pointer to pop the stack if convenient.
12711
12712         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
12713         Don't use post-increment before combine.
12714         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
12715         a call-saved register.
12716
12717 2001-08-31  Andreas Jaeger  <aj@suse.de>
12718
12719         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
12720         code was correct.
12721
12722 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
12723
12724         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
12725         not DIV/MOD, of course.
12726
12727 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
12728
12729         * rtl.def: Undo my patch commited 2001-08-27.
12730
12731         * genattrtab.c: Ditto.
12732
12733         * rtl.h: Ditto.
12734
12735         * sched-int.h: Ditto.
12736
12737         * target-def.h: Ditto.
12738
12739         * target.h: Ditto.
12740
12741         * haifa-sched.c: Ditto.
12742
12743         * sched-rgn.c: Ditto.
12744
12745         * sched-vis.c: Ditto.
12746
12747         * Makefile.in: Ditto.
12748
12749         * doc/md.texi: Ditto.
12750
12751         * doc/tm.texi: Ditto.
12752
12753         * doc/contrib.texi: Ditto.
12754
12755         * doc/gcc.texi: Ditto.
12756
12757         * genattrtab.h: Remove it.
12758
12759         * genautomata.c: Remove it.
12760
12761         * genattr.c: Undo my patch and Richard Henderson's patch commited
12762         2001-08-27.
12763
12764 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
12765
12766         * config.gcc (h8300-*-elf*): New case.
12767         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
12768         (SUBTARGET_CPP_SPEC): Define.
12769         (EXTRA_SPECS): Define.
12770         (SUBTARGET_EXTRA_SPECS): Define.
12771         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
12772         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
12773
12774 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
12775
12776         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
12777         (LIB2FUNCS_EXTRA): Define.
12778         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
12779         config/h8300/fixunssfsi.c: New file.
12780
12781 2001-08-30  Kazu Hirata  <kazu@hxi.com>
12782
12783         * config/h8300/h8300.md (zero_extendqihi2): Changes to
12784         define_expand to accommodate target-specific attributes.
12785         (anonymous zero_extendqihi2 patterns): New.
12786
12787 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
12788
12789         * h8300.md (*andorhi3): New pattern.
12790
12791 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
12792
12793         * h8300.c (dosize): Fix test for "sub".
12794
12795 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
12796
12797         * c-typeck.c (pointer_diff): Try to eliminate common term before
12798         doing conversions.
12799
12800 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
12801
12802         * config/arm/arm.c (arm_compute_initial_elimination_offset):
12803         Account for the saves of the FP registers.
12804
12805         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
12806         (TEXT_SECTION_ASM_OP): Define.
12807         (INIT_SECTION_ASM_OP): Define.
12808         (FINI_SECTION_ASM_OP): Define.
12809         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
12810         (RDATA_SECTION_FUNCITON): Provide prototype.
12811
12812 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
12813
12814         * reload1.c (move2add_note_store): Correct typo checking for
12815         argument pushes.
12816
12817 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
12818
12819         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
12820         note should not be considered outside the libcall block.
12821
12822 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12823
12824         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
12825
12826 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12827
12828         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
12829
12830 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12831
12832         * config/h8300/h8300-protos.h: Add a prototype for
12833         emit_logical_op.
12834         * config/h8300/h8300.c (emit_logical_op): New.
12835         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
12836         (andsi3): Likewise.
12837         (iorhi3): Likewise.
12838         (iorsi3): Likewise.
12839         (xorhi3): Likewise.
12840         (xorsi3): Likewise.
12841
12842 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12843
12844         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
12845         comparison with rtx INTVAL.
12846         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
12847         expression.
12848         * pa.h (FUNCTION_ARG_SIZE): Likewise.
12849
12850 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12851
12852         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
12853         comment typos.
12854
12855 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12856
12857         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
12858         (reg n) to (mem (pre_dec (reg n))
12859         (anonymous movsi pattern): Likewise.
12860
12861 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12862
12863         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
12864
12865 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12866
12867         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
12868         several special constants.
12869
12870 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12871
12872         * config/h8300/lib1funcs.asm: Fix comment typos.
12873
12874 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12875
12876         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
12877         Fix format specifier warnings.
12878
12879         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
12880         inet_makeaddr, semctl): Prototype.
12881
12882         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
12883         (save_restore_insns): Use base_offset, not gp_offset.
12884
12885         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
12886         (ASM_OUTPUT_BYTE): Fix format specifier warning.
12887
12888 2001-08-29  Richard Henderson  <rth@redhat.com>
12889
12890         * bb-reorder.c (function_tail_eff_head): New.
12891         (record_effective_endpoints): Set it.
12892         (fixup_reorder_chain): Use it.
12893
12894 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12895
12896         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
12897
12898 2001-08-28  Dale Johannesen  <dalej@apple.com>
12899
12900         * config/darwin.c (machopic_function_base_name): Add const
12901         qualifier to a string.
12902         (darwin_encode_section_info): Ditto.
12903
12904 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12905
12906         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
12907         function definition.
12908
12909 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12910
12911         * df.h (struct df): Add rts_order variable.
12912
12913         * df.c (df_visit_next_rts): New function.
12914         (df_visit_next): Renamed to df_visit_next_rc
12915         (df_analyse_1): Allocate/compute/free rts_order as well.
12916         (df_rd_global_compute): Use df_visit_next_rc instead of
12917         df_visit_next.
12918         (df_ru_global_compute): Use df_visit_next_rts instead of
12919         df_visit_next.
12920
12921         * flow.c (flow_reverse_top_sort_order_compute): New function.
12922
12923         * basic-block.h: Add prototype.
12924
12925 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12926
12927         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
12928         blocks, the BB_REACHABLE is now set, rather than aux being
12929         non-NULL. Update the test to reflect this.
12930
12931 2001-08-28  Eric Christopher  <echristo@redhat.com>
12932
12933         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
12934         config/mips/crti.asm: Ditto.
12935
12936 2001-08-28  Eric Christopher <echristo@redhat.com>
12937             Richard Henderson <rth@redhat.com>
12938
12939         * c-pragma.h (add_weak): Move prototype from here...
12940         * output.h (add_weak): ... to here.
12941         * varasm.c (add_weak): Fix typo.
12942         * config/mips/crti.asm: New file.
12943         * config/mips/crtn.asm: Ditto.
12944         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
12945         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
12946         (INVOKE__main): Ditto.
12947         (INIT_SECTION_ASM_OP): New.
12948         (FINI_SECTION_ASM_OP): Ditto.
12949         (STARTFILE_SPEC): Add crti.
12950         (ENDFILE_SPEC): Add crtn.
12951         * config/mips/elf64.h: Same.
12952         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
12953         Remove.
12954         * config/mips/vxworks.h: Ditto.
12955         * config/mips/t-elf: Support crti and crtn.
12956
12957 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
12958
12959         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
12960         INSN_LIST.
12961
12962 2001-08-28  Richard Henderson  <rth@redhat.com>
12963
12964         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
12965         (one_cmplbi2 splitter): Remove redundant test.
12966
12967 2001-08-28  Dale Johannesen  <dalej@apple.com>
12968
12969         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
12970
12971 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
12972
12973         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
12974
12975 2001-08-28  Stan Shebs  <shebs@apple.com>
12976
12977         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
12978         (UNALIGNED_SHORT_ASM_OP): Define.
12979         (UNALIGNED_INT_ASM_OP): Define.
12980
12981 2001-08-28  Will Cohen  <wcohen@redhat.com>
12982
12983         * config/rs6000/rs6000.md (store_multiple): Correct RTL
12984         generation for first set.
12985
12986 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12987
12988         * flow.c (redirect_edge_succ_nodup): Return new edge.
12989         (try_simplify_condjump): Use new edge.
12990         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
12991
12992         * cse.c (cse_basic_block): Skip note instructions.
12993
12994 2001-08-27  Richard Henderson  <rth@redhat.com>
12995
12996         * combine.c (combine_simplify_rtx): Don't reverse condition
12997         if there is no reverse for the condition.
12998         (simplify_comparison): Don't simplify subregs from INT to FP.
12999
13000         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
13001         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
13002         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
13003         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
13004         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
13005         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
13006
13007 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
13008
13009         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
13010         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
13011         (pushqi1): New.
13012         (adddi_dilshr32, adddi_dishl32): Only data register can be
13013         source for mem destination.
13014
13015         * expmed.c (store_bit_field): Ignore adjustment to bitpos
13016         and use bitnum to decide about register move.
13017
13018 2001-08-27  Richard Henderson  <rth@redhat.com>
13019
13020         * genattr.c (main): Emit state_t even when not doing scheduling.
13021
13022 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
13023             Richard Henderson  <rth@redhat.com>
13024
13025         * gcse.c (reg_first_set, reg_last_set): Replace with ...
13026         (reg_avail_info, current_bb): ... these.
13027         (oprs_unchanged_p, record_last_reg_set_info): Use them.
13028         (compute_hash_table): Likewise.
13029
13030 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
13031
13032         * flow.c (verify_flow_info): Use checksums to verify edges.
13033
13034 2001-08-27  Richard Henderson  <rth@redhat.com>
13035
13036         * genautomata.c (expand_automata): Always create a description.
13037
13038 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
13039
13040         * optabs.c (expand_binop): Correctly handle the carry in multiword
13041         add/subtract operations.
13042
13043 2001-08-27  Fred Fish  <fnf@be.com>
13044
13045         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
13046         __SIZE_TYPE__.
13047
13048 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
13049
13050         * reload.c (find_reloads_toplev): Back out this change:
13051
13052         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
13053
13054         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
13055         mem if the address is a mode_dependent_address_p.
13056
13057 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
13058
13059         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
13060         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
13061         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
13062         RTL constructions.
13063
13064         * genattr.c (main): New variable num_insn_reservations.  Increase
13065         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
13066         pipeline hazard recognizer interface.
13067
13068         * genattrtab.h: New file.
13069
13070         * genattrtab.c: Include genattrtab.h.
13071         (attr_printf, check_attr_test, make_internal_attr,
13072         make_numeric_value): Move protypes into genattrtab.h.  Define them
13073         as external.
13074         (num_dfa_decls): New global variable.
13075         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
13076         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
13077         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
13078         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
13079
13080         * genautomata.c: New file.
13081
13082         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
13083
13084         * sched-int.h: (curr_state): Add the external definition for
13085         automaton pipeline interface.
13086         (haifa_insn_data): Add comments for members blockage and units.
13087
13088         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
13089         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
13090         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
13091         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
13092         TARGET_SCHED_DFA_POST_CYCLE_INSN,
13093         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
13094         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
13095         macros.
13096         (TARGET_SCHED): Use the new macros.
13097
13098         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
13099         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
13100         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
13101         dfa_bubble): New members in gcc_target.sched.
13102
13103         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
13104         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
13105         (insn_queue): Redefine it as pointer to array.
13106         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
13107         INSN_QUEUE_SIZE.
13108         (max_insn_queue_index_macro_value): New variable.
13109         (curr_state, dfa_state_size, ready_try): New varaibles for
13110         automaton interface.
13111         (ready_element, ready_remove, max_issue): New function prototypes
13112         for automaton interface.
13113         (choose_ready): New function prototype.
13114         (insn_unit, blockage_range): Add comments.
13115         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
13116         FUNCTION_UNITS_SIZE == 0.
13117         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
13118         actual_hazard, potential_hazard): Add comments.
13119         (insn_cost): Use cost -1 as undefined value.  Remove
13120         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
13121         pipeline interface.
13122         (ready_element, ready_remove): New functions for automaton
13123         interface.
13124         (schedule_insn): Add new code for automaton pipeline interface.
13125         (queue_to_ready): Add new code for automaton pipeline interface.
13126         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
13127         (debug_ready_list): Print newline when the queue is empty.
13128         (max_issue): New function for automaton pipeline interface.
13129         (choose_ready): New function.
13130         (schedule_block): Add new code for automaton pipeline interface.
13131         Print ready list before scheduling each insn.
13132         (sched_init): Add new code for automaton pipeline interface.
13133         Initiate insn cost by -1.
13134         (sched_finish): Free the current automaton state and finalize
13135         automaton pipeline interface.
13136
13137         * sched-rgn.c: Include target.h.
13138         (init_ready_list, new_ready, debug_dependencies): Add new code for
13139         automaton pipeline interface.
13140
13141         * sched-vis.c: Include target.h.
13142         (get_visual_tbl_length): Add code for automaton interface.
13143         (target_units, print_block_visualization):  Add comments.
13144
13145         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
13146         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
13147         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
13148         (getruntime.o, genautomata.o): New entries.
13149         (genattrtab.o): Add new dependency file genattrtab.h.
13150         (genattrtab): Add new dependencies.  Link it with `libm.a'.
13151         (getruntime.o, hashtab.o): New entries for canadian cross.
13152
13153         * doc/md.texi: Description of automaton based model.
13154
13155         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
13156         Add comments.
13157         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
13158         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
13159         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
13160         TARGET_SCHED_DFA_POST_CYCLE_INSN,
13161         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
13162         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
13163         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
13164         hook descriptions.
13165         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
13166         MAX_DFA_ISSUE_RATE): New macro descriptions.
13167
13168         * doc/contrib.texi: Add dfa based scheduler contribution.
13169
13170         * doc/gcc.texi: Add more information about genattrtab.
13171
13172 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
13173
13174         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
13175         an RTL basic block.
13176
13177 2001-08-27  Richard Henderson  <rth@redhat.com>
13178
13179         * function.c (expand_function_end): Don't init arg_pointer_save_area.
13180         (get_arg_pointer_save_area): New.  Create an init it here.
13181         (fix_lexical_addr): Use it.
13182         * function.h: Declare it.
13183         * builtins.c (expand_builtin_setjmp_receiver): Use it.
13184         * stmt.c (expand_nl_goto_receiver): Use it.
13185
13186 2001-08-27  Richard Henderson  <rth@redhat.com>
13187
13188         * final.c (final_scan_insn): Don't enter APP_ON mode for
13189         empty asm strings.
13190
13191         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
13192         alignment for assemble_integer for DW_EH_PE_aligned.
13193         * except.c (output_function_exception_table): Likewise.
13194
13195 2001-08-26  Andreas Jaeger  <aj@suse.de>
13196
13197         * c-tree.h: Add prototyp for c_sizeof_nowarn.
13198
13199 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
13200
13201         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
13202
13203 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
13204
13205         * config/rs6000/rs6000.c (mask_operand): Rewrite without
13206         bit-shifting loop.
13207         (mask64_operand): Likewise.
13208         (rldic_operand): Delete.
13209         (includes_lshift64_p): Delete.
13210         (includes_rldic_lshift_p): New function.
13211         (includes_rldicr_lshift_p): New function.
13212         (print_operand): Don't call rldic_operand in case 'W'.
13213         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
13214         (includes_lshift64_p): Remove.
13215         (includes_rldic_lshift_p): Declare.
13216         (includes_rldicr_lshift_p): Declare.
13217         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
13218         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
13219         Replace match_operand rldic_operand predicate with
13220         const_int_operand.  Replace includes_lshift64_p condition with
13221         includes_rldic_lshift_p.
13222         <ashldi3_internal 64 bit rldicr patterns>: New.
13223
13224 2001-08-27  Andreas Jaeger  <aj@suse.de>
13225
13226         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13227         * errors.c: Likewise.
13228         * final.c: Likewise.
13229         * dwarf2asm.c: Likewise.
13230         * doprint.c (checkit): Likewise.
13231         * diagnostic.c: Likewise.
13232         * collect2.c: Likewise.
13233         * calls.c: Likewise.
13234         * c-semantics.c (build_stmt): Likewise.
13235         * c-format.c (status_warning): Likewise.
13236         * c-errors.c (pedwarn_c99): Likewise.
13237         * builtins.c (validate_arglist): Likewise.
13238         * config/pj/pj.c (pj_printf): Likewise.
13239         * fix-header.c: Likewise.
13240         * gcc.c: Likewise.
13241         * gcov.c (fnotice): Likewise.
13242         * gensupport.c (message_with_line): Likewise.
13243         * mips-tfile.c: Likewise.
13244         * protoize.c (notice): Likewise.
13245         * read-rtl.c (fatal_with_file_and_line): Likewise.
13246         * rtl-error.c: Likewise.
13247         * tradcpp.c: Likewise.
13248         * tree.c: Likewise.
13249         * cp/tree.c (build_min_nt): Likewise.
13250         (build_min): Likewise.
13251         * cp/lex.c: Likewise.
13252         * cp/errfn.c: Likewise.
13253         * cp/rtti.c (create_pseudo_type_info): Likewise.
13254
13255 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
13256
13257         * df.c (df_uses_record): Return after recording all uses
13258         in ASM_OPERANDS.
13259
13260 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
13261
13262         * df.c (df_insn_modify): Realloc the INSN table here, if
13263         necessary, here, too.
13264
13265 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
13266
13267         * config/mips/mips.c (mips_function_value): Handle complex return
13268         values.
13269
13270 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
13271
13272         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
13273         unshared.
13274         * reload.c (make_memloc): Copy result if it is still
13275         reg_equiv_memory_loc[regno] on return.
13276         (subst_reloads) [ENABLE_CHECKING]: Check that none of
13277         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
13278         reg_equiv_mem are modified by the substitutions.
13279
13280 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13281
13282         * predict.c (expensive_function_p): New.
13283         * rtl.h (expensive_function_p): Declare.
13284         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
13285         (use_fast_prologue_epilogue): New static variable.
13286         (expand_prologue): Set it; emit short prologues if unset.
13287         (expand_epilogue): Likewise.
13288
13289 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
13290
13291         * config.gcc: Add stormy16-*-elf case.
13292         * config/stormy16/stormy-abi: New file.
13293         * config/stormy16/stormy16-lib2.c: New file.
13294         * config/stormy16/stormy16-protos.h: New file.
13295         * config/stormy16/stormy16.c: New file.
13296         * config/stormy16/stormy16.h: New file.
13297         * config/stormy16/stormy16.md: New file.
13298         * config/stormy16/t-stormy16: New file.
13299
13300 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
13301
13302         * i386.h (no-accumulate-outgoing-args): Use proper mask.
13303
13304 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
13305
13306         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
13307         descriptor members are pointer size, not constant 4.
13308         * config/rs6000/rs6000.md (define_splits): Remove more unused
13309         constraints.
13310
13311 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13312
13313         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
13314
13315 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
13316
13317         * cp/rtti.c (VPARAMS): Fix parameter.
13318
13319 2001-08-24  Zack Weinberg  <zackw@panix.com>
13320
13321         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
13322         to zero.
13323         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
13324         to switch.
13325         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
13326         in if controlling use of insv.
13327         (extract_bit_field): Likewise, for extv and extzv.
13328
13329 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
13330
13331         * i386.md (movcc peep2): Fix load of 0.
13332
13333 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13334
13335         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
13336         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
13337
13338 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
13339
13340         * c-pragma.h: Move weak_syms and weak_decls...
13341         * varasm.c: ...here.  Now static.
13342         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
13343         depend on HANDLE_PRAGMA_WEAK.
13344
13345         * c-common.c (c_alignof, c_alignof_expr): Move here...
13346         * c-typeck.c: ...from here.
13347         * c-tree.h, c-common.h: Adjust.
13348
13349 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
13350
13351         * config/ia64/ia64.c (rws_update): If !pred, set write_count
13352         instead of incrementing it.
13353
13354         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
13355         asm ready, don't try to move them all into the same array element.
13356
13357 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
13358
13359         * function.c (thread_prologue_and_epilogue_insns): Avoid
13360         fallthru flag on edge to exit.
13361
13362         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
13363
13364         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
13365         dead edges.
13366
13367 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
13368
13369         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
13370         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
13371         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
13372         Remove prototype.
13373
13374 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
13375
13376         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
13377         replace "GNU CC" with "GCC".
13378
13379 2001-08-23  Richard Henderson  <rth@redhat.com>
13380
13381         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
13382         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
13383         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
13384         Need GR between FR and not GR_AND_FR.
13385         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
13386         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
13387         AR regs before GR regs.
13388         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
13389         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
13390         (REGISTER_MOVE_COST): Update.
13391         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
13392
13393 2001-08-23  Richard Henderson  <rth@redhat.com>
13394
13395         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
13396         a register class.
13397
13398 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
13399
13400         * reload1.c (emit_reload_insns): Don't look for notes
13401         on a NULL store_insn.
13402
13403 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13404
13405         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
13406         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
13407         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
13408         format specifier warnings.
13409         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
13410
13411 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
13412
13413         * config/i386/i386-protos.h: Correct declaration of
13414         i386_pe_asm_named_section.
13415
13416 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13417
13418         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
13419         variable i.
13420         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
13421
13422 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
13423
13424         * cpperror.c (print_location): Don't show _Pragma.
13425         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
13426         and file change callback generation here.
13427         (stack_include_file): Update use of cpp_push_buffer.
13428         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
13429         (struct cpp_buffer): Remove type, pfile members.
13430         * cppinit.c (cpp_handle_option): Use free_chain.
13431         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
13432         (skip_escaped_newlines, get_effective_char, lex_percent): Take
13433         a cpp_reader rather than a cpp_buffer.
13434         (skip_escaped_newlines, get_effective_char, skip_block_comment,
13435         skip_line_comment, parse_string, lex_percent, lex_dot,
13436         _cpp_lex_token): Update accordingly.
13437         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
13438         generation here.
13439         (cpp_push_buffer): Update prototype.
13440         (run_directive): Update use of cpp_push_buffer.
13441         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
13442         handle_assertion): Update use of run_directive.
13443         * cpplib.h (enum cpp_buffer_type): Remove.
13444         (cpp_push_buffer): Update prototype.
13445         * fix-header.c (read_scan_file): Update.
13446
13447 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13448
13449         * gcc.c (struct prefix_list): Change prefix to const char *.
13450
13451 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13452
13453         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
13454
13455 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
13456
13457         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
13458         from a new MEM.
13459
13460         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
13461         a squeezable note.
13462         * rtl.h: Adjust.
13463         * ifcvt.c (dead_or_predicable): Adjust.
13464         * loop.c (find_and_verify_loops): Adjust.
13465         * stmt.c (expand_end_case): Adjust.
13466         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
13467         head and end insn pointers in the basic block, not just local copies.
13468         (merge_blocks_move_predecessor_nojumps): Likewise.
13469
13470 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
13471
13472         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
13473         bitmap.h, builtin-types.def, builtins.c, builtins.def,
13474         c-aux-info.c, c-common.c, c-common.def, c-common.h,
13475         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
13476         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
13477         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
13478         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
13479         conditions.h, config.gcc, configure.frag, configure.in,
13480         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
13481         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
13482         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
13483         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
13484         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
13485         emit-rtl.c, errors.c, errors.h, except.c, except.h,
13486         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
13487         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
13488         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
13489         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
13490         gencheck.c, gencodes.c, genconfig.c, genemit.c,
13491         genextract.c, genflags.c, gengenrtl.c, genmultilib,
13492         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
13493         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
13494         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
13495         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
13496         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
13497         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
13498         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
13499         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
13500         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
13501         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
13502         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
13503         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
13504         params.h, predict.c, predict.def, predict.h, prefix.c,
13505         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
13506         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
13507         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
13508         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
13509         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
13510         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
13511         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
13512         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
13513         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
13514         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
13515         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
13516         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
13517         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
13518         xcoffout.h: replace "GNU CC" with "GCC".
13519
13520 2001-08-21  Richard Henderson  <rth@redhat.com>
13521
13522         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
13523         (final_scan_insn): Consider jump tables data even if we have no
13524         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
13525         ADDR_VEC_ALIGN.
13526         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
13527         (ASM_OUTPUT_CASE_END): Remove.
13528         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
13529         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
13530         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
13531
13532 2001-08-21  Richard Henderson  <rth@redhat.com>
13533
13534         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
13535         at barrier insns.  Emit stop bits before barriers.
13536
13537         * flow.c (flow_find_cross_jump): Don't consider unconditional
13538         return insns for commoning.
13539
13540         * final.c (compute_alignments): Fix typo.
13541
13542         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
13543         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
13544         (store_bit_field): Use mode_for_extraction more places.
13545         (extract_bit_field): Likewise.
13546
13547 2001-08-21  Zack Weinberg  <zackw@panix.com>
13548
13549         * caller-save.c: Don't include insn-codes.h.
13550         (reg_save_code, reg_restore_code): Make arrays of int.
13551         All uses updated to match.
13552         (insert_save, insert_restore): No need to initialize "code"
13553         variable upon declaration.
13554         * Makefile.in: update dependencies; fix typo in clean rule.
13555
13556 2001-08-21  Richard Henderson  <rth@redhat.com>
13557
13558         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
13559         (merge_if_block): Handle fallout from same.
13560
13561 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13562
13563         * builtins.c (type_to_class): Fix typo in last change.
13564
13565 2001-08-21  Richard Henderson  <rth@redhat.com>
13566
13567         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
13568         ia64_asm_output_label.
13569
13570         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
13571         copy of gp while the real gp register contains garbage.
13572
13573 2001-08-21  Zack Weinberg  <zackw@panix.com>
13574
13575         * expmed.c (mode_for_extraction): New function.
13576         (store_bit_field, extract_bit_field): Use it.
13577         * expr.h: Prototype it and provide an enum for its first argument.
13578
13579         * combine.c, function.c, recog.c: Don't include insn-codes.h.
13580         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
13581         and digging through the insn_data tables.
13582         * Makefile.in: Update dependencies.
13583
13584 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
13585
13586         * cppfiles.c (stack_include_file): line-map.c now handles include
13587         depth.
13588         (handle_missing_handler): Similarly.
13589         (_cpp_execute_include): Similarly.
13590         (_cpp_pop_file_buffer): Similarly.
13591         * cpphash.h (struct cpp_reader): Remove system_include_depth,
13592         buffer_stack_depth and include_depth.
13593         * cpplib.c (do_include_common): line-map.c now handles include depth.
13594         (cpp_push_buffer): Similarly.
13595         (_cpp_pop_buffer): Similarly.
13596         * cppmacro.c (builtin_macro): Update.
13597         * line-map.c (init_line_maps): Set depth.
13598         (add_line_map): Increment "used" earlier.  Update and use the
13599         include depth.
13600         (trace_include): Use the include depth.
13601         * line-map.h (struct line_maps): New member depth.
13602
13603 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13604
13605         * cppfiles.c (stack_include_file): Don't handle -H here.
13606         * cppinit.c (cpp_start_read): Set include tracing after
13607         cpp_post_options and after stacking the main file.
13608         * line-map.c (trace_include): New.
13609         (init_line_maps, add_line_map): Update.
13610         * line-map.h (struct line_maps): New member trace_includes.
13611
13612 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13613
13614         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
13615         * cppfiles.c (stack_include_file): Only stack a file if there
13616         is something to do.  Return a boolean indicating whether a
13617         buffer was stacked or not.
13618         (_cpp_execute_include): Similarly.
13619         (_cpp_read_file): Similarly.
13620         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
13621
13622 2001-08-21  Sam Steingold  <sds@gnu.org>
13623
13624         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
13625         (RECACHE): keep obufp_before_macroname up to date
13626
13627 2001-08-21  Zack Weinberg  <zackw@panix.com>
13628
13629         * stmt.c: Don't include insn-codes.h.
13630         (expand_end_case): Machine specific logic moved to expr.c.
13631         No need to worry about __builtin_classify_type.
13632         (check_for_full_enumeration_handling, emit_case_nodes):
13633         Kill #if 0 blocks.
13634
13635         * builtins.o (expand_builtin_classify_type): Split up so code
13636         can be shared with fold_builtin_classify_type.
13637         (type_to_class, fold_builtin_classify_type): New functions.
13638         (fold_builtins): Handle __builtin_classify_type.
13639
13640         * expr.c (do_tablejump): Now static.
13641         (case_values_threshold, try_casesi, try_tablejump): New;
13642         code mostly from stmt.c (expand_end_case).
13643         (expr.h): Update prototypes.
13644
13645         * Makefile.in (stmt.o): Update dependencies.
13646
13647 2001-08-21  Will Cohen  <wcohen@redhat.com>
13648
13649         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
13650         declaration of variable i.
13651         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
13652         declaration of variable i.
13653
13654 2001-08-21  Richard Henderson  <rth@redhat.com>
13655
13656         * crtstuff.c: Fix thinko last change.  Move list tails to start
13657         of CRT_END section.  Tidy ifdefs.
13658         (__EH_FRAME_BEGIN__): Always static for ELF.
13659         (__do_global_ctors_1): Rename from __frame_dummy.
13660         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
13661         name change; don't hide __EH_FRAME_BEGIN__.
13662
13663 2001-08-21  Richard Henderson  <rth@redhat.com>
13664
13665         * gdbinit.in: Move break on exit after break on fancy_abort.
13666
13667         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
13668         sized types.
13669
13670 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13671
13672         * cpphash.h (_cpp_push_next_buffer): New.
13673         * cppinit.c (do_includes): Remove.
13674         (push_include, free_chain, _cpp_push_next_buffer): New.
13675         (cpp_start_read): Use them to rework command line option handling.
13676         (cpp_handle_option): Combine handling of -include and -imacros.
13677         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
13678         appropriate.  Always insert missing \n at EOF.
13679         * cpplib.c (start_directive): Get the directive position right.
13680         * cppmain.c (cb_file_change): Always print the first line, unless
13681         preprocessed.
13682
13683 2001-08-20  Andreas Jaeger  <aj@suse.de>
13684
13685         * profile.c (compute_branch_probabilities): Remove extra new-line
13686         in error message.
13687         * flow.c (verify_flow_info): Likewise.
13688
13689 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13690
13691         * basic-block.h (basic_block): Add new field 'flags'.
13692         (BB_REACHABLE): Define.
13693         (expunge_block): Declare.
13694         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
13695         (EXIT_BLOCK_PTR): Ditto.
13696         (expunge_block): Remove static declaration.
13697         (cleanup_cfg): Clear bb->aux on every basic block.
13698         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
13699         computing reachability.
13700         (delete_unreachable_blocks): Delete block b if b->flags has
13701         BB_REACHABLE unset.
13702
13703 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13704
13705         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
13706
13707 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13708
13709         * sparc.c (sparc_variable_issue): Fix typo in last change.
13710
13711 2001-08-20  Richard Henderson  <rth@redhat.com>
13712
13713         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
13714
13715 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13716
13717         * pa.h (RETURN_IN_MEMORY): Improve comment.
13718
13719 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
13720
13721         * doc/invoke.texi (Profiling options): Clarify the interactions
13722         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
13723
13724 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
13725
13726         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
13727         command.
13728
13729 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13730
13731         * gcc.c (make_relative_prefix): Allocate a sufficiently large
13732         buffer.
13733
13734 2001-08-20  Richard Henderson  <rth@redhat.com>
13735
13736         * final.c (end_final): Fix typo last change.
13737
13738 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
13739
13740         * cppinit.c (init_standard_includes): The returned buffer
13741         is already malloc-ed.
13742         * gcc.c (add_prefix): Similarly.
13743         * prefix.c (translate_name): Update to support clear buffer
13744         ownership rules.
13745         (update_path): Similarly.  Be sure to free any newly allocated
13746         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
13747         (tr): New function.
13748         * prefix.h (update_path): Update prototype and document.
13749         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
13750         up and update to new buffer ownership rules.
13751         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
13752
13753 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
13754
13755         * final.c (compute_alignments): New function.
13756         (init_insn_lengths): Do not care label_align.
13757         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
13758         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
13759         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
13760         (shorted_branches): Realloc label_align array; do
13761         not call init_insn_lengths; Do not care about loop alignments.
13762         * output.h (compute_alignments): Declare.
13763         * toplev.c (rest_of_compilation): Call compute_alignments.
13764         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
13765
13766         * predict.c (block_info_def): Add npredecesors, remove nvisited;
13767         change visited to tovisit.
13768         (propagate_freq): Use faster traversing algorithm.
13769         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
13770         to tovisit; reverse meaning.
13771
13772         * predict.c (struct block_info_def): Remove nvisited.
13773         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13774         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13775
13776 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
13777
13778         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
13779         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
13780         (TARGET_FUSED_MADD): New.
13781         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
13782         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
13783         the multiply-add instructions.
13784
13785 2001-08-19  Richard Henderson  <rth@redhat.com>
13786
13787         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
13788         is aligned to pointer size.
13789
13790 2001-08-19  Richard Henderson  <rth@redhat.com>
13791
13792         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
13793         display markers during final schedule.
13794
13795 2001-08-19  Richard Henderson  <rth@redhat.com>
13796
13797         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
13798
13799 2001-08-19  Richard Henderson  <rth@redhat.com>
13800
13801         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
13802         in the same string.
13803         (ASM_NAME_TO_STRING): Remove.
13804         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
13805         in the same string.  Remove support for expressions.
13806
13807 2001-08-19  Richard Henderson  <rth@redhat.com>
13808
13809         * config/i386/i386.md (tablejump): Make an expander; handle
13810         pic relative addressing here.
13811         (tablejump_1): Rename from tablejump_pic.
13812         (casesi): Remove.
13813
13814 2001-08-19  Richard Henderson  <rth@redhat.com>
13815
13816         * regclass.c (fix_register): Fix typo.
13817
13818 2001-08-18  Richard Henderson  <rth@redhat.com>
13819
13820         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
13821         (struct _Unwind_Context): Expand br_loc to hold it.
13822         (uw_frame_state_for): Handle leaf functions better.
13823         (uw_update_reg_address): Update for br_loc change.
13824
13825 2001-08-18  Richard Henderson  <rth@redhat.com>
13826
13827         * crtstuff.c: Move list heads before code that uses them.
13828         (__JCR_LIST__): Remove initial null.
13829         (frame_dummy, __frame_dummy): Do java registration here ...
13830         (__do_global_ctors_aux): ... not here.
13831
13832         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
13833         (__do_global_dtors_aux): Update to match.
13834         (__JCR_LIST__, __do_jv_register_classes): New.
13835         (.init): Call it.
13836         * config/ia64/crtend.asm (__JCR_END__): New.
13837         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
13838         instead of an indirect LTOFF22 reloc.
13839
13840 2001-08-18  Richard Henderson  <rth@redhat.com>
13841
13842         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
13843         * regclass.c (init_reg_sets_1): Fix typo.
13844         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
13845         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
13846         (ia64_compute_frame_size): Make ar.unat live when in use.
13847         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
13848         for ar.pfs; remove ar.unat handling.
13849         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
13850         call-saved.
13851         (PREDICATE_CODES): Add ar_pfs_reg_operand.
13852         * config/ia64/ia64-protos.h: Update decls.
13853         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
13854         (sibcall_pic): Likewise.
13855
13856 2001-08-18  Richard Henderson  <rth@redhat.com>
13857
13858         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
13859         pred_rel_mutex when searching for insn_group_barrier.
13860         * config/ia64/ia64.md (cycle_display): Combine the expander
13861         and insn patterns.
13862
13863         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
13864         bit before asm as needed.
13865
13866 2001-08-18  Richard Henderson  <rth@redhat.com>
13867
13868         * timevar.def (TV_MACH_DEP): New.
13869         * toplev.c (rest_of_compilation): Use it.
13870         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
13871
13872 2001-08-18  Zack Weinberg  <zackw@panix.com>
13873
13874         * unwind-dw2.c (execute_stack_op): Add default aborts to
13875         the inner switches to prevent warnings.
13876
13877 2001-08-18  Richard Henderson  <rth@redhat.com>
13878
13879         * timevar.h (struct timevar_time_def): Change element type to float.
13880         (ticks_to_msec, clocks_to_msec): Likewise.
13881         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
13882         (get_time): Likewise.
13883         (timevar_print): Adjust zero check and printing to match.
13884
13885 2001-08-18  Zack Weinberg  <zackw@panix.com>
13886
13887         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
13888         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
13889         Eliminate overfull or underfull hboxes.
13890
13891 2001-08-18  Zack Weinberg  <zackw@panix.com>
13892
13893         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13894
13895 2001-08-18  Zack Weinberg  <zackw@panix.com>
13896
13897         * haifa-sched.c: Convert to target hooks.  Macros replaced
13898         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
13899         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
13900         MD_SCHED_FINISH, and HAVE_cycle_display.
13901         * target-def.h (TARGET_SCHED_ADJUST_COST,
13902         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
13903         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
13904         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
13905         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
13906         New hook #defines to be overridden.
13907         (TARGET_SCHED): Bring them all together.
13908         (TARGET_INITIALIZER): Update.
13909         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
13910         instead of 'struct rtx_def *' throughout.
13911         (struct sched): New set of hooks for the scheduler.
13912         * Makefile.in (haifa-sched.o): Depend on target.h.
13913         * doc/tm.texi: Document the new scheduler hooks, together in
13914         their own section, instead of scattered around.
13915         Fix a bunch of underfull/overfull hboxes.
13916
13917         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
13918         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
13919         sparc.h: Don't define any of the old scheduler macros.
13920
13921         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
13922         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
13923         sparc.c: Create hook functions from code extracted from
13924         corresponding target header, or make existing hooks static, as
13925         appropriate.  Set the appropriate entries in targetm.
13926
13927         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
13928         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
13929         rs6000-protos.h, s390-protos.h, sparc-protos.h:
13930         Remove prototypes for functions which are now static.
13931
13932         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
13933         related gunk; the Haifa scheduler is now the only choice.
13934
13935 2001-08-18  Zack Weinberg  <zackw@panix.com>
13936
13937         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
13938         * genopinit.c: Put floating point divide insns in sdiv_optab.
13939         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
13940         * config/gofast.h, config/c4x/c4x.h,
13941         config/ia64/hpux_longdouble.h, config/mips/mips.h,
13942         config/pa/long_double.h, config/rs6000/sysv4.h,
13943         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
13944         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
13945         (init_optabs): Use init_optabv for overflow-trapping optabs.
13946         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
13947         cmp_optab RTX codes so have_insn_for can find them.
13948
13949         * optabs.c (expand_simple_binop, expand_simple_unop,
13950         have_insn_for, gen_sub3_insn): New interfaces.
13951         * expr.h: Prototype new functions.
13952         (enum optab_methods): Move here from optabs.h.
13953
13954         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
13955         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
13956         Use new functions instead of working directly with optabs.
13957         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
13958         unroll.c: Don't include optabs.h.
13959         * caller-save.c, combine.c, function.c, stmt.c: Just include
13960         insn-codes.h, not optabs.h.
13961         * Makefile.in: Update dependencies.
13962
13963         * combine.c (make_compound_operation, simplify_comparison):
13964         Fix typos testing for this or that instruction.
13965
13966 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13967
13968         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
13969         generating libgcc.a.
13970
13971 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13972
13973         * except.c (TYPE_HASH): Delete.
13974
13975         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
13976         HOST_WIDE_INT.
13977
13978         * tree.c (TYPE_HASH): Delete.
13979
13980         * tree.h (TYPE_HASH): Define.
13981
13982 2001-08-18  Graham Stott  <grahams@redhat.com>
13983
13984         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13985         define_split.
13986         (adddi3_internal_2+2): Likewise.
13987         (eh_set_lr_di+1): Likewise.
13988
13989 2001-08-17  Richard Henderson  <rth@redhat.com>
13990
13991         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13992         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
13993         * dwarf2asm.c: ... here.
13994         * dwarfout.c: Remove them.
13995
13996         * varasm.c (assemble_integer): Add align parameter.
13997         (assemble_real, output_constant, output_constructor): Likewise.
13998         * output.h: Update decls.
13999         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
14000         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
14001         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
14002         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
14003         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
14004         Update all callers.
14005
14006         * final.c (end_final): Abort profile block generation if we
14007         haven't layed it out properly.
14008         * output.h (assemble_eh_integer): Remove stale decl.
14009         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
14010         (min_align): New.
14011         (assemble_integer): Handle unaligned data.
14012         (assemble_real): Abort on unaligned data.
14013         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
14014         anything useful.
14015         (default_dtor_section_asm_out_destructor): Use assemble_align.
14016         (default_named_section_asm_out_constructor): Likewise.
14017         (default_ctor_section_asm_out_constructor): Likewise.
14018         * config/darwin.c (machopic_asm_out_constructor): Likewise.
14019         (machopic_asm_out_destructor): Likewise.
14020         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
14021         (nextstep_asm_out_destructor): Likewise.
14022         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
14023         (vms_asm_out_destructor): Likewise.
14024
14025 2001-08-17  Richard Henderson  <rth@redhat.com>
14026
14027         * config/mips/iris6.h (TARGET_IRIX6): New.
14028         (current_section_name, current_section_flags): New.
14029         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
14030         (MAX_OFILE_ALIGNMENT): New.
14031         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
14032         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
14033         (copy_file_data): Split out from
14034         (mips_asm_file_end): ... here.
14035         (mips_asm_file_start): Remove extra .section directive.  Use
14036         tmpfile instead of mips_make_temp_file.
14037         (mips_unique_section): Use const char * as needed for warnings.
14038         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
14039         re-add align parameter.
14040         (iris6_asm_named_section): New.
14041         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
14042         (iris6_asm_output_align, iris6_section_align_1): New.
14043         (iris6_asm_file_start, iris6_asm_file_end): New.
14044         * config/mips/mips-protos.h: Update decls.
14045
14046 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
14047
14048         * doc/install.texi (Install GCC): Add links to build status pages.
14049         (Specific): Ditto.
14050         (Final install): Ditto; request updates for specific info
14051
14052 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
14053
14054         * cpperror.c (print_location):  Don't take a file name; use the
14055         line map instead.
14056         (_cpp_begin_message): Similarly.
14057         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
14058         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
14059         (cpp_pedwarn_with_file_and_line): Remove.
14060         * cppfiles.c (stack_include_file): Update; set filename to stdin
14061         here when appropriate.
14062         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
14063         (_cpp_begin_message): Don't take a file name.
14064         * cppinit.c: Add comment.
14065         * cpplex.c: Fix end-of-directive indicator.
14066         * cpplib.c: Don't include intl.h.
14067         (run_directive, do_diagnostic): Update.
14068         (do_line): Update to not use nominal_fname.
14069         (cpp_push_buffer): Don't take a filename.
14070         * cpplib.h (struct ht): Remove.
14071         (cpp_push_buffer): Don't take a filename.
14072         (cpp_pedwarn_with_file_and_line): Remove.
14073         * cppmacro.c (struct cpp_macro): Remove file.
14074         (builtin_macro): Update.
14075         (_cpp_create_definition): Update.
14076         * cppmain.c: Correct comment.
14077         * fix-header.c (read_scan_file): Update.
14078
14079 2001-08-17  Kazu Hirata  <kazu@hxi.com>
14080
14081         * sbitmap.c: Fix comment formatting.
14082         * sched-deps.c: Likewise.
14083         * sibcall.c: Likewise.
14084         * simplify-rtx.c: Likewise.
14085         * ssa.c: Likewise.
14086         * ssa-ccp.c: Likewise.
14087         * stor-layout.c: Likewise.
14088         * timevar.c: Likewise.
14089         * toplev.c: Likewise.
14090         * unwind-dw2.c: Likewise.
14091         * unwind-dw2-fde.c: Likewise.
14092         * varasm.c: Likewise.
14093
14094 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14095
14096         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
14097         or larger than an integer in memory.
14098
14099 2001-08-17  Zack Weinberg  <zackw@panix.com>
14100
14101         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
14102         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
14103         * rtl.h: Don't forward-declare union tree_node here.  Don't
14104         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
14105         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
14106         and tree respectively.
14107         * tree.h: Don't forward-declare struct rtx_def here.  Don't
14108         typedef tree here.  Change all uses of struct rtx_def *,
14109         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
14110         and tree respectively.
14111
14112 2001-08-17  Richard Henderson  <rth@redhat.com>
14113
14114         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
14115         config/mips/openbsd.h: Fix typos last change.
14116
14117 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14118
14119         * doc/invoke.texi (Optimize Options): The default for
14120         -finline-limit is 600.
14121
14122 2001-08-17  Richard Henderson  <rth@redhat.com>
14123
14124         * varasm.c (text_section): Allow TEXT_SECTION to override the
14125         printing of TEXT_SECTION_ASM_OP.
14126         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
14127         (DATA_SECTION, BSS_SECTION): Remove.
14128         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
14129         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
14130         Rename from s/_NAME//.
14131         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
14132         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
14133         (TEXT_SECTION): ... here.  New.
14134         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
14135         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
14136         * config/mips/openbsd.h: Likewise.
14137         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
14138         (mips_asm_file_end): Likewise test.
14139         (mips_output_function_epilogue): Likewise.  Switch back to data
14140         section after emitting the function.
14141
14142         * doc/tm.texi (Sections): Document TEXT_SECTION.
14143
14144 2001-08-17  Richard Henderson  <rth@redhat.com>
14145
14146         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
14147         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
14148
14149 2001-08-17  Richard Henderson  <rth@redhat.com>
14150
14151         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
14152         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
14153         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
14154         Add aligned attribute.
14155
14156 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
14157
14158         * config/sh/sh.md: Add modes to unspecs in first insn to match
14159         those in the second.
14160
14161         * Makefile.in: Fix collect2 copy for Cygwin.
14162
14163 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
14164
14165         Install the proper patch.
14166         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
14167         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
14168         (expand_function_start): Likewise.
14169         * stmt.c (expand_decl): Likewise.
14170         * varasm.c (make_decl_rtx): Likewise.
14171
14172 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
14173
14174         * final.c: Undo my previous accidental checkin.
14175         * output.h: Likewise.
14176         * tm.texi: Likewise.
14177
14178 2001-08-16  Richard Henderson  <rth@redhat.com>
14179
14180         * varasm.c (named_section_flags): Remove align parameter.
14181         * varasm.c, dwarf2out.c: Update all callers.
14182         * output.h: Update prototypes.
14183
14184         * target.h (target.asm_out.named_section): Remove align parameter.
14185         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
14186         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
14187         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
14188         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
14189         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
14190
14191         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
14192         (get_named_section_flags, set_named_section_flags): New.
14193         (named_section_flags): Use them.
14194         (named_section): Do decl vs section flags check here...
14195         (default_section_type_flags): ... not here.
14196         (init_varasm_once): Create in_named_htab.
14197         (resolve_unique_section): Mark reloc unused.
14198
14199 2001-08-16  Richard Henderson  <rth@redhat.com>
14200
14201         * varasm.c (force_const_mem): Keep pool alignment in bits.
14202         (output_constant_pool): Use assemble_align.
14203
14204 2001-08-16  Zack Weinberg  <zackw@panix.com>
14205
14206         * doc/tm.texi: Remove extra @table command.
14207
14208 2001-08-16  Zack Weinberg  <zackw@panix.com>
14209
14210         * final.c (shorten_branches): Clear the end of the label_align
14211         array only if we made it larger.  Break up messy expressions
14212         for clarity.
14213
14214         * diagnostic.c (internal_error): Check for error recursion
14215         before doing ICE suppression.
14216
14217         * timevar.c: Timing variables now count in milliseconds.
14218         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
14219         (get_time): Not here.
14220         (timevar_print): Don't print any timer whose user, cpu, and
14221         wall times are all zero as displayed.
14222         * timevar.h: Update comment aboout units.  Make timevar
14223         counters unsigned.
14224
14225 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
14226
14227         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
14228         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
14229         (expand_function_start): Likewise.
14230         * stmt.c (expand_decl): Likewise.
14231         * varasm.c (make_decl_rtx): Likewise.
14232
14233 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
14234
14235         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
14236         (finalize_record_size): Don't set TYPE_USER_ALIGN.
14237
14238 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
14239
14240         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
14241         variables.
14242
14243 2001-08-16  Andreas Jaeger  <aj@suse.de>
14244
14245         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
14246         prototype.
14247
14248 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
14249
14250         * rtl.h (only_sets_cc0_p): New prototype.
14251         * jump.c (sets_cc0_p): Handle INSN.
14252         (only_sets_cc0_p): New function.
14253         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
14254         (tidy_fallthru_edge): Likewise.
14255         * integrate.c (copy_insn_list): Likewise.
14256         * unroll.c (unroll_loop): Likewise.
14257         (copy_loop_body): Likewise.
14258
14259 2001-08-15  Jason Eckhardt  <jle@redhat.com>
14260
14261         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
14262
14263 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
14264
14265         * predict.c (struct block_info_def): Remove nvisited.
14266         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
14267         (estimate_bb_frequencies): Call mark_dfs_back_edges.
14268
14269         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
14270         (ix86_adjust_cost): Teach scheduler that latency to load operand can
14271         be masked.
14272
14273 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
14274
14275         * predict.def: Update hitrates.
14276
14277 2001-08-15  Richard Henderson  <rth@redhat.com>
14278
14279         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
14280
14281 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
14282
14283         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
14284         note from its associated jump.
14285
14286 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
14287
14288         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
14289         also on 64-bit s390x targets.
14290
14291 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
14292
14293         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
14294         function.
14295         (arm_expand_prologue): Handled nested functions which take a
14296         variable argument list.
14297         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
14298         macro with an invocation of
14299         arm_compute_initial_elimination_offset.
14300         * config/arm/arm-protos.h: Prototype
14301         arm_compute_initial_elimination_offset.
14302
14303 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14304
14305         * doc/install.texi (Specific, avr): Fix markup.
14306         (Specific, c4x): Ditto.
14307
14308 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
14309
14310         * predict.c (dump_prediction): Change `bool' parameter to `int'.
14311
14312 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
14313
14314         * Makefile.in (OBJS): Add rtl-error.o
14315         (rtl-error.o): New rule.
14316         (diagnostic.o): Adjust dependency.
14317         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
14318         error_for_asm, _fatal_insn, _fatal_insn_not_found,
14319         warning_for_asm): Move to...
14320         rtl-error.c: ...here.  New file.
14321
14322 2001-08-14  Richard Henderson  <rth@redhat.com>
14323
14324         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
14325         if USING_SJLJ_EXCEPTIONS.
14326
14327 2001-08-14  Steve Ellcey <sje@cup.hp.com>
14328
14329         * tlink.c (scan_linker_output): Check string for unsatisfied in
14330         addition to undefined and unresolved.
14331
14332 2001-08-14  Graham Stott  <grahams@redhat.com>
14333
14334         * libgcc2.c (*): Replace EH_FRAME_SECTION with
14335         EH_FRAME_SECTION_NAME.
14336
14337 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
14338
14339         * genattrtab.c (simplify_test_exp_in_temp): New function.
14340         (simplify_test_exp): Avoid explicit use of temporary obstack.
14341         (simplify_cond, insert_right_side, evaluate_eq_attr,
14342         simplify_and_tree, simplify_or_tree, eliminate_known_true):
14343         Use simplify_test_exp_in_temp.
14344         (optimize_attrs): Iterate until expression stabilizes.
14345
14346 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
14347
14348         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
14349         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
14350
14351 2001-08-13  Richard Henderson  <rth@redhat.com>
14352
14353         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
14354         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
14355         * config/arm/conix-elf.h: Likewise.
14356
14357 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
14358
14359         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
14360         in gcc.c.
14361         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
14362
14363         * gcse.c (hash_scan_set): Expressions that are set as part of
14364         jump instructions are not available.
14365
14366 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
14367
14368         * config/s390/s390.c (print_operand, s390_function_prologue,
14369         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
14370
14371 2001-08-13  Richard Henderson  <rth@redhat.com>
14372
14373         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
14374         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
14375         * doc/tm.texi (Exception Region Output): Document it.
14376
14377 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
14378
14379         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
14380         DWARF2 instead of stabs by default.
14381
14382 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
14383
14384         * config/rs6000/rs6000.c: Include optabs.h.
14385
14386 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
14387
14388         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
14389         save/restore routines.
14390         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
14391
14392 2001-08-13  Andreas Jaeger  <aj@suse.de>
14393
14394         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
14395         the english is correct.
14396
14397 2001-08-13  Zack Weinberg  <zackw@panix.com>
14398
14399         * expr.h: Split out optab- and libfunc-related code to...
14400         * optabs.h, libfuncs.h: ... these new headers.
14401
14402         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
14403         (OPTABS_H): New.
14404         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
14405         dependencies.
14406         * mkconfig.sh: Don't include insn-codes.h from config.h.
14407
14408         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
14409         enum insn_code is available.  Move reload_in_optab and
14410         reload_out_optab array declarations to optabs.h.
14411         * regmove.c (gen_add3_insn): Move to optabs.c, export from
14412         there, prototype in expr.h.
14413         * gencodes.c: Cleanup: zap global variables, don't use
14414         printf where puts will do, don't bother defining MAX_INSN_CODE
14415         which nothing uses, let CODE_FOR_nothing get its value implicitly.
14416
14417         * genemit.c, genopinit.c: Include optabs.h in generated file.
14418         * genoutput.c: Include insn-codes.h in generated file.
14419         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
14420         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
14421         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
14422         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
14423         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
14424         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
14425         Include optabs.h.
14426         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
14427         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
14428         config/m88k/m88k.c, config/sparc/sparc.c:
14429         Include libfuncs.h.
14430         * reload.c: Include expr.h and optabs.h before reload.h.
14431         * config/alpha/alpha.c: Include tree.h before reload.h.
14432         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
14433         and reload.h in that order.
14434         * config/sparc/sparc.c: Include debug.h.
14435         * recog.c: Include insn-codes.h.
14436
14437 2001-08-13  Andreas Jaeger  <aj@suse.de>
14438
14439         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
14440         s390*linux.
14441
14442 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
14443
14444         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
14445         * gcc.c (init_spec): Fix typo in comment.
14446         * varasm.c (data_section): Fix typo in comment.
14447
14448 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
14449
14450         * predict.c (dump_prediction): New argument "USED".
14451         (combine_predictions_for_insn): Determine the used heuristics,
14452         output the case no heuristic applied.
14453         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
14454
14455 2001-08-13  Andreas Jaeger  <aj@suse.de>
14456
14457         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
14458         register %rip.
14459
14460 2001-08-13  Kazu Hirata  <kazu@hxi.com>
14461
14462         * jump.c: Fix formatting.
14463
14464 2001-08-13  Kazu Hirata  <kazu@hxi.com>
14465
14466         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
14467         length.
14468
14469 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
14470
14471         * loop.c (check_dbra_loop): Use condjump_label to compute
14472         jump_label.
14473
14474         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
14475         to better document the files they're in.
14476
14477 2001-08-12  Zack Weinberg  <zackw@panix.com>
14478
14479         * recog.h (struct insn_operand_data): Shrink 'mode' field
14480         to 16 bits.
14481
14482 2001-08-12  Kazu Hirata  <kazu@hxi.com>
14483
14484         * gcc.c: Fix comment formatting.
14485         * gccspec.c: Likewise.
14486         * gcov.c: Likewise.
14487         * gcse.c: Likewise.
14488         * genemit.c: Likewise.
14489         * gengenrtl.c: Likewise.
14490         * genrecog.c: Likewise.
14491         * gensupport.c: Likewise.
14492         * ggc-page.c: Likewise.
14493         * global.c: Likewise.
14494         * graph.c: Likewise.
14495         * ifcvt.c: Likewise.
14496         * integrate.c: Likewise.
14497         * lcm.c: Likewise.
14498         * libgcc2.c: Likewise.
14499         * loop.c: Likewise.
14500         * mbchar.c: Likewise.
14501         * optabs.c: Likewise.
14502         * predict.c: Likewise.
14503         * prefix.c: Likewise.
14504         * profile.c: Likewise.
14505         * protoize.c: Likewise.
14506         * real.c: Likewise.
14507         * recog.c: Likewise.
14508         * regclass.c: Likewise.
14509         * regmove.c: Likewise.
14510         * reg-stack.c: Likewise.
14511         * reload1.c: Likewise.
14512         * resource.c: Likewise.
14513         * rtlanal.c: Likewise.
14514         * rtl.c: Likewise.
14515
14516 2001-08-12  Kazu Hirata  <kazu@hxi.com>
14517
14518         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
14519         a tree representing a constant is passed to the macro.
14520
14521 2001-08-12  Richard Henderson  <rth@redhat.com>
14522
14523         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
14524         (rs6000_elf_asm_out_destructor): New.
14525         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
14526         (DTORS_SECTION_ASM_OP): Remove.
14527         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14528         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
14529
14530 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
14531
14532         Revert:
14533         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14534         * gcc.c (set_collect_gcc_options): New function, split out from
14535         main.
14536         Ignore elided switches.
14537         (do_spec_1): Invoke before executing command.
14538         (set_input): Export.
14539         Move declaration ...
14540         * gcc.h (set_input): ... here.
14541         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
14542         file.
14543
14544 2001-08-12  Richard Henderson  <rth@redhat.com>
14545
14546         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
14547         thinko wrt TARGET_RELOCATABLE.
14548
14549 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
14550
14551         * fix-header.c (cb_file_change): Update prototype.
14552
14553 2001-08-11  Zack Weinberg  <zackw@panix.com>
14554
14555         * toplev.c (set_float_handler): Make static.
14556         * toplev.h: Don't prototype set_float_handler.
14557
14558         * simplify-rtx.c: Don't include setjmp.h.
14559         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
14560         New functions.
14561         (simplify_unary_operation, simplify_binary_operation): Use them,
14562         via do_float_handler.
14563
14564         * fold-const.c: Don't include setjmp.h.
14565         (exact_real_inverse_1): New function.
14566         (exact_real_inverse): Use it, via do_float_handler.
14567
14568         * varasm.c: Don't include setjmp.h.
14569         (assemble_real_1): New function.
14570         (assemble_real): Use it, via do_float_handler.
14571         Call internal_error if we get a trap here.
14572
14573         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
14574         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
14575
14576 2001-08-11  Zack Weinberg  <zackw@panix.com>
14577
14578         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
14579         STACK_BOUNDARY if not already defined.
14580
14581         * calls.c, function.c, reload1.c, explow.c: Don't default
14582         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
14583         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
14584
14585         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
14586         to run-time test.
14587
14588         * doc/tm.texi: Document that STACK_BOUNDARY is required;
14589         clarify difference between it and PREFERRED_STACK_BOUNDARY.
14590
14591 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14592
14593         * cppmacro.c (enter_macro_context): Push macro expansions even
14594         if empty.
14595
14596 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14597
14598         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
14599         (rs6000_elf_section_type_flags): Actually return a value.
14600
14601 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14602
14603         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
14604         Clean up code: add missing comments and prototypes, fix warnings,
14605         remove obsolete code, fix spacing to conform to coding style.
14606
14607 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14608
14609         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
14610         and TARGET_ASM_CLOSE_PAREN.
14611         (regclass_map): CC register belongs to class NO_REGS.
14612         (legitimize_pic_address): Don't generate unnecessary moves
14613         (to avoid confusing loop optimization).
14614         (check_and_change_labels): Replace jump_long by indirect_jump.
14615         (s390_final_chunkify): Don't start a new literal pool on section
14616         switch in 64-bit code.
14617         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
14618
14619         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
14620         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
14621         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
14622         modes correctly.
14623         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
14624         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
14625         (CONST_COSTS): Fixed incorrect costs.
14626
14627         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
14628         Use emit_jump instead of emit_jump_insn (gen_jump).
14629         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
14630         (to avoid confusing flow analysis).
14631         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
14632         (casesi, casesi_jump): New.
14633         (jump_long): Removed.  Functionality merged into indirect_jump.
14634         (indirect_jump): Accept address_operand, not just register_operand.
14635         (cjump_long, icjump_long): Use same logic as indirect_jump.
14636         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
14637         Fixed broken setjmp/longjmp handling.
14638         (do_builtin_setjmp_setup): Removed.
14639
14640         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
14641         broken GNU as versions that don't accept .quad with large
14642         negative values.  Use hexadecimal output instead.
14643         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
14644         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
14645         FUNCTION_EPILOGUE): Removed.  Now in targetm.
14646
14647         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
14648
14649         * config/s390/fixdfdi.h: Add missing copyright statement.
14650         Fix type conflicts on 64-bit.  Add missing SFmode routines.
14651
14652         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
14653         email address.
14654
14655 2001-08-11  Richard Henderson  <rth@redhat.com>
14656
14657         * rtl.h (REG_EH_RETHROW): Remove.
14658         * rtl.c (reg_note_name): Update.
14659         * combine.c (distribute_notes): Don't check for it.
14660
14661 2001-08-11  Richard Henderson  <rth@redhat.com>
14662
14663         * combine.c (distribute_notes): Place REG_SETJMP.
14664
14665 2001-08-11  Richard Henderson  <rth@redhat.com>
14666
14667         * doc/extend.texi (Arrays and pointers implementation): Discourage
14668         relying on sign-extension of pointers.
14669
14670 2001-08-11  H.J. Lu <hjl@gnu.org>
14671
14672         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
14673         in_dtors.
14674         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
14675         RDATA_SECTION_ASM_OP.
14676
14677 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14678
14679         * doc/install.texi (Specific, c4x): Fix cross-reference to the
14680         main manual to work both for info and HTML versions.
14681
14682 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14683             Matt Kraai <kraai@alumni.carnegiemellon.edu>
14684
14685         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
14686         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
14687         (struct cpp_pool): New member first.
14688         * cppinit.c (append_include_chain): Plug memory leaks.
14689         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
14690         Allocate pragma structures from the (aligned) macro pool to
14691         avoid leaking memory.
14692         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
14693         so we don't leak memory.
14694         * hashtable.c (ht_destroy): New.
14695         * hashtable.h (ht_destroy): New.
14696
14697 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14698             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14699
14700         * c-lex.c (map): Make const.
14701         (cb_file_change): Update for callback passing a line map.
14702         Don't assume we have a previous map.  Remove sanity check
14703         about popping too many files.
14704         * cpperror.c (print_location): Make map const.
14705         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
14706         (cpp_make_system_header): Similarly.
14707         (search_from): Similarly.
14708         (_cpp_execute_include): Don't remember where we came from.
14709         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
14710         (struct cpp_reader): Make map const.
14711         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
14712         * cpplib.c (do_line): Update; line maps now hold sysp.
14713         (cpp_push_buffer): Similarly.
14714         (_cpp_do_file_change): Similarly; callback with map instead.
14715         (cpp_get_line_maps): Constify return value.
14716         (_cpp_pop_buffer): Update.
14717         * cpplib.h (struct cpp_file_change): Remove.
14718         (struct cpp_callbacks): Update.
14719         (cpp_get_line_maps): Constify return value.
14720         * cppmacro.c (_cpp_create_definition): Update.
14721         * cppmain.c (struct printer): Constify map.
14722         (maybe_print_line): Similarly.
14723         (print_line): Similarly.  Deduce flags 1 and 2 here.
14724         (cb_file_change): Update.
14725         * line-map.c (free_line_maps): Warn regardless.
14726         (add_line_map): Return pointer to const.  When passed NULL to_file
14727         with LC_LEAVE, use the obvious values for the return point so the
14728         caller doesn't have to figure them out.
14729         (lookup_line): Return pointer to const.
14730         (print_containing_files): Take pointer to const.
14731         * line-map.h (struct line_map): New members reason, sysp.
14732         (add_line_map): Return pointer to const.
14733         (lookup_line): Similarly.
14734         (print_containing_files): Take pointer to const.
14735
14736 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
14737             Richard Henderson  <rth@redhat.com>
14738
14739         * regmove.c (regmove_optimize): Avoid setting a register twice in
14740         a parallel set.
14741
14742 2001-08-10  Richard Henderson  <rth@redhat.com>
14743
14744         * doc/extend.texi (Arrays and pointers implementation): Document
14745         behavior of pointer/integer conversion.
14746
14747 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
14748
14749         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
14750
14751 2001-08-10  Richard Henderson  <rth@redhat.com>
14752
14753         * doc/extend.texi (C Implementation): New chapter.
14754         * doc/gcc.texi (Top): Link it in.
14755
14756 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
14757
14758         * doc/install.texi (Specific): Fix CVS merge botch.
14759
14760 2001-08-10  Richard Henderson  <rth@redhat.com>
14761
14762         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
14763         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
14764
14765 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
14766
14767         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
14768         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
14769         this macro is now required.
14770
14771         * cselib.c (cselib_process_insn), flow.c (propagate_block),
14772         loop.c (find_and_verify_loops), reload.c (reload): Check
14773         for rtx code of CALL_INSN, not CALL, when deciding if we
14774         need to check for REG_SETJMP note.
14775
14776         * gcse.c (compute_hash_table, compute_store_table): Update
14777         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
14778         logic.
14779
14780         * config/avr/avr.c: Fix typo.
14781         * config/convex/convex.c (expand_movstr): Use adjust_address.
14782         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
14783         variable.
14784         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
14785         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
14786         Fix typo.
14787         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
14788         Do define STACK_BOUNDARY.
14789         * config/i370/i370.c: Include expr.h.
14790         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
14791         config/pa/som.h, config/v850/v850.h: Take in_ctors and
14792         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
14793         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
14794         * config/m88k/m88k.c: Include c-tree.h after expr.h.
14795         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
14796         * config/romp/romp.c: Include expr.h after tree.h.
14797         Include toplev.h.
14798         (output_fpop): Use xmalloc, not oballoc.
14799         * config/we32k/we32k.c: Include expr.h.
14800
14801 2001-08-10  Kazu Hirata  <kazu@hxi.com>
14802
14803         * config/h8300/h8300.h: Fix formatting.
14804
14805 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14806
14807         * c-common.h (RETURN_NULLIFIED_P): Lose.
14808         * c-semantics.c (genrtl_return_stmt): Don't check it.
14809
14810 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14811
14812         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
14813         (mips_annotate_frame_insn): New function.
14814         (mips_emit_frame_related_store): New function.
14815         (save_restore_insns): Don't mark instructions that set up the base
14816         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
14817         the store instructions instead.
14818         (mips_expand_prologue): If the stack size is moved into a temporary
14819         register, do not mark that move as frame-related.  Add a
14820         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
14821
14822 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14823
14824         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
14825         stack slot as unchanging if current_function_calls_eh_return.
14826
14827 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14828
14829         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
14830         access the second half of the TFmode scratch operand.
14831
14832 2001-08-10  Anthony Green  <green@redhat.com>
14833
14834         * java/class.c (emit_register_classes): Conditionalize code on
14835         JCR_SECTION_NAME.
14836
14837 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14838
14839         * doc/install.texi (Specific, avr): Fix cross-reference to the
14840         main manual to work both for info and HTML versions.
14841
14842 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14843
14844         * stmt.c (expand_null_return_1): Remove code to generate simple returns
14845         and "use_goto" argument.
14846         (expand_null_return, expand_value_return): Update all callers.
14847         * function.c (expand_function_end): Remove code to generate simple
14848         return.
14849         * config/vax/vax.md (epilogue): New expander for function return.
14850         * doc/md.texi (epilogue): Remove "if defined".
14851
14852 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14853
14854         * Makefile.in: Partially revert my previous change:
14855         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
14856         of the hashtab.o and safe-ctype.o rules.
14857
14858 2001-08-09  Richard Henderson  <rth@redhat.com>
14859
14860         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
14861         (USE_COLLECT2): Remove duplicate definition.
14862         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
14863         (use_collect2): Remove dead code.
14864         * configure.in (use_collect2): Remove will_use_collect2 and
14865         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
14866         * configure: Rebuild.
14867
14868         * target.h (targetm.asm_out.constructor): New.
14869         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
14870         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
14871         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
14872         * varasm.c (in_ctors, in_dtors): New.
14873         (assemble_constructor, assemble_destructor): Remove.
14874         (default_stabs_asm_out_destructor): New.
14875         (default_named_section_asm_out_destructor): New.
14876         (dtors_section, default_dtor_section_asm_out_destructor): New.
14877         (default_stabs_asm_out_constructor): New.
14878         (default_named_section_asm_out_constructor): New.
14879         (ctors_section, default_ctor_section_asm_out_constructor): New.
14880         * output.h: Update declarations.
14881         * c-decl.c (c_expand_body): Use target hooks instead of
14882         assemble_constructor and assemble_destructor.
14883         * profile.c (output_func_start_profiler): Likewise.
14884         * objc/objc-act.c (finish_objc): Likewise.
14885         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
14886         for the constructor.
14887         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
14888
14889         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
14890         (DTORS_SECTION_ASM_OP): Likewise.
14891         (__CTOR_LIST__): Use attribute section when possible.
14892         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
14893
14894         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
14895         ASM_OUTPUT_CONSTRUCTOR.
14896
14897         * config/darwin.c (machopic_asm_out_constructor): New.
14898         (machopic_asm_out_destructor): New.
14899         * config/darwin-protos.h: Update declarations.
14900         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14901         (ASM_OUTPUT_DESTRUCTOR): Remove.
14902         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14903         * config/nextstep.c (nextstep_asm_out_constructor): New.
14904         (nextstep_asm_out_destructor): New.
14905         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14906         (ASM_OUTPUT_DESTRUCTOR): Remove.
14907         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14908         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
14909         ASM_OUTPUT_*STRUCTOR.
14910         * config/i386/aix386ng.h: Likewise.
14911
14912         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
14913         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
14914         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14915         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14916         * config/lynx.h: Likewise.
14917         * config/netware.h: Likewise.
14918         * config/psos.h: Likewise.
14919         * config/alpha/alpha-interix.h: Likewise.
14920         * config/alpha/elf.h: Likewise.
14921         * config/arc/arc.h: Likewise.
14922         * config/arm/aof.h: Likewise.
14923         * config/arm/coff.h: Likewise.
14924         * config/arm/elf.h: Likewise.
14925         * config/c4x/c4x.h: Likewise.
14926         * config/h8300/h8300.h: Likewise.
14927         * config/i386/cygwin.h: Likewise.
14928         * config/i386/djgpp.h: Likewise.
14929         * config/i386/i386-coff.h: Likewise.
14930         * config/i386/i386-interix.h: Likewise.
14931         * config/i386/sco5.h: Likewise.
14932         * config/i386/vsta.h: Likewise.
14933         * config/i386/win32.h: Likewise.
14934         * config/i960/i960-coff.h: Likewise.
14935         * config/ia64/sysv4.h: Likewise.
14936         * config/m68hc11/m68hc11.h: Likewise.
14937         * config/m68k/coff.h: Likewise.
14938         * config/m68k/mot3300.h: Likewise.
14939         * config/m88k/m88k.h: Likewise.
14940         * config/mcore/mcore-pe.h: Likewise.
14941         * config/mcore/mcore.h: Likewise.
14942         * config/mips/elf.h: Likewise.
14943         * config/mips/elf64.h: Likewise.
14944         * config/mips/iris6.h: Likewise.
14945         * config/pa/pa64-hpux.h: Likewise.
14946         * config/rs6000/sysv4.h: Likewise.
14947         * config/sh/sh.h: Likewise.
14948         * config/sparc/litecoff.h: Likewise.
14949
14950         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
14951         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14952         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14953         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14954         (ASM_OUTPUT_DESTRUCTOR): Remove.
14955         * config/a29k/a29k.c: Move include of tree.h.
14956         * config/a29k/udi.h: Delete file.
14957         * config/alpha/alpha.c (vms_asm_out_constructor): New.
14958         (vms_asm_out_destructor): New.
14959         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
14960         (EXTRA_SECTION_FUNCTIONS): Likewise.
14961         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14962         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14963         * config/c4x/c4x.c: Move include of tree.h.
14964         * config/clipper/clipper.c (clix_asm_out_constructor): New.
14965         (clix_asm_out_destructor): New.
14966         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14967         (ASM_OUTPUT_DESTRUCTOR): Remove.
14968         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14969         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14970         (TARGET_ASM_CONSTRUCTOR): New.
14971         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
14972         (sco_asm_out_constructor): New.
14973         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
14974         * config/i386/svr3gas.h: Remove stack grows up code.
14975         Remove code duplicated from i386/sysv3.h.
14976         (TARGET_ASM_CONSTRUCTOR): New.
14977         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14978         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
14979         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14980         (TARGET_ASM_CONSTRUCTOR): New.
14981         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
14982         (m68hc11_asm_out_destructor): New.
14983         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
14984         (TARGET_ASM_DESTRUCTOR): New.
14985         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
14986         * config/m68k/dpx2.h: Properly undef all the bits inherited from
14987         config/svr3.h pertaining to section manipulation.
14988         * config/m68k/dpx2g.h: Remove #if 0 code.
14989         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
14990         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
14991         (ASM_OUTPUT_CONSTRUCTOR): Remove.
14992         (TARGET_ASM_CONSTRUCTOR): New.
14993         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
14994         (m88k_svr3_asm_out_constructor): New.
14995         (m88k_svr3_asm_out_destructor): New.
14996         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14997         (ASM_OUTPUT_DESTRUCTOR): Remove.
14998         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14999         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
15000         * config/rs6000/aix.h: Likewise.
15001         * config/mips/rtems64.h: Don't undef removed constructor related bits.
15002         * config/mips/vxworks.h: Likewise.
15003         * config/rs6000/lynx.h: Likewise.
15004         * config/sh/elf.h: Likewise.
15005         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
15006         (DTORS_SECTION_ASM_OP): New.
15007         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
15008         (ASM_OUTPUT_DESTRUCTOR): Remove.
15009         * config/sparc/sol2-sld-64.h: Likewise.
15010         * config/vax/vax.c (vms_asm_out_constructor): New.
15011         (vms_asm_out_destructor): New.
15012         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
15013         (ASM_OUTPUT_DESTRUCTOR): Remove.
15014         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
15015
15016         * doc/tm.texi (@node Initialization): Update.
15017
15018 2001-08-09  Richard Henderson  <rth@redhat.com>
15019
15020         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
15021         (__do_global_dtors_aux): Use gp-relative static data to avoid
15022         one dynamic relocation.
15023         (__do_frame_setup): Register Java classes.
15024         * config/alpha/crtend.asm (__JCR_END__): New.
15025
15026 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
15027
15028         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
15029         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
15030         (GEN, STAGESTUFF): Add new files.
15031         (insn-constants.h, s-constants, tm-preds.h, s-preds,
15032         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
15033         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
15034         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
15035         as well as insn-codes.h and insn-flags.h in config.h; and no
15036         extra headers in tconfig.h and hconfig.h.
15037
15038         * gencodes.c: Eliminate code to generate predicate declarations
15039         or #defines for md-file constants.
15040         * genconstants.c, genpreds.c: New files.
15041
15042         * i386.md: Re-order guard expressions such that TARGET_64BIT
15043         comes first, when this permits better optimization.  Add
15044         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
15045         why this is desirable.
15046
15047 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
15048
15049         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
15050         (find_fde_for_dso): Remove.
15051         (_Unwind_IteratePhdrCallback): New.
15052         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
15053         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
15054
15055 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15056
15057         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
15058         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
15059
15060 2001-08-09  Graham Stott  <grahams@redhat.com>
15061
15062         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
15063         (vis_no_unit): Use it.
15064         (visualize_no_unit): Add the insn only if room exists.
15065
15066 2001-08-09  Graham Stott  <grahams@redhat.com>
15067
15068         * predict.c (estimate_probability): Replace magic numbers with
15069         appropriate enumeration.
15070
15071 2001-08-09  Graham Stott  <grahams@redhat.com>
15072
15073         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
15074         parameter.
15075         (EXTRACT_FLAGS): Likewise.
15076
15077 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
15078
15079         * config/mips/mips.c    (mips_legitimate_address_p): Check for
15080         CONST_INT in last patch.
15081
15082 2001-08-08  Anthony Green  <green@redhat.com>
15083
15084         * java/class.c (emit_register_classes): Use assemble_jcr if
15085         possible.  Keep the original mechanism as a fallback.
15086         * defaults.h (JCR_SECTION_NAME): Define if we have named section
15087         and weak symbol support.
15088         * crtstuff.c (__JCR_LIST__): Define.
15089         (__JCR_END__): Define.
15090         (_Jv_RegiserClasses): Define weak symbol if possible.
15091         (__do_global_ctors_aux): Register classes for ELF targets with
15092         weak symbol support.
15093
15094 2001-08-08  Kazu Hirata  <kazu@hxi.com>
15095
15096         * dbxout.c: Fix comment formatting.
15097         * dependence.c: Likewise.
15098         * df.c: Likewise.
15099         * diagnostic.c: Likewise.
15100         * dominance.c: Likewise.
15101         * doprint.c: Likewise.
15102         * dwarf2out.c: Likewise.
15103         * dwarfout.c: Likewise.
15104         * emit-rtl.c: Likewise.
15105         * except.c: Likewise.
15106         * explow.c: Likewise.
15107         * expmed.c: Likewise.
15108         * expr.c: Likewise.
15109         * flow.c: Likewise.
15110         * fold-const.c: Likewise.
15111         * function.c: Likewise.
15112
15113 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
15114
15115         * global.c (retry_global_alloc): Avoid shadowing allocno.
15116
15117 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
15118
15119         * except.c (remove_fixup_regions): Fix typo.
15120
15121 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
15122
15123         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
15124         unsigned HOST_WIDE_INT to avoid warning.
15125         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
15126         * flow.c (set_block_for_new_insns): Likewise.
15127
15128 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
15129
15130         * sibcall.c (return_value_pseudo): New static variable.
15131         (skip_copy_to_return_value): Handle return_value_pseudo.
15132         (call_ends_block_p): Ensure that return_value_pseudo is set.
15133         (optimize_sibling_and_tail_recursive_call): Discover the
15134         load of pseudo return value in alternate exit block.
15135
15136 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
15137
15138         * calls.c (ECF_ALWAYS_RETURN): New constant.
15139         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
15140         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
15141         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
15142         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
15143         * rtl.c (reg_note_name): New name.
15144         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
15145
15146 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
15147
15148         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
15149
15150 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
15151
15152         * alias.c (get_alias_set): Return a previously calculated
15153         alias set for a VAR_DECL.
15154         * function.c (gen_mem_addressof): Calculate the alias set before
15155         touching the RTL.
15156
15157 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
15158
15159         * predict.def: Set hitrates according our experimental run.
15160
15161 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
15162
15163         * i386.h (HARD_REGNO_RENAME_OK): New macro.
15164
15165 2001-08-08  H.J. Lu <hjl@gnu.org>
15166
15167         * config/mips/mips.c (mips_unique_section): New. Copied from
15168         config/mips/elf.h.
15169
15170         * config/mips/mips-protos.h (mips_unique_section): New
15171         prototype.
15172
15173         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
15174
15175         * config/mips/little.h: New. Generic little endian mips
15176         targets. Only mips*-*-linux* is converted to use it so far.
15177
15178         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
15179         (WCHAR_TYPE): Defined
15180         (WCHAR_TYPE_SIZE): Likewise.
15181         (INIT_SUBTARGET_OPTABS): Likewise.
15182         (BSS_SECTION_ASM_OP): Likewise.
15183         (SBSS_SECTION_ASM_OP): Likewise.
15184         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15185         (ASM_DECLARE_OBJECT_NAME): Likewise.
15186         (UNIQUE_SECTION): Likewise.
15187         (EXTRA_SECTIONS): Likewise.
15188         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
15189         (ASM_OUTPUT_DESTRUCTOR): Likewise.
15190         (ASM_OUTPUT_DEF): Likewise.
15191         (HANDLE_SYSV_PRAGMA): Removed.
15192         (NO_IMPLICIT_EXTERN_C): Likewise.
15193         (TARGET_MEM_FUNCTIONS): Likewise.
15194         (STARTFILE_SPEC): Likewise.
15195         (ENDFILE_SPEC): Likewise.
15196         (LIB_SPEC): Likewise.
15197         (INVOKE__main): Likewise.
15198         (CTOR_LIST_BEGIN): Likewise.
15199         (CTOR_LIST_END): Likewise.
15200         (DTOR_LIST_BEGIN): Likewise.
15201         (DTOR_LIST_END): Likewise.
15202         (SET_ASM_OP): Likewise.
15203         (ASM_OUTPUT_SOURCE_LINE): Likewise.
15204         (ASM_OUTPUT_DEF): Likewise.
15205         (ASM_OUTPUT_IDENT): Likewise.
15206
15207         * config/mips/mips.h (ASM_SPEC): Undefine before define.
15208         (CPLUSPLUS_CPP_SPEC): Likewise.
15209         (ASM_APP_ON) Redefine only if not defined.
15210         (ASM_APP_OFF): Likewise.
15211         (ASM_OUTPUT_SOURCE_LINE): Likewise.
15212         (ASM_OUTPUT_IDENT): Likewise.
15213
15214         * config.gcc: Update tm_file for Linux/mips.
15215
15216 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
15217
15218         * cselib.c (cselib_record_sets): If insn is predicated, turn
15219         sources into IF_THEN_ELSEs.
15220
15221         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
15222         Turn into define_insn_and_split.
15223
15224         * sched-deps.c: Include "cselib.h".
15225         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
15226         Use cselib to turn memory addresses into VALUEs.
15227         (sched_analyze): Call cselib_init/cselib_finish if necessary.
15228         * sched-int.h (struct sched_info): New member USE_CSELIB.
15229         * sched-ebb.c (ebb_sched_info): Initialize it.
15230         * sched-rgn.c (rgn_sched_info): Likewise.
15231         * Makefile.in (sched-deps.o): Update dependencies.
15232
15233         * cselib.h (cselib_subst_to_values): Declare.
15234         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
15235         that have no value and autoincs to be handled by generating a new
15236         dummy value.
15237
15238 2001-08-08  Graham Stott  <grahams@redhat.com>
15239
15240         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
15241         within fixed length SEQUENCE.
15242
15243 2001-08-08  Graham Stott  <grahams@redhat.com>
15244
15245         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
15246         (diagnostic_prefixing_rule): Likewise.
15247         (diagnostic_line_cutoff): Likewise.
15248         (diagnostic_kind_count): Likewise.
15249
15250 2001-08-08  Graham Stott  <grahams@redhat.com>
15251
15252         * alias.c (find_base_decl): Delete redundent assignment.
15253
15254 2001-08-08  Graham Stott  <grahams@redhat.com>
15255
15256         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
15257         (abs): Uppercase and paranthesize macro parameter.
15258         (MEM_DEPENDENCY): Add whitespace.
15259
15260 2001-08-08  Graham Stott  <grahams@redhat.com>
15261
15262         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
15263         failure check for CONST_INT
15264
15265 2001-08-08  Graham Stott  <grahams@redhat.com>
15266
15267         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
15268         (libcall_dead_p): Likewise.
15269
15270         (mark_used_regs): Constify fmt.
15271         (find_use_as_address): Likewise.
15272
15273 2001-08-08  Graham Stott  <grahams@redhat.com>
15274
15275         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
15276          parameter.
15277
15278 2001-08-08  Graham Stott  <grahams@redhat.com>
15279
15280         * combine.c (combine_simplify_rtx): Update comment and
15281         remove erroneous test.
15282
15283 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
15284
15285         * cppinit.c (cpp_finish): Pop the final buffer without comment.
15286         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
15287         take care to avoid multiple no-newline at EOF warnings in that
15288         case.
15289
15290 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
15291
15292         * calls.c (expand_call): Do not emit INSN_SETJMP note.
15293         (emit_library_call_value_1): Likewise.
15294         (emit_call_1): Emit REG_SETJMP note.
15295         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
15296         of INSN_SETJMP
15297         * cselib.c (cselib_process_insn): Likewise.
15298         * flow.c (propagate_block): Likewise.
15299         * loop.c (find_and_verify_loops): Likewise.
15300         * reload.c (find_equiv_regs): Likewise.
15301         * reload1.c (reload): Likewise.
15302         * resource.c (mark_referenced_resources,
15303         mark_set_resources): Likewise.
15304         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
15305         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
15306         * haifa-sched.c (unlink_other_notes): Likewise.
15307         (reemit_notes): Likewise.
15308         * sched-ebb.c (sched_ebb): Likewise.
15309         * sched-rgc.c (sched_region): Likewise.
15310         * rtl.c (note_insn_name): Likewise.
15311         (reg_note_name): Add REG_SETJMP
15312         * rtl.h (reg_note): Add REG_SETJMP.
15313         (insn_note): Remove NOTE_INSN_SETJMP.
15314
15315         * profile.c (branch_prob): Add fake edges for setjmp.
15316
15317 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
15318
15319         * config.gcc: Quote target_cpu_default2 correctly for
15320         powerpc*-*-* targets.
15321
15322 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
15323
15324         * cpplib.h, line-map.h: Update comments.
15325         * cppmain.c (printer_init): Move inline.
15326         (maybe_print_line, print_line): Take a map pointer.
15327         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
15328         (cb_file_change): Don't use prior value of print.map.
15329
15330 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
15331
15332         * doc/install.texi: Document fine-grained multilib configuration.
15333
15334 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
15335
15336         * rtlanal.c (find_first_parameter_load): Call note_stores
15337         only on the instructions.
15338
15339 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15340
15341         * alias.c (nonlocal_mentioned_p):
15342         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
15343         * calls.c (emit_call_1): Likewise.
15344         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
15345         * cselib.c (cselib_process_insn): Likewise.
15346         * df.c (df_insns_modify): Likewise.
15347         * flow.c (need_fake_edge_p): Likewise.
15348         (propagate_one_insn): Likewise.
15349         * haifa-sched.c (reemit_notes): Likewise.
15350         * integrate.c (copy_insn_list): Likewise.
15351         * jump.c (delete_prior_computation): Likewise.
15352         * local-alloc.c (validate_equiv_mem): Likewise.
15353         * loop.c (scan_loop): Likewise.
15354         * predict.c (estimate_probability): Likewise.
15355         * reload.c (reload): Likewise.
15356         * sched-deps (sched_analyze): Likewise.
15357         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
15358         * gcse.c (compute_hash_table): Likewise.
15359         (mark_call): Likewise.
15360         (store_killed_in_insn): Likewise.
15361
15362 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
15363
15364         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
15365
15366 2001-08-06  Richard Henderson  <rth@redhat.com>
15367
15368         * varasm.c (assemble_gc_entry): Remove.
15369         * output.h: Likewise.
15370
15371 2001-08-06  Richard Henderson  <rth@redhat.com>
15372
15373         * varasm.c (assemble_constructor): Take a symbol_ref and a
15374         priority instead of a bare string.  Move priority handling
15375         here from cp/decl2.c.
15376         * output.h: Update decls.
15377
15378         * c-decl.c (c_expand_body): Update calls to assemble_constructor
15379         and assemble_destructor.
15380         * profile.c (output_func_start_profiler): Likewise.
15381         * objc/objc-act.c (finish_objc): Likewise.
15382         (build_module_descriptor): Return the symbol not the symbol name.
15383
15384 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
15385
15386         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
15387         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
15388         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
15389         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
15390         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
15391         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
15392
15393 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
15394
15395         * cpperror.c (print_containing_files): Moved to line-map.c.
15396         (print_location): line-map.c handles re-listing or otherwise.
15397         * cpphash.h (struct lexer_state): Remove next_bol.
15398         (struct cpp_buffer): Remove include_stack_listed.
15399         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
15400         Remove faked buffer handling.
15401         (_cpp_do_file_change): Tweak.
15402         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
15403         * cppmain.c (struct printer): Remove filename.
15404         (print_line, cb_file_change): Update accordingly.
15405         * line-map.c: Include intl.h.
15406         (init_line_maps): Initialize last_listed.
15407         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
15408         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
15409         (print_containing_files): New.
15410         * line-map.h (struct line_maps): New member last_listed.
15411         (print_containing_files, INCLUDED_FROM): New.
15412         * Makefile.in: Update.
15413         * po/POTFILES.in: Add line-map.c.
15414
15415 2001-08-06  Richard Henderson  <rth@redhat.com>
15416
15417         * except.c (convert_from_eh_region_ranges_1): Never mark
15418         USE or CLOBBER insns as throwing.
15419
15420         * expr.c (store_constructor): Don't clobber memory targets.
15421
15422 2001-08-06  Andreas Jaeger  <aj@suse.de>
15423
15424         * profile.c (branch_prob): Remove unused variable insn.
15425
15426         * Makefile.in (local-alloc.o): Add dependency on except.h.
15427
15428         * local-alloc.c: Include except.h for can_throw_internal prototype.
15429
15430 2001-08-06  Richard Henderson  <rth@redhat.com>
15431
15432         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
15433         * function.c (expand_main_function): Implement it.
15434         * doc/tm.texi: Document it.
15435
15436 2001-08-06  Stan Shebs  <shebs@apple.com>
15437
15438         * doc/install.texi: Document powerpc-*-darwin* details.
15439
15440 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
15441
15442         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
15443         (ASM_CPU_SPEC): Move back to rs6000.h
15444         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
15445
15446         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
15447
15448         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
15449         readded.
15450
15451         * config/rs6000/linux64.h: Ditto.
15452
15453         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
15454         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
15455         nothing.
15456
15457         Remove accidently readded definitions of FUNCTION_PROLOGUE,
15458         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
15459
15460         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
15461         to rs6000.h
15462
15463 2001-08-05  Richard Henderson  <rth@redhat.com>
15464
15465         * local-alloc.c (update_equiv_regs): Do not move insns that
15466         can throw.
15467
15468 2001-08-05  Jan Hubicka  <jh@suse.cz>
15469
15470         * Makefile.in (reload1.o): Add dedendancy on except.h
15471         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
15472         prototypes.
15473         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
15474         indicating wehther edges has been cleaned up.
15475         * reload1.c: Inlucde except.h
15476         (fixup_abnormal_edges): Accept deleted insns.
15477         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
15478         after combine.
15479
15480 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
15481
15482         * cpplib.c (do_line): Correct line number after pop_buffer.
15483
15484 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
15485
15486         PR preprocessor/3824
15487         * line-map.c: Update comments.
15488         * line-map.h: Update comments.
15489         * tradcif.y: Don't consider large numbers unsigned.
15490
15491 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
15492
15493         PR preprocessor/3081
15494         * c-lex.c (map): New.
15495         (cb_file_change): Update map and use it.
15496         (cb_def_pragma, cb_define, cb_undef): Use map and line.
15497         (c_lex): Update to use map.
15498         * cpperror.c (print_location): Move to using logical line numbers.
15499         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
15500         (cpp_make_system_header): Similarly.
15501         (_cpp_execute_include): Stop line numbering hacks.  Store the
15502         line we will return to.
15503         * cpphash.h (CPP_BUF_LINE): Remove.
15504         (struct cpp_buffer): Remove lineno and pseudo_newlines.
15505         Add map and return_to_line.
15506         (_cpp_do_file_change): Update.
15507         * cppinit.c (cpp_start_read): Update line kludge.
15508         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
15509         (trigraph_ok): Use logical line numbers for diagnostics.
15510         (skip_block_comment): Likewise.
15511         (skip_whitespace): Likewise.
15512         (skip_line_comment): Use pfile->line instead.
15513         (_cpp_lex_token): Update to use logical line numbering exclusively.
15514         Handle BOL locally.  Accept new lines in directives, but keep
15515         pfile->line decremented.  Diagnostics use logical lines.  Update
15516         directive handling.
15517         * cpplib.c (SEEN_EOL): New.
15518         (skip_rest_of_line, check_eol): Use it.
15519         (end_directive): Increase line number when accepting the newline
15520         at the end of a directive.
15521         (run_directive): Simplify.
15522         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
15523         (_cpp_do_file_change): Update to take buffer line number as an
15524         argument, and store the current map in the cpp_reader.  Remove
15525         line number kludges.
15526         (_cpp_do__Pragma): Restore output position after a _Pragma.
15527         (cpp_push_buffer): Don't set output line or lineno.
15528         (_cpp_pop_buffer): Transfer more info from a faked buffer.
15529         Remove line kludge.  Set output_line.
15530         * cppmacro.c (builtin_macro): Update handling of __LINE__.
15531         (parse_arg): Use logical lines.
15532         (save_lookahead_token): Save EOFs too now.
15533         * cppmain.c (struct printer): Fix comments.
15534         (printer_init): Simplify, let caller do errors.
15535         (scan_translation_unit, check_multiline_token, dump_macro): Update.
15536         (maybe_print_line): Simplify.
15537         (print_line): Don't print a linemarker if -P.
15538         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
15539         (cb_file_change): Simplify.
15540         * line-map.h (LAST_SOURCE_LINE): Fix.
15541         (CURRENT_LINE_MAP): New.
15542
15543 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
15544
15545         * doloop.c (doloop_modify_runtime): Properly compute number of
15546         iterations if loop was unrolled.
15547
15548         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
15549         if their CSELIB_VAL_PTRs are.
15550
15551         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
15552         (setup_spill_pointers): Initialize it.
15553         (spill_restore_mem): Set it.
15554         (do_spill, do_restore): Use it to add REG_INC note.
15555         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
15556
15557         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
15558         asms if other insns are available.
15559
15560         * config/ia64/ia64.c (condop_operator): New predicate.
15561         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
15562         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
15563         patterns.
15564
15565         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
15566         temporary register than directly using a MEM.
15567
15568 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15569
15570         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
15571         parameter in last change.
15572
15573 2001-08-04  Zack Weinberg  <zackw@panix.com>
15574
15575         * sparc.md: Don't use #if inside C test expression.
15576
15577 2001-08-04  Richard Henderson  <rth@redhat.com>
15578
15579         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
15580
15581 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
15582
15583         * cpphash.h (struct cpp_reader): New member directive_line.
15584         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
15585         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
15586         do_pragma): Pass line to callbacks.
15587         (start_directive): Record line of directive.
15588         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
15589         cb_include): Similarly.
15590         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
15591         Similarly.
15592
15593 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15594
15595         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
15596         comment.
15597
15598 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
15599
15600         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
15601
15602         * reload1.c (fixup_abnormal_edges): New static function.
15603         (reload): Use it.
15604
15605         * flow.c (need_fake_edge_p): New function.
15606         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
15607         avoid call insn to be very last insn in the insn stream.
15608
15609         * profile.c (branch_prob): Call flow_call_edges_add instead of
15610         doing that by hand; cleanup cfg to re-merge basic blocks once
15611         we are done.
15612
15613 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15614
15615         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
15616         are also on line-map.h.
15617         * cppfiles.c (stack_include_file): Update.
15618         * cpphash.h (struct cpp_buffer): New member return_at_eof.
15619         (_cpp_pop_buffer): New.
15620         * cppinit.c (cpp_destroy, cpp_finish): Update.
15621         (do_includes): Mark each buffer to return at EOF.
15622         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
15623         return as requested.
15624         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
15625         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
15626         * cpplib.h (cpp_pop_buffer): Remove.
15627         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
15628         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
15629         buffers.
15630         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
15631         to pop buffers.
15632         (do_preprocessing): Update.
15633         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
15634         * c-parse.in (_yylex): Similarly.
15635         * scan-decls.c (scan_decls): Similarly.
15636         * line-map.h: Update comments.
15637
15638         * objc/Make-lang.in (objc-act.o): Update dependencies.
15639
15640 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15641
15642         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
15643         and soft register for operand 0.
15644         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
15645
15646 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15647
15648         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
15649         register for operand 0.
15650         ("bitcmpqi_z_used"): Allow memory for operand 0.
15651         (split "bitcmpqi"): New split to handle address reg as operand 1.
15652
15653 2001-08-04  Andreas Jaeger  <aj@suse.de>
15654
15655         * gcse.c: Revert Daniel's last patch.
15656
15657 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15658
15659         * sparc-protos.h: Add prototypes for fp_zero_operand and
15660         reg_or_0_operand.
15661         * sh-protos.h: Add prototype for fpul_operand.
15662
15663 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15664
15665         * doc/extend.texi (Other Builtins): Fix typo in last change.
15666
15667 2001-08-03  Richard Henderson  <rth@redhat.com>
15668
15669         * target.h (gcc_target): Add asm_out.named_section,
15670         section_type_flags, have_named_sections.
15671         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
15672         (TARGET_HAVE_NAMED_SECTIONS): New.
15673         (TARGET_SECTION_TYPE_FLAGS): New.
15674
15675         * Makefile.in (toplev.o): Depend on TARGET_H.
15676         (varasm.o, dbxout.o): Likewise.
15677         * c-common.c (decl_attributes): Check targetm.have_named_sections
15678         instead of ifdef ASM_OUTPUT_SECTION_NAME.
15679         * dbxout.c (dbxout_function_decl): Likewise.
15680         (dbxout_function_end): Likewise.
15681         * toplev.c (compile_file): Likewise.
15682         * varasm.c (exception_section): Likewise.
15683         * cp/decl2.c (finish_objects): Likewise.
15684
15685         * defaults.h (EH_FRAME_SECTION): Remove.
15686         (EH_FRAME_SECTION_ASM_OP): Remove.
15687         (EH_FRAME_SECTION_NAME): New.
15688         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
15689         (UNIQUE_SECTION_P): Remove.
15690         * dwarf2out.c (SECTION_FORMAT): Remove.
15691         (ASM_OUTPUT_SECTION): Remove.
15692         (output_call_frame_info): Use named_section_flags.
15693         (output_comp_unit, dwarf2out_start_source_file): Likewise.
15694         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
15695         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
15696         * varasm.c (in_eh_frame, eh_frame_section): Remove.
15697         (named_section_flags): New.
15698         (named_section): Use it and targetm.section_type_flags.
15699         (resolve_unique_section): New.
15700         (assemble_start_function): Use it.
15701         (asm_emit_uninitialised, assemble_variable): Likewise.
15702         (default_section_type_flags): New.
15703         (default_no_named_section, default_elf_asm_named_section): New.
15704         (default_coff_asm_named_section, default_pe_asm_named_section): New.
15705         * output.h: Update varasm.c decls.
15706         (SECTION_*): New flags.
15707
15708         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
15709         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
15710
15711         * config/elfos.h (UNIQUE_SECTION_P): Remove.
15712         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
15713         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
15714         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15715         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
15716         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
15717         * config/mips/elf.h, config/mips/elf64.h: Likewise.
15718         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
15719         * config/pa/pa64-hpux.h,
15720
15721         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
15722         (TARGET_ASM_NAMED_SECTION): New.
15723         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
15724         * config/alpha/vms.h, config/arm/coff.h: Likewise.
15725         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
15726         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
15727         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
15728         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
15729         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15730         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
15731         * config/i386/sco5.h, config/i386/win32.h: Likewise.
15732         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
15733         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
15734         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
15735         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
15736         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
15737         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
15738         * config/sparc/sysv4.h: Likewise.
15739
15740         * config/nextstep.h: Error until named sections implemented.
15741
15742         * config/a29k/a29k.c (a29k_asm_named_section): New.
15743         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
15744         (vms_section_type_flags, vms_asm_named_section): New.
15745         * config/arm/arm.c (arm_elf_asm_named_section): New.
15746         * config/avr/avr.c (asm_output_section_name): Remove.
15747         * config/avr/avr-protos.h: Update.
15748         * config/c4x/c4x.c (c4x_asm_named_section): New.
15749         * config/h8300/h8300.c (h8300_asm_named_section): New.
15750         * config/i386/i386.c (sco_asm_named_section): New.
15751         * config/i386/winnt.c (SECTION_PE_SHARED): New.
15752         (i386_pe_section_type_flags): New.
15753         (i386_pe_asm_named_section): New.
15754         * config/i386/i386-protos.h: Update.
15755         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
15756         * config/mcore/mcore.c (mcore_asm_named_section): New.
15757         * config/mips/mips.c (iris6_asm_named_section): New.
15758         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
15759         instead of UNIQUE_SECTION_P.
15760         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
15761         (xcoff_asm_named_section): New.
15762         * config/sh/sh.c (sh_asm_named_section): New.
15763         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
15764
15765         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
15766         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
15767         (EH_FRAME_SECTION_NAME): New.
15768         (EXCEPTION_SECTION): New.
15769         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
15770         (DEBUG_*_SECTION): Remove.
15771         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
15772         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
15773         (EH_FRAME_SECTION_ASM_OP): Remove.
15774
15775         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
15776         (ASM_OUTPUT_SECTION_NAME): Remove.
15777         (TARGET_ASM_NAMED_SECTION): New.
15778         (TARGET_HAVE_NAMED_SECTIONS): New.
15779         (TARGET_SECTION_TYPE_FLAGS): New.
15780         (EH_FRAME_SECTION_ASM_OP): Remove.
15781         (EH_FRAME_SECTION_NAME): New.
15782
15783 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15784
15785         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
15786         for complex expressions when cfun == 0.
15787         * doc/extend.texi: Document that __builtin_constant_p can be
15788         used in data initializers as well as functions.
15789
15790 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
15791
15792         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
15793         variable I locally, instead of expecting a declaration in the
15794         calling context.
15795
15796 2001-08-03  Richard Henderson  <rth@redhat.com>
15797
15798         * except.c (collect_one_action_chain): Add an explicit cleanup
15799         action if regions surrounding a catch were encoded entirely
15800         within the call-site entry.
15801
15802 2001-08-03  Richard Henderson  <rth@redhat.com>
15803
15804         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
15805         don't take REGNO of a non-register.
15806
15807 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15808
15809         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
15810         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
15811         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
15812         (__gthread_mutex_init_function): New function for mutex initialization.
15813
15814 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15815
15816         * Makefile.in: Revert screwed up commit.
15817
15818 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15819
15820         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
15821         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
15822         merged by linker script to get a final _exit().
15823         (__do_global_dtors): New for destructor handling in specific exit
15824         section.
15825         (__do_global_ctors): New for constructors in specific install section.
15826         (__map_data_section): Map data sections before running constructors.
15827         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
15828         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
15829         (DTORS_SECTION_ASM_OP): Likewise.
15830         (CTORS_SECTION_FUNCTION): Define to force a reference to
15831         __do_global_ctors.
15832         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
15833
15834 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15835
15836         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
15837
15838         * Makefile.in: Add df.h to gcse.c dependencies.
15839
15840 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15841
15842         * varasm.c (output_constant_def_contents): Use for the length of a
15843         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
15844         depending on which is larger.
15845
15846 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15847
15848         * gcse.c: Include df.h for use as a dataflow analyzer.
15849         Remove regvec.
15850         Declaration of reg_set_info: gone.
15851         New df_analyzer variable used by store motion.
15852         (reg_set_info): Deleted.
15853         (mark_mem_regs): New function, analyze regs used by a mem.
15854         (store_ops_ok): Use dataflow analyzer results to determine if
15855         necessary regs are changed in the block.
15856         (find_moveable_store): Remove check for symbol ref, we can handle
15857         much more complex expressions now.
15858         (compute_store_table): Remove most of the code, it's unnecessary
15859         now that the dataflow analyzer records the info for us.
15860         (store_killed_after): Add parameter to say whether to do the
15861         store_ops_okay test, used to speed up testing when we already know
15862         the answer, and just want to know if the store itself was killed.
15863         (build_store_vector): Largely rewritten to calculate the various
15864         vectors properly, and somewhat optimized.
15865         (store_motion): Init the df_analyzer, get REG_DEF chains.
15866         Also handle trapping expressions (since mems almost always trap)
15867         (simple_mem): Redefine what a simple mem is.
15868
15869 2001-08-03  DJ Delorie  <dj@redhat.com>
15870
15871         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
15872         set from a constant part of the condition.
15873
15874 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
15875
15876         * mkdeps.c (deps_add_default_target): Make local variable
15877         ``start'' a const char pointer.
15878         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
15879
15880 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15881
15882         * doc/install.texi (Configuration): Fix markup.
15883         (Specific, i?86-*-udk): Likewise.
15884         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
15885         --with-gnu-ld.
15886         Document --enable-threads and --enable-libgcj status.
15887         (Specific, mips-sgi-irix*): Canonicalize triples.
15888         (Specific, mips-sgi-irix5): Warn about problems with this config.
15889         Mention required GNU as patch.
15890         Native assembler problems are fixed.
15891         (Specific, mips-sgi-irix6): Update O32 ABI support status.
15892         Document --enable-threads and --enable-libgcj status.
15893
15894 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15895
15896         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
15897         of mkinstalldirs.
15898
15899 2001-08-03  Richard Henderson  <rth@redhat.com>
15900
15901         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
15902         constant data.
15903
15904 2001-08-03  Richard Henderson  <rth@redhat.com>
15905
15906         * rtlanal.c (find_first_parameter_load): Stop if we
15907         reach a CODE_LABEL at BOUNDARY.
15908
15909 2001-08-03  Richard Henderson  <rth@redhat.com>
15910
15911         * config/alpha/alpha.md (force_movdi): New insn.
15912         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
15913         Tweek FRP marking of VMS prologue insns.
15914         * config/alpha/vms.h (EPILOGUE_USES): New.
15915
15916 2001-08-02  Richard Henderson  <rth@redhat.com>
15917
15918         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
15919
15920 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15921
15922         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
15923         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
15924         config/convex/convex.h, config/d30v/d30v.c,
15925         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
15926         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
15927         config/mips/mips.h, config/mn10200/mn10200.h,
15928         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
15929         config/v850/v850.h, config/vax/openbsd.h,
15930         config/vax/openbsd1.h, config/vax/ultrix.h,
15931         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
15932         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
15933         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
15934         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
15935         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
15936         in comments and documentation.
15937
15938 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15939
15940         * line-map.c: New.
15941         * line-map.h: New.
15942         * Makefile.in (line-map.o): New.
15943         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
15944         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
15945         * cpperror.c (print_containing_files): Similarly.
15946         (print_location): Update.  Don't output a space before _Pragma.
15947         * cppfiles.c (stack_include_file): Set to line 1 immediately.
15948         (stack_include_filee, cpp_make_system_header): Update.
15949         (_cpp_execute_include): Get logical line number right for calling
15950         as-yet-unterminated #include.
15951         * cpphash.h (struct cpp_reader): Add line_maps.
15952         (_cpp_do_file_change): Update.
15953         * cppinit.c (cpp_create_reader): Initialize line maps.
15954         (cpp_destroy): Destroy line maps.
15955         (cpp_start_read): Get logical line number right.
15956         * cpplex.c (parse_string): Only warn once for multi-line strings.
15957         Use boolean variable for null warning.
15958         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
15959         already.
15960         (do_include_common): End the directive early.
15961         (do_line): Don't warn about out-of-range lines in preprocessed
15962         source.  Update.  Remove unused variables.
15963         (_cpp_do_file_change): Update for new line mapping.
15964         (pragma_cb): New typedef.
15965         (cpp_register_pragma): Stop looking ahead before calling the
15966         handler.  Clean up.
15967         (do_pragma_system_header): End directive early.
15968         (cpp_get_line_maps): New.
15969         (cpp_pop_buffer): Fudge logical line.  Update.
15970         * cpplib.h: Include line-map.h
15971         (enum cpp_fc_reason): Remove.
15972         (struct cpp_file_change): Update.
15973         (cpp_get_line_maps): New.
15974         * cppmain.c (struct_printer): New member map.
15975         (cb_file_change): Update for new mappings.
15976         * fix-header.c (cb_file_change): Similarly.
15977
15978 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15979
15980         * Makefile.in (libgcc.mk): Define mkinstalldirs.
15981         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
15982
15983 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15984
15985         * config/vax/vax.c: include expr.h.
15986
15987 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15988
15989         * Makefile.in ($(srcdir)/configure): Only rebuild in
15990         maintainer mode.
15991         ($(srcdir)/config.in): Only define in maintainer mode.
15992         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
15993
15994 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
15995
15996         * doc/install.texi (Install GCC: Binaries): Update Bull info.
15997
15998 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15999
16000         * gcc.c (set_collect_gcc_options): New function, split out from
16001         main.
16002         Ignore elided switches.
16003         (do_spec_1): Invoke before executing command.
16004         (set_input): Export.
16005         Move declaration ...
16006         * gcc.h (set_input): ... here.
16007         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
16008         file.
16009
16010 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
16011
16012         Kill -fhonor-std.
16013         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
16014         interaction.
16015         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
16016
16017 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
16018
16019         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
16020         for the unnamed instructions it expands to.
16021
16022 2001-08-02  Richard Henderson  <rth@redhat.com>
16023
16024         * regclass.c (call_really_used_regs): Conditionally define.
16025         (init_reg_sets_1): Don't use it if not defined.
16026         (fix_register): Similarly, don't set it.
16027
16028 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16029
16030         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
16031         Correct comment that had been missed in the previous change.
16032
16033 2001-08-01  Stan Shebs  <shebs@apple.com>
16034
16035         * config/darwin.c (machopic_stub_name): Try matching by name.
16036         (update_stubs): New function.
16037         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
16038         unconditionally.
16039
16040 2001-08-01  Richard Henderson  <rth@redhat.com>
16041
16042         * except.c (output_function_exception_table): Use assemble_align.
16043         * varasm.c (assemble_eh_label): Remove.
16044         (assemble_eh_align, assemble_eh_integer): Remove.
16045
16046 2001-08-01  Robert Lipe  <robertl@caldera.com>
16047
16048         * dwarfout.c: Remove reference to README.DWARF.
16049
16050 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
16051
16052         * regclass.c (call_really_used_regs): New array for registers which
16053         are actually used by a call.
16054         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
16055         new array.
16056         (fix_register): Set call_really_used too.
16057         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
16058         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
16059
16060 2001-08-01  Richard Henderson  <rth@redhat.com>
16061
16062         * read-rtl.c (read_name): Consider \r whitespace.
16063
16064 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
16065
16066         * config.gcc: Recognize powerpc-*-netbsd*.
16067
16068         * doc/install.texi (Host/target specific installation notes for
16069         GCC): Mention powerpc-*-netbsd*.
16070
16071         * config/rs6000/netbsd.h: New file.
16072         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
16073         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
16074         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
16075         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
16076         (TARGET_VERSION): Redefine.
16077
16078         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
16079         mcall-netbsd as a match for mcall-sysv.
16080         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
16081         (ncrti.S, ncrtn.S): New targets.
16082         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
16083
16084         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
16085         "netbsd' as a V4 ABI.
16086         (ASM_SPEC): Check for -mcall-netbsd.
16087         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
16088         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
16089         (LIB_SPEC, ENDFILE_SPEC): Ditto.
16090         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
16091         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
16092         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
16093         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
16094
16095         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
16096         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
16097
16098 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
16099
16100         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
16101         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
16102         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
16103         including "unwind-pe.h".
16104
16105 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
16106
16107         * rs6000.md (define_splits): Kill unused constraints.
16108
16109 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
16110                               Jan Hubicka  <jh@suse.cz>
16111
16112         * function.c (thread_prologue_and_epilogue_insns): Kill code
16113         dealing with non-existent CFG.
16114
16115 2001-08-01  Kazu Hirata  <kazu@hxi.com>
16116
16117         * alias.c: Fix comment formatting.
16118         * bitmap.c: Likewise.
16119         * builtins.c: Likewise.
16120         * calls.c: Likewise.
16121         * c-common.c: Likewise.
16122         * c-decl.c: Likewise.
16123         * c-dump.c: Likewise.
16124         * c-lex.c: Likewise.
16125         * collect2.c: Likewise.
16126         * combine.c: Likewise.
16127         * conflict.c: Likewise.
16128         * cppfiles.c: Likewise.
16129         * cppinit.c: Likewise.
16130         * cpplex.c: Likewise.
16131         * cpplib.c: Likewise.
16132         * cppmacro.c: Likewise.
16133         * cppspec.c: Likewise.
16134         * c-pragma.c: Likewise.
16135         * crtstuff.c: Likewise.
16136         * cse.c: Likewise.
16137         * cselib.c: Likewise.
16138         * c-semantics.c: Likewise.
16139         * c-typeck.c: Likewise.
16140
16141 2001-08-01  H.J. Lu <hjl@gnu.org>
16142
16143         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
16144
16145 2001-08-01  H.J. Lu <hjl@gnu.org>
16146
16147         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
16148
16149 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
16150
16151         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
16152         contextualizing Objective-C class name lookup by the lexer.
16153         (typespec_reserved_nonattr): Disable ObjC class name lookup after
16154         seeing a TYPESPEC.
16155         (protocoldef): Add support for forward @protocol declarations.
16156         (yylexname): Suppress ObjC class name lookup in certain contexts;
16157         re-enable after lookup is complete.
16158         (_yylex): Re-enable ObjC class name lookup when certain
16159         punctuation marks are seen.
16160
16161         * objc/objc-act.c (check_protocol_recursively): New function used
16162         for finding circular dependencies in protocols.
16163         (objc_declare_protocols): New function for handling forward
16164         @protocol declarations.
16165         (receiver_is_class_object): Detect the case when 'self' is used
16166         inside of a class method.
16167         (build_message_expr): Issue a warning if class method is desired
16168         but instance method is found instead.
16169         (conforms_to_protocol): Streamline.
16170         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
16171         protocol Foo, even if 'Bar foo' does not.
16172         (check_protocols): Streamline.
16173         (start_protocol): Add checks for circular and duplicate protocol
16174         definitions.
16175         (encode_aggregate_within): For typedefs of structs, encode the
16176         underlying struct.
16177         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
16178         (objc_declare_protocols): New prototype.
16179
16180 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16181
16182         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
16183         * cpplex.c (handle_newline): Update prototype.  Maintain logical
16184         line number.
16185         (skip_escaped_newlines, skip_block_comment, parse_string):
16186         Update accordingly.
16187         (_cpp_lex_token): Update, and store token position within the token.
16188         * cpplib.h (struct cpp_token): Add line and column entries.
16189         * cppmacro.c (replace_args): Position stringified tokens correctly.
16190
16191 2001-08-01  Andreas Jaeger  <aj@suse.de>
16192
16193         * basic-block.h: Add prototype for last_loop_beg_note.
16194
16195 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
16196
16197         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
16198         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
16199         comment.
16200         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
16201         while handling WITH_CLEANUP_EXPR node. Use second operand calling
16202         expand_decl_cleanup.
16203         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
16204         the first RTX.
16205         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
16206         operand while calling simple_cst_equal.
16207         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
16208         operand is the cleanup expression, the third is the RTL_EXPR.
16209         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
16210
16211 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
16212
16213         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
16214
16215 2001-07-31  matthew green  <mrg@eterna.com.au>
16216
16217         * config.gcc (i386-*-netbsdelf): New description.
16218         * config/i386/netbsd-elf.h: New file.
16219
16220 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
16221
16222         * loop.c (check_dbra_loop): Use single_set to compute
16223         jump_label.
16224
16225 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
16226
16227         PowerPC reorg and support for powerpc64-*-linux*.
16228
16229         Also fixes emitting of constants on 32 bit and 64 bit
16230         platforms.
16231
16232         * config.gcc: powerpc64-*-linux* is a new target.
16233         Things that needed aix.h now also include xcoff.h
16234
16235         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
16236         xcoff.h.
16237         Move AIX specific stuff into aix.h.
16238         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
16239         with more than just XCOFF now.
16240         (SET_ASM_OP): Remove, now defined where needed.
16241         (FUNCTION_PROLOGUE): New macro definition.
16242         (FUNCTION_EPILOGUE): New macro definition.
16243         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
16244
16245         * config/rs6000/xcoff.h: New file.
16246
16247         * config/rs6000/linux64.h: New file.
16248
16249         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
16250
16251 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
16252
16253         * rs6000.c (print_operand_address): Handle ELF syntax.
16254         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
16255         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
16256         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
16257
16258 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
16259
16260         * rs6000.c (rs6000_override_options): Only disable
16261         flag_function_sections for XCOFF.
16262         (exact_log2_cint_operand): New predicate.
16263         (reg_or_{add,sub}_cint64_operand): New predicates.
16264         (add_operand): Compare CONST_INT with fewer function calls.
16265         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
16266         (print_operand, case 'p'): Ensure positive operand.
16267         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
16268         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
16269         (PREDICATE_CODES): Add new predicates.
16270         * rs6000.md (addsi3): Split 32-bit constants more correctly.
16271         (divsi3, modsi3): Ensure positive power-of-2.
16272         (adddi3): Use new predicate.  Split 32-bit constants more
16273         correctly.  Re-arrange splitter to handle any constant.
16274         (subdi3): Use new predicate.
16275         (divdi3, moddi3): Ensure positive power-of-2.
16276         (movdi): Use rs6000_emit_set_const.
16277         (load_toc_v4_pic_di): Delete.
16278
16279 2001-07-31  Graham Stott <grahams@redhat.com>
16280
16281         * function.c (pad_below): Revert 2001-07-26 patch.
16282
16283 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
16284
16285         * reg-stack (convert_regs_1): Fix best edge condition.
16286
16287 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
16288
16289         * jump.c (duplicate_loop_exit_test): Better test for jumps
16290         entering the loop; create loop pre_header.
16291
16292 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
16293
16294         * doc/install.texi: Add s390 and s390x as new targets.
16295         * doc/invoke.texi: Add documentation of S/390 and zSeries
16296         target options.
16297         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
16298
16299 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
16300
16301         * config/m68k/m68k.md: Replace all general_operand with
16302         nonimmediate_operand for all destinations.
16303         * config/m68k/m68k.c (not_sp_operand): Likewise.
16304
16305 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
16306
16307         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
16308
16309 2001-07-30  Richard Henderson  <rth@redhat.com>
16310
16311         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
16312         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
16313
16314 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
16315
16316         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
16317         Add missing doc strings
16318         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
16319         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
16320
16321 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
16322
16323         * i386.c (ix86_output_main_function_alignment_hack): New function.
16324         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
16325
16326         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
16327         edges by EDGE_DFS_BACK flag.
16328         (dump_edge_info): Add dfs_back flag.
16329         * basic-block.h (EDGE_DFS_BACK): New constant.
16330         (mark_dfs_back_edges): Declare.
16331         * alias.c (loop_p): Remove.
16332         (mark_constant_function): Use mark_dfs_back_edges.
16333
16334         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
16335         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
16336         (compensate_edge): Break out from ...
16337         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
16338         (convert_regs_2): Set block_done once block is really done;
16339         Do updating of the predecessors counts.
16340
16341         * toplev.c (rest_of_compilation): Recompute block_for_insn
16342         before post-reload cfg_cleanup.
16343         * function.c (thread_prologue_epilogue_insns):
16344         Call set_block_for_new_insns when emitting prologue directly.
16345
16346 2001-07-30  Andreas Jaeger  <aj@suse.de>
16347
16348         * jump.c: Add prototype for mark_modified_reg.
16349
16350         * cse.c (set_live_p): Add unused attribute.
16351
16352         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
16353         overflow.
16354         (scan_for_source_files): Use long for count to avoid overflow.
16355         (output_data): Likewise.
16356         (output_data): Don't use string concatatenation to silence gcc
16357         -traditional.
16358
16359         * predict.c: Fix typos and grammar.
16360
16361         * gcse.c (insert_insn_end_bb): Remove unused variables.
16362
16363 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
16364
16365         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
16366         (attempt_auto_inc): LIkewise.
16367         (mark_used_reg): Likewise.
16368         (try_pre_increment_1): Likewise.
16369         * regclass.c (regclass): Likewise.
16370         * global.c (allocno_compare): Update comment; change scaling factor.
16371         * local-alloc.c (QTY_CMP_PRI): Likewise.
16372         * regs.h (REG_FREQ_FROM_BB): New.
16373         (REG_FREQ_MAX): Likewise.
16374
16375 2001-07-30  H.J. Lu <hjl@gnu.org>
16376
16377         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
16378         -D_GNU_SOURCE.
16379
16380 2001-07-30  H.J. Lu  (hjl@gnu.org)
16381
16382         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
16383         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
16384         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
16385
16386 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
16387
16388         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
16389         as -mthumb-interwork when -mcpu=arm7 is specified.
16390
16391 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
16392
16393         * predict.def (noreturn, loop branch, loop exit): Mark as first
16394         match heuristics.
16395
16396 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
16397
16398         * combine.c (try_combine): Avoid barrier after noop jumps.
16399
16400 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16401
16402         * cpphash.h (struct cpp_reader): Remove import_warning.
16403         * cpplib.c (skip_rest_of_line): Don't bother turning off
16404         macro expansion.
16405         (parse_include): Move include handling to...
16406         (do_include_common): ... here.  Move import warning from...
16407         (do_import): ... here.
16408         (do_pragma_poison): Don't do a callback for poison identifiers.
16409         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
16410         * cppmain.c (setup_callbacks): Similarly.
16411
16412 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
16413
16414         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
16415         handle multiple sets.
16416         * except.c (sjlj_mark_call_sites): .... here.
16417         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
16418
16419 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
16420
16421         Suggested by Richard Henderson and Richard Kenner:
16422         * combine.c (recog_for_combine): Use the fake recog
16423         only if instruction does not match.
16424         * rtl.h (NOOP_MOVE_INSN_CODE): New.
16425         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
16426
16427         * combine.c (try_combine): Discover noop jump as direct jump.
16428
16429 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
16430
16431         * df.c (df_rd_global_compute): Add successors to worklist, not
16432         current item.
16433         (df_ru_global_compute): Ditto.
16434
16435 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
16436
16437         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
16438         increment REG_N_SETS.
16439
16440 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
16441
16442         * sbitmap.h: New prototype for sbitmap_a_xor_b.
16443
16444         * sbitmap.c (sbitmap_a_xor_b): New function.
16445         ifdef the basic block stuff on IN_GCC.
16446
16447 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16448
16449         * cppexp.c (parse_defined): Always record the macro name.
16450         (lex): Don't worry about identifiers, or special-case
16451         CPP_NOT here.
16452         (_cpp_parse_expr): Figure out at the end of the routine
16453         whether we saw a valid !defined() expression.
16454         * cppfiles.c (stack_include_file): Update for mi_valid.
16455         (_cpp_pop_file_buffer): Similarly.
16456         * cpplex.c (_cpp_lex_token): Similarly.
16457         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
16458         mi_if_not_defined, mi_lexed): Remove.
16459         (mi_valid): New.
16460         * cpplib.c (do_if): Simplify.
16461         (do_endif, push_conditional, _cpp_handle_directive): Update
16462         for renaming of mi_state to mi_valid.
16463 doc:
16464         * cpp.texi: Add index entries for digraphs, and add comment
16465         that C++ refers to them as alternative tokens.
16466
16467 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
16468
16469         * basic-block.h (CLEANUP_PRE_LOOP): New.
16470         * except.c (finish_eh_generation): Update call of cleanup_cfg.
16471         * sibcall.c (optimize_sibling_calls): Likewise.
16472         * toplev.c (rest_of_compilation): Likewise.
16473         * flow.c (try_forward_edges): Take argument MODE;
16474         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
16475         (try_optimize_cfg): Update call of try_forward_edges.
16476
16477 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16478                                 Jan Hubicka  <jh@suse.cz>
16479
16480         * (validate_replace_rtx_1): Fix simplification of MINUS.
16481
16482 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
16483
16484         PR preprocessor/3669
16485         * cppinit.c (init_dependency_output): Turn off dump requests
16486         if sending dependencies to stdout.
16487
16488 2001-07-28  Richard Henderson  <rth@redhat.com>
16489
16490         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
16491         not optimizing.
16492
16493 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
16494
16495         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
16496
16497 2001-07-28  Kazu Hirata  <kazu@hxi.com>
16498
16499         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
16500         is VAR_DECL first to prevent an ICE.
16501
16502 2001-07-28  Richard Henderson  <rth@redhat.com>
16503
16504         * varasm.c (immed_real_const_1): Don't elide special cases for
16505         nested functions.
16506         (clear_const_double_mem): Clear const_tiny_rtx too.
16507
16508 2001-07-28  Richard Henderson  <rth@redhat.com>
16509
16510         * dwarf2out.c (dw_val_class_offset): New.
16511         (struct dw_ranges_struct, dw_ranges_ref): New.
16512         (ranges_table, ranges_table_allocated): New.
16513         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
16514         (add_AT_offset, add_ranges, output_ranges): New.
16515         (print_die, output_die): Handle dw_val_class_offset.
16516         (attr_checksum, size_of_die, value_format): Likewise.
16517         (gen_lexical_block_die): Handle non-contiguous blocks.
16518         (gen_block_die): Likewise.
16519         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
16520         if needed.  Dump the ranges table.
16521         * final.c (final_start_function): Remove unnecessary notes and
16522         rebuild the block tree before numbering the blocks.
16523         * function.c (reorder_blocks_0): Walk the existing block tree
16524         to unmark all blocks.
16525         (reorder_blocks_1): Create block fragments when duplicate block
16526         notes are seen.
16527         (reorder_fix_fragments): New.
16528         (reorder_blocks): Call it.
16529         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
16530
16531 2001-07-28  Richard Henderson  <rth@redhat.com>
16532
16533         * emit-rtl.c (adjust_address): Make a copy of the memory address.
16534
16535 2001-07-28  Richard Henderson  <rth@redhat.com>
16536
16537         * flow.c (add_to_mem_set_list): New function.
16538         (init_propagate_block_info): Use it.
16539         (mark_set_1): Likewise.
16540         (insn_dead_p): Canonicalize memory address for dead store
16541         comparison.  Allow wider mode stores to kill narrower mode stores.
16542         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
16543         (invalidate_mems_from_set): Don't handle MEMs.
16544
16545 2001-07-28  Kazu Hirata  <kazu@hxi.com>
16546
16547         * config/h8300/h8300.h: Fix formatting.
16548
16549 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
16550
16551         * basic-block.h (EDGE_FREQUENCY): New macro.
16552         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
16553         for new BB/edges.
16554         * flow.c (find_sub_basic_blocks): Likewise.
16555         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
16556         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
16557
16558         * predict.c (DEF_PREDICTOR): New argument FLAGS.
16559         (HITRATE): New macro.
16560         (PRED_FLAG_FIRST_MATCH): New constant.
16561         (predictor_info): New field flgags.
16562         (combine_predictions_for_insn): Use DS theory to combine
16563         probabilities; set the edge probabilities when finished.
16564         (estimate_probability): Avoid duplicated matches
16565         of LOOP_BRANCH heuristics for nested loops; update comment.
16566         * predict.def: Add flags for each prediction, set probabilities
16567         according to B&L paper.
16568         * predict.h (DEF_PREDICTOR): New argument FLAGS.
16569
16570         * profile.c (compute_branch_probabilities):  Cleanup way the edge
16571         probabilities are computed and REG_BR_PROB notes are dropped; if
16572         values does not match, emit error.
16573         (init_branch_prob): Do error instead of warning when profile driven
16574         feedback is missing or corrupt.
16575
16576 2001-07-27  DJ Delorie  <dj@redhat.com>
16577
16578         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
16579         against a constant, try to adjust the compare to have the desired
16580         constant in it so that min/max optimizations happen more often.
16581
16582 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16583
16584         * flow.c (last_loop_beg_note): New function.
16585         (redirect_edge_and_branch): Use it.
16586         (split_edge): Likewise.
16587
16588         * alias.c (loop_p): Avoid uninitialized memory access.
16589
16590         * flow.c (try_forward_edges): Avoid accessing freed memory.
16591
16592         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
16593         variable access.
16594
16595 2001-07-26  Andrew Haley  <aph@redhat.com>
16596         Joern Rennecke <amylaar@redhat.com>
16597
16598         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
16599         (SUBTARGET_CPP_ENDIAN_SPEC): New.
16600         (SUBTARGET_CPP_SPEC): New.
16601         (CPP_SPEC): Remove.
16602         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
16603         (SUBTARGET_CPP_PTR_SPEC): New.
16604         (CPP_DEFAULT_CPU_SPEC): New.
16605         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
16606         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16607         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
16608         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16609         (SUBTARGET_CPP_SPEC): Define as an empty string.
16610
16611 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16612
16613         * doc/install.texi (Configuration): Properly link the host
16614         specific instructions also when generating HTML.
16615
16616 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
16617
16618         * flow.c (redirect_edge_and_branch_force): Test
16619         target->global_live_at_start.
16620
16621 2001-07-26  Richard Henderson  <rth@redhat.com>
16622
16623         * simplify-rtx.c (avoid_constant_pool_reference): Export.
16624         * rtl.h (avoid_constant_pool_reference): Declare it.
16625         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
16626         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
16627
16628 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
16629
16630         * rtl.h (cleanup_barriers): Declare.
16631         * jump.c (cleanup_barriers): New function.
16632         * toplev.c (rest_of_compilation): Call cleanup_barriers
16633         before loop optimizer and after bb_reorder.
16634
16635         * flow.c (back_edge_of_syntactic_loop_p): New.
16636         (split_edge): Use it.
16637
16638 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16639
16640         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
16641
16642 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
16643
16644         * cse.c (cse_process_notes): Replace any registers if the address
16645         remains valid.
16646
16647 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
16648
16649         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
16650         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
16651         (propagate_block): Update prototype.
16652         * flow.c (update_life_info): Simplify the CFG and
16653         recalculate the global regs which are alive when
16654         removing dead code during a global update.
16655         (propagate_block): Return non-zero if an INSN is
16656         deleted.
16657
16658 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16659
16660         * Makefile.in (LIBICONV): Define.
16661
16662 2001-07-26  Catherine Moore  <clm@redhat.com>
16663
16664         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
16665         of conditional to avoid tree checking errors.
16666
16667 2001-07-26  Kazu Hirata  <kazu@hxi.com>
16668
16669         * regmove.c (regmove_optimize): Don't replace a reg with
16670         another reg of a different mode.
16671
16672 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
16673
16674         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
16675         limit length of dependency flush list.
16676         * params.h (MAX_PENDING_LIST_LENGTH): Define.
16677         * sched-int.h  (struct deps): Add pending_flush_length field.
16678         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
16679         has 1 element in it.
16680         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
16681         (sched_analyze): After a jump, if the pending memory flush list is too
16682         large, flush the pending lists.
16683         (init_deps): Initialize pending_flush_length to 0.
16684         * doc/invoke.texi (max_pending_list_length): Document parameter.
16685
16686 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
16687
16688         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
16689         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
16690         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
16691
16692 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16693
16694         * cpphash.h (struct_lexer_state): Delete was_skipping.
16695         Move skipping here from struct cpp_reader.
16696         * cpplex.c (parse_identifier): Update.
16697         (_cpp_lex_token): Don't skip tokens in a directive.
16698         * cpplib.c (struct if_stack): Update.
16699         (start_directive, end_directive): Don't change skipping state.
16700         (_cpp_handle_directive): Update.
16701         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
16702         (do_else, do_endif): Update; only check for excess tokens if not
16703         in a skipped conditional block.
16704         (push_conditional): Update for new struct if_stack.
16705
16706 2001-07-26  Graham Stott  <grahams@redhat.com>
16707
16708         * function.c (locate_and_pad_parm): Also pad initial offset
16709         so that the total argument size also includes the padding.
16710
16711 2001-07-26  Graham Stott <grahams@redhat.com>
16712
16713         * gensupport.c (alter_output_for_insn): Correct enable checking failure
16714         change XSTR to XTMPL.
16715
16716         (process_one_cond_exec): Likewise
16717
16718 2001-07-25  Richard Henderson  <rth@redhat.com>
16719
16720         * varasm.c (assemble_variable): Create DECL_RTL before setting
16721         TREE_ASM_WRITTEN.
16722
16723 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
16724
16725         * predict.c (estimate_probability): Avoid duplicated predictions.
16726
16727         * loop.c (find_and_verify_loops): Grok multiple barriers.
16728
16729 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16730
16731         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
16732
16733         * dbxout.c: Consistently use putc instead of fputc.
16734         (print_wide_int): New function; call instead of direct fprintf.
16735         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
16736         (dbxout_type_fields, dbxout_type_method_1): Likewise.
16737         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
16738         (print_int_cst_octal): Likewise.
16739         (print_octal): Show we wrote characters.
16740         (dbxout_type): Set have_used_extensions in more places.
16741
16742 2001-07-25  Catherine Moore  <clm@redhat.com>
16743
16744         * config/v850/v850.c (v850_va_arg):  Use addr
16745         instead of valist to build incr.
16746
16747 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
16748
16749         * flow.c (delete_dead_jumptables): New function.
16750         (life_analyzis): Call it.
16751         * bb-reorder.c (skip_insns_after_block): Handle contradictory
16752         sequences.
16753
16754 2001-07-25  Richard Henderson  <rth@redhat.com>
16755
16756         * except.c (reachable_handlers): Handle a region being removed
16757         out from under a RESX.
16758
16759 2001-07-25  Richard Henderson  <rth@redhat.com>
16760
16761         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
16762         swap GE/GT if it is an fp comparison.
16763
16764 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
16765
16766         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
16767         operands.
16768
16769 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
16770
16771         * ssa.c (rename_insn_1): Do not wrap an assignment to a
16772         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
16773         glitch.
16774
16775         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
16776         throw an exception.
16777         (visit_expression): When attempting to simplify an expression,
16778         retrieve any modes for arguments before they are simplified
16779         to constants.
16780
16781 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16782             Janis Johnson  <janis@us.ibm.com>
16783
16784         * stmt.c (expand_goto): A nonlocal goto can be a call too.
16785         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
16786         pointer parameters to match documented usage of nonlocal_goto.
16787         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
16788         parameters to their correct order.
16789         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
16790         parameters to their correct order.
16791
16792 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16793
16794         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
16795
16796 2001-07-25  Jan Hubicka  <jh@suse.cz>
16797             Richard Henderson  <rth@redhat.com>
16798
16799         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
16800         the sequence.
16801         (make_edges): New argument update_p; populate the edge cache if set.
16802         (find_basic_blocks): Update make_edges invocation.
16803
16804 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16805
16806         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
16807
16808 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16809
16810         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
16811         -Acpu and -Amachine.h.
16812         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
16813         Corrected header to say ELF not a.out.
16814         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
16815         when given -msoft-float.
16816
16817 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16818
16819         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
16820         extra multilib parts like arm-elf.
16821         (i960-*-coff*, i960-*-rtems): Should not use collect2.
16822         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
16823         crtfini.o as extra multilib parts.
16824
16825 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16826
16827         * configure.in: Add rtems as a supported thread model.
16828         * gthr-rtems.h: Add missing entry point __gthread_active_p.
16829         * configure: Rebuilt.
16830
16831 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
16832
16833         * stor-layout.c (get_mode_alignment): make it work when
16834         BITS_PER_UNIT is not a power of two.
16835         * builtins.c (get_pointer_alignment): Likewise.
16836
16837 2001-07-24  Richard Henderson  <rth@redhat.com>
16838
16839         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
16840         the retrieved constant into the expected mode.
16841
16842 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
16843
16844         * flow.c (try_simplify_condjump): Avoid duplicated edges.
16845         (verify_flow_info): Check for duplicated edges; clarify
16846         error reporting.
16847
16848         * flow.c (block_label): Update basic_block_for_insn.
16849         (commit_edge_insertions): Call compute_bb_for_insn.
16850
16851         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
16852         returns too.
16853
16854         * flow.c (redirect_edge_and_branch,
16855         try_optimize_cfg): Use redirect_edge_succ_nodup
16856         (redirect_edge_succ_nodup): New.
16857         * basic_block.h (redirect_edge_succ_nodup): Declare.
16858
16859         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
16860         after gcse.
16861
16862 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
16863
16864         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
16865         (try_crossjump_to_edge): Update commetns.
16866         (try_crossjump_bb): Likewise.
16867
16868 2001-07-24  Richard Henderson  <rth@redhat.com>
16869
16870         * combine.c (distribute_notes): Move set of need_refresh
16871         for noop_move_p down to catch all cases.
16872
16873 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
16874
16875         * recog.c (split_all_insns_noflow): New.
16876         * rtl.h (split_all_insns_noflow): Declare.
16877         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
16878         * m68hc11.c (m68hc11_reorg): Likewise.
16879         * sh.c (machine_dependent_reorg): Likewise.
16880         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
16881         call.
16882
16883 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16884
16885         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
16886         (ashlsi3_n splitter): Likewise.
16887         (lshrsi3_n splitter): Likewise.
16888
16889         (GOTaddr2picreg): Make const SImode.
16890         (sym_label2reg): Likewise.
16891         (symGOT2reg): Likewise.
16892         (symGOTOFF2reg) Likewise.
16893
16894         (casesi_worker_0): Make unspec SImode.
16895
16896 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16897
16898         * config/sh/sh.c (barrier_align): Check that an operand really is
16899         an insn before extracting its INSN_CODE.
16900
16901 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
16902
16903         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
16904         dangling else.
16905
16906         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
16907         for SImode to prevent overflow.
16908
16909 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16910
16911         * config/mips/irix6-libc-compat.c: New file.
16912         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
16913         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
16914         passing workaround.
16915
16916 2001-07-24  lars brinkhoff  <lars@nocrew.org>
16917
16918         * rtl.texi (REG_POINTER): Document.
16919         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
16920         QFmode, HFmode, TQFmode, QCmode, and HCmode.
16921
16922 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
16923
16924         * flow.c (delete_noop_moves): Do not confuse libcall regions.
16925
16926 2001-07-23  Richard Henderson  <rth@redhat.com>
16927
16928         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
16929
16930 2001-07-23  Kazu Hirata  <kazu@hxi.com>
16931
16932         * config/h8300/h8300-protos.h: Add a prototype for
16933         general_operand_dst_push.
16934         * config/h8300/h8300.c (general_operand_dst_push): New.
16935         * config/h8300/h8300.h (OK_FOR_T): New.
16936         (EXTRA_CONSTRAINT): Use it.
16937         * config/h8300/h8300.md (movqi_push): Remove and integrate into
16938         the existing movqi pattern.
16939         (movhi_push): Likewise.
16940
16941         * reload.c: Fix comment typos.
16942
16943 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
16944
16945         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
16946
16947 2001-07-23  H.J. Lu  (hjl@gnu.org)
16948
16949         * doc/extend.texi: Update __builtin_return_address and
16950         __builtin_frame_address.
16951
16952 2001-07-23  Richard Henderson  <rth@redhat.com>
16953
16954         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
16955         before CSE.
16956         * config/i386/i386.md: New setcc+movzbl peephole2.
16957
16958 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16959
16960         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
16961         * objc/objc-act.c: Include debug.h.
16962         (synth_module_prologue): Save and restore debug hooks too.
16963
16964 2001-07-23  lars brinkhoff  <lars@nocrew.org>
16965
16966         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
16967         and C4X_FLOAT_FORMAT.
16968         (BOOL_TYPE_SIZE): Document.
16969
16970 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
16971
16972         * unroll.c (loop_iterations): Fix miscalculation of initial
16973         giv offset.
16974
16975 2001-07-13  Andrew Haley  <aph@redhat.com>
16976
16977         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
16978         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
16979         * config/sh/sh.c (sh_can_redirect_branch): New function.
16980         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
16981         * reorg.c (steal_delay_list_from_target): Use
16982         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
16983
16984 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
16985
16986         * flow.c (try_simplify_condjump): Unlink insn chain on
16987         fallthru edge; use can_fallthru.
16988
16989 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
16990
16991         * basic-block.h (find_sub_basic_block): Declare.
16992         * flow.c (make_edges): New arguments MIN and MAX;
16993         (find_sub_basic_blocks): Revamp to use make_edges
16994         and purge_dead_edges.
16995         (find_basic_blocks): Update call of find_sub_basic_block.
16996
16997         * recog.c (split_all_insns): Always expect CFG to be consistent;
16998         call find_sub_basic_blocks in case something has changed.
16999         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
17000         has been built.
17001
17002         * basic-block.h (delete_noop_moves): Declare.
17003         * combine.c (combine_instructions): Call it.
17004         (recog_for_combine): Tolerate noop moves
17005         (distribute_notes): Force refresh when register dies at noop move.
17006         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
17007         too.
17008         (life_analysis): Update delete_noop_moves call.
17009         (set_noop_p): Move too ...
17010         * rtlanal.c (noop_move_p): ... here.
17011         * rtl.h (noop_move_p): Declare.
17012
17013         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
17014         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
17015         after combine.
17016         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
17017         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
17018
17019 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
17020
17021         * reload.c (push_reload): Fix typo in comment.
17022         (find_reloads_address): Ditto.
17023         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
17024
17025 2001-07-22  Richard Henderson  <rth@redhat.com>
17026
17027         * flow.c: Grammar check and clarify a lot of comments.
17028         (try_simplify_condjump): Rename variables to be clearer.
17029         (try_forward_edges): Skip complex and fallthru edges.
17030         Rearrange tests to avoid duplicate checks.
17031         (flow_find_cross_jump): Likewise.
17032         (outgoing_edges_match): Allow match if neither branch has
17033         probability data.  Loosen probability match to 5%.
17034         (try_crossjump_to_edge): Hoist repeated indirection into
17035         local variables.
17036         (try_crossjump_bb): Don't check complex edges.  Eliminate
17037         redundant crossjump tests.
17038         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
17039         checks before more expensive checks.
17040
17041 2001-07-22  Richard Henderson  <rth@redhat.com>
17042
17043         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
17044         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
17045         arguments.
17046
17047 2001-07-22  Richard Henderson  <rth@redhat.com>
17048
17049         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
17050         (const_sint32_operand): Likewise.
17051         * m68k.md (anon mulsi pattern): Use const_int_operand not
17052         const_sint32_operand.
17053         (umulsi3_highpart): Zero extend a constant input.
17054         (smulsi3_highpart): Don't bother checking SImode constant.
17055         (const_umulsi3_highpart): Give op3 DImode.
17056         (const_smulsi3_highpart): Likewise.
17057
17058 2001-07-22  Richard Henderson  <rth@redhat.com>
17059
17060         * flow.c (split_block): Make sure bb_note is included in the
17061         new block when splitting before a label.
17062
17063 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
17064
17065         * basic-block.h (redirect_edge_and_branch_force,
17066         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
17067         * flow.c (redirect_edge_and_branch_force,
17068         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
17069         (redirect_edge_and_branch_force): Fix copying of lifeness information.
17070         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
17071         * ifcvt.c (dead_or_predictable): Take BB as an new destination
17072         instead of label; update CFG after transformation.
17073         (find_if_case_1): Update call, use redirect_edge_and_branch_force
17074         for finishing the transformation; handle even case where ELSE
17075         does not follow THEN.
17076         (find_if_case_2): Update call of dead_or_predictable; simplify
17077         CFG update.
17078
17079         * emit-rtl.c (split_branch_probability): New global variable.
17080         (try_split): Take care to set split_branch_probability and
17081         create REG_BR_PROB note for new jump insns.
17082         * md.texi (define_split): Document new feature.
17083
17084         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
17085
17086 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
17087
17088         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
17089         (asm_out_file): Remove redundant declaration.
17090         (assemble_asm): Remove old #if 0 block.
17091         (assemble_variable): Remove end of function; debug output is
17092         now handled with global_decl.  Remove old #if 0 block.  Update.
17093         Remove saved_in_section and associated no-op code.
17094         * Makefile.in (varasm.o): Correct dependencies.
17095
17096 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
17097
17098         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
17099         the definition in defaults.h.
17100
17101 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
17102
17103         * jump.c: Update comments.
17104         (delete_barrier_successors, delete_unreferenced_labels,
17105         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
17106         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
17107         jump_optimize, jump_optimize_minimal): Kill.
17108         (rebuild_jump_labels): Move code from jump_optimize_1.
17109         (purge_line_number_notes): Likewise.
17110         (copy_loop_headers): Likewise.
17111         * reg-stack.c: Update comment.
17112         * stmt.c: Likewise.
17113         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
17114         JUMP_AFTER_REGSCAN): Kill.
17115         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
17116         purge_line_number_notes and copy_loop_headers.
17117
17118 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
17119            Richard Henderson  <rth@redhat.com>
17120
17121         * dbxout.c (dbxout_global_decl): New.
17122         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
17123         * sdbout.c (sdbout_finish): New.
17124         (sdbout_debug_hooks): Use it, add comments.
17125         (sdbout_global_decl): Defer initialised public vars to
17126         sdbout_finish.
17127         * varasm.c (assemble_variable): Don't output debug information
17128         for file-scope variables.
17129
17130 2001-07-22  Richard Henderson  <rth@redhat.com>
17131
17132         * config/alpha/alpha.c (get_trap_mode_suffix): New.
17133         (get_round_mode_suffix): New.
17134         (print_operand): Use them for [/].  Remove support for [&'`()+].
17135         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
17136         * config/alpha/alpha.md (attr round_suffix): New.
17137         (attr trap_suffix): New.
17138         (all insns): Set them appropriately.  Use %/ instead of the
17139         myriad punctuators.
17140
17141 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
17142
17143         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
17144
17145 2001-07-22  Richard Henderson  <rth@redhat.com>
17146
17147         * regrename.c (regrename_optimize): Compute nregs for each
17148         potential target register.
17149
17150 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
17151            Richard Henderson  <rth@redhat.com>
17152
17153         * dbxout.c (dbxout_global_decl): New.
17154         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
17155         * sdbout.c (sdbout_finish): New.
17156         (sdbout_debug_hooks): Use it, add comments.
17157         (sdbout_global_decl): Defer initialised public vars to
17158         sdbout_finish.
17159         * varasm.c (assemble_variable): Don't output debug information
17160         for file-scope variables.
17161
17162 2001-07-21  H.J. Lu  (hjl@gnu.org)
17163
17164         * config/mips/mips.c (mips_cpu): Moved into ...
17165         (override_options): Here.
17166
17167         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
17168         mips_tune.
17169         (mips_cpu): Removed.
17170
17171 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17172
17173         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
17174         ("iorqi3"): Likewise.
17175         ("xorqi3"): Likewise.
17176         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
17177         ("*subhi3_sp): Likewise.
17178         ("*subhi3"): Likewise.
17179         ("extendhisi2"): Accept D, X and Y as source operand to avoid
17180         reload problems.
17181
17182 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
17183
17184         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
17185         * config/freebsd.h: Likewise.
17186         * config/linux.h: Likewise.
17187         * config/openbsd.h: Likewise.
17188         * config/alpha/linux-elf.h: Likewise.
17189         * config/arm/linux-elf.h: Likewise.
17190         * config/d30v/d30v.h: Likewise.
17191         * config/fr30/fr30.h: Likewise.
17192         * config/ia64/aix.h: Likewise.
17193         * config/ia64/ia64.h: Likewise.
17194         * config/mips/linux.h: Likewise.
17195         * config/pj/pj.h: Likewise.
17196         * config/rs6000/linux.h: Likewise.
17197         * config/sparc/linux.h: Likewise.
17198         * config/sparc/linux64.h: Likewise.
17199
17200 2001-07-20  Bruce Korb  <bkorb@gnu.org>
17201
17202         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
17203         because getc() and char* may disagree on signedness.
17204
17205 2001-07-20  Richard Henderson  <rth@redhat.com>
17206
17207         * doc/rtl.texi (REG_DEAD): Update for current semantics.
17208
17209         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
17210         insns to delete in the presence of cc0 in a jump insn.
17211
17212 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
17213                                 Jan Hubicka  <jh@suse.cz>
17214
17215         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
17216         of doing the change by hand.
17217
17218 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
17219
17220         * rtlanal.c (set_noop_p): Return true for noop jumps.
17221
17222         * expr.c (emit_single_push_insn): Add call to push expander.
17223         * expr.h (optab_index): Add OTI_push
17224         (push_optab): New constant.
17225         * genopinit.c (optabs): Add push_optab.
17226         * optabs.c (init_optab): Init push optab.
17227         * md.texi (push??1): Document
17228
17229 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17230
17231         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
17232         expand to emit the pattern; put a REG_INC note for push/pop
17233         instructions.
17234         ("movdf", "movdf_internal"): Likewise.
17235         ("movsi", "movsi_internal"): Likewise.
17236         ("movsf", "movsf_internal"): Likewise.
17237         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
17238
17239 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17240
17241         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
17242         gen_highpart.
17243
17244 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
17245
17246         * params.def: Change default max inline insns to 100.
17247
17248 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
17249
17250         * combine.c (combine_simplify_rtx): Generate a new shift operation
17251         when simplifying the first operand of a (neg (ashift)) expression.
17252
17253 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
17254
17255         * regclass.c (N_REG_INTS): Use only 32 bits per element.
17256
17257 2001-07-20  Kelley Cook  <kelley.cook@home.com>
17258
17259         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
17260         information.   Move rest into ...
17261         (*-*-solaris): ... here.  Eliminate redundant information and
17262         reword necessary packages section.  Delete 4.x assembler bug info.
17263         (sparc-sun-*): Merge into ...
17264         (sparc-sun-sunos*): here.
17265
17266 2001-07-20  Catherine Moore  <clm@redhat.com>
17267
17268         * config/v850/v850.md (casesi): Generate LABEL_REF
17269         with Pmode.
17270
17271 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
17272
17273         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
17274         * i386.c (ix86_zero_extend_to_Pmode): Make global.
17275         * i386.md (strclrsi expander): Use it.
17276
17277 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17278
17279         * integrate.c (copy_insn_list): handle
17280         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
17281         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
17282         identically as to CODE_LABEL.
17283
17284         * fold-const (fold): Convert A/B/C to A/(B*C) and
17285         A/(B/C) to (A/B)*C
17286
17287         * except.c (connect_post_landing_pads): Delete the RESX insns.
17288
17289 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
17290
17291         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
17292
17293         * config/mips/mips.md (nmadd/nmsub): Use macro.
17294
17295 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
17296
17297         * cppinit.c (remove_dup_dir): Make static.
17298         (remove_dup_dirs): Make static. Only warn about preempting a
17299         system directory with a non-system directory.
17300
17301 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
17302
17303         * ifcvt.c (noce_try_store_flag_constants): Correct order
17304         of parameters to trunc_int_for_mode.
17305
17306 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
17307
17308         * reorg.c (fill_simple_delay_slots): If an instruction might throw
17309         an exception that will be caught within this function, do not fill
17310         its delay slot with any subsequent instruction.
17311
17312 2001-07-19  Steve Ellcey <sje@cup.hp.com>
17313
17314         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
17315         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
17316         pointer extension instruction.
17317         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
17318         * simplify-rtx.c (simplify_unary_operation) Likewise.
17319         * explow.c (convert_memory_address) Check value of
17320         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
17321         less than zero.
17322         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
17323         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
17324         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
17325         Add Multilib Support.
17326         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
17327         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
17328         Add Multilib Support.
17329         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
17330         support.
17331         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
17332         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
17333         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
17334
17335 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
17336
17337         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
17338         old and new operands in `<', `3' and `b'.
17339
17340 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17341
17342         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
17343         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
17344         (toplev.o): Don't depend on xcoffout.h.
17345         * c-decl.c: Include debug.h
17346         (duplicate_decls): Use debug hook.
17347         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
17348         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17349         (dbxout_types): Remove.
17350         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
17351         * debug.c (do_nothing_debug_hooks): Update.
17352         (debug_true_tree, debug_nothing_rtx): New.
17353         * debug.h (struct rtx_def): New.
17354         (struct gcc_debug_hooks): New hooks ignore_block,
17355         outlining_inline_function and label.
17356         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
17357         dwarf2out_frame_finish): New.
17358         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
17359         Make static, update prototype.
17360         (dwarf2_debug_hooks): Update.
17361         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
17362         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
17363         * dwarfout.c (dwarf_debug_hooks): Update.
17364         * emit-rtl.c: Include debug.h.
17365         (remove_unnecessary_notes): Use debug hook.
17366         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
17367         (final_scan_insn): Use debug hook.
17368         * integrate.c (output_inline_function): Use debug hook.
17369         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
17370         (sdb_debug_hooks): Update.
17371         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
17372         * toplev.c: Don't include xcoffout.h.
17373         (note_outlining_of_inline_function, debug_ignore_block): Remove.
17374         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
17375         Remove.
17376         * tree.h (dwarf2out_do_frame): Remove.
17377
17378 2001-07-19  Catherine Moore  <clm@cygnus.com>
17379
17380         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
17381
17382 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
17383
17384         * reload1.c (eliminate_regs_in_insn): When updating a set
17385         to the frame pointer to the hardware frame pointer, perform
17386         the update always not just when REPLACE is set.
17387
17388         * reload1.c (choose_reload_regs): Don't inherit a reload
17389         that crosses multiple registers if registers past the first
17390         don't fit in the desired class.
17391
17392         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
17393         when negating constants.
17394
17395 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
17396
17397         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
17398         * doc/tree.texi: Ditto.
17399
17400 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
17401             Jakub Jelinek  <jakub@redhat.com>
17402
17403         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
17404         (extract_cie_info): Handle "eh" augmentation properly,
17405         remember eh_ptr.
17406         (struct frame_state, __frame_state_for): New.
17407
17408 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17409
17410         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
17411         HANDLE_SYSV_PRAGMA): Define.
17412         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
17413         previous args.
17414         (copy_object): Caller changed.
17415
17416 2001-07-19  Andreas Schwab  <schwab@suse.de>
17417
17418         * configure.in (assembler dwarf2 debug_line support): Define nop
17419         insn for m68k.
17420         * configure: Regenerated.
17421
17422 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17423
17424         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
17425         dwarfout.h.
17426         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
17427         to conditionally compiled block.
17428         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17429         * dbxout.h (dbxout_function): Remove.
17430         * debug.c (do_nothing_debug_hooks): Update.
17431         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
17432         global_decl, deferred_inline_function.
17433         * dwarf2out.c (dwarf2_debug_hooks): Update.
17434         (dwarf2out_global_decl): New.
17435         * dwarfout.c: Don't include dwarfout.h.
17436         (dwarfout_global_decl, dwarfout_function_decl,
17437         dwarfout_deferred_inline_function): New.
17438         (dwarf_debug_hooks): Update.
17439         * dwarfout.h: Remove.
17440         * final.c: Don't include dwarfout.h.
17441         * sdbout.c (sdbout_global_decl): New.
17442         (sdbout_debug_hooks): Update.
17443         * toplev.c: Don't include dwarfout.h.
17444         (check_global_declarations, rest_of_compilation): Use new debug hooks.
17445         (note_deferral_of_defined_inline_function): Remove.
17446         * toplev.h (note_deferral_of_defined_inline_function): Remove.
17447         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
17448         * ch/lex.c: Don't include dwarfout.h.
17449         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
17450         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
17451         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
17452         * cp/optimize.c: Include debug.h.
17453         (maybe_clone_body): Use debug hook.
17454         * cp/semantics.c: Include debug.h.
17455         (expand_body): Use debug hook.
17456         * po/POTFILES.in: Remove dwarfout.h.
17457
17458 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
17459
17460         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
17461         * c-parse.in (yyerror, _yylex): Similarly.
17462         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
17463         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
17464         Update comments.
17465         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
17466         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
17467
17468 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
17469
17470         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
17471         in-class declaration at -g1.  Fixes c++/2814.
17472
17473 2001-07-18  Richard Henderson  <rth@redhat.com>
17474
17475         * doc/md.texi (reload_in/out): Document restrictions in predicates
17476         and constraints for these patterns.  Document empty string matching
17477         ALL_REGS.
17478
17479 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17480
17481         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
17482
17483 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
17484
17485         * cse.c: Undo my previous patch.
17486
17487 2001-07-18  Tom Tromey  <tromey@redhat.com>
17488
17489         For PR java/2812:
17490         * configure: Rebuilt.
17491         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
17492         instead.
17493         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
17494
17495 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
17496                                 Jan Hubicka  <jh@suse.cz>
17497
17498         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
17499         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
17500         * jump.c (mark_jump_label): Do not forward branches.
17501
17502 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
17503
17504         * cse.c (delete_trivially_dead_insns): Delete the libcall block
17505         when return value is unused.
17506
17507 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17508
17509         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
17510
17511 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
17512
17513         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
17514         on error.  We can't blindly return the result of
17515         pthread_mutex_trylock because it returns a positive number on
17516         error, while we must return -1 on error.
17517         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
17518         fixes.
17519         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
17520
17521 2001-07-18  Andreas Jaeger  <aj@suse.de>
17522
17523         * integrate.c (output_inline_function): Correct type of debug_hooks.
17524
17525 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
17526
17527         * combine.c (combine_simplify_rtx): DIV can be treated
17528         associatively for floats if unsafe math optimisations are enabled.
17529
17530 2001-07-17  Richard Henderson  <rth@redhat.com>
17531
17532         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
17533
17534 2001-07-17  Richard Henderson  <rth@redhat.com>
17535
17536         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
17537         don't force the function address into a register.
17538         (expand_call, emit_library_call_value_1): Update callers.
17539         * builtins.c (expand_builtin_apply): Likewise.
17540         * expr.h (prepare_call_address): Update decl.
17541
17542 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
17543
17544         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
17545         config directory.
17546         * config/i386/chorus.h: Move up.
17547         * config/sparc/chorus.h: Likewise.
17548         * config/rs6000/chorus.h: Likewise.
17549         * config/chorus.h: Moved here.
17550
17551 2001-07-17  Andreas Schwab  <schwab@suse.de>
17552
17553         * configure.in  (assembler eh_frame optimization): Handle big
17554         endian.
17555         * configure: Regenerated.
17556
17557 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
17558
17559         * expr.c (epxand_expr): Convert divisions into multiplications by
17560         reciprocals if -ffast-math.
17561
17562 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
17563
17564         * dbxout.c (dbxout_really_begin_function): Rename to
17565         dbxout_begin_function.
17566         (dbx_debug_hooks, xcoff_debug_hooks): Update.
17567         (dbxout_begin_function): Remove.
17568         (dbxout_function): Update.
17569         (dbxout_source_line): Update prototype.
17570         * dbxout.h (dbxout_begin_function): Remove.
17571         * debug.c (do_nothing_debug_hooks): Update.
17572         (debug_nothing_tree): Update.
17573         (debug_nothing_charstar_rtx): Remove.
17574         * debug.h (union tree_node): Declare.
17575         (struct rtx_def): Remove.
17576         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
17577         begin_function.  Change source_line prototype.
17578         (debug_nothing_tree): New.
17579         (debug_nothing_charstar_rtx): Delete.
17580         (dwarf2out_begin_prologue): Moved from ...
17581         * tree.h: ... here.
17582         * dwarf2out.c (dwarf2_debug_hooks): Update.
17583         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
17584         debug info, call dwarf2out_source_line.
17585         (dwarf2out_souce_line): Update prototype.
17586         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
17587         Change prototype, make static.
17588         (dwarfout_source_line): Update prototype.
17589         (dwarf_debug_hooks): Update.
17590         * dwarfout.h (dwarfout_begin_function): Remove.
17591         * final.c (final_start_function, final_scan_insn): Use appropriate
17592         debug hooks, update to use notice_source_line.
17593         (output_source_line): Rename notice_source_line.  Don't call the
17594         source_line debug hook.
17595         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
17596         make static, update prototype.
17597         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
17598         prototype.
17599         (sdbout_end_prologue): New.
17600         (sdbout_source_line): Update prototype.
17601         (sdbout_debug_hooks): Update.
17602         (sdbout_symbol): Remove unused var.
17603         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
17604         Delete.
17605         * varasm.c: Include debug.h.
17606         (assemble_start_function): Use begin_function debug_hook.
17607         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17608         update with prototype.
17609         (xcoffout_source_line): Update prototype.
17610         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17611         update prototype.
17612         (xcoffout_source_line): Update prototype.
17613
17614 2001-07-17  Richard Henderson  <rth@redhat.com>
17615
17616         * c-typeck.c (build_binary_op): Do not shorten unsigned
17617         right shift after sign extension.
17618
17619 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
17620
17621         * combine.c (combine_simplify_rtx): Attempt to simplify
17622         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
17623
17624         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
17625         (simplify_binary_operation, simplify_unary_operation,
17626          simplify_relational_operation): Use it.
17627
17628         * combine.c (combine_simplify_rtx): Don't do associative law
17629         on divisions; allow associative law on floats.
17630
17631 2001-07-17  H.J. Lu <hjl@gnu.org>
17632             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17633
17634         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
17635         ASM_OUTPUT_WEAK_ALIAS are defined.
17636         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
17637         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
17638         Moved ...
17639         * config/mips/iris5.h: ... here.
17640         (HANDLE_SYSV_PRAGMA): Defined as 1.
17641         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
17642         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
17643         symbol.
17644
17645 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
17646
17647         * c-parse.in (all_prefix_attributes): New variable.
17648         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
17649         (maybe_resetattrs): New production.
17650         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
17651         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
17652         notype_initdcl, nested_function, notype_nested_function,
17653         component_decl, components, components_notype,
17654         component_declarator, component_notype_declarator,
17655         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
17656         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
17657         after a comma being applied to more than one declarator.
17658         * doc/extend.texi (Attribute Syntax): Update.  Remove
17659         documentation of bugs that are no longer present.
17660
17661 2001-07-13  Eric Christopher  <echristo@redhat.com>
17662
17663         * config/mips/mips.h: Change TUNE_MIPS* options to use
17664         mips_tune.
17665         (EXTRA_SPECS): Add cc1_cpu_spec.
17666         * config/mips/mips.md (muldf3): Fix typo.
17667
17668 2001-07-16  Richard Henderson  <rth@redhat.com>
17669
17670         * config/m68k/m68k.c: Include expr.h and reload.h.
17671         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
17672         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
17673
17674 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17675             Richard Henderson  <rth@redhat.com>
17676
17677         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
17678         (insn_live_p): Fix fall off end of function.
17679         (dead_libcall_p): Remove COUNTS argument; update callers.
17680         (delete_trivially_dead_insns): Remove unused variables.
17681
17682 2001-07-17  Andreas Jaeger  <aj@suse.de>
17683
17684         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
17685         x86-64 pic support.
17686
17687         * lcm.c (optimize_mode_switching): Avoid warning for unused
17688         variable if !NORMAL_MODE.
17689
17690         * flow.c (try_crossjump_to_edge): Remove unused variable.
17691
17692 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17693
17694         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
17695         atexit declaration in stdlib.h.
17696
17697 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
17698
17699         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
17700
17701 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17702
17703         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
17704         * except.c (finish_eh_generation): Update call of cleanup_cfg;
17705         do rebuild_jump_labels instead of jump_optimize
17706         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
17707         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
17708         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
17709
17710         * flow.c: Include timevar.h
17711         (find_basic_block): Push/pop timevar;
17712         (cleanup_cfg): Likewise.
17713         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
17714         * Makefile: Add dependencies on timevar.h
17715
17716         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
17717         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
17718
17719         * rtl.h (delete_trivially_dead_insns): Add new parameter.
17720         * toplev.c (rest_of_compilation): Update calls.
17721         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
17722         (delete_trivially_dead_insns): ... here; accept new argument
17723         preserve_basic_blocks; preserve basic blocks if set.
17724
17725         * reg-stack.c (stack_regs_mentioned): Return 0 if
17726         stack_regs_mentioned_data is not initialized.
17727         (reg_to_stack): Make stack_regs_mentioned survive after the
17728         reg-stack is completted; do not call cleanup_cfg.
17729         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
17730         make cleanup_cfg after bb-reorder to output to debug file.
17731
17732 2001-07-16  Richard Henderson  <rth@redhat.com>
17733
17734         * regclass.c (init_reg_sets): Use only 32 bits per initializer
17735         from int_reg_class_contents.
17736
17737 2001-07-16  Richard Henderson  <rth@redhat.com>
17738
17739         * hard-reg-set.h (regs_invalidated_by_call): Declare.
17740         * regclass.c (regs_invalidated_by_call): Move from cse.c.
17741         (init_reg_sets_1): Move initialization from cse_main.
17742         * cse.c (regs_invalidated_by_call): Move to regclass.c.
17743         (cse_main): Move its initialization also.
17744         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
17745         * flow.c (propagate_one_insn): Likewise.
17746         * gcse.c (compute_hash_table): Likewise.
17747         (compute_kill_rd, compute_store_table): Likewise.
17748         * sched-deps.c (sched_analyze_1): Likewise.
17749
17750 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
17751
17752         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
17753         gen_rtx_SET.
17754
17755 2001-07-16  Steve Ellcey <sje@cup.hp.com>
17756
17757         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
17758         in if statement so we don't access undefined memory.
17759
17760 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17761
17762         * gcse.c: Update comment at top.
17763         Update comment on mem handling.
17764         mem_last_set, mem_first_set, mem_set_in_block: gone.
17765         Declaration of reg_set_info: gone.
17766         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
17767         pointless with load_killed_in_block_p (they are *more*
17768         conservative then it, not less, and less accurate).
17769         (oprs_not_set_p): Ditto.
17770         (alloc_gcse_mem): Don't allocate mem_set_in_block
17771         (free_gcse_mem): Don't free it, either.
17772         (record_last_mem_set_info): Update comment in front, remove
17773         mem_*set_* stuff. Note the reason we don't handle stores directly
17774         here.
17775         (compute_hash_table): Update comments to reflect reality. Remove
17776         mem_*set_* references.
17777         (reset_opr_set_tables): Remove mem_*set_* references.
17778         (mark_call): Ditto.
17779         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
17780         (mark_clobber): Ditto (on both parts, we double set here too).
17781         (expr_killed_p): Remove mem_set_in_block test.
17782         (compute_transp): Remove mem_set_in_block test.
17783
17784         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
17785         of edge, and removal of phi alternative to dump file.
17786         (ssa_ccp_substitute_constants): Add note about register now being
17787         constant, and which uses were replaced in what insns to dump file.
17788
17789 2001-07-16  Andreas Jaeger  <aj@suse.de>
17790
17791         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
17792         variables of type HOST_WIDEST_INT.
17793
17794         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
17795         (__bb_exit_func): Correct type of count_max to avoid overflow.
17796         (num_digits): Handle long long argument.
17797
17798         * combine.c (gen_lowpart_for_combine): Remove unused variable.
17799
17800 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
17801
17802         * output.h (sdb_begin_function_line): Restore as an extern
17803         variable.
17804         * sdbout.c (sdb_begin_function_line): Make extern.
17805
17806 2001-07-15  Richard Henderson  <rth@redhat.com>
17807
17808         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
17809         * genrecog.c (maybe_both_true_mode): New.
17810         (maybe_both_true_2): Use it.
17811         (write_switch): Don't put Pmode in a switch.
17812         * rtl.c (mode arrays): Don't explicitly size them.
17813
17814 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
17815
17816         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
17817         handling; move unconditional splitting before mode switching.
17818
17819         * i386.md (type): Add fistp type.
17820         (i387, length_attr, scheduling definitions): Handle this type.
17821         (fix_trunc?f?i2): Revamp to use mode switching.
17822         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
17823         * i386.h (fp_cw_mode): New enum
17824         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
17825         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
17826
17827 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17828
17829         * Makefile.in (integrate.o): Add debug.h.
17830         * integrate.c (debug.h): Add.
17831         (output_inline_function): Save, reset, and restore debug_hooks.
17832
17833 2001-07-15  Richard Henderson  <rth@redhat.com>
17834
17835         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
17836         instead of COMPARE for the EQUIV expression.
17837
17838 2001-07-15  Richard Henderson  <rth@redhat.com>
17839
17840         * flow.c (redirect_edge_and_branch_force): Initialize
17841         global_live_at_start and global_live_at_end.
17842         (allocate_bb_life_data): Export.
17843         * basic-block.h (allocate_bb_life_data): Declare.
17844         * toplev.c (rest_of_compilation): Call it.
17845
17846 2001-07-15  Richard Henderson  <rth@redhat.com>
17847
17848         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
17849         (alpha_tablejump_best_label): New.
17850         * config/alpha/alpha-protos.h: Declare them.
17851         * config/alpha/alpha.md: Use braced strings for code blocks.
17852         (tablejump_osf): Break out add with r29.
17853         (tablejump_osf_internal): Remove.
17854         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
17855         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
17856
17857 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
17858
17859         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
17860         of the movable.
17861
17862         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
17863
17864         * i386-protos.h (ix86_split_fp_branch): Update prototype.
17865         (ix86_fp_jump_nontrivial_p): New.
17866         * i386.md (fp_jcc_?): Update call of split_fp_branch;
17867         use ix86_fp_jump_nontrivial_p.
17868         * i386.c (ix86_fp_jump_nontrivial_p): New.
17869         (ix86_split_fp_branch): Accept code instead of rtx.
17870         (ix86_expand_compare): Expand comparison early in case
17871         doing so is resonably cheap.
17872
17873 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
17874
17875         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
17876         not 'machine'.
17877         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
17878         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
17879
17880 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
17881
17882         * dbxout.c (dbxout_source_line): Make static, update prototype.
17883         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
17884         (dbxout_init, dbxout_finish, dbxout_source_line,
17885         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
17886         * dbxout.h (dbxout_source_line): Delete.
17887         * debug.c (debug_nothing_file, debug_nothing_file_int,
17888         debug_nothing_file_charstar_rtx): New.
17889         (do_nothing_debug_hooks): Update.
17890         (debug_nothing_void, debug_nothing_charstar_rtx,
17891         dwarf2out_end_epilogue): New.
17892         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17893         * debug.h (struct rtx_def): Declare.
17894         (gcc_debug_hooks): New hooks source_line, end_epilogue
17895         and end_function.
17896         (debug_nothing_void, debug_nothing_charstar_rtx,
17897         dwarf2out_end_epilogue): New.
17898         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17899         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
17900         (dwarf2_debug_hooks): Update.
17901         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
17902         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
17903         * dwarf2out.h (dwarf2out_source_line): Remove.
17904         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
17905         Make static, update prototype.
17906         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
17907         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
17908         (dwarf_debug_hooks): Update.
17909         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
17910         dwarfout_end_function): Remove.
17911         * final.c (profile_function): Use debug hooks for ending functions
17912         and epilogues.
17913         (output_source_line, final_end_function): Update prototype,
17914         use debug hooks.
17915         (final_start_function, final_scan_insn): Update.
17916         * output.h (sdb_begin_function_line): Remove.
17917         (final_end_function): Update prototype.
17918         * sdbout.c (sdb_begin_function_line): Make static.
17919         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
17920         (sdbout_source_line): New.
17921         (sdbout_end_epilogue, sdbout_end_function): Make static, update
17922         prototypes.
17923         (sdb_debug_hooks): Update.
17924         (sdbout_init, sdbout_source_line,
17925         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
17926         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
17927         * toplev.c (compile_file, rest_of_compilation): Update.
17928         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
17929         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
17930         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
17931         Update for prototype changes.
17932         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
17933         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
17934
17935 2001-07-15  Richard Henderson  <rth@redhat.com>
17936
17937         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
17938         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
17939         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
17940         * config/alpha/alpha.c: Likewise.
17941         * config/alpha/alpha.md: Likewise.
17942         * config/alpha/alpha32.h: Likewise.
17943         * config/alpha/vms.h: Likewise.
17944         (OPEN_VMS): Remove.
17945
17946 2001-07-14  Richard Henderson  <rth@redhat.com>
17947
17948         * config/alpha/alpha.md: Use define_constants for unspec values.
17949         Substitute throughout.
17950
17951 2001-07-14  Tim Josling  <tej@melbpc.org.au>
17952
17953         * tree.def (EXPON_EXPR) remove. Never supported anyway.
17954
17955 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17956
17957         * pa.md: Remove unused constraints from define_split's.
17958
17959 2001-04-14  Richard Henderson  <rth@redhat.com>
17960
17961         * ifcvt.c (find_cond_trap): Test for exit block.
17962
17963 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
17964
17965         Re-install recently reverted patch.
17966         * emit-rtl.c (try_split): Update mark_jump_label call.
17967         * flow.c (find_sub_basic_blocks): Likewise.
17968         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17969         jump_back_p): Kill.
17970         (mark_all_labels): Kill second parameter.
17971         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17972         (rebuild_jump_labels, jump_optimize_minimal): Update call
17973         of jump_optimize_1.
17974         (jump_optimize_1): Kill crossjumping code.
17975         (mark_jump_label): Kill cross_jump parameter.
17976         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17977         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17978         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17979          splitting.
17980         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17981         DFI_bpro.
17982         (dump_file_info): Likewise.
17983         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17984         reorganize passes to do reg-stack first, bb-reorder second.
17985         * invoke.texi (-d letters doc): Remove the jump2 pass.
17986
17987 2001-07-14  Richard Henderson  <rth@redhat.com>
17988
17989         * ifcvt.c (find_cond_trap): New.
17990         (find_if_header): Call it.
17991         (merge_if_block): Relax existing jump sanity check.
17992         * jump.c (jump_optimize_1): Remove conditional trap handling.
17993
17994 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
17995
17996         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
17997         millicode.
17998         (insn_refs_are_delayed): Correct comment.
17999         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
18000         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
18001         instead of r31.  Make associated insn !TARGET_64BIT, and
18002         provide an additional 64-bit insn that clobbers r2.
18003         (divsi3): Likewise.
18004         (udivsi3): Likewise.
18005         (modsi3): Likewise.
18006         (umodsi3): Likewise.
18007
18008 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
18009
18010         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
18011
18012         * flow.c (redirect_edge_and_branch_force, split_edge,
18013         try_crossjump_to_edge): Use set_block_for_new_insns.
18014         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
18015
18016 2001-07-13  H.J. Lu  (hjl@gnu.org)
18017
18018         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
18019         the correct patch.
18020
18021 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
18022
18023         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
18024
18025 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
18026
18027         * c-common.c (decl_attributes): Take a pointer to the node to
18028         which attributes are to be attached, and a flags argument.
18029         * c-common.h (enum attribute_flags): New.
18030         (decl_attributes): Update prototype.
18031         * c-decl.c (start_decl, push_parm_decl, finish_struct,
18032         finish_enum, start_function): Update calls to decl_attributes.
18033         * c-parse.in (component_declarator, component_notype_declarator,
18034         label): Update calls to decl_attributes.
18035
18036 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
18037
18038         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
18039         * config/avr/avr.c (legitimate_address_p): Return value changed
18040         from letter to register classes. For better debugging.
18041
18042 2001-07-13  Kazu Hirata  <kazu@hxi.com>
18043
18044         * jump.c (reversed_comparison_code_parts): Fix comment typos.
18045
18046 2001-07-13  H.J. Lu  (hjl@gnu.org)
18047
18048         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
18049
18050 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
18051
18052         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
18053         correctly for shared configurations.
18054         * config/t-libgcc-pic:  New.
18055         * config/{i386,m68k,sparc}/t-openbsd:  New.
18056         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
18057         Support -shared.  Support debugging libraries with -g.
18058         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
18059         frame information does not emit pointer diffs.
18060         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
18061         emit pointer diffs.
18062
18063 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
18064
18065         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
18066
18067 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
18068
18069         * combine.c (try_combine): Ensure const_int pow2 is positive.
18070
18071 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
18072
18073         * config.gcc: Add configuration for s/390.
18074         * config/s390/s390.c: New. Subroutines for code generation.
18075         * config/s390/s390.h: New. Definitions for s/390.
18076         * config/s390/s390-protos.h: New. Prototypes.
18077         * config/s390/linux.h: New. Definitions for linux for s/390.
18078         * config/s390/linux64.h: New. Definitions for linux for zSeries.
18079         * config/s390/t-linux: New. Makefile fragment.
18080         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
18081         * config/s390/fixdfdi.h: New. Fix L_fix*di.
18082
18083 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
18084
18085         * emit-rtl.c (try_split): Update mark_jump_label call.
18086         * flow.c (find_sub_basic_blocks): Likewise.
18087         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
18088         jump_back_p): Kill.
18089         (mark_all_labels): Kill second parameter.
18090         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
18091         (rebuild_jump_labels, jump_optimize_minimal): Update call
18092         of jump_optimize_1.
18093         (jump_optimize_1): Kill crossjumping code.
18094         (mark_jump_label): Kill cross_jump parameter.
18095         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
18096         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
18097         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
18098          splitting.
18099         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
18100         DFI_bpro.
18101         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
18102         reorganize passes to do reg-stack first, bb-reorder second.
18103         * invoke.texi (-d letters doc): Remove the jump2 pass.
18104
18105 2001-07-12  Steve Ellcey <sje@cup.hp.com>
18106
18107         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
18108
18109 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
18110
18111         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
18112         basic blocks.
18113         (verify_flow_info): Make diagnostics prettier.
18114
18115 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
18116
18117         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
18118
18119         * flow.c (outgoing_edges_match): Return early if condition reversal
18120         failed.
18121
18122 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
18123
18124         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
18125         (mips_move_2words): When splitting a move into two instructions,
18126         prefix the second address operand with '%D'.
18127
18128 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
18129
18130         * Makefile.in (final.o): Depend on debug.h.
18131         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
18132         (dbx_debug_hooks): Add new hooks.
18133         (xcoff_debug_hooks): New.
18134         * debug.c (debug_nothing_file_int_int): New.
18135         (do_nothing_debug_hooks): Update.
18136         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
18137         (debug_nothing_file_int_int): New.
18138         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
18139         static, update prototype.
18140         (dwarf2_debug_hooks): Update.
18141         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
18142         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
18143         static, update prototype.
18144         (dwarf_debug_hooks): Update.
18145         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
18146         * final.c: Include debug.h.
18147         (final_scan_insn): Use debug hooks when beginning and ending blocks.
18148         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
18149         static, update prototype.
18150         (sdb_debug_hooks): Update.
18151         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
18152         * toplev.c: Distinguish between xcoff and dbx.
18153
18154         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
18155         Call all debug hooks, not just dwarf ones.
18156
18157 2001-07-11  Timothy Wall  <twall@redhat.com>
18158
18159         * config.gcc: Add configuration for AIX5/IA64.
18160         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
18161         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
18162         support prefix/suffix code.
18163         * config/ia64/t-aix: New.  Makefile fragment.
18164         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
18165
18166 2001-07-11  Kazu Hirata  <kazu@hxi.com>
18167
18168         * recog.c (validate_change): Fix a comment typo.
18169
18170 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
18171
18172         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
18173         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
18174         hooks directly.
18175         * dbxout.c (dbx_debug_hooks): Add new hooks.
18176         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
18177         make static.
18178         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
18179         make static.
18180         * dbxout.h (dbxout_start_new_source_file,
18181         dbxout_resume_previous_source_file): Delete.
18182         * debug.c (do_nothing_debug_hooks): Add new hooks.
18183         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
18184         (debug_nothing_int_charstar, debug_nothing_int): New.
18185         * debug.h (gcc_debug_hooks): New hooks define, undef,
18186         start_source_file and end_source_file.
18187         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
18188         (debug_nothing_int_charstar, debug_nothing_int): New.
18189         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
18190         the conditionally compiled section.
18191         (dwarf2out_start_source_file, dwarf2out_end_source_file,
18192         dwarf2out_define, dwarf2out_undef): Make static.
18193         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
18194         dwarf2out_define, dwarf2out_undef): Remove.
18195         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
18196         (dwarfout_start_source_file, dwarfout_end_source_file,
18197         dwarfout_define, dwarfout_undef): Make static.
18198         (dwarfout_start_source_file_check,
18199         dwarfout_end_source_file_check): New.
18200         (dwarfout_define, dwarfout_finish): Update.
18201         * dwarfout.h (dwarfout_start_new_source_file,
18202         dwarfout_resume_previous_source_file, dwarfout_define,
18203         dwarfout_undef): Remove.
18204         * sdbout.c (sdb_debug_hooks): Add new hooks.
18205         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
18206         make static.
18207         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
18208         make static, take an arg.
18209         * sdbout.h (sdbout_start_new_source_file,
18210         sdbout_resume_previous_source_file): Delete.
18211         * toplev.c (debug_start_source_file, debug_end_source_file,
18212         debug_define, debug_undef): Delete.
18213         * toplev.h (debug_start_source_file, debug_end_source_file,
18214         debug_define, debug_undef): Delete.
18215
18216         * java/jcf-parse.c: Include debug.h.
18217         (parse_class_file): Update to use debug hooks directly.
18218         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
18219
18220 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18221
18222         * alias.c (set_mem_alias_set): New function.
18223         * rtl.h (set_mem_alias_set): Declare it.
18224         * builtins.c (expand_builtin_return_addr): Call it instead of
18225         using MEM_ALIAS_SET accessor.
18226         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
18227         (get_memory_rtx, expand_builtin_va_arg): Likewise.
18228         (expand_builtin_va_copy):Likewise.
18229         * caller-save.c (setup_save_areas): Likewise.
18230         * calls.c (compute_argument_addresses): Likewise.
18231         * explow.c (set_mem_attributes): Likewise.
18232         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
18233         (expand_assignment, store_constructor_field, store_field): Likewise.
18234         (expand_expr_unaligned): Likewise.
18235         * function.c (assign_stack_temp_for_type): Likewise.
18236         (put_reg_into_stack, gen_mem_addressof): Likewise.
18237         * ifcvt.c (noce_try_cmove_arith): Likewise.
18238         * reload1.c (reload, alter_reg): Likewise.
18239         * config/alpha/alpha.c (get_aligned_mem): Likewise.
18240         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
18241         (alpha_expand_unaligned_store): Likewise
18242         (alpha_expand_unaligned_load_words): Likewise.
18243         (alpha_expand_unaligned_store_words): Likewise.
18244         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
18245         (alpha_expand_epilogue): Likewise.
18246         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
18247         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
18248         * config/i386/i386.c (legitimize_pic_address): Likewise.
18249         * config/i960/i960.c (setup_incoming_varargs): Likewise.
18250         * config/ia64/ia64.c (spill_restore_mem): Likewise.
18251         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
18252         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
18253         * config/mips/mips.c (mips_va_arg): Likewise.
18254         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
18255         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
18256         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
18257         (setup_incoming_varargs, rs6000_va_arg): Likewise.
18258         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
18259         (rs6000_emit_epilogue): Likewise.
18260         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
18261         * config/sparc/sparc.c (sparc_va_arg): Likewise.
18262         * config/v850/v850.c (v850_va_arg): Likewise.
18263
18264 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
18265
18266         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
18267         when fallthru edge is present.
18268         (mege_blocks): Handle case where creation of jump insn
18269         is required.
18270
18271         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
18272         CLEANUP_POST_REGSTACK): New constants.
18273         * except.c (finish_eh_generation): Update call of cleanup_cfg,
18274         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
18275         * output.h (cleanup_cfg): Update prototype.
18276         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
18277         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
18278         cleanup_cfg call; kill missleading comment.
18279         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
18280         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
18281         parameter; control optimizations performed using it.
18282         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
18283         try_crossjump_bb): New functions.
18284
18285 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18286
18287         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
18288         extern.
18289         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
18290         pa_output_function_prologue.
18291         * pa-protos.h (pa_output_function_prologue): New prototype.
18292
18293 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18294
18295         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
18296         and low to get correct sign extension in low+high test.
18297
18298 2001-07-11  Janis Johnson <janis@us.ibm.com>
18299
18300         * gcov.c (arcdata): Use gcov_type to fix branch percentage
18301         for large hit count.
18302
18303         * profile.c (branch_prob): Fix .bbg info for computed gotos
18304         and C++ EH code.
18305
18306 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
18307
18308         * stmt.c (parse_output_constraint): New function, split out
18309         from ...
18310         (expand_asm_operands): ... here.  Use parse_output_constraint.
18311         * tree.h (parse_output_constraint): Declare it.
18312
18313 2001-07-11  Richard Henderson  <rth@redhat.com>
18314
18315         * bitmap.c: Comment some functions; fiddle whitespace.
18316         (bitmap_free): Don't export.
18317         (bitmap_element_allocate): Use memset.
18318         * bitmap.h (bitmap_free): Don't declare.
18319
18320 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
18321
18322         * gcse.c, lcm.c, sched-deps.c:
18323         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
18324
18325         * flow.c (flow_loops_find): Free dom if we found no loops, since
18326         we aren't going to save it.
18327
18328         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
18329         done.
18330
18331 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
18332
18333         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
18334
18335 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18336
18337         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
18338         #ifndef DWARF2_DEBUGGING_INFO.
18339
18340 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18341
18342         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
18343
18344 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18345
18346         * config/mips/mips.c (gen_int_relational): Tell the caller not to
18347         reverse a branch if a NE comparison is implemented with GTU.
18348
18349 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
18350             H.J. Lu  <hjl@gnu.org>
18351
18352         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
18353         constant addresses.
18354         (call_internal2): Likewise.
18355         (call_value_internal1): Likewise.
18356         (call_value_internal2): Likewise.
18357         (call_value_multiple_internal1): Likewise.
18358         (call_value_multiple_internal2): Likewise.
18359
18360 2001-07-10  Kazu Hirata  <kazu@hxi.com>
18361
18362         * calls.c (emit_library_call_value_1): Fix a comment typo.
18363         * dwarf2out.c (mem_loc_descriptor): Likewise.
18364         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
18365
18366 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
18367
18368         * simplify-rtx.c (simplify_subreg): Fix typo in comment
18369
18370 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18371
18372         * recog.c (offsettable_address_p): Handle LO_SUM case.
18373         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
18374         instead of plus_constant.
18375
18376 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18377
18378         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
18379         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
18380
18381 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18382
18383         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
18384         adjust_address_nv instead of plus_constant.
18385
18386 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
18387
18388         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
18389         dwarf2out.o): Depend on debug.h, wrap long lines.
18390         * dbxout.c: Include debug.h.
18391         (dbx_debug_hooks): New.
18392         (dbxout_init): Make static, take just 2 args.
18393         (dbxout_finish): Make static.
18394         * dbxout.h (dbxout_init, dbxout_finish): Delete.
18395         * debug.c: New file.
18396         * debug.h: New file.
18397         * dwarf2out.c: Include debug.h.
18398         (dwarf2_debug_hooks): New.
18399         (dwarf2out_init): Make static.
18400         (dwarf2out_finish): Make static, take 2 args.
18401         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
18402         * dwarfout.c: Include debug.h.
18403         (dwarf_debug_hooks): New.
18404         (dwarfout_init): Make static.
18405         (dwarfout_finish): Make static, take 2 args.
18406         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
18407         * sdbout.c: Include debug.h.
18408         (sdb_debug_hooks): New.
18409         (sdbout_init): Make static, take 2 args.
18410         * sdbout.h (sdbout_init): Delete.
18411         * toplev.c: Include debug.h.
18412         (debug_hooks): New.
18413         (compile_file): Set deubg_hooks based on command line options.
18414         Use the hooks unconditionally rather than conditional compilation.
18415
18416 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
18417
18418         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
18419         first_insn_after_basic_block_note instead.
18420
18421         * df.c (df_bb_refs_unlink): #if 0 out for now.
18422
18423 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
18424
18425         * ssa.h: Add prototype for ssa_const_prop
18426         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
18427         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
18428         (ssa_fast_dce): Remove unused variable
18429
18430 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
18431
18432         * diagnostic.c (finish_diagnostic): Rename to
18433         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
18434         calls thourghout.
18435
18436 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
18437
18438         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
18439         .loc support.
18440
18441         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
18442         (dump_file): Only pad the demangled name with spaces if the
18443         mangled name was padded with spaces.
18444
18445 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
18446
18447         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
18448         edge detection.
18449
18450 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18451
18452         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
18453         extraction if no direct load if either EXPAND_CONST_ADDRESS or
18454         EXPAND_INITIALIZER.
18455
18456         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
18457         whether can put offset inside LO_SUM to check mode alignment, not size.
18458
18459 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
18460
18461         * doc/tm.texi (Misc): Fix thinko.
18462
18463 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
18464
18465         * regmove.c (replace_in_call_usage): Fix warnings.
18466         * sched-deps.c (add_dependence): Fix warnings.
18467         * simplify-rtx.c (simplify_subreg): Likewise.
18468         Return NULL_RTX instead of NULL.
18469
18470         * reg-stack.c (emit_swap_insn): Eliminate warnings.
18471         (subst_asm_stack_regs): Likewise.
18472
18473         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
18474         warnings.
18475
18476         * dwarf2out.c (output_call_frame_info): Declare i as int.
18477         (build_abbrev_table): Declare n_alloc as int.
18478         (dwarf2out_finish): Initialize die.
18479         * except.c: Declare sjlj_funcdef_number as unsigned.
18480         (connect_post_landing_pads): Declare j as unsigned.
18481         (convert_to_eh_region_ranges): Initialize call_site.
18482         (output_function_exception_table): Initialize tt_format_size.
18483         * expr.c (move_by_pieces_1): Initialize to1.
18484         (store_constructor): Initialize minelt and maxelt.
18485         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
18486         * function.c (instantiate_decls): Avoid signed/unsigned warning.
18487
18488         * c-decl.c (combine_parm_decls): Unused, remove.
18489         * c-tree.h: Remove prototype for combine_parm_decls.
18490
18491         * reload.c (push_reload): Fix warning.
18492         (regno_clobbered_p): Likewise.
18493         * reload1.c (replace_pseudos_in_call_usage): Likewise.
18494         (reload_combine): Likewise.
18495
18496         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
18497         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
18498         warnings.
18499         * bitmap.c (bitmap_operation): Change user.
18500         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
18501
18502 2001-07-10  Eric Christopher  <echristo@redhat.com>
18503
18504         * config/mips/mips.c (override_options): Fix typo.
18505
18506 2001-07-09  Stan Shebs  <shebs@apple.com>
18507
18508         * target.h (struct gcc_target): New fields init_builtins and
18509         expand_builtin.
18510         * target-def.h (TARGET_INIT_BUILTINS): New macro.
18511         (TARGET_EXPAND_BUILTIN): New macro.
18512         (TARGET_INITIALIZER): Add them.
18513         * builtins.c: Include target.h.
18514         (expand_builtin): Use targetm.expand_builtin.
18515         (default_init_builtins): New function.
18516         (default_expand_builtin): New function.
18517         * expr.h (default_init_builtins): Declare.
18518         (default_expand_builtin): Declare.
18519         * c-common.c (c_common_nodes_and_builtins): Use
18520         targetm.init_builtins.
18521         * defaults.h (MD_INIT_BUILTINS): Remove.
18522         * Makefile.in (builtins.o): Depend on target.h.
18523
18524         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
18525         (TARGET_EXPAND_BUILTIN): Define.
18526         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
18527         (MD_EXPAND_BUILTIN): Remove.
18528
18529         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
18530         (TARGET_EXPAND_BUILTIN): Define.
18531         (c4x_init_builtins): Make endlink arg a local.
18532         (c4x_print_operand): Fix typos in adjust_address usages.
18533         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
18534         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
18535         (MD_EXPAND_BUILTIN): Remove.
18536
18537         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
18538         (TARGET_EXPAND_BUILTIN): Define.
18539         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
18540         (ix86_init_builtins): Call new function only if TARGET_MMX.
18541         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
18542         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
18543         (MD_EXPAND_BUILTIN): Remove.
18544
18545         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
18546         (TARGET_EXPAND_BUILTIN): Define.
18547         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
18548         (MD_EXPAND_BUILTIN): Remove.
18549
18550         * doc/tm.texi: Document these changes.
18551
18552 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
18553
18554         * basic-block.h (tree_node): Forward declare if needed.
18555         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
18556         (BLOCK_HEAD_TREE): Define.
18557         (BLOCK_END_TREE): Define.
18558         (struct loops): Rename field 'tree' to 'tree_root'.
18559         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
18560         'end_tree'.
18561         (flow_loops_tree_build): Rename reference to field 'tree' to
18562         'tree_root'.
18563         (flow_loops_level_compute): Ditto.
18564         * predict.c (estimate_bb_frequencies): Ditto.
18565         * tree.h (struct tree_common): Add field 'aux'.
18566
18567 2001-07-09  Stan Shebs  <shebs@apple.com>
18568
18569         * config/darwin.c (darwin_encode_section_info): Don't mark any
18570         DECL_EXTERNAL node as defined.
18571
18572 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18573
18574         * pa.c (pa_init_machine_status, pa_mark_machine_status,
18575         pa_free_machine_status, hppa_init_pic_save): Delete.
18576         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
18577         (hppa_profile_hook): Use hppa_pic_save_rtx.
18578         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
18579         hppa_init_pic_save): Delete.
18580         (hppa_pic_save_rtx): Declare.
18581         * pa.md (call, call_value, sibcall, sibcall_value,
18582         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
18583
18584 2001-07-09  Kazu Hirata  <kazu@hxi.com>
18585
18586         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
18587         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
18588
18589 2001-07-09  Andreas Jaeger  <aj@suse.de>
18590
18591         * output.h: Add declaration of final_forward_branch_p.
18592
18593         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
18594
18595         * varray.c: Include errors.h for internal_error and trim_filename
18596         declarations.
18597
18598         * Makefile.in (varray.o): Add errors.h.
18599
18600 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
18601
18602         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
18603         * optabs.c (have_add2_insn): Check whether the add insn chosen
18604         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
18605         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
18606
18607 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
18608
18609         * Makefile.in (OBJS): Add ssa-ccp.o
18610         (ssa-ccp.o): Add dependencies.
18611         * toplev.c (DFI_ssa_ccp): New dump file enum.
18612         (dump_file): Add entry for dumping after SSA CCP.
18613         (flag_ssa_ccp): New flag variable.
18614         (f_options): Add -fssa-ccp.
18615         (rest_of_compilation): Run SSA CCP if requested.
18616         * timevar.def (TV_SSA_CCP): New timevar.
18617         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
18618         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
18619         Fix minor typo in SSA DCE documentation.
18620         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
18621         Add documentation for new dump option.  Renumber dump files
18622         appropriately.
18623
18624 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18625
18626         * emit-rtl.c (gen_highpart_mode): New.
18627         * rtl.h (gen_highpart_mode): Declare.
18628         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
18629         operand can be VOIDmode constant.
18630
18631 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
18632
18633         * flow.c (redirect_edge_and_branch_force): New.
18634         (can_fallthru): Ensure that basic blocks are succeeding.
18635         (try_optimize_cfg): Do not delete basic block if it is the last one.
18636
18637         * flow.c (try_redirect_by_replacing_jump): Do not remove
18638         jumps with side effects, unlink chain on fallthru edge;
18639         set block for new jump instruction; avoid basic block to
18640         over by line number note.
18641
18642         * flow.c (try_simplify_condjump): Verify that the condjump
18643         is not always falling through.
18644
18645         Re-install patch:
18646         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18647
18648         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18649         (try_redirect_by_replacing_jump): Update properly the count
18650         and frequency information.
18651
18652 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18653
18654         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
18655         address that is a LO_SUM specially.
18656         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
18657
18658         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
18659
18660         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
18661         (operand_subword): Use them.
18662         (change_address_1): Renamed from change_address; new arg VALIDATE.
18663         * expr.h: Reflect above changes; change_address now macro.
18664         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
18665         making MEM.
18666         * cselib.c (add_mem_for_addr): Likewise.
18667         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
18668         * regmove.c (try_apply_stack_adjustment): Likewise.
18669         * reload.c (push_reload, make_memloc): Likewise.
18670         * reload1.c (eliminate_regs): Likewise.
18671         * simplify-rtx.c (simplify_replace_rtx): Likewise.
18672         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
18673         adjust_addess.
18674         * combine.c (make_extraction, simplify_shift_const): Likewise.
18675         (gen_lowpart_for_combine): Likewise.
18676         * cse.c (gen_lowpart_if_possible): Likewise.
18677         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
18678         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
18679         * optabs.c (gen_move_insn): Likewise.
18680         * reload1.c (alter_reg): Likewise.
18681         * simplify-rtx.c (simplify_subreg): Likewise.
18682         * stmt.c (expand_anon_union_decl): Likewise.
18683         * recog.c (validate_replace_rtx_1): Likewise.
18684         (expr.h): Include.
18685         * Makefile.in (recog.o): Add $(EXPR_H).
18686         * explow.c (stabilize): Call replace_equiv_address.
18687         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
18688         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
18689
18690 2001-07-03  Andrew Haley  <aph@redhat.com>
18691
18692         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
18693         the mode of the memory location.
18694
18695 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
18696
18697         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
18698
18699 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
18700
18701         * final.c (output_addr_const): Use target opening and
18702         closing parentheses.
18703         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
18704         defaults, add to TARGET_ASM_OUT.
18705         * target.h (struct gcc_target): Add open_paren and close_paren.
18706         * doc/md.texi: Update.
18707         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
18708         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
18709         TARGET_ASM_CLOSE_PAREN.
18710         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18711         Override.
18712         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18713         Override.
18714         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
18715         * config/a29k/a29k.h: Similarly.
18716         * config/alpha/alpha.h: Similarly.
18717         * config/arc/arc.h: Similarly.
18718         * config/arm/aof.h: Similarly.
18719         * config/arm/aout.h: Similarly.
18720         * config/avr/avr.h: Similarly.
18721         * config/c4x/c4x.h: Similarly.
18722         * config/clipper/clipper.h: Similarly.
18723         * config/convex/convex.h: Similarly.
18724         * config/d30v/d30v.h: Similarly.
18725         * config/dsp16xx/dsp16xx.h: Similarly.
18726         * config/elxsi/elxsi.h: Similarly.
18727         * config/fr30/fr30.h: Similarly.
18728         * config/h8300/h8300.h: Similarly.
18729         * config/i370/i370.h: Similarly.
18730         * config/i386/i386.h: Similarly.
18731         * config/i860/i860.h: Similarly.
18732         * config/i960/i960.h: Similarly.
18733         * config/ia64/ia64.h: Similarly.
18734         * config/m32r/m32r.h: Similarly.
18735         * config/m68hc11/m68hc11.h: Similarly.
18736         * config/m68k/m68k.h: Similarly.
18737         * config/m88k/m88k.h: Similarly.
18738         * config/mcore/mcore.h: Similarly.
18739         * config/mips/mips.h: Similarly.
18740         * config/mn10200/mn10200.h: Similarly.
18741         * config/mn10300/mn10300.h: Similarly.
18742         * config/ns32k/ns32k.h: Similarly.
18743         * config/pa/pa.h: Similarly.
18744         * config/pdp11/pdp11.h: Similarly.
18745         * config/pj/pj.h: Similarly.
18746         * config/romp/romp.h: Similarly.
18747         * config/rs6000/rs6000.h: Similarly.
18748         * config/sh/sh.h: Similarly.
18749         * config/sparc/sparc.h: Similarly.
18750         * config/v850/v850.h: Similarly.
18751         * config/vax/vax.h: Similarly.
18752         * config/we32k/we32k.h: Similarly.
18753
18754 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
18755
18756         * doc/c-tree.texi: Document representation of attributes.
18757
18758 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18759
18760         * doc/tm.texi: Update some places for the rename of target to
18761         targetm.  Fix typo.
18762
18763 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18764
18765         * target.h (struct gcc_target): Add insert_attributes.
18766         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
18767         (TARGET_INITIALIZER): Update.
18768         * tree.c, tree.h (default_insert_attributes): New function.
18769         Update comments on other default functions to refer to targetm,
18770         not target.
18771         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
18772         TARGET_INSERT_ATTRIBUTES.
18773         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
18774         * c-common.c (decl_attributes): Use targetm.insert_attributes.
18775         Don't use PRAGMA_INSERT_ATTRIBUTES.
18776         * Makefile.in (c-common.o): Depend on $(TARGET_H).
18777         * c-decl.c (start_decl, start_function): Don't call
18778         SET_DEFAULT_DECL_ATTRIBUTES.
18779         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18780         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
18781         declare.
18782         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
18783         (c4x_check_attribute): Avoid modifying attribute list itself.
18784         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
18785         Make static.
18786         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
18787         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
18788         declare.
18789         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
18790         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
18791         Make static.
18792         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18793         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
18794         declare.
18795         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
18796         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
18797         Adjust parameters.  Make static.
18798
18799 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18800
18801         * c-common.c (decl_attributes): Only take a single attributes
18802         parameter.
18803         * c-common.h (decl_attributes): Update prototype.
18804         * c-decl.c (start_decl, start_function): Only take a single
18805         attributes parameter.  Update calls to decl_attributes.
18806         (finish_struct, finish_enum): Update calls to decl_attributes.
18807         (push_parm_decl): Expect unified list of attributes.  Update call
18808         to decl_attributes.
18809         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
18810         notype_nested_function, component_declarator,
18811         component_notype_declarator, label): Update calls to
18812         decl_attributes.
18813         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
18814         lists that are passed to push_parm_decl.
18815         * c-tree.h (start_function, start_decl): Update prototypes.
18816         * config/sh/sh-protos.h, config/sh/sh.c
18817         (sh_pragma_insert_attributes): Only take a single attributes
18818         parameter.
18819         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
18820         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
18821         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
18822         build_module_descriptor, generate_static_references,
18823         generate_strings, build_selector_translation_table,
18824         generate_descriptor_table, generate_protocols,
18825         generate_ivars_list, generate_dispatch_table,
18826         generate_protocol_list, generate_category,
18827         generate_shared_structures, really_start_method, add_objc_decls,
18828         generate_classref_translation_entry): Update calls to start_decl
18829         and start_function.
18830         (build_tmp_function_decl, start_method_def): Unify attribute lists
18831         that are passed to push_parm_decl.
18832
18833 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
18834
18835         * final.c (no_asm_to_stream): New.
18836         (final_scan_insn): Use target structures for prologue ends
18837         and epilogue starts.
18838         * output.h (no_asm_to_stream): New.
18839         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
18840         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
18841         (TARGET_ASM_OUT): Update.
18842         * target.h (struct gcc_target): New members function_end_prologue
18843         and function_begin_epilogue.
18844         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
18845         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
18846         * config/alpha/alpha.c (output_end_prologue): Rename to
18847         alpha_output_function_end_prologue.  Use in target struct
18848         and make static.
18849         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
18850         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
18851         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
18852         ia64_output_function_end_prologue.  Use in target struct
18853         and make static.
18854         (ia64_function_prologue, ia64_funciton_epilogue): Rename
18855         mistyped prototypes.
18856         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
18857         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
18858         Delete.
18859         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
18860         an use in target struct, make static.
18861         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
18862         Delete.
18863
18864 2001-07-08  Richard Henderson  <rth@redhat.com>
18865
18866         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
18867
18868 2001-07-08  Richard Henderson  <rth@redhat.com>
18869
18870         * config/i386/i386.md: Remove constraints strings from define_split
18871         and define_peephole2 patterns.
18872         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
18873         (eh_return): Use them.
18874
18875 2001-07-08  Richard Henderson  <rth@redhat.com>
18876
18877         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
18878         Document MD_FALLBACK_FRAME_STATE_FOR.
18879
18880 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18881
18882         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
18883         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
18884         elimination.
18885         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
18886
18887 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
18888
18889         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
18890         of the label inside NAME as opposed to just the end of NAME.
18891
18892 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
18893
18894         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
18895         * config/alpha/alpha.c (alpha_init_machine_status,
18896         alpha_mark_machine_status, alpha_free_machine_status): Delete.
18897         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
18898         (vms_valid_decl_attribute_p): Make static, conditionally compile.
18899         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
18900
18901 2001-07-06  Stan Shebs  <shebs@apple.com>
18902
18903         * target.h (targetm): Rename global from "target", so as not to
18904         conflict with local variables.
18905         * c-decl.c: Ditto.
18906         * c-typeck.c: Ditto.
18907         * final.c: Ditto.
18908         * tree.c: Ditto.
18909         * cp/decl.c: Ditto.
18910         * cp/decl2.c: Ditto.
18911         * cp/typeck.c: Ditto.
18912         * 1750a/1750a.c: Ditto.
18913         * a29k/a29k.c: Ditto.
18914         * arc/arc.c: Ditto.
18915         * arm/arm.c: Ditto.
18916         * avr/avr.c: Ditto.
18917         * clipper/clipper.c: Ditto.
18918         * convex/convex.c: Ditto.
18919         * d30v/d30v.c: Ditto.
18920         * dsp16xx/dsp16xx.c: Ditto.
18921         * elxsi/elxsi.c: Ditto.
18922         * fr30/fr30.c: Ditto.
18923         * h8300/h8300.c: Ditto.
18924         * i370/i370.c: Ditto.
18925         * i386/i386.c: Ditto.
18926         * i860/i860.c: Ditto.
18927         * i960/i960.c: Ditto.
18928         * ia64/ia64.c: Ditto.
18929         * m32r/m32r.c: Ditto.
18930         * m68hc11/m68hc11.c: Ditto.
18931         * m68k/m68k.c: Ditto.
18932         * m88k/m88k.c: Ditto.
18933         * mips/mips.c: Ditto.
18934         * ns32k/ns32k.c: Ditto.
18935         * pa/pa.c: Ditto.
18936         * pdp11/pdp11.c: Ditto.
18937         * romp/romp.c: Ditto.
18938         * rs6000/rs6000.c: Ditto.
18939         * sh/sh.c: Ditto.
18940         * sparc/sparc.c: Ditto.
18941         * vax/vax.c: Ditto.
18942         * we32k/we32k.c: Ditto.
18943         * doc/tm.texi: Update the manual to match.
18944
18945 2001-07-06  Richard Henderson  <rth@redhat.com>
18946
18947         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
18948         DWARF2_UNWIND_INFO not just whether it is defined.
18949
18950 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
18951
18952         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
18953         call to simplify_binary_operation returns a new pattern.
18954
18955 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18956
18957         * glimits.h (__SHRT_MAX__): New.
18958         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
18959         (SHRT_MAX): Define in terms of __SHRT_MAX__.
18960
18961 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
18962
18963         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
18964         avoid warnings.
18965
18966 2001-07-06  Richard Henderson  <rth@redhat.com>
18967
18968         * bitmap.c (bitmap_release_memory): Move adjacent to the
18969         allocation functions.
18970         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
18971         the implementation.  Binary search for the set bit.
18972         (bitmap_union_of_diff): Allocate the temporary on the stack
18973         instead of using xmalloc.
18974
18975 2001-07-06  Richard Henderson  <rth@redhat.com>
18976
18977         * genrecog.c (validate_pattern): Warn for constraints in
18978         define_{expand,split,peephole2}.  Remove strict_low_part
18979         before looking up match_dup.
18980
18981 2001-07-06  DJ Delorie  <dj@redhat.com>
18982
18983         * doc/gcc.texi (Makefile): Rename to be a more general purpose
18984         chapter about various build hints and history.  Add section
18985         talking about the various types of native and cross builds.
18986
18987 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
18988
18989         * Makefile.in (final.o): Depend on target.h.
18990         * final.c: Include target.h.
18991         (default_function_pro_epilogue): New.
18992         (final_start_function): Use target structure for function prologues.
18993         (final_end_function): Use target structure for function epilogues.
18994         * fold-const.c (real_hex_to_f): Constify s and p.
18995         * output.h (default_function_pro_epilogue): New.
18996         * real.h (real_hex_to_f): Update prototype.
18997         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
18998         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
18999         (TARGET_INITIALIZER): Update.
19000         * target.h (gcc_target): Add struct asm_out.
19001         * doc/tm.texi: Update.
19002
19003 config:
19004         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
19005         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
19006         in cpu/cpu.c, or rename old functions consistently.  Take
19007         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
19008         redundant macros and prototypes.  Make new functions static.
19009
19010         * 1750a/1750a.c: Similarly.
19011         * 1750a/1750a.h: Similarly.
19012         * a29k/a29k-protos.h: Similarly.
19013         * a29k/a29k.c: Similarly.
19014         * a29k/a29k.h: Similarly.
19015         * arc/arc-protos.h: Similarly.
19016         * arc/arc.c: Similarly.
19017         * arc/arc.h: Similarly.
19018         * arm/arm-protos.h: Similarly.
19019         * arm/arm.c: Similarly.
19020         * arm/arm.h: Similarly.
19021         * avr/avr-protos.h: Similarly.
19022         * avr/avr.c: Similarly.
19023         * avr/avr.h: Similarly.
19024         * clipper/clipper-protos.h: Similarly.
19025         * clipper/clipper.c: Similarly.
19026         * clipper/clipper.h: Similarly.
19027         * convex/convex.c: Similarly.
19028         * convex/convex.h: Similarly.
19029         * d30v/d30v-protos.h: Similarly.
19030         * d30v/d30v.c: Similarly.
19031         * d30v/d30v.h: Similarly.
19032         * d30v/d30v.md: Similarly.
19033         * dsp16xx/dsp16xx-protos.h: Similarly.
19034         * dsp16xx/dsp16xx.c: Similarly.
19035         * dsp16xx/dsp16xx.h: Similarly.
19036         * elxsi/elxsi.c: Similarly.
19037         * elxsi/elxsi.h: Similarly.
19038         * fr30/fr30.c: Similarly.
19039         * fr30/fr30.md: Similarly.
19040         * h8300/h8300-protos.h: Similarly.
19041         * h8300/h8300.c: Similarly.
19042         * h8300/h8300.h: Similarly.
19043         * i370/i370-protos.h: Similarly.
19044         * i370/i370.c: Similarly.
19045         * i370/i370.h: Similarly.
19046         * i386/i386.c: Similarly.
19047         * i386/osf1elf.h: Similarly.
19048         * i386/osfrose.h: Similarly.
19049         * i860/i860-protos.h: Similarly.
19050         * i860/i860.c: Similarly.
19051         * i860/i860.h: Similarly.
19052         * i960/i960-protos.h: Similarly.
19053         * i960/i960.c: Similarly.
19054         * i960/i960.h: Similarly.
19055         * ia64/ia64-protos.h: Similarly.
19056         * ia64/ia64.c: Similarly.
19057         * ia64/ia64.h: Similarly.
19058         * m32r/m32r-protos.h: Similarly.
19059         * m32r/m32r.c: Similarly.
19060         * m32r/m32r.h: Similarly.
19061         * m68hc11/m68hc11-protos.h: Similarly.
19062         * m68hc11/m68hc11.c: Similarly.
19063         * m68hc11/m68hc11.h: Similarly.
19064         * m68k/crds.h: Similarly.
19065         * m68k/dpx2.h: Similarly.
19066         * m68k/m68k-protos.h: Similarly.
19067         * m68k/m68k.c: Similarly.
19068         * m68k/m68k.h: Similarly.
19069         * m68k/news.h: Similarly.
19070         * m88k/m88k-protos.h: Similarly.
19071         * m88k/m88k.c: Similarly.
19072         * m88k/m88k.h: Similarly.
19073         * mips/mips-protos.h: Similarly.
19074         * mips/mips.c: Similarly.
19075         * mips/mips.h: Similarly.
19076         * ns32k/merlin.h: Similarly.
19077         * ns32k/ns32k.c: Similarly.
19078         * ns32k/ns32k.h: Similarly.
19079         * ns32k/tek6000.h: Similarly.
19080         * pa/pa-protos.h: Similarly.
19081         * pa/pa.c: Similarly.
19082         * pa/pa.h: Similarly.
19083         * pdp11/2bsd.h: Similarly.
19084         * pdp11/pdp11-protos.h: Similarly.
19085         * pdp11/pdp11.c: Similarly.
19086         * pdp11/pdp11.h: Similarly.
19087         * romp/romp-protos.h: Similarly.
19088         * romp/romp.c: Similarly.
19089         * romp/romp.h: Similarly.
19090         * rs6000/rs6000-protos.h: Similarly.
19091         * rs6000/rs6000.c: Similarly.
19092         * rs6000/rs6000.h: Similarly.
19093         * rs6000/sysv4.h: Similarly.
19094         * sh/sh-protos.h: Similarly.
19095         * sh/sh.c: Similarly.
19096         * sh/sh.h: Similarly.
19097         * sparc/sparc-protos.h: Similarly.
19098         * sparc/sparc.c: Similarly.
19099         * sparc/sparc.h: Similarly.
19100         * vax/vax.c: Similarly.
19101         * vax/vax.h: Similarly.
19102         * vax/vms.h: Similarly.
19103         * we32k/we32k.c: Similarly.
19104         * we32k/we32k.h: Similarly.
19105
19106 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
19107
19108         * basic-block.h (first_insn_after_basic_block_note): Declare.
19109         * flow.c (first_insn_after_basic_block_note): Define.  Moved
19110         from...
19111         * ssa.c (first_insn_after_basic_block_note): Remove.
19112         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
19113         necessary.
19114         (ssa_eliminate_dead_code): Properly update the CFG and PHI
19115         nodes when we find a dead conditional branch.  Insert BARRIERs
19116         after any blocks with no successors, but which do not have
19117         any BARRIERs.
19118
19119 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
19120
19121         * varray.c (varray_check_failed): Use internal_error.
19122
19123 2001-07-05  Andrew Haley  <aph@redhat.com>
19124
19125         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
19126         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
19127         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
19128
19129 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
19130
19131         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
19132         reference if the target constant is also a SYMBOL_REF.
19133
19134 2001-07-05  Eric Christopher  <echristo@redhat.com>
19135
19136         * config/mips/mips.h (MASK_MIPS3900): Remove.
19137         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
19138         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
19139         (TARGET_MIPS3900): Change to use mips_arch.
19140         (TARGET_MIPS4000): New.
19141         (TARGET_MIPS4100): New.
19142         (TARGET_MIPS4300): New.
19143         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
19144         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
19145         for -mipsX.
19146         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
19147         (ISA_HAS_BRANCHLIKELY): To here.
19148         (CC1_CPU_SPEC):  New.
19149         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
19150         (mips_arch_string): Declare.
19151         (mips_arch): Declare.
19152         (TARGET_OPTIONS): Add -march and -mtune.
19153
19154         * config/mips/mips.c (mips_arch_string): New.
19155         (mips_arch): New.
19156         (override_options): Handle -march for codegen and -mtune
19157         for scheduling. Use mips_arch. Move tx39 target default here.
19158         (mips_parse_cpu): Move error message to override_options.
19159
19160         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
19161
19162         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
19163
19164         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
19165         (MIPS Options): Ditto.  Change mcpu entry to historical text.
19166
19167 2001-07-05  H.J. Lu  (hjl@gnu.org)
19168
19169         * config/mips/mips.c (mips_parse_cpu): New function to parse
19170         -march=*/-mcpu=*.
19171
19172 2001-07-05  Jim Wilson  <wilson@redhat.com>
19173
19174         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
19175         * config/ia64/t-ia64: Likewise.
19176         (LIB1ASMFUNCS): Update comment.
19177
19178 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
19179
19180         * doc/install.texi (Install GCC: Binaries): Fix typo.
19181
19182 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
19183
19184         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
19185         reference using the stack pointer, adjust it since we push Y
19186         temporarily.
19187         ("*ashrsi3"): Likewise.
19188         ("*lshrsi3"): Likewise.
19189
19190 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
19191
19192         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
19193         when -fomit-frame-pointer is used.
19194
19195 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
19196
19197         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
19198         (try_redirect_by_replacing_jump): Reverse updating properly the
19199         count and frequency information.  Reverse removing cc0 setter.
19200         (forwarder_block_p): Reverse fixing for fallthru blocks.
19201
19202 2001-07-05  DJ Delorie  <dj@redhat.com>
19203
19204         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
19205         (translate_options): If the above is defined, use it to map
19206         given options to new options.
19207         * doc/tm.texi: Document it.
19208
19209 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
19210             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19211
19212         * doc/invoke.texi (Optimize Options): Document that -fgcse may
19213         cause programs using computed gotos to run more slowly.
19214
19215 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19216
19217         * doc/install.texi (Specific): Markup, spelling and typo fixes.
19218         Fixed sorting.
19219         Consistently require binutils 2.11.2, not prereleases.
19220         (Specific, decstation-*): Canonicalize as mips-dec-*.
19221         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
19222         always necessary.
19223         (Specific, m68k-altos): Removed reference to README.altos, deleted.
19224         (Specific, mips-*): Reword MIPS C compiler requirements.
19225         (Specific, powerpc*-*-*): New, mention --with-cpu once.
19226         (Specific, sunv5): Removed, obsolete.
19227
19228 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
19229
19230         * dwarf2out.c (output_loc_list): Use an all ones mask for
19231         .text asm output and don't rely on long long
19232         literals. Reformat some long lines.
19233
19234 2001-07-05  Andreas Jaeger  <aj@suse.de>
19235
19236         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
19237         section.
19238
19239 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
19240
19241         * dwarf2out.c (dwarf2out_define): Update comment.
19242         (dwarf2out_undef): Ditto.
19243         (dwarf2out_start_source_file): Ditto.
19244         (dwarf2out_end_source_file): Ditto.
19245         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
19246         since we never call the start/end debug hook for the primary file.
19247
19248 2001-07-04  Kazu Hirata  <kazu@hxi.com>
19249
19250         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
19251         from shll.
19252
19253 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
19254
19255         * cppinit.c (remove_dup_dirs): Inform if a system include
19256         directory is being reordered.
19257         * doc/invoke.texi (Directory Options): GCC warns if you hide a
19258         system include.
19259         * doc/cpp.texi (Search Paths): Likewise.
19260         * doc/gcc.texi (Interoperation): Remove information about
19261         -I/usr/include.
19262
19263 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
19264
19265         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
19266         (VARRAY_TOP_CHAR_PTR): Likewise.
19267
19268 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19269
19270         * gcc.c (process_command): Don't assign elements of a const char*.
19271
19272 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19273
19274         * emit-rtl.c (change_address): Don't abort if invalid address while
19275         reload is in progress.
19276
19277 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
19278
19279         * c-lex.c (cb_file_change): Pass line number to
19280         debug_start_source_file.
19281         (cb_undefine): Pass correct line number to debug_undef.
19282
19283         * toplev.c (debug_start_source_file): Add line number to
19284         parameters. Pass it along to dwarf2out_start_source_file.
19285         (decode_g_option): Stop resetting debug level back to normal when
19286         we change debug formats, unless the current level is
19287         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
19288         3).
19289
19290         * toplev.h (debug_start_source_file): Add line number to
19291         parameters.
19292
19293         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
19294         parameters.
19295
19296         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
19297         parameters.
19298         Output debug_macinfo data for starting file if requested.
19299         (dwarf2out_end_source_file): Output debug_macinfo data for ending
19300         file if requested.
19301         (dwarf2out_define): Output debug_macinfo data for defining a macro
19302         if requested.
19303         (dwarf2out_undef): Output debug_macinfo data for undefining a
19304         macro if requested.
19305         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
19306         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
19307         (macinfo_section_label): New. DWARF2 macro info section label.
19308         (dwarf2out_init): If we want macro info, output the start label
19309         for the section.
19310         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
19311         attribute to the compilation unit die pointing to the macro info.
19312
19313 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
19314
19315         * dwarf2out.c (new_loc_list): Move to inside #ifdef
19316         DWARF2_DEBUGGING_INFO.
19317         (add_loc_descr_to_loc_list): Ditto.
19318         (output_loc_list): Ditto.
19319         Also, fix thinko in curr not being initialized.
19320         (gen_internal_sym): Ditto.
19321
19322 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19323
19324         * emit-rtl.c (replace_equiv_address): New function.
19325         * expr.h (replace_equiv_address): New declaration.
19326         * explow.c (validize_mem): Call it instead of change_address and
19327         also call if -fforce-addr and address is constant.
19328         * expr.c: Replace more calls to change_address with adjust_address
19329         and/or replace_equiv_address or to validize_mem.
19330         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
19331         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
19332         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
19333         * config/i370/i370.md, config/i860/i860.md: Likewise.
19334         * config/i960/i960.md, config/mips/mips.c: Likewise.
19335         * config/mips/mips.md, config/pa/pa.md: Likewise.
19336         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
19337         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
19338
19339 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19340
19341         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
19342
19343         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
19344         function.
19345
19346 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
19347
19348         * doc/include: New directory.
19349         * doc/fdl.texi: Move to doc/include/fdl.texi.
19350         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
19351         * doc/include/funding.texi, doc/include/gpl.texi: New files.
19352         * doc/gcc.texi: Use funding.texi and gpl.texi.
19353         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
19354         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
19355         Update dependencies and use -I $(docdir)/include.
19356
19357 2001-07-04  Anthony Green  <green@redhat.com>
19358
19359         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
19360
19361 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19362
19363         * doc/install.texi (sparc64-*-*): Remove garbage.
19364
19365 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
19366
19367         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
19368         Fix typo in last change to use adjust_address.
19369
19370 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19371
19372         * doc/install.texi (Specific): Update information for *-*-solaris*.
19373
19374 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19375
19376         * explow.c (plus_constant_wide): Reinitialize Y for restart.
19377
19378 2001-07-03  Stan Shebs  <shebs@apple.com>
19379
19380         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
19381         case for flag_no_mach_text_sections.
19382         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
19383         * config/darwin.c (flag_no_mach_text_sections): Remove.
19384         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
19385
19386 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19387
19388         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
19389         and avoid checking for constant as first operand.
19390         * recog.c (find_constant_term_loc): No longer static.
19391         (adj_offettable_operand): Delete.
19392         * rtl.h (adj_offsettable_operand): Delete declaration.
19393         (find_constant_term): Add declaration.
19394         * caller-save.c: Replace calls to adj_offsettable_operand with calls
19395         to adjust_address.
19396         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
19397         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
19398         * config/i386/i386.c, config/i386/i386.md: Likewise.
19399         * config/i860/i860.c, config/i960/i960.c: Likewise.
19400         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
19401         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
19402         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
19403         * config/mips/mips.c, config/mips/mips.md: Likewise.
19404         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
19405         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
19406         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
19407         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
19408         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
19409         * config/ns32k/ns32k.md: Likewise.
19410
19411 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
19412
19413         * rtl.c (copy_rtx): Handle 'T' format letter.
19414         * gensupport.c (collect_insn_data): Likewise.
19415         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
19416
19417 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
19418
19419         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
19420         -B option.  Use 'dir' not 'foo' as example directory name.
19421
19422 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19423
19424         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
19425         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
19426
19427 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
19428
19429         * doc/cppinternals.texi: Improve formatting and logical markup.
19430
19431 2001-07-03  Andreas Jaeger  <aj@suse.de>
19432
19433         * Makefile.in (insn-recog.o): Add dependency on reload.h.
19434
19435         * genrecog.c (write_header): Include reload.h for prototypes in
19436         insn-recog.c.
19437
19438 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
19439
19440 config:
19441         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
19442         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
19443         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
19444         i386_pe_valid_type_attribute_p): Add.
19445         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
19446         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
19447
19448 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19449
19450         * explow.c (plus_constant_wide, case LO_SUM): New case.
19451         (plus_constant_for_output_wide): Delete.
19452         * rtl.h (plus_constant_for_output): Delete.
19453         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
19454         instead of plus_constant_for_output.
19455         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
19456         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
19457         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
19458         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
19459         * config/sparc/sparc.md: Likewise.
19460         Convert some change_address calls to adjust_address.
19461
19462 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
19463
19464         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
19465         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
19466         documentation of -std and -Wwrite-strings.
19467
19468 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
19469
19470         * cse.c (canon_hash): Don't register registers in very small
19471         register classes, as extending their lifetime might cause
19472         reload to fail.
19473
19474 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
19475
19476         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
19477
19478         * flow.c (forwarder_block_p): Fix for fallthru blocks.
19479         (try_redirect_by_replacing_jump): Update properly the count
19480         and frequency information.
19481
19482 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
19483
19484         * toplev.c (dump_file_index): Move SSA dumps just after first
19485         jump dump.
19486         (dump_file): Corresponding changes.
19487         (rest_of_compilation): Move SSA path to just after the first
19488         jump pass.
19489         * doc/gcc.texi (Passes): Update due to movement of SSA path.
19490         * doc/invoke.texi: Update dump file #s as they were completely
19491         out of date with reality.
19492
19493 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
19494
19495         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
19496
19497         * expr.c (emit_move_insn_1): Deal with non-default
19498         STACK_PUSH_CODE.
19499
19500         * expr.c (emit_single_push_insn): Fix warning.
19501
19502 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
19503
19504         * expr.c (emit_move_insn_1): Avoid modifying
19505         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
19506
19507 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19508
19509         * emit-rtl.c (adjust_address): New function.
19510         * expr.h (adjust_address): Add declaration.
19511         * builtins.c: Replace some calls to change_address with calls to it
19512         or to validize_mem.
19513         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
19514         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
19515         * config/arm/arm.c, config/convex/convex.c: Likewise.
19516         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
19517         * config/i386/i386.c, config/i386/i386.md: Likewise.
19518         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
19519         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
19520         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
19521         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
19522         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
19523
19524 2001-07-02  Jim Wilson  <wilson@redhat.com>
19525
19526         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
19527
19528 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
19529
19530         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
19531         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
19532
19533 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
19534
19535         * cppinit.c (lang_defaults): New table.
19536         (set_lang): Just read from lang_defaults into the live options
19537         structure.
19538
19539 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
19540
19541         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
19542         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
19543         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
19544
19545 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19546
19547         * doc/install.texi: Various spelling and markup fixes.
19548         (Installing GCC): Component specific installation instructions are
19549         gone.
19550         Fix reference.
19551         Warn about removing old install dir in the presence of shared libs.
19552         (Configuration): Invoke with options target to match configure
19553         --help.
19554         Consistently refer to gas, gld pathnames.
19555         Invert --enable-multilib documentation.
19556         Remove references to old compiler versions.
19557
19558 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19559
19560         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
19561
19562 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19563
19564         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
19565         section.
19566         (Specific, mips*-sgi-irix5): Note IDO download.
19567         Reworded MIPS C hints.
19568         Use GNU as instead of GAS.
19569         Markup fixes.
19570         Removed SGI Freeware reference, IRIX 6 only.
19571         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
19572         Note N64 library requirement/workaround.
19573         Update O32 hints.
19574         Complete list of structure passing bug victims.
19575
19576 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19577
19578         * doc/install.texi: Remove CVS Id.
19579
19580 2001-07-02  Andreas Jaeger  <aj@suse.de>
19581
19582         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
19583         (find_inherently_necessary): Remove unused variable.
19584
19585 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
19586
19587         * c-common.h (TDI_inlined): New ast dump phase.
19588         (dump_flag_name): New function.
19589         * c-dump.c (dump_files): Add inlined phase.
19590         (dump_flag_name): Define.
19591         * doc/invoke.texi (-fdump-ast-inlined): Document.
19592
19593 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19594
19595         * stor-layout.c (layout_decl): Revert change to handling of alignment
19596         in packed types.
19597
19598 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19599
19600         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
19601         for FIELD_DECL.
19602
19603 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
19604
19605         * doc/tm.texi (FUNCTION_ARG): Document that the last call
19606         is special.
19607
19608 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
19609
19610         * tlink.c (recompile_files): Remove COMPILER_PATH and
19611         LIBRARY_PATH from the environment.
19612
19613 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
19614
19615         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
19616         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
19617         enumerators.
19618         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
19619
19620         * c-parse.in (OBJC_STRING): Kill.
19621         (objc_string): Decompose to [objc_string] '@' STRING.
19622         (reswords): Take the leading '@' off all the Objective C keywords.
19623         (objc_rid_sans_at): Kill.
19624         (init_reswords): Don't initialize it.
19625         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
19626         (_yylex): Kill reconsider label.  Look ahead one token after
19627         an '@'; if we get an identifier, check whether it's an
19628         Objective C @-keyword.  If so, return the keyword.  Otherwise,
19629         put back the token and return the '@' as a terminal.
19630
19631         * cpplib.c (lex_macro_node): Remove unnecessary check for
19632         leading '@' on identifier.  Clarify control flow and commentary.
19633
19634 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19635
19636         * cse.c (new_label_ref): Variable deleted.
19637         (insert): Remove set of new_label_ref.
19638         (check_for_label_ref): New function.
19639         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
19640
19641 See ChangeLog.5 for earlier changes.