OSDN Git Service

Rewrite hppa profiling support.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
2
3         * config/pa/pa.c (override_options): Remove PIC profiling warning.
4         (hp_profile_labelno): Delete.
5         (hp_profile_label_rtx): Delete.
6         (hp_profile_label_name): Delete.
7         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
8         (output_function_prologue): Remove profiling code and all tests on
9         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
10         merge_sp_adjust_with_store can work for PIC and profiling.
11         (hppa_expand_epilogue): Remove profile_flag test.
12         (hppa_can_use_return_insn_p): Likewise.
13         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
14         cater for PROFILE_HOOK.
15         (hppa_profile_hook): New function.
16         * config/pa/pa.h (FUNCTION_PROFILER): Now does nothing.
17         (PROFILE_HOOK): Define.
18         (hppa_profile_hook): Declare.
19         (PROFILE_BEFORE_PROLOGUE): Delete.
20         (ASM_OUTPUT_REG_PUSH): Delete.
21         (ASM_OUTPUT_REG_POP): Delete.
22         * config/pa/pa.md (call_profiler): Turn it into a call insn, and
23         don't `use' r24.  Accept function name operand, and use this and a
24         locally generated label to calculate pc-rel offset to func start.
25
26 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
27
28         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
29         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
30         $(SYSTEM_H).
31
32 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
33
34         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
35         LO_SUM cases to where they belong.
36
37 2001-04-02  Richard Henderson  <rth@redhat.com>
38
39         * except.h (lang_eh_type_covers): Mark extern.
40         (lang_eh_runtime_type): Likewise.
41
42 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
43
44         * lex.c (ffelex_hash_): Avoid eating one whole line after
45         #line.
46
47 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
48
49         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
50         gengenrtl.c:  Wrap generated header in multiple-include guard.
51         Improve error checking.
52
53 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
54
55         * configure.in: Don't check for putenv.
56         * configure: Regenerate.
57         * gcc.c (putenv): Don't define.
58         * vax/xm-vms.h: Handle putenv.
59
60 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
61
62         * ifcvt.c (noce_emit_move_insn): New.
63         (noce_try_store_flag, noce_try_store_flag_constants,
64         noce_try_store_flag_inc, noce_try_store_flag_mask,
65         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
66         noce_try_abs): Use it.
67         (noce_process_if_block): Likewise.
68         For STRICT_LOW_PART, take mode from its SUBREG.
69
70 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
71
72         * fold-const.c (fold): Before optimizing unsigned comparison with
73         0x7fffffffU, make sure arg0 is integral type.
74
75 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
76
77         * c-tree.texi: Document representation of wide strings.
78
79 2001-04-01  Richard Henderson  <rth@redhat.com>
80
81         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
82
83 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
84
85         * i386.md: remove obsoleted comments.
86         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
87         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
88         fix output template.
89
90 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
91
92         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
93
94 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
95
96         * loop.c (load_mems): When generating a load from a pseudo, update
97         REGNO_LAST_UID.
98
99 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
100
101         * i386.c (ix86_split_long_move): Use change address to compensate
102         stack pointer change in push instruction.
103
104 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
105
106         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
107         instead of rtx_equal_p; fix the output template.
108
109 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
110
111         * i386.c (ix86_expand_setcc): Support 64bit.
112         (ix86_expand_int_movcc): Likewise.
113         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
114         New patterns.
115
116         * i386.md (allocate_stack_worker): Turn to expander.
117         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
118
119         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
120
121 2001-03-29  Richard Henderson  <rth@redhat.com>
122
123         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
124
125 2001-03-28  Matthew Hiller  <hiller@redhat.com>
126
127         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
128         output template.
129
130         * MAINTAINERS: Added self.
131         
132 2001-03-28  Richard Henderson  <rth@redhat.com>
133
134         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
135         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
136
137 2001-03-28  Jim Wilson  <wilson@redhat.com>
138
139         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
140         operand_subword.
141
142 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
143
144         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
145
146         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
147         `error'.
148         
149         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
150
151 2001-03-28  DJ Delorie  <dj@redhat.com>
152
153         * Makefile.in (stage1_build): Revert CFLAGS patch.
154
155 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
156
157         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
158         when multiplier or multiplicand is zero.
159
160 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
161
162         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
163
164         * config/ia64/ia64.c (update_set_flags): New function, broken out of
165         rtx_needs_barrier.
166         (set_src_needs_barrier): Likewise.
167         (rtx_needs_barrier): For SET case, use these two functions.  Rework
168         PARALLEL case to handle all inputs before all outputs.
169         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
170         saw a label and no stop bit since then.
171         (maybe_rotate, process_epilogue): Add prototypes.
172
173 2001-03-28  Richard Henderson  <rth@redhat.com>
174
175         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
176         not TARGET_TOC for special toc restore handling.
177         * config/rs6000/rs6000.md (eh_return): Likewise.
178
179 2001-03-28  Richard Henderson  <rth@redhat.com>
180
181         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
182         current_function_calls_eh_return.
183         (output_function_epilogue): Handle eh_return.
184         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
185         (EH_RETURN_DATA_REGNO): New.
186         (EH_RETURN_STACKADJ_RTX): New.
187         (EH_RETURN_HANDLER_RTX): New.
188         * config/sparc/sparc.md (call/short branch peepholes): Check
189         can_throw_internal instead of in_same_eh_region.
190
191         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
192         for eh_return data registers.
193         (rs6000_emit_prologue): Save eh_return data registers.
194         (rs6000_emit_epilogue): Force inline restores if eh_return.
195         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
196         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
197         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
198         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
199         the target uses one.
200         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
201         (return_eh_si, return_eh_di): Remove.
202         (eh_return): New, from corpse of eh_epilogue.
203         (eh_set_lr_si, eh_set_lr_di): New.
204
205         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
206         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
207         True for pic register if current_function_calls_eh_return.
208         (ix86_expand_epilogue): Change "emit_return" argument into "style".
209         Handle eh_return requirements.
210         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
211         (EH_RETURN_STACKADJ_RTX): New.
212         * config/i386/i386.md (exception_receiver): Remove.
213         (eh_return, eh_return_1): New.
214         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
215
216         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
217         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
218         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
219         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
220         (EH_RETURN_DATA_REGNO): New.
221         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
222         * config/alpha/alpha.md (eh_epilogue): Remove.
223         (exception_receiver): Use $26 for ldgp input.
224         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
225
226 2001-03-28  Richard Henderson  <rth@redhat.com>
227
228         * except.c: Rewrite entirely for IA-64 ABI exception handling.
229         * except.h: Likewise.
230
231         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
232         (LIB2ADDEHDEP): New.
233         (LIB2FUNCS_EH): Remove.
234         (LIB2ADD): Remove LIB2ADDEH.
235         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
236         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
237         (crt{begin,end}[S].o): Likewise.
238         (except.o): Update includes.
239         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
240         (libgcc2_c_dep): Use LIB2ADDEHDEP.
241
242         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
243         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
244         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
245         * builtins.c (expand_builtin): Implement it.
246         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
247         * c-common.c (c_common_nodes_and_builtins): Declare it.
248         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
249         * calls.c (libfunc_nothrow): Remove.
250         (emit_library_call_value_1): Don't call it.
251         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
252         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
253         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
254         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
255         (current_funcdef_number): Globalize.
256         (output_call_frame_info): Emit frame data if an lsda is needed.
257         Generate augmentation for personality routine.  Don't play with
258         difference symbols.
259         (dwarf2out_begin_prologue): Record funcdef_number.
260         * dwarf2out.h (current_funcdef_number): Declare.
261         * expr.c (expand_expr): Update for except.h name changes.
262         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
263         * expr.h (LTI_throw, LTI_rethrow): Remove.
264         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
265         (LTI_eh_rtime_match): Remove.
266         (LTI_unwind_resume, LTI_eh_personality): Add.
267         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
268         * final.c (final): Don't call check_exception_handler_labels,
269         init_insn_eh_region, or free_insn_eh_region.
270         (final_scan_insn): Always emit debug labels for 
271         NOTE_INSN_EH_REGION notes.
272         * flags.h (flag_new_exceptions): Remove.
273         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
274         (record_active_eh_regions): Remove.
275         (count_basic_blocks): Check all instructions for REG_EH_REGION.
276         Use can_throw_internal.
277         (find_basic_blocks_1): Likewise.
278         (move_stray_eh_region_notes): Remove.
279         (find_label_refs): No eh_return_stub_label.
280         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
281         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
282         changes.
283         (delete_unreachable_blocks): Don't track deleted handlers.
284         (flow_delete_block): Use maybe_remove_eh_handler.
285         (delete_eh_regions): Remove.
286         (merge_blocks): Don't check for eh region match.
287         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO, 
288         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
289         (init_propagate_block_info): Disable dead frame store optimization
290         when current_function_calls_eh_return.
291         (dump_bb): Don't print eh_beg, eh_end.
292         * function.c (fixup_var_refs): No catch_clauses.
293         (expand_function_end): Likewise.  Call expand_eh_return before
294         the return register use.  Call sjlj_emit_function_exit_after.
295         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
296         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
297         * ifcvt.c (dead_or_predicable): Remove eh region check.
298         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
299         Don't check for EH vs parameters.
300         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
301         (expand_inline_function): Call duplicate_eh_regions.
302         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
303         (copy_insn_notes): Remap REG_EH_REGION notes.
304         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
305         * integrate.h (struct inline_remap): Add local_return_label.
306         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
307         check_exception_handler_labels, nor exception_optimize.
308         (find_cross_jump): No EH region check.
309         * optabs.c (init_optabs): Update for changed eh libfuncs.
310         * rtl.def (RESX): New.
311         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
312         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
313         checks.  Update for except.h name changes.
314         (expand_cleanups): Likewise.
315         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
316         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
317         (compile_file): Call init_eh before init_optabs.  Don't
318         output_exception_table here.
319         (rest_of_compilation): Call convert_from_eh_region_ranges,
320         convert_to_eh_region_ranges, output_function_exception_table.
321         Don't emit_eh_context.
322         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
323         (EXC_PTR_EXPR): New.
324
325         * md.texi (eh_epilogue): Remove.
326         (eh_return): Document.
327         * tm.texi (EH_RETURN_DATA_REGNO): Document.
328         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
329
330         * eh-common.h: Remove file.
331         * frame-dwarf2.c, frame.c, frame.h: Remove files.
332         * libgcc2.c (L_eh): Remove.
333
334         * unwind-dw2-fde.c: New file, largely copied from frame.c.
335         * unwind-dw2-fde.h: New file.
336         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
337         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
338         * libgcc-std.ver: Update for eh symbols.
339
340 2001-03-27  Richard Henderson  <rth@redhat.com>
341
342         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
343         reduce false positives.
344         (regmove_optimize): Disable if flag_non_call_exceptions.
345
346         * stmt.c (expand_return): Remove always true predicate.
347         (expand_decl_cleanup_no_eh): Remove dead code.
348
349         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
350         barrier code.  Add a scheduling barrier if a non-call insn
351         can throw internally.
352
353         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
354         Auto-inc addresses trap only if their base register does.
355
356         * except.c (can_throw_internal): Rename from can_throw.
357         * except.h, resource.c: Update references.
358
359         * integrate.c (copy_insn_list): Use returnjump_p.
360         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
361
362         * function.h (struct function): Move all boolean valued fields
363         to single bit fields at the end of the struct.
364
365         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
366         jump.c, toplev.c:
367         Rename asynchronous_exceptions to flag_non_call_exceptions.
368
369         * gthr-single.h (UNUSED): New.  Distinguish between how C 
370         and C++ mark unused function arguments.  Use throughout.
371
372         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
373         value to target configuration header.
374         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
375         * config.in, configure: Rebuild.
376         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
377         configuration and target defines.
378         (exceptions_via_longjmp): Remove.
379         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
380         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
381
382         * except.h (flag_non_call_exceptions): Move ...
383         * flags.h: ... here.
384
385         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
386         exceptions, put the note on the trapping instruction.
387
388         * flags.h (flag_new_exceptions): Remove.
389         * toplev.c: Don't set it.
390         * final.c: Don't check it.
391         * except.c: Provide stub definition.
392
393         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
394         (calculate_global_regs_live): Kill call-clobbered registers
395         across exception edges.
396         * reg-stack.c (convert_regs_1): Kill the entire target stack
397         across non-call exception edges.
398
399         * flow.c (cleanup_cfg): Take no argument.
400         * output.h, sibcall.c, toplev.c: Update all calls.
401
402 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
403
404         * configure.in: Don't check for bcopy.
405         * configure, config.in: Regenerate.
406
407         * system.h: Don't define or prototype bcopy, instead poison it.
408
409 2001-03-27  Richard Henderson  <rth@redhat.com>
410
411         * function.c (expand_function_start): Set DECL_REGISTER on
412         a pseudo used for DECL_RESULT.
413
414         * rtl.h (LCT_NORETURN): New.
415         * calls.c (emit_library_call_value_1): Handle it.
416
417 2001-03-27  Stan Shebs  <shebs@apple.com>
418
419         * objc/objc-act.c (objc_init): Use dump_base_name.
420         (gen_declaration): Clear the buffer arg.
421         (gen_declaration_1): New function, body of gen_declaration.
422         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
423         (gen_method_decl): Ditto, plus always clear buffer arg.
424         (error_with_ivar): Simplify.
425         (warn_with_method): Ditto.
426         (build_message_expr): Don't clear buffers.
427         (dump_interface): Ditto.
428         (objc_debug): Ditto.
429         (build_keyword_selector): Clear the buffer by only zeroing
430         the first element.
431         (objc_implementation_context): Declare.
432         (start_class): Warn about missing @end.
433         (finish_objc): Ditto.
434
435 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
436
437         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
438
439 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
440
441         * Makefile.in (SYSTEM_H): Define.
442         Depend on $(SYSTEM_H), not system.h.
443
444         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
445
446 2001-03-27  Jim Wilson  <wilson@redhat.com>
447
448         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
449         IA64_UNWIND_EMIT.
450         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
451         (process_epilogue): New static function.
452         (process_set): Call process_epilogue instead of emitting .restore
453         directly.
454         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
455
456         * flow.c (struct reg_cond_life_info): New fields orig_condition
457         and stores.
458         (init_propagate_block_info): Set new fields.
459         (mark_regno_cond_dead): Set and use new fields.
460         (flush_reg_cond_reg_1): Likewise.
461         (and_reg_cond, case AND): Check for redundant AND conditions.
462         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
463         Set new fields.
464
465 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
466
467         * cppmacro.c (stringify_arg): Null terminate strings.
468
469 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
470
471         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
472         inclusion style.  xm-m68hc11.h no longer exists.
473         * config/m68hc11/xm-m68hc11.h: Delete file.
474         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
475
476         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
477         Don't define GCC_VERSION, N_, or PARAMS; don't include
478         gansidecl.h or stdio.h.  Define inhibit_libc here.
479         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
480         Delete code conditioned on #if GCC_VERSION == 2095.
481
482         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
483         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
484         Delete code conditioned on #if GCC_VERSION == 2095.
485
486 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
487
488         * system.h: Include symcat.h.
489         (STRINGIFY): Don't define.
490
491         * configure.in: Adjust comment.
492
493         * builtins.c: Use STRINGX, not STRINGIFY.
494         * gencheck.c: Likewise.
495         * gengenrtl.c: Likewise.
496         * protoize.c: Likewise.
497
498         * cpplex.c: Don't include symcat.h.
499         * cpplib.c: Likewise.
500
501         * gansidecl.h (HAVE_STRINGIZE): Don't define.
502
503 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
504
505         * c-typeck.c (digest_init): Fold init expression.
506
507 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
508
509         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
510
511 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
512
513         * except.c (eh_regs): Save results of build_pointer_type to a temp
514         as FUNCTION_VALUE macro may evaluate its args multiple times.
515
516 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
517
518         * c-common.h (DECL_NUM_STMTS): New macro.
519         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
520         DECL_FRAME_SIZE.
521         (pushdecl): Likewise.
522         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
523         * integrate.c (expand_inline_function): Don't check
524         DECL_FRAME_SIZE.
525         * print-tree.c (print_node): Don't print it.
526         * toplev.c (rest_of_compilation): Don't try to inline when
527         flag_no_inline is on.
528         * tree.h (DECL_FRAME_SIZE): Remove.
529         (tree_decl): Adjust accordingly.
530
531 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
532
533         * combine.c (try_combine): Use memcpy, not bcopy.
534
535         * genattrtab.c (expand_units): Likewise.
536
537 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
538
539         * i386.md (push mem DI peep2): New.
540         (mov 0, mov -1 peep2): Handle 64bit.
541         (lea to arithmetics peep2): Handle 64bit leas.
542         (rsp arithmetics to push/pop peep2s): New.
543
544         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
545
546 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
547
548         * i386.c (struct machine_function): Add save_varrargs_registers.
549         (ix86_save_varrargs_registers): New macro.
550         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
551         (ix86_expand_prologue): Likewise.
552         (ix86_emit_epilogue_esp_adjustement): Likewise.
553         (ix86_expand_epilogue): Likewise.
554         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
555         (pro_epilogue_adjust_stack_1): New insn.
556         (pro_epilogue_adjust_stack_rex64): Likewise.
557         * i386.h (MASK_NO_RED_ZONE): New constant.
558         (TARGET_RED_ZONE): New macro.
559         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
560         (RED_ZONE_SIZE): New constant.
561         (RED_ZONE_RESERVE): New constant.
562
563 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
564
565         * toplev.c (set_float_handler): Use memcpy, not bcopy.
566
567 2001-03-25  Kazu Hirata  <kazu@hxi.com>
568
569         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
570         space.
571         (modqi3): Likewise.
572         (umodhi3): Likewise.
573         (modhi3): Likewise.
574
575 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
576
577         * mkconfig.sh (DEFINES): Handle entries with '='.
578
579         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
580         Set xm_defines to MACRO=value instead.
581
582         * i370/xm-mvs.h: Delete.
583
584         * ns32k/xm-pc532-min.h: Likewise.
585
586 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
587
588         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
589         shiftdi_operand;
590         use ix86_expand_binary_operator
591         (?sh??i_?): Disable for 64bit.
592         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
593         * i386.c (shiftdi_operand): New predicate.
594
595         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
596         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
597         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
598         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
599         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
600         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
601         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
602         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
603         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
604         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
605         (rotldi3, rotrdi3): New expanders.
606
607 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
608
609         * i386.md (movstrsi): Move offline.
610         (movstrdi): New.
611         (strmovdi_rex64): New.
612         (strmov?i): Accept 64bit.
613         (strmov?i_rex64): New.
614         (strmov?i_rex_1): New.
615         (strmov?i_1): Disable for 64bit.
616         (rep_mov?i_rex64): New.
617         (rep_mov?i): Disable for 64bit.
618         (clrstrsi): Move offline.
619         (strset?i_rex64): New.
620         (strset?i: Accept 64bit.
621         (rep_stos?i): Disable for 64bit.
622         (rep_stos?i_rex64): New.
623         (strset?i_rex_1): New.
624         (strset?i_1): Disable for 64bit.
625         (cmpstrsi): Accept 64bit.
626         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
627         (cmpstrqi_nz_rex_1): New.
628         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
629         (strlensi): Move offline.
630         (strlendi): New.
631         (strlenqi_1): Disable for 64bit; fix constraints.
632         (strlenqi_rex_1): New.
633         * i386.c (ix86_adjust_counter): New static function.
634         (ix86_zero_extend_to_Pmode): Likewise.
635         (ix86_expand_aligntest): Likweise.
636         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
637         (ix86_expand_movstr): New global function.
638         (ix86_expand_clrstr): New global function.
639         (ix86_expand_strlen): New global function.
640         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
641         ix86_expand_strlen): Declare.
642         (ix86_expand_strlensi_unroll_1): Delete.
643
644 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
645
646         * i386.md (cmpdi): Fix operand predicates.
647         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
648          cmpdi_1_insn_rex64): New patterns.
649         (adddi3): Turn to expander.
650         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
651         (addsi3_carry_zext): New pattern.
652         (adddi_?_rex64): New patterns and splitters.
653         (addsi_?_zext): New patterns.
654         (subsi3_carry_zext): New pattern.
655         (subdi_?_rex64): New patterns and splitters.
656         (iorsi_?_zext): New patterns.
657         (iordi_?_rex64): New patterns and splitters.
658         (iorsi_?_zext): New patterns.
659         (iorsi_?_zext_imm): New patterns.
660         (xorsi_?_zext): New patterns.
661         (xordi_?_rex64): New patterns and splitters.
662         (xorsi_?_zext): New patterns.
663         (negdi*): New patterns.
664         (one_cmpldi*): Likewise.
665         (one_cmplsi*_zext, negsi*_zext): Likewise.
666         (testqi_ext_3_rex64): New pattern.
667
668 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
669
670         * i386-protos.h (ix86_split_long_move): Return void.
671         * i386.c (ix86_split_to_parts): Handle 64bit target.
672         (ix86_split_long_move): Likewise.
673         * i386.md (all calls to ix86_split_long_move): Update.
674
675 2001-03-23  Richard Henderson  <rth@redhat.com>
676
677         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
678         to avoid shadowing arguments.
679
680 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
681
682         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
683         to variable names where DECL_NAME is different from
684         DECL_ASSEMBLER_NAME.
685
686 2001-03-23  Jim Wilson  <wilson@redhat.com>
687
688         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
689         (assemble_alias): Call make_decl_rtl.
690
691 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
692
693         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
694
695 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
696
697         * extend.texi: Document the "java_interface" attribute.
698
699 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
700
701         * mkconfig.sh: Use a subshell with redirected stdout,
702         instead of closing stdout and confusing commands that run
703         afterward.  Throw away output of cmp.
704
705 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
706
707         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
708
709 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
710
711         * i386.md (zero_extendsidi2_32): Break out from ...
712         (zero_extendsidi2): ... here ; turn to expander.
713         (zero_extendsidi2_rex64): New.
714         (extendsidi2_32): Break out from ...
715         (extendsidi2): ... here ; turn to expander.
716         (extendsidi2_rex64): New.
717         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
718         (trunc?f?f splitters): Add 64bit versions.
719
720 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
721
722         * i386.md (pushsi, pushsi2_prologue): Disable.
723         (pushsi2_rex64): New.
724         (movabs?i_1_rex64, movabs?i_2_rex64): New.
725         (movqi_ext_1): Disable for 64bit.
726         (movqi_ext_1_rex64): New.
727         (pushdi2_rex64): New pattern, peep2s and splitter.
728         (pushdi2_prologue_rex64): New pattern.
729         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
730         Likewise.
731         (movdi splitters): Disable for 64bit.
732         (movdi_1_rex64): New pattern, peep2s and splitters.
733         (swapdi): New pattern.
734         (pushsf): Disable for 64bit.
735         (pushsf_rex64): New pattern and splitter.
736         (pushdf_nointeger): Disable for 64bit.
737         (pushdf_integer): Handle the 64bit case.
738         (pushtf): Likewise; update splitters.
739
740 2001-03-22  Richard Henderson  <rth@redhat.com>
741
742         * mkconfig.sh: Include insn-flags.h.
743         * Makefile.in (CONFIG_H): Include insn-flags.h.
744         (lots of objects): Remove insn-codes.h and insn-flags.h.
745
746         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
747         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
748         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
749         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
750         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
751         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
752         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
753         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
754         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
755         v850/v850.c, vax/vax.c:
756         Don't include insn-flags.h.
757
758         * diagnostic.c, expr.h, reload.c, toplev.c:
759         Don't include insn-codes.h.
760
761         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
762         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
763         c4x/c4x.c, i960/i960.c, mips/mips.c:
764         Don't include insn-codes.h or insn-flags.h.
765
766         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
767         or insn-flags.h in the generated code.
768         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
769         (main): Forward declare struct rtx_def.
770
771 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
772
773         * invoke.texi (-ffast-math): Remove duplicate line about
774         __FAST_MATH__.
775
776         * gcc.texi: Remove more obsolete documentation of bugs and
777         installation problems.
778
779 2001-03-21  Kazu Hirata  <kazu@hxi.com>
780
781         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
782         into two parts.
783
784 2001-03-20  Jason Merrill  <jason@redhat.com>
785
786         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
787         not '.' or '$'.
788         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
789         * varasm.c (CHKR_PREFIX): Likewise.
790
791 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
792
793         * gcse.c (hash_scan_set): An expression is not anticipatible if it
794         is part of a multi-SET insn.
795
796         * cse.c (find_comparison_args): Remove previous change.
797         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
798         REG_EQUAL notes.
799
800         * config/i386/i386.md (conditional_trap): Remove warning.
801
802         * recog.c (push_operand): Fix error in last change that caused
803         undefined symbol on many targets.
804
805         * sdbout.c: #include ggc.h.
806         (sdbout_init): Move to end of file.
807         Call ggc_add_tree_root for anonymous_types.
808         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
809         (sdbout_one_type): Use DECL_NAME for field name.
810         * Makefile.in (sdbout.o): Show includes ggc.h.
811
812 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
813
814         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
815         (override_options): Use properlimits for preferred_stack_boundary.
816         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
817         on x86_64.
818         (ext_register_operand): Accept DImode.
819         (load_pic_register): Abort on 64bit.
820         (gen_push): Use Pmode instead of SImode.
821         (ix86_save_reg): Pic reg is never used on 64bit.
822         (ix86_expand_prologue): Likewise.
823         (ix86_emit_save_regs): Use Pmode instead of SImode.
824         (legitimate_address_p): Check displacement for 64bit.
825         (print_operand): Avoid outputting of (%rip) on 64bit.
826         (print_operand_address): Output (%rip) where possible.
827         (split_di): Abort on 64bit registers.
828         (ix86_expand_branch): DImode comparison is simple for x86_64.
829         (memory_address_length): Recognize memory addresses formed using
830         PRE/POST modify.
831         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
832         for x86_64.
833         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
834
835 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
836
837         * recog.c (push_operand): Recognize new format of push instructions.
838
839 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
840
841         * i386.md (pushqi1): New.
842         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
843         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
844         x86_64_immediate_operand, x86_64_immediate_operand,
845         x86_64_zext_immediate_operand): Declare.
846         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
847         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
848         x86_64_immediate_operand, x86_64_immediate_operand,
849         x86_64_zext_immediate_operand): define.
850         * i386.h (PREDICATE_CODES): Add new predicates.
851
852 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
853
854         * i386.md (pophi1, popqi1, pushqi1): Remove.
855
856         * expr.c (emit_single_push_insn): New function.
857         (move_by_pieces): Accept NULL as destination for push instructions.
858         (gen_push_operand): Kill.
859         (emit_push_insn): Pass NULL when pushing; avoid updating of
860         stack_pointer_delta.
861         * expr.h (gen_push_operand): Kill.
862
863 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
864
865         * rtl.texi (COMPARE): Clarify documentation and reference section
866         on comparisons.
867
868 2001-03-20  Stan Shebs  <shebs@apple.com>
869
870         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
871         (get_object_reference): Ditto.
872         (error_with_ivar): Use error_with_file_and_line.
873         (warn_with_method): Use warning_with_file_and_line.
874
875 2001-03-20  Tom Tromey  <tromey@redhat.com>
876
877         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
878
879 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
880
881         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
882         variables that are TREE_PUBLIC, even if not TREE_STATIC.
883
884 2001-03-20  DJ Delorie  <dj@redhat.com>
885
886         * Makefile.in (install-libgcc): Pass complete list of variables.
887         (install-multilib): Ditto.
888
889 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
890
891         * config/i386/cygwin.h: Declare ctor_section, dtor_section
892         drectve_section, switch_to_section.
893
894         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
895         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
896         i386_pe_mark_dllimport.
897
898 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
899
900         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
901         functions i386_pe_*.
902
903         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
904         i386_pe_* functions with char * arguments.
905
906 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
907
908         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
909         and store.
910         (movsi_ie): Introduce fpul store.
911
912 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
913
914         * Makefile.in (OBJS): Remove hashtab.o.
915
916 2001-03-19  Stan Shebs  <shebs@apple.com>
917
918         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
919         * c-lang.c (maybe_objc_method_name): Ditto.
920         * c-tree.h (maybe_objc_method_name): Remove decl.
921
922 2001-03-19  Tom Tromey  <tromey@redhat.com>
923
924         * gcc.c (init_gcc_specs): Fix comment.
925
926 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
927
928         Compute DECL_ASSEMBLER_NAME lazily.
929         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
930         (DECL_ASSEMBLER_NAME_SET_P): New macro.
931         (SET_DECL_ASSEMBLER_NAME): Likewise.
932         (COPY_DECL_ASSEMBLER_NAME): Likewise.
933         (set_decl_assembler_name): Declare.
934         (lang_set_decl_assembler_name): Likewise.
935         * tree.c (lang_set_decl_assembler_name): New variab.e
936         (set_decl_assembler_name): New function.
937         (init_obstacks): Set lang_set_decl_assembler_name.
938         (build_decl): Don't set DECL_ASSEMBLER_NAME.
939         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
940         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
941         where it's not necessary.
942         (builtin_function): Likewise.
943         (finish_decl): Likewise.
944         * dbxout.c (dbxout_type_methods): Likewise.
945         * ggc-common.c (ggc_mark_trees): Likewise.
946         * profile.c (output_func_start_profiler): Likewise.
947         * varasm.c (make_decl_rtl): Likewise.
948
949         * cse.c (find_comparison_args): Update documentation.  Fix
950         mishandling of COMPARE operations.
951
952         * tree.def (ABS_EXPR): Add documentation.
953         * fold-const.c (fold): Improve folding of ABS_EXPRs.
954
955 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
956
957         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
958
959 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
960
961         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
962         Remove ia32 linux PIC kludge and move it...
963         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
964
965 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
966
967         * i386.md (absdf2 expander): Fix 64bit case.
968
969 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
970
971         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
972
973 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
974
975         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
976
977 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
978
979         * README.X11: Remove obsolete file.
980
981 2001-03-18  Anthony Green  <green@redhat.com>
982
983         * config/pj/pj.h: Remove some trailing commas.
984         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
985
986 2001-03-18  Richard Henderson  <rth@redhat.com>
987
988         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
989         * calls.c: ... here.
990         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
991         defaults for them here.
992
993 2001-03-17  Anthony Green  <green@redhat.com>
994
995         * config/pj/lib1funcs.S: Fix broken comment.
996         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
997         labels with '.'.
998
999 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
1000
1001         * gcc.texi: Remove obsolete information relating to build and
1002         installation problems with enquire or the Pyramid C compiler.
1003
1004 2001-03-17  Richard Henderson  <rth@redhat.com>
1005
1006         * dwarf2out.c (queue_reg_save): New.
1007         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
1008         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
1009         dwarf2out_reg_save.
1010         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
1011         (cfa, cfa_store, cfa_temp): Make static.
1012         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
1013
1014 2001-03-17  Richard Henderson  <rth@redhat.com>
1015
1016         * integrate.h (struct inline_remap): Add local_return_label.
1017         * integrate.c (expand_inline_function): Initialize it and emit
1018         it after copy_insn_notes.
1019         (copy_insn_list): Don't store local_return_label here.
1020         (copy_insn_notes): New function split out from copy_insn_list.
1021
1022 2001-03-17  Richard Henderson  <rth@redhat.com>
1023
1024         * dwarf2out.c (lookup_filename): Emit .file if the assembler
1025         is generating .debug_line.
1026         (dwarf2out_init): Add main_input_filename to the file table first.
1027         * configure.in (as_dwarf2_debug_line): Test with file number 1
1028         instead of file number 0.
1029
1030 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1031
1032         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
1033         (gen_rtx_combine): Deleted; all references changed as appropriate.
1034         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
1035
1036         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
1037
1038 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
1039
1040         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
1041         variable.
1042
1043 2001-03-16  Jim Wilson  <wilson@redhat.com>
1044
1045         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
1046         then set it to LOC_REG (79) instead of aborting.
1047
1048 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
1049
1050         * gccbug.in:  Remove high priority.
1051
1052 2001-03-16  Richard Henerson  <rth@redhat.com>
1053
1054         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
1055         output with a space instead of deleting it.
1056         * configure: Regenerate.
1057
1058 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
1059
1060         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
1061         handles the gory details of converting an object file into
1062         something that's safe to grep.
1063         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
1064         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
1065         newlines at either end of the string we're looking for.
1066         Make 'checking ...' message less stilted.
1067         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
1068         ARM in-memory layout and its hypothetical converse.  Don't
1069         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
1070         HOST_WORDS_BIG_ENDIAN.
1071
1072         * configure.in: Adjust for renamed macro.  Move
1073         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
1074         * configure, config.in: Regenerate.
1075
1076 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
1077
1078         * fixinc/Makefile.in: Set SHELL.
1079
1080 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
1081
1082         * fixinc/fixincl.c (fix_with_system): Quote file names before
1083         passing them to shell.
1084
1085 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
1086
1087         * Makefile.in: Use fix-header$(build_exeext) instead
1088         of fix-header.
1089
1090 2001-03-16  Richard Henderson  <rth@redhat.com>
1091
1092         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
1093         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
1094         (size_of_line_prolog): Remove.
1095         (output_line_info): Compute prologue size via label difference.
1096         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
1097
1098         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
1099         assembler error when redefining file numbers.
1100         * config.in, configure: Rebuild.
1101
1102         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
1103         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
1104         (dw2_asm_output_delta_uleb128): Likewise.
1105         (dw2_asm_output_delta_sleb128): Similarly.
1106         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
1107
1108 2001-03-16  Michael Meissner  <meissner@redhat.com>
1109
1110         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
1111         warnings.
1112         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
1113         warnings.
1114         (BITMASK_LOWER16): Replacement for 0x0000ffff.
1115
1116         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
1117         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
1118         being unsigned in ISO C and signed in traditional.
1119         (expand_prologue): Ditto.
1120         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
1121
1122         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
1123         warnings.
1124         (divsi3,divdi3): Ditto.
1125         (modsi3,moddi3): Ditto.
1126         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
1127         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
1128         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
1129         warnings.
1130
1131 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
1132
1133         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
1134         SSE based conditional moves on LTGT/UNEQ conditions;
1135         Canonicalize EQ to NE.
1136         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
1137         (sse_mov?fcc_ne): New.
1138
1139         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
1140
1141 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
1142
1143         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
1144         register may be dead.
1145
1146 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
1147
1148         * Makefile.in (hash.o): Depend on CONFIG_H.
1149
1150 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
1151
1152         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
1153
1154 2001-03-15  Richard Henderson  <rth@redhat.com>
1155
1156         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
1157         (ASM_OUTPUT_DWARF_PCREL): New.
1158         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
1159
1160 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
1161
1162         * cppfiles.c (stack_include_file): Use MAX of sysp.
1163
1164 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
1165
1166         * config.gcc (ia64*-*-hpux*): New case.
1167         * config/ia64/hpux.h: New file for HP-UX support.
1168         * config/ia64/t-hpux: New file for HP-UX support.
1169
1170 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
1171
1172         * fixinc/inclhack.def (irix_stdio_va_list): New.
1173         * fixinc/fixincl.x: Rebuilt.
1174
1175 2001-03-15  Richard Henderson  <rth@redhat.com>
1176
1177         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
1178         if provided by the target.
1179         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
1180         (dw2_asm_output_addr): New.
1181         * dwarf2asm.h (dw2_asm_output_addr): Declare.
1182         * dwarf2out.c (output_cfi): Use it for program addresses.
1183         (output_call_frame_info, output_die): Likewise.
1184         (output_aranges, output_line_info): Likewise.
1185
1186 2001-03-15  Bruce Korb  <bkorb@gnu.org>
1187
1188         * gcc.c(main): make more rigorous
1189         * collect2.c(main): guard against ignoring SIGCHLD
1190         * protoize.c(main): ditto
1191         * gcc/fixinc/fixincl.c(initialize): ditto
1192
1193 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
1194
1195         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
1196         (sdbout_parms): Likewise.
1197
1198 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
1199
1200         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
1201         "widen" a destination that is already wider than a word.  Also do
1202         not widen if LOAD_EXTEND_OP is NIL for the given mode.
1203
1204 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
1205
1206         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
1207
1208 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
1209
1210         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
1211
1212 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
1213
1214         * i960.h (i960_maxbitalignment,
1215         i960_last_maxbitalignment): Declare.
1216         * i960.c (i960_maxbitalignment,
1217         i960_last_maxbitalignment): Make global.
1218         (process_pragma): Delete.
1219         (i960_pr_align, i960_pr_noalign): Move from here ...
1220         * i960-c.c: ... to this new file.
1221         * t-960bare (i960-c.o): New rule.
1222         * t-vxworks960 (i960-c.o): Likewise.
1223         * config.gcc (i960-*-*): Define c_target_objs and
1224         cxx_target_objs.
1225
1226 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
1227
1228         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
1229         without adding in rtx code and mode.
1230
1231         * alias.c (init_alias_analysis): Don't use any rtx whose value
1232         varies as a known value.
1233         Delete a superfluous test.
1234
1235         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
1236         ia64_sched_reorder.
1237         (ia64_sched_reorder): Call maybe_rotate; also rotate after
1238         scheduling a stop bit.
1239         (ia64_emit_nops): Correctly handle ASMs.
1240
1241 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
1242
1243         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
1244
1245 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1246
1247         * cpp.texi: Update documentation for -include and -imacros.
1248         * cppfiles.c (struct include_file): Remove "defined" memeber.
1249         (find_or_create_entry): Make a copy of the file name, and
1250         simplify it.
1251         (open_file): Update to ensure we use the simplified filename.
1252         (stack_include_file): Don't set search_from.
1253         (cpp_included): Don't simplify the path name here.
1254         (find_include_file): New prototype.  Call search_from to
1255         get the start of the "" include chain.  Don't simplify the
1256         filenames here.
1257         (_cpp_execute_include): New prototype.  Move diagnostics to
1258         do_include_common.  Update.
1259         (_cpp_pop_file_buffer): Don't set defined.
1260         (search_from): New prototype.  Use the preprocessor's cwd
1261         for files included from the command line.
1262         (read_name_map): Don't simplify the pathname here.
1263         * cpphash.h (enum include_type): New.
1264         (struct buffer): Delete search from.  New search_cached.
1265         (_cpp_execute_include): Update prototype.
1266         * cppinit.c (do_includes): Use _cpp_execute_include.
1267         * cpplib.c (do_include_common): New function.
1268         (do_include, do_include_next, do_import): Use it.
1269
1270 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
1271
1272         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
1273         contents of the RTL, to determine the name of the object.
1274
1275 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
1276
1277         * tree.h (DECL_RTL): Allocate RTL lazily.
1278         (SET_DECL_RTL): New macro.
1279         (DECL_RTL_SET_P): Likewise.
1280         (COPY_DECL_RTL): Likewise.
1281         (DECL_RTL_IF_SET): Likewise.
1282         * varasm.c (make_decl_rtl): Add assertions about the kind of
1283         declaration we are processing.
1284         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
1285         (start_decl): Likewise.
1286         (finish_decl): Likewise.
1287         * c-semantics.c (emit_local_var): Likewise.
1288         * calls.c (expand_call): Likewise.
1289         * dbxout.c (dbxout_symbol): Likewise.
1290         * emit-rtl.c (unshare_all_rtl): Likewise.
1291         (unshare_all_decls): Likewise.
1292         (reset_used_decls): Likewise.
1293         * expr.c (store_constructor): Likewise.
1294         (safe_from_p): Likewise.
1295         (expand_expr): Likewise.
1296         * function.c (put_var_into_stack): Likewise.
1297         (instantiate_decls_1): Likewise.
1298         (assign_parms): Likewise.
1299         (expand_function_start): Likewise.
1300         (expand_function_end): Likewise.
1301         * ggc-common.c (gcc_mark_trees): Likewise.
1302         * integrate.c (function_cannot_inline_p): Likewise.
1303         (copy_decl_for_inlining): Likewise.
1304         (expand_inline_function): Likewise.
1305         (integrate_parm_decls): Likewise.
1306         (integrate_decl_tree): Likewise.
1307         * print-tree.c (print_node): Likewise.
1308         * reg-stack.c (stack_result): Likewise.
1309         * stmt.c (label_rtx): Likewise.
1310         (expand_return): Likewise.
1311         (expand_decl): Likewise.
1312         (expand_decl_cleanup): Likewise.
1313         (expand_anon_union_decl): Likewise.
1314         * toplev.c (check_global_declarations): Likewise.
1315         (rest_of_decl_compilation): Likewise.
1316         * tree.c (simple_cst_equal): Likewise.
1317         * objc/objc-act.c (generate_static_references): Likewise.
1318
1319 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
1320
1321         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
1322         gcc_AC_C_FLOAT_FORMAT): New macros.
1323         * configure.in: Add AC_PROG_CPP after CC tests;
1324         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
1325         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
1326         * configure, config.in: Regenerate.
1327
1328         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
1329         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
1330         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
1331         config/i370/xm-linux.h, config/i370/xm-oe.h,
1332         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
1333         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
1334         config/pa/xm-linux.h, config/pa/xm-pa.h,
1335         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
1336         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
1337         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
1338         config/we32k/xm-we32k.h: Delete.
1339
1340         * config/i370/xm-mvs.h, config/m88k/m88k.h,
1341         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
1342         config/vax/xm-vms.h: Don't define any of:
1343         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
1344
1345         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
1346
1347         * config.gcc: Remove references to deleted files.
1348         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
1349         FATAL_EXIT_CODE, which is the same between oe and mvs).
1350
1351 2001-03-14  DJ Delorie  <dj@redhat.com>
1352             Vladimir Makarov  <vmakarov@redhat.com>
1353
1354         * config/i960/i960.c (i960_function_prologue): Compute size of
1355         frame according to number of registers actually saved there.
1356
1357 2001-03-14  Richard Henderson  <rth@redhat.com>
1358
1359         * expr.c (emit_move_insn_1): Fix else if around #endif.
1360
1361 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
1362                               Vojtech Pavlik
1363
1364         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
1365         constraints.
1366
1367 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
1368
1369         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
1370         (override_options): Parse cmodel string.
1371         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
1372         * i386.h (TARGET_OPTIONS): Add "cmodel".
1373         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
1374         (enum cmodel): New.
1375         (ix86_cmodel_string, ix86_cmodel): Declare.
1376
1377 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
1378
1379         Spot by Matt Kraai:
1380         * i386.h (GENERAL_REG_P): Add missing REG_P.
1381
1382 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
1383
1384         * configure.in: Use $gcc_cv_as instead of $as.
1385         * configure: Regenerated.
1386
1387 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
1388
1389         * cppfiles.c (stack_include_file): Only increase the include
1390         count if we actually process the file properly, as opposed
1391         to treating it as length zero.  Only call read_include_file
1392         if not DO_NOT_REREAD.  Handle the -H include file output
1393         here.
1394         (read_include_file): Remove now redundant DO_NOT_REREAD check.
1395         (cpp_included, find_include_file): Simplify pathnames after
1396         remapping them.  If remapping, don't use the remapped file
1397         name's buffer as our scratch buffer.
1398         (cpp_pop_file_buffer): Replace the multiple include macro
1399         only if it isn't yet set.
1400         (read_name_map): Simplify remapped names when reading in.
1401         (remap_filename): Move code to code path that uses it.
1402         (_cpp_simplify_pathname): Return the input pointer.
1403         * cpphash.h (_cpp_simplify_pathname): Update prototype.
1404
1405 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
1406
1407         * expr.c (expand_expr): Revove bogus conditional.
1408
1409 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
1410
1411         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
1412
1413 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
1414
1415         * reg-stack.c (stack_result): Unconditionally use
1416         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
1417
1418 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
1419
1420         * expr.c (emit_move_insn_1):  Split push of complex value when
1421         no suitable push instruction exist.
1422
1423         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
1424         instead of QI_REG_P.
1425
1426 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1427
1428         * alias.c (handled_component_p, can_address_p): New functions.
1429         (get_alias_set): Use them.
1430
1431 2001-03-13  Jim Wilson  <wilson@redhat.com>
1432
1433         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
1434         from 80 in try_locals code.
1435         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
1436
1437 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
1438
1439         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
1440         gcc_AC_C_LONG_LONG): New.
1441         * configure.in: Use them.  Probe the size of short, int, long,
1442         and long long/__int64 if we have them.  Move all the AC_C_*
1443         checks together, except gcc_AC_C_CHAR_BIT which has to go
1444         after AC_CHECK_HEADERS(limits.h).
1445         Take hwint.h out of host_xm_file and build_xm_file.
1446
1447         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
1448         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
1449         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
1450         Move the HOST_WIDEST_INT setup logic here from system.h.
1451         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
1452         defined.
1453         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
1454         is now handled by hwint.h.
1455
1456         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
1457         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
1458         config/ia64/xm-ia64.h: Don't define any of:
1459         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
1460         HOST_BITS_PER_LONGLONG.
1461
1462         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
1463         config/h8300/xm-h8300.h, config/mips/iris6.h,
1464         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
1465         config/sparc/xm-sp64.h: Delete.
1466         * config.gcc: Remove references to deleted files.
1467
1468         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
1469         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
1470         * config/i370/xm-linux.h: Clarify floating-point situation in
1471         a comment.
1472
1473 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1474
1475         * cppfiles.c (NO_INCLUDE_PATH): New macro.
1476         (find_include_file): Decide here which part of the include
1477         chain to start the search.  Complain about an empty include
1478         chain in all cases apart from an abolsute file name.
1479         (_cpp_execute_include): Don't choose the search chain here.
1480         Don't call handle_missing_include in the case of an empty
1481         include chain.
1482         (_cpp_compare_file_date): Don't choose the search chain here.
1483         * cpplib.c (do_include_next): Move the in-main-file diagnostic
1484         here from _cpp_execute_include.  Behave like #include if
1485         we're in the main file.
1486
1487 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1488
1489         * system.h (malloc, realloc, calloc, strdup): Only poison these
1490         tokens when IN_GCC is defined.
1491
1492 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
1493
1494         * i386.md (abs?f expander): Support SSE case.
1495         (abd?f_if): Add new "USE"; add splitters.
1496
1497 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1498
1499         * cpp.texi (poison): Explain the macro expansion exception.
1500
1501 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
1502
1503         * expr.c (store_expr): Add dont_store_target.  If temp is already in
1504         target before copying to reg, don't store it into target again.
1505
1506 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1507
1508         * cppinternals.texi: Update for file handling.
1509
1510 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
1511
1512         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
1513         2001-02-24 which broke building the Java library.
1514         * function.c (identify_blocks): Likewise.
1515         (all_blocks): Likewise.
1516         * integrate.c (integrate_decl_tree): Likewise.
1517         * print-tree.c (print_node): Likewise.
1518         * tree.h (BLOCK_NUMBER): Likewise.
1519         (struct tree_block): Likewise.
1520
1521 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
1522
1523         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
1524         __WCHAR_TYPE__ definition.
1525         (WCHAR_TYPE_SIZE): #undef before #define.
1526
1527 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1528
1529         * cppfiles.c: Update comments.
1530         (destroy_include_file_node): Rename destroy_node.
1531         (find_or_create_entry): New function.
1532         (open_file, _cpp_fake_include): Use it.
1533         (handle_missing_header): New function, broken out of
1534         _cpp_execute include.  Don't segfault if there is no
1535         system or quoted path.
1536         (_cpp_execute_include): Use handle_missing_header.
1537
1538 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
1539
1540         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
1541         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
1542
1543 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1544
1545         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
1546         unless anti_dependence says they are.
1547         * alias.c (objects_must_conflict): If neither has a type specified,
1548         they must conflict.
1549
1550 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1551             David Billinghurst <David.Billinghurst@riotinto.com>
1552
1553         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
1554
1555 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
1556
1557         * i386.md (trunctfdf2_2): Rename missnamed pattern.
1558         (*_one_bit): Remove type on the match_operand in attributes.
1559
1560 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
1561
1562         * i386.c: Commit forgotten hunk in previous patch.
1563         (regclass_map): Add extended registers.
1564         (dbx_register_map): Add missing frame register.
1565
1566 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
1567
1568         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
1569
1570         * i386.md (x86_sahf_1): Disable for 64bit.
1571         (popsi*, pophi*): Likewise.
1572         (pushqi, pushhi): Likewise.
1573         (movdi, pushdi): Likewise.
1574         (zero extend DImode splitter): Likewise.
1575         (adddi, minusdi splitter): Likewise.
1576         (umulsidi): Likewise.
1577         (umulsi): New.
1578         (mulsidi): Disable for 64bit
1579         (lshift:DI/ashift:DI): Disable for 64bit.
1580         (loop patterns): Likewise.
1581         (call_pop, call_value_pop expanders and patterns): Likewise.
1582         (prologue_get_pc): Likewise.
1583         (leave): Likewise.
1584         (fcmovDI pattern and splitter): Likewise.
1585         (movdfcc_1_rex64): New.
1586
1587 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
1588
1589         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
1590         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
1591         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
1592         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
1593         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
1594         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
1595         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
1596         (PUSH_ROUNDING): x86_64 rounds to 64bits.
1597         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
1598         (REGPARM_MAX): Set to 6 for x86_64.
1599         (SSE_REGPARM_MAX): Set to 16 for x86_64.
1600         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
1601         registers.
1602
1603         * (patterns that does use upper halves): Update constraints
1604         'q' to 'Q' and 'r' to 'R'.
1605         (cmpqi_ext_1): Disable for 64bit.
1606         (cmpqi_ext_3_insn): Likewise.
1607         (movqi_extzv_1): Likewsie.
1608         (addqi_ext_1): Liekwsie
1609         (testqi_ext_1): Liekwsie
1610         (andqi_ext_1): Liekwsie
1611         (xorqi_ext_1): Liekwsie
1612         (cmpqi_ext_1_rex64): New.
1613         (cmpqi_ext_3_insn_rex64): Likewise.
1614         (movqi_extzv_1_rex64): Likewsie.
1615         (addqi_ext_1_rex64): Liekwsie
1616         (testqi_ext_1_rex64): Liekwsie
1617         (andqi_ext_1_rex64): Liekwsie
1618         (xorqi_ext_1_rex64): Liekwsie
1619
1620 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
1621
1622         * configure.in: Move check for unsigned enumerated bitfields
1623         to macro in aclocal.m4.  Disable it for now.
1624         * configure, config.in: Regenerate.
1625         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
1626         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
1627         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
1628         kind above its first use.
1629
1630         * config/xm-interix.h, config/alpha/xm-alpha.h,
1631         config/i370/xm-linux.h, config/i386/xm-beos.h,
1632         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
1633         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
1634         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
1635         Don't define ONLY_INT_FIELDS under any circumstances.
1636
1637         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
1638
1639         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
1640         config/sparc/xm-sysv4.h: Delete - now identical with some
1641         other xm header.
1642         * config.gcc (hppa targets): Replace xm-pahpux.h and
1643         xm-papro.h with implicit xm-pa.h.
1644         (sparc targets): Replace xm-sysv4.h with implicit or explicit
1645         xm-sparc.h.
1646
1647 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
1648
1649         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
1650         before reload_cse_noop_set_p.
1651
1652 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
1653
1654         * config.gcc: Where xm-host.h used to include another
1655         xm-host.h, list the nested header directly in xm_file.  Remove
1656         references to deleted files.  Can now use sparc/xm-sp64.h for
1657         sparcv9-*-solaris*.
1658
1659         * config/xm-linux.h, config/arm/xm-linux.h,
1660         config/i386/xm-dos.h, config/i386/xm-gnu.h,
1661         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
1662         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
1663         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
1664         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
1665         Delete.
1666
1667         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
1668         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
1669         bother to wrap #undef in #ifdef.
1670         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
1671         Don't include xm-linux.h.
1672         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
1673
1674         * configure.in: Wrap regexps using [] in changequote block.
1675         Use expr : not echo | grep.  Simplify regexps.
1676         * configure: Regenerate.
1677
1678         56 xm-files remain, 22 xm-arch.
1679
1680 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1681
1682         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
1683         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
1684         (local_index, local_rindex): Delete, use strchr/strrchr instead.
1685         (copy_object): Fix format specifier vs argument mismatch.
1686
1687         * mips-tdump.c: Make local functions static.
1688         (rindex): Don't #undef.
1689         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
1690         (fatal, fancy_abort): Delete.
1691         (read_seek): Avoid signed/unsigned compare.
1692
1693 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1694
1695         * combine.c (try_combine): Fix error in change to try original
1696         register.
1697         (gen_rtx_combine): Do same as gen_rtx for now.
1698
1699 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
1700
1701         * configure.in: AC_SUBST xm_defines.
1702         * configure: Regenerate.
1703         * Makefile.in: Set DEFINES=$(xm_defines) when building
1704         tconfig.h.
1705
1706 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1707
1708         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
1709         (cpp_included, find_include_file): Update.
1710         (_cpp_compare_file_date): Make else unconditional.
1711
1712 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
1713
1714         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
1715
1716 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
1717
1718         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
1719         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
1720
1721 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
1722
1723         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
1724         if it's a record type.
1725
1726 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
1727
1728         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
1729         mingw includes slightly.
1730
1731 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1732
1733         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
1734         #undef token before poisoning it.
1735
1736 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1737
1738         * alpha.c (check_float_value): Use memcpy, not bcopy.
1739
1740         * m32r.c (m32r_sched_reorder): Likewise.
1741
1742         * vax.c (check_float_value): Likewise.
1743
1744 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1745
1746         * toplev.c (file_name_nondirectory): Remove.
1747         * toplev.h: Similarly.
1748         * dwarf2out.c (compute_section_prefix): Use lbasename instead
1749         of file_name_nondirectory.
1750
1751 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1752
1753         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
1754         * mips-tfile.c: Don't #undef rindex; not used.
1755
1756 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
1757
1758         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
1759         (dbx64_register_map): Declare.
1760         (RETURN_ADDR_RTX): Fix for 64bit.
1761         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
1762         (INCOMING_FRAME_SP_OFFSET): Set to 8.
1763         * i386.c (dbx64_register_map): New global array.
1764         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
1765         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
1766         for 64bits.
1767
1768 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1769
1770         * cppfiles.c (search_from): Use lbasename.
1771         * mkdeps.c (deps_add_default_target): Use lbasename.
1772
1773 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1774
1775         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
1776         xcalloc in lieu of malloc, realloc & calloc.
1777
1778         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
1779
1780         * gengenrtl.c (xmalloc): Likewise.
1781
1782         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
1783         really_call_* memory allocation routines.
1784
1785         * stmt.c (check_for_full_enumeration_handling): Use
1786         really_call_calloc, not calloc.
1787
1788         * system.h (really_call_malloc, really_call_calloc,
1789         really_call_realloc): Define.
1790         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
1791
1792 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
1793
1794         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
1795
1796 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
1797
1798         * configure: Rebuilt.
1799         * configure.in: Only use `lang_requires' for languages athat are
1800         actually enabled.
1801
1802 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1803
1804         * invoke.texi: Fix typo.
1805         * gcc.1: Regenerate.
1806
1807 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
1808
1809         * configure.in: Prune nonexistent files from build_xm_file,
1810         xm_file, and host_xm_file lists.  Warn unless they're
1811         $cpu/xm-$cpu.h.
1812         Don't generate *config.h here.
1813         AC_SUBST all variables needed to generate *config.h.
1814         * configure: Regenerate.
1815         * mkconfig.sh: New helper script, from code removed from
1816         configure.in.
1817         * Makefile.in: Zap all MALLOC variables - no longer used
1818         anywhere, and malloc.c doesn't exist.
1819         Substitute in variables needed to generate *config.h.
1820         Stop lying about the dependencies contained in CONFIG_H and
1821         GCONFIG_H.
1822         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
1823         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
1824         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
1825         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
1826         $(TM_P_H), etc. as appropriate.
1827
1828         * config.gcc: Zap references to deleted files.
1829         * ggc-none.c: Don't include rtl.h or tm_p.h.
1830
1831         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
1832         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
1833         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
1834         config/i386/xm-linux.h, config/i386/xm-linux.h,
1835         config/i386/xm-next.h, config/i386/xm-openbsd.h,
1836         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
1837         Don't include i386/xm-i386.h.
1838
1839         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
1840         config/i386/xm-i386.h, config/i860/xm-i860.h,
1841         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
1842         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
1843         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
1844         Delete (empty except comments, #includes of other deleted
1845         files, and macros used nowhere).
1846
1847 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
1848
1849         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
1850         independent on TARGET_FLAGS.
1851
1852 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
1853
1854         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
1855
1856         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
1857         extended ones.
1858         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
1859         TARGET_64BIT.
1860         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
1861         LAST_REX_SSE_REG): define.
1862         (enum reg_class): Add 'LEGACY_REGS'
1863         (REG_CLASS_CONTENTS): Likewise; add extended registers.
1864         (SSE_REGNO_P): Recognize extended registers.
1865         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
1866         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
1867         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
1868         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
1869         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
1870          REG_OK_FOR_STRREG_P): Remove.
1871         (HI_REGISTER_NAMES): Add extended registers.
1872         (ADDITIONAL_REGISTER_NAMES): Likewise.
1873         (QI_REGISTER_NAMES): Add 8bit extended registers.
1874         (DEBUG_REG): Support extended registers.
1875         * i386.c (regclass_map): Add extended registers.
1876         (dbx_register-map): Likewise.
1877         (svr4_dbx_register_map): Likewise.
1878         (print_reg): Support extended registers.
1879         (print_operand): Support 64bit operands.
1880
1881 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
1882
1883         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
1884         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
1885          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
1886          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
1887         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
1888          STACK_BOUNDARY): Set properly for 64bits.
1889         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
1890         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
1891         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
1892         (MOVE_MAX): Set to 16.
1893         (MOVE_MAX_PIECES): 8 for 64bit.
1894         (Pmode): Set to SImode.
1895
1896 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
1897
1898         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
1899
1900 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
1901
1902         * i386.h (mask_64bit): New constant.
1903         (target_64bit): New macro.
1904         (target_options): Add '64'/'32'
1905         (target_default): Define.
1906         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
1907         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
1908         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
1909
1910 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
1911
1912         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
1913
1914 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
1915
1916         * rtlanal.c (rtx_varies_p): Check operand 0 of a
1917         LO_SUM unless for_alias is set.
1918
1919 2001-03-08  Stan Shebs  <shebs@apple.com>
1920
1921         * objc/objc-act.c: Fix old typos in comments, add comments for
1922         various functions.
1923         (hash_init): Fix file name in error message.
1924         (hash_enter): Ditto.
1925         (hash_add_attr): Ditto.
1926         (continue_class): Ditto.
1927
1928 2001-03-08  Bruce Korb  <bkorb@gnu.org>
1929
1930         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
1931         wait4() can receive the signal.
1932
1933 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1934
1935         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
1936         entities.
1937         * fixinc/fixincl.x: Regenerate.
1938
1939 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1940
1941         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
1942         on Tru64 UNIX.
1943         * fixinc/fixincl.x: Regenerate.
1944
1945 2001-03-08  Richard Henderson  <rth@redhat.com>
1946
1947         * configure.in (HAVE_AS_LEB128): New assembler check.
1948         * configure, config.in: Rebuilt.
1949
1950 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
1951
1952         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
1953         TFmode too.
1954
1955 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1956
1957         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
1958         references to the MAXPATHLEN macro.
1959
1960         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
1961         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
1962         the POSIX macro.
1963
1964         * config/i386/xm-gnu.h, config/xm-gnu.h,
1965         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
1966         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
1967         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
1968         and/or unused files.
1969
1970         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
1971         doing so in various xm-*.h files.
1972
1973 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1974
1975         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
1976
1977 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
1978
1979         * configure.in (enable_shared): Support per-package shared-library
1980         enabling.
1981         * configure: Rebuilt.
1982
1983 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
1984
1985         * rs6000.md (cr logic): Add original POWER mnemonic alternative
1986         for crnot.  Set operands[5] in splitter.
1987
1988 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1989
1990         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
1991         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
1992         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
1993         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
1994         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
1995         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
1996         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
1997         to the USG macro.
1998
1999         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
2000         config/i370/xm-i370.h, config/i386/xm-dgux.h,
2001         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
2002         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
2003         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
2004         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
2005         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
2006         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
2007         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
2008         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
2009         Delete unused and/or empty files.
2010
2011         * config.gcc: Define USG in xm_defines as appropriate.  Define
2012         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
2013         macro.  Remove deleted xm-* files from $xm_files variable.
2014
2015 2001-03-07  Tom Tromey  <tromey@redhat.com>
2016
2017         * configure: Rebuilt.
2018         * configure.in: Allow config-lang.in to set `lang_requires' to list
2019         of other required languages.
2020
2021 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
2022
2023         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
2024         after its emitted.
2025         (output_prologue): Use xmalloc not oballoc.
2026         (output_epilog): Free a29k_first_epilogue_insn when finished.
2027         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
2028
2029 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
2030
2031         * builtins.c (expand_builtin_mathfn): Check
2032         flag_unsafe_math_optimizations, not flag_fast_math.
2033         (expand_builtin): Likewise
2034         * combine.c (combine_simplify_rtx): Likewise.
2035         (simplify_if_then_else): Likewise.
2036         * cse.c (fold_rtx): Likewise.
2037         * flags.h: Remove flag_fast_math.  Add
2038         flag_unsafe_math_optimizations and flag_trapping_math.
2039         * fold-const.c (negate_expr): Check
2040         flag_unsafe_math_optimizations, not flag_fast_math.
2041         (invert_truthvalue): Likewise.
2042         (fold): Likewise.  Before associating operands, check that
2043         code == MULT_EXPR, not code != MULT_EXPR.
2044         * ifcvt.c (noce_try_minmax): Check
2045         flag_unsafe_math_optimizations, not flag_fast_math.
2046         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
2047         * invoke.texi: Document -funsafe-math-optimizations and
2048         -fno-trapping-math.  Change documentation for -ffast-math.
2049         * jump.c (reversed_comparison_code_parts): Likewise.
2050         (rtx_equal_for_thread_p): Likewise.
2051         * optabs.c (emit_conditional_move): Likewise.
2052         * simplify-rtx.c (simplify_binary_operation): Likewise.
2053         (simplify_relational_operation): Likewise.
2054         (simplify_ternary_operation): Likewise.
2055         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
2056         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
2057         Add trapping-math and unsafe-math-optimizations entries to f_options.
2058         (set_fast_math_flags): New, sets flags for -ffast-math.
2059         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
2060         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
2061         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
2062
2063         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
2064         (alpha_emit_conditional_move): Initialize local_fast_math to
2065         flag_unsafe_math_optimizations, not flat_fast_math.
2066         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
2067         instead of setting flag_fast_math to 1.
2068         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
2069         not flag_fast_math.
2070         * config/i386/i386.c (override_options): Likewise
2071         * config/i386/i386.md: Likewise.
2072         * config/m68k/m68k.md: Likewise.
2073         * config/mips/mips.md: Likewise.
2074         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
2075         (rs6000_generate_compare): Likewise.
2076
2077 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
2078
2079         * Makefile.in: Set RANLIB to @RANLIB@.
2080         Remove RANLIB_TEST.
2081
2082 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
2083
2084         * fixinc/inclhack.def (djgpp_wchar_h): New test.
2085         * fixinc/fixincl.x: Regenerated.
2086
2087 2001-03-07  Richard Henderson  <rth@redhat.com>
2088
2089         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
2090
2091 2001-03-07  Richard Henderson  <rth@redhat.com>
2092
2093         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
2094         of block notes and exception handling notes.
2095
2096         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
2097         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
2098         (compile_file): ... here.
2099
2100 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2101
2102         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
2103
2104         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
2105         config.h now.  Include libiberty.h to handle alloca.
2106
2107 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
2108
2109         * c-parse.in (yylexname): New function, split out of _yylex.
2110         (objc_rid_sans_at): New table.
2111         (init_reswords): Initialize it.
2112         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
2113         retrieving the next token and checking it for significance as
2114         an ObjC keyword or string constant.
2115
2116         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
2117         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
2118
2119         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
2120         to CPP_OSTRING.
2121
2122 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
2123
2124         * config/m68k/m68k.c (const_uint32_operand): Accept any
2125         const_int on a 32-bit host.
2126
2127 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
2128
2129         * objc/objc-act.c (init_objc): Set save_lang_status,
2130         restore_lang_status, and mark_lang_status.
2131
2132 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
2133
2134         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
2135
2136 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2137
2138         * cppinternals.texi: Update.
2139
2140 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2141
2142         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
2143         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
2144         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
2145         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
2146         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
2147         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
2148         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
2149         config/i386/xm-i386.h, config/i860/xm-i860.h,
2150         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
2151         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
2152         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
2153         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
2154         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
2155         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
2156         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
2157         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
2158         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
2159         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
2160         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
2161         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
2162         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
2163         match the defaults provided in hwint.h.
2164
2165         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
2166         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
2167
2168         * config.gcc (xm_file): Don't set to files which are deleted.
2169
2170         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
2171         guard this file against these macros being undefined.
2172
2173 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
2174
2175         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
2176         and DECL_DEFER_OUTPUT on the decl we create, before calling
2177         rest_of_decl_compilation.
2178
2179 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
2180
2181         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
2182         AC_FUNC_ALLOCA.
2183         * configure, config.in: Regenerate.
2184         * config.gcc: Remove references to deleted files.
2185
2186         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
2187         genrecog.c, rtl.c: Do not use alloca anywhere.
2188
2189         * Makefile.in, build-make, system.h, config/x-interix,
2190         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
2191         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
2192         config/arc/xm-arc.h, config/arm/xm-arm.h,
2193         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
2194         config/h8300/xm-h8300.h, config/i370/x-oe,
2195         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
2196         config/i386/x-ncr3000, config/i386/x-sco5,
2197         config/i386/xm-dgux.h, config/i860/x-sysv4,
2198         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
2199         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
2200         config/m68k/x-hp320g, config/m69k/x-mot3300,
2201         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
2202         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
2203         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
2204         config/m88k/x-sysv4, config/m88k/x-tekXD88,
2205         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
2206         config/mips/x-iris, config/mips/x-iris3,
2207         config/mips/x-sni-svr4, config/mips/x-sysv,
2208         config/mips/xm-iris6.h, config/mips/xm-mips.h,
2209         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
2210         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
2211         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
2212         config/pa/xm-papro.h, config/romp/xm-romp.h,
2213         config/rs6000/x-aix31, config/rs6000/x-aix41,
2214         config/rs6000/x-beos, config/rs6000/x-lynx,
2215         config/rs6000/x-mach, config/rs6000/x-rs6000,
2216         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
2217         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
2218         config/sparc/x-sysv4, config/sparc/xm-linux.h,
2219         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
2220         config/vax/xm-vms.h: Eradicate all references to alloca and
2221         related stuff.
2222
2223         * config/xm-alloca.h, config/clipper/x-clix,
2224         config/i386/xm-sysv4.h, config/i860/x-fx2800,
2225         config/i860/x-sysv3, config/m88k/x-sysv3,
2226         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
2227         (contained only alloca related hacks).
2228
2229         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
2230         USE_C_ALLOCA.
2231
2232 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
2233
2234         * invoke.texi: Document __FAST_MATH__.
2235
2236 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2237
2238         * crtstuff.c: Restore include of auto-host.h.
2239
2240 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
2241
2242         Put main() in a separate file, so that the language
2243         front-end can use a different main().
2244
2245         * main.c: New.
2246         * toplev.c: (main): Rename as toplev_main.
2247         * toplev.h: Declare toplev_main.
2248         * Makefile.in (OBJS): add toplev.o.
2249           (BACKEND): remove toplev.o, add main.o.
2250
2251 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2252
2253         * cppfiles.c (search_from): Special case the empty string.
2254
2255 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2256
2257         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
2258         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
2259         strlen or strcpy; we already know the length.
2260         (_cpp_compare_file_date): Similarly.
2261         * cpphash.h (struct cpp_reader): Delete done_initialising.
2262         (CPP_PREV_BUFFER): Delete.
2263         * cppinit.c (cpp_start_read): Don't set done_initialising.
2264         * cpplex.c (parse_string): Guarantee null-termination.
2265         (_cpp_equiv_toklists): Remove.
2266         * cpplib.c (glue_header_name): Null-terminate.
2267         (do_line): Don't leak memory.
2268         * cpplib.h (BT_WEAK): Delete.
2269         * cppmain.c (cb_ident): Strings are now null-terminated.
2270
2271 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
2272
2273         * gcc.c (convert_filename): Append executable suffix
2274         if NO_AUTO_EXE_SUFFIX is not defined.
2275         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
2276         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
2277
2278 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
2279
2280         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
2281         * c-parse.gperf, c-gperf.h: Delete.
2282         (c-gperf.h was accidently re-added to the CVS repo in the rev
2283         1.16 commit by tromey)
2284
2285 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2286
2287         * cpplex.c (_cpp_lex_token): Don't warn about directives in
2288         macro arguments when looking for the '('.
2289         * cppmacro.c (funlike_invocation_p): Set parsing_args to
2290         2 when really parsing arguments; 1 when looking for '('.
2291         Always restore the lexer position.
2292
2293 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2294
2295         * longlong.h (umul_ppmm): Don't use a multiline string.
2296
2297 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2298
2299         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
2300         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
2301         t_bool in declaration because pcc can't combine volatile with typedef
2302         types.
2303
2304 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
2305
2306         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
2307         until when it is really needed.
2308         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
2309         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
2310         * i386.md (float?i?f splitter): Don't force source operand to memory
2311         for SSE.
2312         (sse_movdfcc): Fix constraint.
2313         (sse_movdfcc splitter): Handle properly the second alternative.
2314
2315 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2316
2317         * cpplex.c (parse_string): Unconditionally pedwarn.
2318
2319 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2320
2321         * cpp.texi: Update.
2322         * cppexp.c (parse_number): Update.
2323         * cpplex.c (parse_string): Pedwarn if multiline string does not
2324         result from a system header's macro.
2325         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
2326         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
2327         for function-like macros too.
2328         * c-lex.c (lex_number): Update.
2329
2330 2001-03-03  Richard Henderson  <rth@redhat.com>
2331
2332         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
2333
2334 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
2335
2336         * combine.c (try_combine): If split with mode-changed scratch
2337         register didn't work, try the original mode.
2338
2339 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
2340
2341         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
2342         * config/c4x/c4x.h: Likewise.
2343         * stor-layout.c (compute_record_mode): Likewise.
2344         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
2345
2346 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
2347
2348         * configure.in: Kill tm.h.  Include the files in the $tm_file
2349         list in all three of config.h, hconfig.h, tconfig.h, after the
2350         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
2351         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
2352         * configure: Regenerate.
2353         * Makefile.in (clean): Don't delete tm.h.
2354
2355         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
2356         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
2357         those are not defined, set SEC and FEC to 0 and 1.
2358         * gcc.texi: Update to match.
2359
2360         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
2361         * config/fp-bit.c, config/m68k/aux-crt2.asm,
2362         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
2363         Include tconfig.h, not tm.h.
2364
2365         * config/xm-lynx.h, config/xm-std32.h,
2366         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
2367         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
2368         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
2369         config/clipper/xm-clix.h, config/convex/xm-convex.h,
2370         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
2371         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
2372         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
2373         config/i386/xm-i386.h, config/i860/xm-i860.h,
2374         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
2375         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
2376         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
2377         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
2378         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
2379         config/pa/xm-linux.h, config/pa/xm-pa.h,
2380         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
2381         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
2382         config/pj/xm-pj.h, config/romp/xm-romp.h,
2383         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
2384         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
2385         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
2386         config/v850/xm-v850.h, config/vax/xm-vax.h,
2387         config/we32k/xm-we32k.h:
2388         Don't include tm.h.
2389         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
2390
2391         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
2392         config/i370/xm-oe.h: Don't include tm.h.  Don't define
2393         SUCCESS_EXIT_CODE.
2394         * config/vax/xm-vms.h: Don't include tm.h.
2395
2396         * config/xm-lynx.h, config/avr/xm-avr.h,
2397         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
2398         Delete; made empty by above changes.
2399         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
2400         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
2401         Don't include config/xm-lynx.h or tm.h.
2402
2403         * config/xm-gnu.h: Don't include fcntl.h.
2404         * config/sparc/xm-lynx.h: Don't include sys/types.h and
2405         sys/wait.h.
2406         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
2407
2408 2001-03-02  Richard Henderson  <rth@redhat.com>
2409
2410         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
2411         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
2412
2413 2001-03-02  Richard Henderson  <rth@redhat.com>
2414
2415         * Makefile.in (OBJS): Add dwarf2asm.o.
2416         * dwarf2asm.c, dwarf2asm.h: New files.
2417         * dwarf2out.c (*): Use them.
2418         (size_of_uleb128, size_of_sleb128): Remove.
2419         (output_uleb128, output_sleb128): Remove.
2420         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
2421         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
2422         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
2423         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
2424         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
2425         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
2426         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
2427         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
2428         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
2429         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
2430         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
2431         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
2432         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
2433         (dwarf2out_frame_debug): Remove unused variables.
2434         (output_loc_operands): Don't abort on 8 byte constants if
2435         host integers are wide enough.
2436         (output_symbolic_ref): Remove.
2437         (size_of_die): Don't assume 4 byte host integers.
2438         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
2439         and end labels.
2440         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
2441         something stupid with HOST_WIDE_INT to long truncation.
2442         [CONST_DOUBLE]: Likewise.
2443
2444         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
2445         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
2446         * config/arm/unknown-elf.h: Likewise.
2447         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
2448         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
2449         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
2450         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
2451         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
2452         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
2453         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
2454         (ASM_OUTPUT_DWARF_OFFSET): Remove.
2455         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
2456         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
2457         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
2458         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
2459
2460 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2461
2462         * cselib.c (hash_rtx): Cast enums to unsigned int.
2463
2464 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2465
2466         * print-rtl.c (print_rtx): Cast enums to int for comparison.
2467         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
2468         shifts.
2469         * c-format.c (C_STD_VER): Cast to int for comparisons.
2470         (check_function_format): Cast various enums to int for &.
2471         (maybe_read_dollar_number): Likewise.
2472         (check_format_info): Likewise.
2473         (check_format_info_main): Likewise.
2474         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
2475         (safe_from_p): Likewise.
2476         * varasm.c (const_hash): Cast enum to int for %.
2477         * emit-rtl.c (init_emit_once): Use int loop variable to work around
2478         pcc enum problems with < and ++ operators.
2479         * regclass.c (init_reg_sets_1): Cast enums for comparison.
2480         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
2481         (regclass_init): Change enum class to int to iterate over reg_classes.
2482         * genrecog.c (merge_trees): Cast enums for comparison.
2483         * rtl.h (GET_CODE): Cast to enum rtx_code.
2484         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
2485         (GET_MODE): Cast to enum machine_mode.
2486         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
2487         (GET_NOTE_INSN_NAME): Cast enum to int.
2488         * tree.h (TREE_CODE): Cast to enum tree_code.
2489         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
2490         * timevar.c (timevar_print): Change loop variable id from enum to
2491         unsigned int.
2492         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
2493         * config/i386/i386.md: Use PUT_MODE for mode assignment.
2494         * toplev.c (compile_file): Cast enum DFI to int.
2495         (decode_d_option): Likewise.
2496
2497 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
2498
2499         * cppinit.c (append_include_chain): Mark "after" include file name list
2500         as a system directory.
2501         * cpp.texi: Document new behavior.
2502
2503 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
2504
2505         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
2506
2507 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2508
2509         * cppfiles.c (struct include_file): Update.
2510         (stack_include_file): Use search_from.
2511         (cpp_included, find_include_file): Update.
2512         (cpp_execute_include): Update.  ptr->name may not be
2513         null terminated.  Use the new search_from member variable
2514         of cpp_buffer.
2515         (_cpp_compare_file_date): Similarly.
2516         (search_from): New function, similiar to actual_directory.
2517         (actual_directory): Delete.
2518         (remap_filename): Update.  loc->name may not be null terminated.
2519         (struct file_name_list): Rename search_path.  Update.
2520         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
2521         search_from and dir.
2522         (struct cpp_reader): Remove actual_dirs.
2523         * cppinit.c (struct cpp_pending): Update for renamed objects.
2524         (append_include_chain, remove_dup_dir, remove_dup_dirs,
2525         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
2526         * cpplib.h (struct cpp_options): Similarly.
2527
2528 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
2529
2530         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
2531         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
2532         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
2533         config/clipper/xm-clix.h, config/convex/xm-convex.h,
2534         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
2535         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
2536         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
2537         config/i370/xm-linux.h, config/i370/xm-mvs.h,
2538         config/i370/xm-oe.h, config/i386/xm-aix.h,
2539         config/i386/xm-i386.h, config/i386/xm-osf.h,
2540         config/i860/xm-i860.h, config/i960/xm-i960.h,
2541         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
2542         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
2543         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
2544         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
2545         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
2546         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
2547         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
2548         config/pj/xm-pj.h, config/romp/xm-romp.h,
2549         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
2550         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
2551         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
2552         config/v850/xm-v850.h, config/vax/xm-vax.h,
2553         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
2554         Do not define TRUE or FALSE.
2555
2556         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
2557         empty by above change.
2558         * config.gcc: Remove references to these files.
2559
2560         * configure.in: Detect stdbool.h.
2561         * configure, config.in: Regenerate.
2562         * system.h: Include stddef.h here if available.
2563         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
2564         Then set up a sensible boolean type at the very end.
2565
2566         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
2567         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
2568
2569         * hash.h: Delete 'boolean' typedef and related #undefs.
2570
2571         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
2572         all uses of 'boolean' with 'bool'.
2573
2574 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2575
2576         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
2577         * cppexp.c (lex): Cast enums for comparison.
2578         * cppinit.c (parse_option): Cast enum for comparison.
2579         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
2580         (cpp_output_token): Likewise.
2581         (cpp_can_paste): Cast enums for comparsion and plus/minus.
2582         (cpp_avoid_paste): Cast enums for minus and comparison.
2583
2584 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
2585
2586         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
2587         field to all array elements.
2588
2589 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
2590
2591         * cpphash.h (struct cpp_reader): Add print_version field.
2592         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
2593         just set print_version and other flags as appropriate.
2594         (cpp_post_options): Print version here if print_version is set.
2595
2596         * toplev.c (exit_after_options): New flag.
2597         (independent_decode_option): Don't exit here; just set
2598         exit_after_options.
2599         (main): Exit after calling lang_hooks.post_options if
2600         exit_after_options is true.
2601
2602         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
2603         (merge_include_chains): Adjust comment to match code.
2604
2605 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
2606
2607         * stringpool.c (set_identifier): New function.
2608         * tree.h: Prototype it.
2609
2610         * c-parse.in: Kill D_YES. If compiled for objc, call
2611         save_and_forget_protocol_qualifiers from init_reswords.
2612         * objc/objc-act.c (remember_protocol_qualifiers,
2613         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
2614         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
2615         vice versa.
2616         (save_and_forget_protocol_qualifiers): New function.
2617         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
2618
2619 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
2620
2621         * c-semantics.c (prune_unused_decls): Return error_mark_node
2622         instead of (tree) 1 to stop traversing the tree chain.
2623
2624 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
2625
2626         Fix a problem introduced by Kenner's Feb 18 change.
2627         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
2628         flag_cse_skip_blocks only temporarily, not for ever.
2629
2630 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
2631
2632         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
2633         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
2634
2635         * pa.c (emit_move_sequence): Verify operand0 is a hard register
2636         before determining its register class.
2637
2638 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
2639
2640         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
2641         from reg 4 if current_function_calls_setjmp.
2642         (gen_nop_type): New function.
2643         (ia64_emit_nops): New function.
2644         (ia64_reorg): Call it.
2645         (ia64_sched_reorder): Move code that rotates bundles up a bit.
2646
2647         * reload1.c (eliminate_regs_in_insn): Restrict the special case
2648         code not to try to optimize adds with anything but a REG destination.
2649
2650         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
2651         (INSN_PRIORITY_KNOWN): New accessor macro.
2652         * haifa-sched.c (priority): Use it instead of testing priority against
2653         zero.
2654
2655 2001-02-28  DJ Delorie  <dj@redhat.com>
2656
2657         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
2658         since that doesn't work the way gcc wants on a generic m68k.
2659
2660 2001-02-28  Richard Henderson  <rth@redhat.com>
2661
2662         * caller-save.c (save_call_clobbered_regs): Fix typo in
2663         comparison last change.
2664
2665 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
2666
2667         * i386.c (pentium4_cost): New.
2668         (m_PENT4): New macro.
2669         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
2670         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
2671         x86_integer_DFmode_moves, x86_partial_reg_dependency,
2672         x86_memory_mismatch_stall): Add Pentium4
2673         (x86_use_q_reg, x86_use_any_reg): Kill.
2674         (override_options): Add pentium4.
2675         (incdec_operand): Return 0 for pentium4.
2676         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
2677         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
2678         (TARGET_PENTIUM4): Define.
2679         (enum processor_type): Add PROCESSOR_PENTIUM4.
2680         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
2681         * i386.md (attribute "cpu"): Add pentium4.
2682         * invoke.texi (march): Add pentium4.
2683
2684 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
2685
2686         * i386.md (sse_mov?fcc*): New patterns and splitters.
2687         * i386.c (ix86_expand_movcc): Work post-reload; recognize
2688         the SSE based conditional moves.
2689
2690 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
2691
2692         * i386.md (attribute mode): Add "TI".
2693         (movsf_1): Add pxor support; remove constant propagation splitter.
2694         (movdf_integer): Likewise.
2695         (movdf_nointeger): Likewise.
2696         (movxf constant prop splitter): Handle all modes; update for SSE.
2697         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
2698         * i386.c (standard_80387_constant_p): Rewrite.
2699         (standard_sse_constant_p): New.
2700         * i386-protos.h (standard_sse_constant_p): New.
2701
2702 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2703
2704         * i386.md (sse_setccsf, sse_setccdf): New.
2705         (sse_cmp* patterns): Use '%D' instead of outputtting condition
2706         flag directly.
2707         * i386.c (sse_comparison_operator): Accept the supported unordered
2708         comparses; be ready for fast_math.
2709         (print_operand): Support 'D'.
2710
2711 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
2712
2713         * jump.c (reversed_comparison_code): Kill.
2714
2715 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
2716
2717         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
2718         for STACK_REGS
2719
2720 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2721
2722         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
2723         add missing '%' in constraints.
2724
2725 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
2726
2727         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
2728         for HOST_BITS_PER_WIDE_INT == 32 too.
2729
2730 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
2731
2732         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
2733         NREGS.
2734         (insert_save, insert_restore): New parameter save_mode.
2735         (init_caller_save): Update initialization of reg_save_code
2736         and reg_restore_code.
2737         (save_call_clobbered_regs):  Compute save_modes and update calls to
2738         reg_save_code and reg_restore_code.
2739         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
2740         of spill; update use of reg_restore_code.
2741         (insert_save):  Likewise.
2742         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
2743         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
2744         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
2745
2746 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
2747
2748         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
2749         noce_try_store_flag_inc, noce_try_store_flag_mask,
2750         noce_try_cmove_arith):
2751         Use reversed_comparison_code instead of reverse_comparison and
2752         can_reverse_comparison_p.
2753
2754 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
2755
2756         * jump.c (reversed_comparison_code_parts): Allow reversal of
2757         unordered compares in -ffast-math mode; reverse ordered compares
2758         for FP even w/o -ffast-math.
2759
2760 2001-02-27  Richard Henderson  <rth@redhat.com>
2761
2762         * print-rtl.c (print_rtx) [i]: Don't print field five on
2763         NOTEs other than NOTE_INSN_DELETED_LABEL.
2764
2765 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
2766
2767         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
2768         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
2769
2770 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
2771
2772         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
2773         even if walk_subtrees is 0.
2774         * c-semantics.c (prune_unused_decls): Return a non-null value to
2775         stop traversing the tree chain.
2776
2777 2001-02-27  DJ Delorie  <dj@redhat.com>
2778
2779         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
2780         register, *then* define it as the new CFA.
2781
2782 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
2783
2784         * pa.c (override_options): Promote -fpic to -fPIC.
2785         (legitimize_pic_address): Simplify due to removal of
2786         small PIC as a code generation option.
2787         (secondary_reload_class): Similarly.
2788         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
2789         (PRINT_OPERAND_ADDRESS): Similarly.
2790         * pa.md (various patterns): Similarly.
2791         (small pic lo_sum pattern): Remove.
2792
2793 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
2794                               Fergus Henderson
2795
2796         * md.texi (min, max): Document
2797
2798 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
2799
2800         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
2801         TARGET_PARTIAL_REG_DEPENDENCY.
2802         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
2803
2804 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
2805
2806         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
2807
2808 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
2809
2810         * mips.c (mips_make_temp_file): Fix thinko in last change.
2811
2812 2001-02-26  Jason Eckhardt  <jle@redhat.com>
2813
2814         * combine.c (known_cond): Do not reverse the condition when
2815         SMAX/UMAX is being considered and the condition is for equality
2816         or inequality.
2817
2818         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
2819
2820 2001-02-26  Philip Blundell  <philb@gnu.org>
2821
2822         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
2823         "armv2-*-linux".
2824         * config/arm/linux-elf.h: Remove historical relics related to
2825         above configurations.
2826         * config/arm/linux-oldld.h: Delete.
2827         * config/arm/linux-elf26.h: Delete.
2828
2829 2001-02-26  Jason Merrill  <jason@redhat.com>
2830
2831         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
2832         definitions.
2833         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
2834         recognize a tentative definition.  Lose obsolete code.
2835
2836         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
2837         variables unless necessary, either.
2838
2839 2001-02-25  Richard Henderson  <rth@redhat.com>
2840
2841         * ifcvt.c (struct noce_if_info): Add test_bb.
2842         (noce_get_alt_condition): New.
2843         (noce_try_minmax, noce_try_abs): New.
2844         (noce_operand_ok): New.
2845         (noce_process_if_block): Use them.
2846         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
2847
2848 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
2849
2850         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
2851         include.
2852
2853 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
2854
2855         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
2856         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
2857         properly.
2858         (mips_asm_file_end): Free temp_filename here.
2859
2860 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2861
2862         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
2863         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
2864
2865         * config/i386/i386.md (movstrsi): Handle FAIL case.
2866
2867 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
2868
2869         * cppinit.c (builtin_array): Update.
2870         (init_builtins): Flag builtins to warn if redefined or
2871         undefined.  Define __GXX_WEAK as a normal macro.
2872         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
2873         * cpplib.h (NODE_WARN): New flag.
2874         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
2875         Handle __STDC__ as a builtin only on Solaris.
2876         (warn_of_redefinition): Renamed from check_macro_definition.
2877         Reverse sense of test.  Always warn if NODE_WARN.
2878         (_cpp_create_definition): Use warn_of_redefinition.  Flag
2879         any macro beginning with "__STDC_" to require a mandatory
2880         warning if redefined or undefined.
2881
2882 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
2883
2884         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
2885         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
2886         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
2887         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
2888         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
2889         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
2890         Don't define any of:
2891         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
2892         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
2893         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
2894         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
2895         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
2896
2897         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
2898         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
2899         definitions.
2900
2901         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
2902         Delete now-empty file.
2903
2904         * alpha/vms.h: Define NEED_ATEXIT here...
2905         * alpha/xm-vms.h: ...not here.
2906
2907         * i386/cygwin.h: Don't define PARAMS.
2908         * mips/mips.c: Don't prototype mktemp.  Don't define
2909         P_tmpdir.  Use make_temp_file to create temporary files.
2910         Don't be clever and delete temporary files early.
2911         * config.gcc: Drop references to deleted files.  Don't define
2912         FULL_PROTOTYPES.
2913         * gcc.texi: Don't mention USE_PROTOTYPES.
2914
2915 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2916
2917         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
2918         (ix86_set_move_mem_attrs_1): Likewise.
2919         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
2920         * config/i386/i386.md (movstrsi): Call it.
2921
2922 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
2923
2924         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
2925         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
2926         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
2927         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
2928
2929         (i750a-*-*): Error here if hosting on i750a.
2930         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
2931
2932         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
2933         Remove (empty modulo comments).
2934
2935         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
2936         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
2937         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
2938         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
2939         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
2940         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
2941
2942         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
2943         Remove reference to winnt.h in comment.
2944         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
2945
2946 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2947
2948         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
2949         used to set another biv.
2950
2951 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2952
2953         * tree.h (BLOCK_DEAD): New macro.
2954         (struct tree_block): New flag, dead_flag.
2955         * print-tree.c (print_node, case 'b'): Print missing fields.
2956         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
2957         * function.c (identify_blocks): Enable test for misplaced notes.
2958         (all_blocks): Skip BLOCK_DEAD blocks.
2959         * integrate.c (integrate_decl_tree): Likewise.
2960
2961         * errors.c (internal_error, trim_filename): New functions.
2962         (fancy_abort): Call internal_error.
2963         * errors.h (internal_error, trim_filename): New declarations.
2964
2965 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
2966
2967         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
2968         2000-08-26's patch.
2969         (EXTRA_CONSTRAINT): Formatting changes.
2970
2971 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2972
2973         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
2974
2975 2001-02-23  Per Bothner  <per@bothner.com>
2976
2977         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
2978         so they can be called from java/jvspec.c.
2979         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
2980
2981 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
2982
2983         * i386.c (ix86_frame): New structure.
2984         (ix86_compute_frame_size): Kill.
2985         (ix86_compute_frame_layout): New.
2986         (ix86_save_reg): New.
2987         (ix86_can_use_return_insn_p): Use frame layout stuff.
2988         (ix86_expand_prologue): Likewise.
2989         (ix86_expand_epilogue): Likewise.
2990         (ix86_initial_elimination_offset): Likewise.
2991         (ix86_nsaved_regs): Use ix86_save_reg.
2992         (ix86_emit_save_regs): Likewise.
2993
2994 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
2995
2996         * flow.c (find_sub_basic_blocks): New function.
2997         (split_block): Be ready for basic block introduced by CODE_LABEL.
2998         (commit_one_edge_insertion): Call find_sub_basic_block.
2999
3000         * flow.c (make_edges): Add edge from entry for blocks starting with
3001         label having ALTERNATE_NAME
3002
3003 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
3004
3005         * function.c (epilogue_done): Be ready for first basic block not
3006         containing PROLOGUE_END note.
3007         (reposition_prologue_and_epilogue_notes): Avoid placing
3008         PROLOGUE_END note between BASIC_BLOCK.
3009
3010 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
3011
3012         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
3013
3014 2001-02-21  DJ Delorie  <dj@redhat.com>
3015
3016         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
3017         check for current_function_has_nonlocal_goto from 1999-11-12.
3018
3019 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3020
3021         * diagnostic.c (trim_filename): No longer static.
3022         * toplev.h (trim_filename): Declare.
3023         * rtl.c (rtl_check_failed_bounds): Call internal_error.
3024         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
3025         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
3026         (rtvec_check_failed_bounds): Likewise.
3027         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
3028
3029         * convert.c (convert_to_integer): Don't do unsigned unless result or
3030         both inputs are unsigned.
3031
3032         * fold-const.c (fold_convert): Don't call size_int_type_wide if
3033         input overflows.
3034
3035         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
3036
3037         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
3038
3039 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
3040
3041         * Makefile.in (resource.o): Add params.h dependence.
3042         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
3043         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
3044         * resource.c: Add dependence on params.h.
3045         (current_live_regs): Fix explanatory comment.
3046         (find_basic_block): Add new parameter to permit limiting search
3047         for a BARRIER.
3048         (mark_target_live_regs): Add new argument to find_basic_block call.
3049         (incr_ticks_for_insn): Likewise.
3050
3051 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
3052
3053         * diagnostic.c (output_to_stream): Rename to
3054         output_buffer_to_stream. Loses the stream parameter.
3055         (init_output_buffer): Set diagnosic_buffer's stream.
3056         (flush_diagnostic_buffer): Adjust.
3057         (default_print_error_function): Likewise.
3058         (finish_diagnostic): Likewise.
3059         (verbatim): Likewise.
3060
3061         * diagnostic.h (struct output_buffer): Add `stream' field.
3062         (output_buffer_attached_stream): New macro.
3063
3064 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
3065
3066         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
3067         check if either operand is divisible by C.
3068         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
3069         If type is signed, consider negative numbers as well.
3070
3071 2001-02-22  Richard Henderson  <rth@redhat.com>
3072
3073         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
3074         reach .text instead of gp-relative relocs.
3075         * config/ia64/crtend.asm (.init): Likewise.
3076
3077 2001-02-22  Andreas Jaeger  <aj@suse.de>
3078
3079         * extend.texi (C++ Attributes): Fix typo.
3080
3081 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
3082
3083         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
3084         functions, drop current_function_args_info.words test.
3085         (ia64_compute_frame_size): Mark syscall_linkage functions as
3086         using eight input registers.
3087
3088 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
3089         Bruce Korb  <bkorb@gnu.org>
3090
3091         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
3092         * fixinc/README: Document how to convert sed substitutions
3093         to format style c_fix-es.
3094         * fixinc/fixincl.x: regen
3095
3096 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
3097
3098         * gcc.c: Add comment explaining how to add a command-line option.
3099         Add title to specs language comment.
3100
3101 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
3102
3103         * gcc.c (cc1_options): Add "-param".
3104         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
3105         (option_map): Likewise.
3106         * toplev.c (display_help): Add entry for "--param".
3107         (independent_decode_option): Fix typographical error.
3108
3109 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
3110                               Bernd Schmidt  <bernds@redhat.com>
3111                               Jan Hubicka  <jh@suse.cz>
3112
3113         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
3114         (function_arg): Likewise.
3115
3116 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
3117
3118         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
3119
3120 2001-02-21  Kazu Hirata  <kazu@hxi.com>
3121
3122         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
3123         character.
3124         (xorsi3): Likewise.
3125
3126 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
3127
3128         * flow.c (init_propagate_block_info): Canon address and use single_set
3129         for killing dead memory stores.
3130
3131 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
3132
3133         * Makefile.in (reorg.o): Add params.h dependence.
3134         * params.def: Fix typographical error in comment.
3135         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
3136         * params.h: Modify introductory comment.
3137         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
3138         * reorg.c: Add dependence on params.h.
3139         (redundant_insn): Add parameterized throttle for search.
3140         (fill_simple_delay_slots): Add a comment explaining a variable.
3141         Move conditional out of loop, simplifying code.
3142         (fill_eager_delay_slots): Fix typographical error in comment.
3143
3144 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
3145
3146         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
3147
3148         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
3149         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
3150
3151 2001-02-21  Jason Merrill  <jason@redhat.com>
3152
3153         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
3154         (struct tree_decl): Add uninlinable bitfield.
3155         * c-decl.c (duplicate_decls): Set it.
3156         * integrate.c (function_cannot_inline_p): Check it.
3157
3158         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
3159         DW_AT_MIPS_linkage_name to abstract methods.
3160         (dwarf2out_abstract_function): Emit class context before calling
3161         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
3162         (gen_subprogram_die): Remove obsolete code.
3163         (gen_member_die): Don't include clones in the member list.
3164         (gen_decl_die): Emit abstract info for clone origin.
3165         * dwarfout.c (output_type): Don't include clones in the member list.
3166         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
3167         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
3168         DECL_ABSTRACT on a function that already has it set.
3169
3170         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
3171         (get_subprogram_die): Pass it in.
3172
3173 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
3174
3175         * flow.c (mark_set_1): Make not_dead unsigned long.  For
3176         non-pseudos, use it as a bitmask of the hard regs that
3177         don't die.
3178
3179 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3180
3181         * cppfiles.c: Update comments.
3182         (_cpp_read_file): Don't check for NULL filenames any more.
3183         * cppinit.c (cpp_start_read): Don't do canonicalization of
3184         in_fname and out_fname.  Use the passed file name exclusively.
3185         (_cpp_handle_options): Don't treat "-" as a command line option,
3186         but as a normal filename.
3187         (_cpp_post_options): Canonicalize in_fname and out_fname.
3188         * cppmain.c (printer_init): Don't check out_fname for NULL.
3189         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
3190         (init_c_lex): Update, and use "" to represent stdin to CPP.
3191         (yyparse): Update.
3192
3193 2001-02-20  Will Cohen  <wcohen@redhat.com>
3194
3195         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
3196         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
3197         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
3198         fixunstfsi_libfunc.
3199
3200 2001-02-20  Stan Shebs  <shebs@apple.com>
3201
3202         * config/rs6000/rs6000.c (output_cbranch): Output branches
3203         on separate lines instead of using ';' to separate.
3204
3205 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3206
3207         * cppinit.c (set_lang):  Move builtin handling to...
3208         (init_builtins): ...here.
3209         (_cpp_create_reader): Move call to set_lang.
3210
3211 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
3212
3213         * stmt.c (expand_return): If an attempt is made to return the
3214         error_mar_node, treat the return like a return without a value.
3215
3216 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
3217
3218         * sibcall.c (skip_copy_to_return_value): Call
3219         identify_call_return_value here, and return orig_insn if it
3220         returns zero.  Hardret and softret arguments now unnecessary.
3221         (call_ends_block_p): Don't call identify_call_return_value here.
3222
3223         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
3224         's' slots in RTXen.
3225         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
3226         * ggc.h (ggc_mark_if_gcable): Delete prototype.
3227
3228 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
3229
3230         * pa.c (move_operand): Accept code to load the address of a
3231         symbol out of the DLT as a valid move operand.
3232         (print_operand, case 'A'): New to handle generating a DLT
3233         reference for a LO_SUM expression.
3234         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
3235         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
3236
3237 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
3238
3239         * README, cpp.texi, gcc.texi, version.c: Update version number to
3240         3.1.
3241         * cpp.1, gcov.1, gcc.1: Regenerate.
3242
3243 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
3244
3245         * cppfiles.c (stack_include_file): Generate dependencies
3246         here, and manage include_count here too.
3247         (PRINT_THIS_DEP): Delete.
3248         (_cpp_execute_include): Do not generate dependencies here,
3249         apart from the case of a missing header.  Do not manage
3250         include_count.
3251         (_cpp_read_file): Leave dependency generation to
3252         stack_include_file.
3253
3254 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
3255
3256         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
3257         target_cpu_default.  Remove dead assignment to
3258         target_cpu_default.
3259
3260 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
3261
3262         * regclass.c (contains_reg_of_mode): Make global.
3263         (init_reg_sets): Remove contains_reg_of_mode; take into account
3264         CLASS_MAX_NREGS when looking for the proper mode.
3265         (dump_regclass): Dump only classes considered for the pseudo.
3266         (regclass): Use contains_reg_of_mode.
3267
3268 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
3269
3270         * gcc.c (do_spec_1): 'n' for printing notices.
3271         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
3272
3273 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
3274
3275         * reg-stack.c (next_flags_user): Use current_block->end
3276         (swap_rtx_condition): Look for next user if flags don't die;
3277         give up on CALL_INSNs; use current_block->end.
3278
3279 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3280
3281         * sibcall.c (call_ends_block_p): New function.
3282         (optimize_sibling_and_tail_recursive_call): Use it.
3283
3284 2001-02-18  Kazu Hirata  <kazu@hxi.com>
3285
3286         * config/h8300/h8300.md: Update copyright.
3287         (andsi3): Do not output an extra newline character.
3288
3289 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3290
3291         * toplev.c (note_deferral_of_defined_inlined_function): Argument
3292         FNDECL may be unused.
3293
3294         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
3295         follow jumps after first run.
3296         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
3297         it doesn't change any jumps.
3298
3299 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
3300
3301         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
3302         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
3303         (mostlyclean): Corresponding changes.
3304         * rtlanal.c (hard-reg-set.h): Include.
3305         (rtx_unstable_p): Do not treat the argument pointer specially
3306         if it is not a fixed register.
3307         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
3308
3309 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3310
3311         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
3312         against last real insn in basic block.
3313         Rework to avoid gotos.
3314
3315         * Makefile.in (gcse.o): Now includes ggc.h.
3316         * gcse.c: Include ggc.h.
3317         (want_to_gcse_p): Verify expression can be in SET as valid insn.
3318         (try_replace_reg): Remove warning of uninitialize variable.
3319         (process_insert_insn): Call invalid_insn_p to validate insn.
3320         * recog.c (insn_invalid_p): Now global.
3321         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
3322         * recog.h (insn_invalid_p): New declaration.
3323
3324         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
3325
3326         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
3327         assignments from FP constants since 'Y' output code can't handle it.
3328         (eligible_for_sibcall_delay): Likewise.
3329
3330         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
3331         Call fancy_abort directly, passing args.
3332         (print_rtl_and_abort): Now a macro, like fancy_abort.
3333
3334         * final.c (output_operand_lossage): Use internal_error, not error.
3335
3336 2001-02-18  Shane Nay  <shane@agendacomputing.com>
3337
3338         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
3339         structure shift insns.
3340
3341 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
3342
3343         * invoke.texi (-fsquangle): Remove documentation.
3344         (-fname-mangling-version): Likewise.
3345
3346 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
3347
3348         * optabs.c (expand_abs): Remove reference to
3349         HAVE_contitional_arithmetic.
3350         * combine.c (simplify_set): Likewise.
3351
3352 2001-02-18  Richard Henderson  <rth@redhat.com>
3353
3354         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
3355         would be disrupted.
3356
3357 2001-02-18  Richard Henderson  <rth@redhat.com>
3358
3359         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
3360
3361         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
3362
3363         * reload1.c (reload_cse_simplify_set): Fix typo.
3364
3365 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3366
3367         * diagnostic.c (_fatal_insn): Decrement errorcount.
3368
3369         * invoke.texi (-I): Add note avoiding use for system header files.
3370
3371         * rtl.h (add_clobbers): Remove duplicate declaration.
3372         * recog.h (added_clobbers_hard_reg_p): New declaration.
3373         * genemit.c (struct clobber_pat): New field has_hard_reg.
3374         (gen_insn): Record if added clobbers clobber hard reg.
3375         (gen_split): Avoid unused warning if number of operands is 0.
3376         (output_added_clobbers_hard_reg_p): New function.
3377         (main): Call it.
3378
3379 2001-02-18  Alan Modra <alan@linuxcare.com.au>
3380
3381         * pa.c (hppa_expand_prologue): Simplify code storing return
3382         pointer.  For large (>=8k) frames with a post_store, adjust stack
3383         pointer by 8k-64 first rather than by 64.  When testing with
3384         VAL_14_BITS_P, always use the actual value rather than the value
3385         negated.  Add blockage to prevent scheduling of spills before
3386         stack frame has been created.
3387         (hppa_expand_epilogue): Simplify code loading return pointer.
3388         Allow a slightly larger range for merge_sp_adjust_with_load case.
3389         When testing with VAL_14_BITS_P, always use the actual value.
3390
3391         * pa.c (pa_adjust_insn_length): Check that block move
3392         pattern is a set before looking at operands.
3393
3394 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
3395
3396         * fold-const.c (fold_binary_op_with_conditional_arg): New
3397         function, split out from ...
3398         (fold): ... here.
3399         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
3400         conditional arms that throw exceptions.
3401
3402         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
3403         looking at a BLOCK.
3404
3405 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3406
3407         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
3408         define HAVE_DECL_* to 1 to mask potential backup declarations.
3409         * configure: Regenerated.
3410
3411 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
3412
3413         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
3414
3415 2001-02-17  Richard Henderson  <rth@redhat.com>
3416
3417         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
3418         when replacing a memory load with a register.
3419
3420 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3421                           Jan Hubicka  <jh@suse.cz>
3422
3423         * recog.c (validate_replace_src_1): New.
3424         (validate_replace_src_data): Likewise.
3425         (validate_replace_src): Use note_uses.
3426         * rtl.h (note_uses): Declare.
3427         * rtlanal.c (note_uses): New.
3428
3429 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
3430
3431         * reg-stack.c (stack_def): Make field reg unsigned.
3432         (remove_regno_note): Unsignetize parameter.
3433
3434 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
3435
3436         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
3437         shladd_operand() call.
3438
3439 2001-02-16  Bruce Korb  <bkorb@gnu.org>
3440             Rodney Brown  <RodneyBrown@mynd.com>
3441
3442         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
3443         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
3444         machine restrictions
3445         * fixinc/fixincl.x: regen
3446
3447 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3448
3449         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
3450         Don't CSE a nop.
3451         (hash_scan_insn): Clean up calls to hash_scan_set.
3452         (compute_kill_rd): REGNO now unsigned.
3453         (try_replace_reg): Rework to use simplify_replace_rtx.
3454         (cprop_jump, cprop_cc0_jump): Likewise.
3455         (cprop_insn): Call find_reg_equal_equiv_note.
3456         Reflect changes to cprop_jump and cprop_cc0_jump.
3457
3458         * recog.c (validate_replace_src): Replace in operands of
3459         ZERO_EXTRACT in SET_DEST.
3460
3461         * cse.c (new_label_ref): New variable.
3462         (insert): Set it instead of recorded_label_ref.
3463         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
3464         CODE_LABEL for this function, and not already in REG_LABEL note.
3465
3466 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
3467
3468         * resource.c (mark_referenced_resources): Fix typo in introductory
3469         comment.
3470         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
3471         string constant.
3472
3473 2001-02-16  Jason Merrill  <jason@redhat.com>
3474
3475         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
3476         NULL.
3477         (gen_subprogram_die): Don't abort on seeing a second definition if
3478         the previous one was abstract.  Don't replace an abstract instance
3479         in the lookup table.
3480
3481         * dwarf2out.c (dwarf2out_abstract_function): Rename from
3482         gen_abstract_function.
3483         * dwarf2out.h: Declare it.
3484         * toplev.c (note_outlining_of_inline_function): New fn.
3485         * toplev.h: Declare it.
3486         * integrate.c (output_inline_function): Call it.
3487         * c-decl.c (duplicate_decls): Call it when redefining an extern
3488         inline.  Don't inline the new defn.
3489
3490         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
3491
3492 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3493
3494         * .gdbinit: Rename to gdbinit.in.
3495         * gdbinit.in: New file,
3496         * configure.in: Generate .gdbinit from gdbinit.in.
3497         * configure: Regenerated.
3498         * Makefile.in (distclean): Always remove .gdbinit.
3499
3500 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
3501
3502         * objc/objc-act.c (start_class): Register implemented_classes with
3503         GC.
3504
3505 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3506
3507         * cppfiles.c (_cpp_make_system_header): Generate a file
3508         change callback.
3509
3510 2001-02-15  Jim Meyering  <meyering@lucent.com>
3511
3512         * Makefile.in (install-common): Don't depend on installdirs here.
3513         Instead, make each of the lang.install-common targets (e.g.,
3514         c++.install-common in cp/Make-lang.in) depend on it.
3515         (install-driver): Depend on installdirs.
3516
3517 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3518
3519         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
3520
3521         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
3522         do in memory.
3523
3524 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
3525
3526         * invoke.texi (--param): Document.
3527
3528 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
3529
3530         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
3531
3532 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
3533
3534         * i386.md (extendsfdf2_2): Fix constraints.
3535
3536 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
3537
3538         * i386.md (fop_df_3 splitter): Fix operand number.
3539
3540 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
3541
3542         * invoke.texi (-mreg-alloc): Nuke.
3543         * i386.c (ix86_reg_alloc_order, regs_allocated,
3544         order_regs_for_local_alloc): Nuke.
3545         (override_options): Kill reg_alloc code.
3546         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
3547         (REG_ALLOC_ORDER): SSE goes before I387.
3548         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
3549         (ix86_reg_alloc_order): Likewise.
3550         * i386-protos.h (ix86_reg_alloc_order): Kill.
3551
3552 2001-02-14  Richard Henderson  <rth@redhat.com>
3553
3554         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
3555
3556 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
3557
3558         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
3559
3560 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
3561
3562         * i386-protos.h (ix86_memory_move_cost): Move offline.
3563         * i386.c (ix86_register_move_cost): Compute properly cost of
3564         SSE, MMX and i387 instructions.
3565         (*_cost): Add costs of SSE/MMX moves.
3566         (ix86_memory_move_cost): Move offline from ....; Likewise.
3567         * i386.h (MEMORY_MOVE_COST): .... here;
3568         (struct processor costs): Add new fields to represent costs
3569         of SSE/MMX moves.
3570
3571 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
3572
3573         * regclass.c (init_reg_sets_1): Reinstall the optimization of
3574         move_cost together with Matt Kraai's fix.
3575
3576 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
3577
3578         * Makefile.in (OBJS): Add params.o.
3579
3580 2001-02-14  Richard Henderson  <rth@redhat.com>
3581             DJ Delorie  <dj@redhat.com>
3582
3583         * jump.c (jump_optimize_1): When we delete a conditional jump
3584         preceeding a non-conditional jump to effectively the same place,
3585         make sure that the combined jump skips any clobber insns between
3586         the two labels.
3587
3588 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
3589
3590         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
3591
3592 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
3593
3594         * Makefile.in (toplev.o): Depend on params.h.
3595         (intergate.o): Likewise.
3596         (params.o): New target.
3597         * flags.h (inline_max_insns): Remove.
3598         * integrate.c: Include params.h.
3599         Use MAX_INLINE_INSNS instead of inline_max_insns.
3600         * params.c: New file.
3601         * params.h: Likewise.
3602         * params.def: Likewise.
3603         * toplev.c: Include params.h.
3604         (lang_independent_params): New variable.
3605         (decode_f_option): Use the param machinery instead of setting
3606         max_inline_insns.
3607         (independent_decode_option): Handle "--param name=value".
3608         (main): Register language-independent parameters.
3609
3610 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
3611
3612         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
3613
3614 2001-02-14  Richard Henderson  <rth@redhat.com>
3615
3616         * regclass.c (init_reg_sets_1): Revert last two changes.
3617
3618 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
3619
3620         * stor-layout.c (is_pending_size, put_pending_size): New functions.
3621         (variable_size): Call put_pending_size.
3622         * tree.h (is_pending_size, put_pending_size): Add prototypes.
3623         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
3624         sizes list, put newly created SAVE_EXPR there as well.
3625
3626 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
3627
3628         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
3629         (errata_find_address_regs): load_group has only 2 entries.
3630         (errata_emit_nops): Likewise.  shladd is not problematic.
3631         Clear last_group if nop was emitted.
3632         (fixup_errata): load_group has only 2 entries.
3633         Optimize.
3634
3635 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3636
3637         * c-lex.c (lex_number): Only warn traditionally for U suffix
3638         outside system macros.
3639         * cppexp.c (parse_number): Similarly.
3640         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
3641         * cppmacro.c (struct cpp_macro): New member node.
3642         (parse_args): Only warn about missing rest args if not
3643         a system macro.
3644         (funlike_invocation_p): Similarly for uninvoked funlike macros.
3645         (cpp_sys_objmacro_p): New.
3646         (_cpp_create_definition): Store the node with the macro defn.
3647         Remember if the macro is defined in a system header.
3648
3649 2001-02-13  DJ Delorie  <dj@redhat.com>
3650
3651         * configure.in (check_languages): determine languages to check
3652         * Makefile.in (check-c++): alias for check-g++
3653         (check-f77): alias for check-g77
3654         (CHECK_TARGETS): depend on configured languages
3655
3656 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
3657
3658         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
3659         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
3660         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
3661         (sqrtextendsfdf2): Disable for SSE2.
3662
3663 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
3664
3665         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
3666         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
3667         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
3668         (sqrtextendsfdf2): Disable for SSE2.
3669
3670 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3671
3672         * i386.md (movsfcc_1): Support integer cmove instruction.
3673         (movdfcc_1): Likewise; new splitter.
3674
3675 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
3676
3677         * i386.c (output_fp_compare): Support SSE.
3678         (prepare_fp_compare_args): SSE comparisons always support memory.
3679         * i386.h (TARGET_CMOVE): SSE imply cmove.
3680         * i386.md (cmp?f2): Enable for SSE too.
3681         (cmpfp_i*): Support SSE.
3682         (cmpfp_i_sse): New.
3683         (cmpfp_i_sse_only): New.
3684         (s*, b* fp expanters): Enable for SSE too.
3685         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
3686         New patterns.
3687
3688 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
3689
3690         * regclass.c (init_reg_sets_1): Silence warning.
3691
3692 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
3693
3694         * i386.md (sqrt?f2): Change to expander.
3695         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
3696
3697 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3698
3699         * rtlanal.c (find_reg_equal_equiv_note): New function.
3700         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
3701         (simplify_gen_relational, simplify_replace_rtx): Likewise.
3702         * rtl.h: Add declarations for above functions.
3703
3704 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
3705
3706         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
3707         conditionals.
3708         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
3709         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
3710         * flow.c (mark_regs_live_at_end): Likewise.
3711         (calculate_global_regs_live): Likewise.
3712         * gcse.c (compute_hash_table): Likewise.
3713         (compute_kill_rd): Likewise.
3714         * resource.c (mark_target_live_regs): Likewise.
3715         * rtl.h (INVALID_REGNUM): New macro.
3716
3717 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
3718
3719         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
3720
3721 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3722
3723         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
3724         for SSE.
3725
3726 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
3727
3728         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
3729         too.
3730         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
3731         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
3732         (fop_sf_1_sse, fop_df_1_sse): New patterns
3733         (fop_*): Disable float_extend and float patterns for SSE compilation.
3734         * i386.c (output_387_binary_op): Support SSE.
3735
3736 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
3737
3738         * i386.md (dummy_extendsfdf2): Support SSE2
3739         (extendsfdf2): Enable if 80387 or SSE2.
3740         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
3741         and no MIX_I387_SSE2
3742         (extendsfdf2_1_sse_only): New pattern.
3743         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
3744         of SSE.
3745         (truncdfsf2_1): Support SSE.
3746         (truncdfsf2_2): Support SSE.
3747         (truncdfsf2_2_1_sse): New pattern.
3748         (fixtruncsfsi2): Always use SSE if available.
3749         (fix_truncsfsi_sse): New pattern.
3750         (fix_truncdfsi_sse): New pattern.
3751         (floatsis?f2): Support SSE.
3752         (floatsidf2_i387): New pattern.
3753         (floatsidf2_sse): Likewise.
3754
3755 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3756
3757         * configure.in: Use "have_gnat" variable, not "gnat".
3758         * configure: Regenerated.
3759
3760         * config/sparc/sparc.c (function_value): Treat all non-record
3761         aggregate types like used to treat UNION_TYPE.
3762
3763 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
3764
3765         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
3766         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
3767         (MASK_SSE2): New.
3768         (MASK_MIX_SSE_I387): New.
3769         (TARGET_SSE): SSE2 imply SSE.
3770         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
3771         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
3772         (enum reg_class): Add new classes.
3773         (REG_CLASS_NAMES): Likewise.
3774         (REG_CLASS_CONTENTS): Likewise.
3775         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
3776         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
3777         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
3778         (CLASS_MAX_NREGS): Use new macros.
3779         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
3780         * i386.md (pushsf, movsf): Support SSE.
3781         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
3782         splitters to use ANY_FP_REGNO_P.
3783         (movdf_nointeger, movdf_integer): Likewise.
3784
3785 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
3786
3787         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
3788         (try_combine): Use it.
3789
3790 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
3791
3792         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
3793         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
3794         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
3795         (REGISTER_MOVE_COST): Likewise.
3796         * i386-protos.h (ix86_secondary_memory_needed,
3797         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
3798         * i386.c (ix86_secondary_memory_needed,
3799         ix86_preferred_reload_class, ix86_register_move_cost): New function.
3800
3801 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
3802
3803         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
3804         (HARD_REGNO_MODE_OK): Move offline to ....
3805         * i386.c (ix86_hard_regno_mode_ok) ... here;
3806         refuse all incorrect modes.
3807         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
3808
3809 2001-02-13  Richard Henderson  <rth@redhat.com>
3810
3811         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
3812         entire operator; replicate that and match_dup the operands.
3813         (cmp_ccx_arith_op_set): Likewise.
3814         (cmp_cc_arith_op_not_set): Likewise.
3815         (cmp_ccx_arith_op_not_set): Likewise.
3816
3817 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
3818
3819         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
3820
3821 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
3822
3823         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
3824         (TARGET_NO_BITFIELD_WORD): New macro.
3825         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
3826         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
3827
3828 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3829
3830         * cselib.c: New file, from simplify-rtx.c.
3831         * simplify-rtx.c: Remove cselib parts.
3832         * Makefile.in: Add cselib.o.
3833
3834 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
3835
3836         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
3837         (setup_incoming_varargs): Remove warning.
3838
3839         * config/rs6000/rs6000.c (validate_condition_mode): When
3840         flag_fast_math, allow floating-point conditionals to be reversed.
3841         (rs6000_generate_compare): When flag_fast_math, don't generate
3842         cror operations for FP conditionals.
3843
3844         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
3845         -mcall-i960.
3846         (ASM_SPEC): Likewise.
3847         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
3848         (CC1_SPEC): Likewise.
3849         (LINK_TARGET_SPEC): Likewise.
3850         (CPP_ENDIAN_SPEC): Likewise.
3851         * Makefile.in (check-consistency): New target.
3852
3853 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3854
3855         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
3856         "return type defaults" warning for functions with return type
3857         defaulting to int.
3858         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
3859         function declarations by default rather than only when pedantic.
3860
3861 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
3862
3863         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
3864         arrays.
3865
3866 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
3867
3868         * extend.texi (Deprecated): Deprecate new initializer lists.
3869
3870 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
3871
3872         * mkdeps.c (deps_add_default_target): Robustify. Add
3873         basename component only.
3874         * cpp.texi (-M): Describe how default target is generated.
3875         * invoke.texi (-M): Likewise.
3876
3877 2001-02-12  Kazu Hirata  <kazu@hxi.com>
3878
3879         * toplev.c (push_float_handler): Remove.
3880         (pop_float_handler): Remove.
3881         * toplev.h: Remove prototypes for the above functions.
3882
3883 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
3884
3885         * c-common.c (constant_fits_type_p): New function.
3886         (convert_and_check): Use it.
3887
3888 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
3889
3890         * Makefile.in (GXX_ABI_FLAG): Don't define.
3891         * configure.in (--enable-new-gxx-abi): Remove option.
3892         * config.in: Regenerated.
3893         * configure: Likewise.
3894
3895 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
3896
3897         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
3898         basic block.
3899         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
3900         regular basic block, and arrange for all edges into it to switch
3901         to normal mode.
3902
3903 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3904
3905         * Makefile.in (distclean): Do not remove .gdbinit.
3906
3907 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
3908
3909         * Makefile.in (gcc.o): Fix typos.
3910         (protize.o): Likewise.
3911         (unprotoize.o): Likewise.
3912
3913 2001-02-11  Richard Henderson  <rth@redhat.com>
3914
3915         * tree.c (build1): Check for null operand in last change.
3916
3917 2001-02-11  Richard Henderson  <rth@redhat.com>
3918
3919         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
3920         (fold): Don't assume a constant isn't foldable.
3921         * tree.c (build): Set TREE_CONSTANT for an expression with no
3922         side-effects and constant operands.
3923         (build1): Likewise.
3924
3925 2001-02-10  Richard Henderson  <rth@redhat.com>
3926
3927         * jump.c (squeeze_notes): Revert 2000-05-12 change.
3928
3929 2001-02-10  Anthony Green  <green@redhat.com>
3930
3931         * cpp.texi (Standard Predefined): Add documentation for
3932         __OPTIMIZE_SIZE__.
3933
3934         * c-common.c (combine_strings): Improve warning message.
3935
3936 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
3937
3938         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
3939         --oformat.
3940         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
3941
3942 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
3943
3944         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
3945         CYGWIN_CROSS_DIR.
3946
3947 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
3948
3949         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
3950         fp_mode attribute.
3951
3952 2001-02-09  Nick Clifton  <nickc@redhat.com>
3953
3954         * config/arm/arm.md: Change output contraint on post inc
3955         load/store multiple patterns to be a read/write contraint.
3956
3957 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3958
3959         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
3960         .o files when using the -M options.
3961
3962 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3963             David Edelsohn  <edelsohn@gnu.org>
3964
3965         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
3966         handle DImode constants.  Use one TOC entry for SImode and smaller
3967         constants, aligned properly.
3968
3969 2001-02-08  Jason Merrill  <jason@redhat.com>
3970
3971         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
3972         about the SP adjustment for saving the static chain pointer.
3973         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
3974         offset when setting a temporary CFA register.
3975
3976 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
3977
3978         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
3979         powerpc-*-chorusos* .
3980         * config/rs6000/chorus.h : New file.
3981         * config/i386/chorus.h : New file.
3982         * config/sparc/chorus.h : New file.
3983         * config/sparc/t-chorus-elf : New file.
3984
3985 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
3986
3987         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
3988         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
3989         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
3990         (__WCHAR_TYPE__): Correct macro name.
3991
3992 2001-02-08  Richard Henderson  <rth@redhat.com>
3993
3994         * config/i386/i386.c (ix86_frame_pointer_required): New.
3995         (ix86_setup_frame_addresses): New.
3996         (struct machine_funciton): Add accesses_prev_frame.
3997         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
3998         ix86_frame_pointer_required.
3999         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
4000         (SETUP_FRAME_ADDRESSES): New.
4001         * config/i386/i386-protos.h: Update.
4002         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
4003         from FRAME_POINTER_REQUIRED.
4004         * config/i386/svr3gas.h: Likewise.
4005         * config/i386/sysv3.h: Likewise.
4006         * config/i386/v3gas.h: Likewise.
4007
4008 2001-02-08  Richard Henderson  <rth@redhat.com>
4009
4010         * config/sparc/sparc.c (function_arg_record_value_3): Fix
4011         calculation of the number of integer registers required.
4012         (function_arg_record_value): Likewise.
4013
4014 2001-02-08  Jason Merrill  <jason@redhat.com>
4015
4016         * diagnostic.c (internal_error): Say "confused" after 1 error, not
4017         two.  Print file and line with "confused" message.
4018
4019         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
4020
4021 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4022
4023         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
4024
4025 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
4026
4027         * final.c (cleanup_subreg_operands): The address of a MEM can
4028         contain SUBREGs.
4029
4030         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
4031         for asms, too.
4032
4033 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
4034
4035         * gcc.texi (Incompatibilities): Update documentation of
4036         preprocessing numbers.
4037
4038 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
4039
4040         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
4041
4042 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
4043
4044         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
4045
4046         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
4047         * gcc.c (struct compiler): Add cpp_spec field.
4048         (input_file_compiler): New variable.
4049         (do_spec_1): Allow a particular compiler to handle `%C'
4050         specially.
4051         (main): Store the current compiler in input_file_compiler.
4052         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
4053
4054 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
4055
4056         * cpphash.h (struct spec_nodes): Add n_true and n_false.
4057         * cppinit.c (cpp_create_reader): Initialize them.
4058         (append_include_chain): cxx_aware arg might be unused.
4059         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
4060         keywords and give them their phase 7 meaning.  Pedwarn about
4061         this unless '__bool_true_false_are_defined' is defined.
4062
4063 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
4064
4065         * lcm.c (optimize_mode_switching): Emit mode_set before the
4066         JUMP_INSN of an abnormal edge.
4067
4068 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
4069
4070         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
4071         a scheduling barrier at the end.
4072
4073         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
4074
4075 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
4076
4077         * config/sh/sh.md (reload_outsf): Removed.
4078         (movsf_ie): Introduce constraints for FPUL loads and stores.
4079         (reload_insf): Broaden the output constraint.
4080
4081         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
4082         defined.
4083         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
4084         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
4085
4086 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
4087
4088         * final.c: Revert my previous changes.
4089         * output.h: Make profile_label_no extern.
4090         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
4091         for generating label.
4092
4093 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
4094
4095         * config/i386/djgpp.h: Add comments about standard paths.
4096         (MD_EXEC_PREFIX): Undefine before defining.
4097         (MD_STARTFILE_PREFIX): New.
4098
4099 2001-01-30  Bruce Korb  <bkorb@gnu.org>
4100
4101         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
4102         (load_file): do not rely on load_file_data() to close file pointer
4103         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
4104         fixinc/inclhack.def(irix_limits_const): add test_text
4105
4106 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4107
4108         * cppexp.c (parse_defined): Improve diagnostics for invalid
4109         syntax.
4110
4111 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4112
4113         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
4114
4115 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
4116
4117         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
4118         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
4119         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
4120         (rs6000_output_symbol_ref): New function.
4121         (output_toc): Use VTABLE_NAME_P.
4122
4123 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4124
4125         * print-tree.c (print_node, case PARM_DECL):
4126         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
4127
4128         * stor-layout.c (reference_types_internal): New variable.
4129         (internal_reference_types): New function.
4130         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
4131         * tree.h (internal_reference_types): New declaration.
4132
4133         * cse.c (find_best_addr): Fix typo in computing cost.
4134
4135 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4136
4137         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
4138         and this is the sum of a pointer and a constant, we know the result
4139         did not overflow.
4140         (num_sign_bit_copies, case PLUS): Likewise.
4141         * explow.c (convert_memory_address): Remove opposite SUBREG.
4142         * function.c (instantiate_new_reg): New function (from common code).
4143         (instantiate_virtual_regs_1): Call it.
4144         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
4145         if pointers sign- or zero-extend.
4146         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
4147         If pointers extend unsigned, use inside of SUBREG.
4148         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
4149
4150 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
4151
4152         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
4153         subdir of gcc_gxx_include_dir.
4154         (gcc_gxx_target_include_dir): Remove.
4155
4156 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
4157
4158         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
4159         (dwarf2out_frame_debug_expr): Revise introductory comments to add
4160         a high-level description.
4161
4162 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
4163
4164         * final.c: Move the declaration of profile_label_no to ...
4165         * output.h: ... here.
4166         * function.c (expand_function_start): Call PROFILE_HOOK.
4167         * config/rs6000/aix.h: Define PROFILE_HOOK.
4168         * config/rs6000/rs6000-protos.h: output_profile_hook new.
4169         * config/rs6000/rs6000.c (output_profile_hook): Define.
4170         (output_prolog): Do nothing for ABI_AIX as it is taken care by
4171         output_profile_hook.
4172         tm.texi : Explain new macro PROFILE_HOOK.
4173
4174 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
4175
4176         * extend.texi (Extended Asm): Do not say that semicolon is always
4177         a valid line-breaking character for GNU assemblers.  Use
4178         newline-tab as the most commonly supported syntax.  Use
4179         newline-tab rather than semicolon in multi-insn examples.
4180
4181 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4182
4183         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
4184
4185 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4186             David Edelsohn  <edelsohn@gnu.org>
4187
4188         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
4189         code for AIX, even without flag_pic.
4190
4191 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
4192
4193         * c-typeck.c (common_type): push and pop binding level around
4194         calling common_type on function parameters.
4195
4196 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
4197
4198         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
4199
4200 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4201
4202         * config/mips/mips.c (override_options): Fix typo in last change.
4203         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
4204         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
4205
4206 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
4207
4208         * invoke.texi (-fdump-class-layout): Document.
4209         (-fdump-translation-unit): Use `=' as filename separator.
4210
4211 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
4212
4213         * Makefile.in (s-mlib): Don't build multilibs if
4214         --disable-multilib.
4215         (DRIVER_DEFINES): Adjust accordingly.
4216         (gcc.o): Likewise.
4217         (protoize.o): Likewise.
4218         (unprotoize.o): Likewise.
4219         * configure.in: Recognize --enable-multilib.
4220
4221 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
4222
4223         * Makefile.in (DRIVER_DEFINES): Fix quoting.
4224
4225         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
4226         * configure.in: Remove --enable-libstdcxx_v3 support.
4227         * configure: Regenerated.
4228
4229 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4230
4231         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
4232         Call abort instead of fatal.
4233         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
4234         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
4235         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
4236         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
4237         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
4238         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
4239
4240         * diagnostic.h (set_internal_error_function): Renamed.
4241         * toplev.h (internal_error): Renamed from fatal.
4242         (pfatal_with_name): Deleted.
4243         (fatal_io_error): Now has printf-style arguments.
4244         * diagnostic.c (pfatal_with_name): Deleted.
4245         (fatal_io_error): Rework to have args in printf-style.
4246         (set_internal_error_function): Renamed from set_fatal_function.
4247         (internal_error): Renamed from fatal.
4248         (error_recursion, fancy_abort): Call internal_error instead of fatal.
4249         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
4250         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
4251         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
4252         * flow.c (verify_flow_info): Likewise.
4253         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
4254         * config/mips/mips.c (save_restore_insns): Likewise.
4255
4256         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
4257         * flow.c (verify_flow_info): Likewise.
4258         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
4259         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
4260         (avr_normalize_condition): Likewise.
4261         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
4262         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
4263         (limit_reload_class, double_reg_to_memory): Likewise.
4264         (print_operand_address, emit_1600_code_shift): Likewise.
4265         (gen_tst_reg, gen_compare_reg): Likewise.
4266         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
4267         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
4268         Deleted.
4269         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
4270
4271         * c-parse.in (methoddef): Call fatal_error instead of fatal.
4272         * objc/objc-act.c (build_ivar_chain): Likewise.
4273         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
4274         pfatal_with_name.
4275         * graph.c (clean_graph_dump_file): Likewise.
4276         * profile.c (init_branch_prob): Likewise.
4277         * objc/objc-act.c (objc_init): Likewise.
4278
4279         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
4280         * config/avr/avr.c (avr_override_options): Likewise.
4281         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
4282         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
4283         * config/h8300/h8300.c (h8300_init_once): Likewise.
4284         * config/mips/mips.c (override_options): Likewise.
4285         * config/i386/i386.c (override_options): Likewise, rework.
4286         * config/m68k/m68k.c (override_options): Likewise.
4287
4288         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
4289         instead of fatal.
4290         * config/mips/mips.c (print_operand): Likewise.
4291         * hash.c (hash_allocate): Don't check for failure returns from
4292         obstack functions that can't fail.
4293         (hash_table_init_n, hash_table_init): Likewise; also now return void.
4294         * hash.h (hash_table_init_n, hash_table_init): Now return void.
4295         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
4296         (get_object_reference): Likewise.
4297
4298 2001-02-04  Nick Clifton  <nickc@redhat.com>
4299
4300         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
4301         StrongARM1110, 10TDMI, and 1020T.
4302
4303 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4304
4305         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
4306
4307 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
4308
4309         * config/sh/sh.md (movdf load split): Pass register number to
4310         FP_OR_XD_REGISTER_P.
4311
4312 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
4313
4314         * cppinit.c (BC): New macro.
4315         (builtin_array): Add __GXX_WEAK__.
4316         * cpplib.h (builtin_type): Add BT_WEAK.
4317         * cppmacro.c (builtin_macro): Handle BT_WEAK.
4318         * defaults.h (SUPPORTS_ONE_ONLY): Define.
4319         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
4320
4321 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
4322
4323         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
4324
4325 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
4326
4327         * cpphash.h: Rename _ALIGN POOL_ALIGN.
4328         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
4329
4330 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
4331
4332         * cpphash.h: Rename ALIGN _ALIGN.
4333         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
4334
4335 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
4336
4337         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
4338         compilation environment.
4339         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
4340         control over location of cygwin includes and libs.
4341
4342 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
4343
4344         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
4345
4346 2001-02-02  lars brinkhoff  <lars@nocrew.org>
4347
4348         * md.texi (Standard Names): remove reference to spur.md.
4349
4350 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
4351
4352         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
4353         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
4354         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
4355         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
4356         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
4357
4358 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4359
4360         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
4361         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
4362         number before reload.
4363         (c4x_adjust_cost): Return zero before reload.
4364         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
4365         split before reload.
4366
4367 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4368
4369         * c4x.c (c4x_hard_regno_rename_ok): New.
4370         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
4371         * c4x.h (HARD_REGNO_RENAME_OK): Define.
4372
4373 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4374
4375         * diagnostic.h: Add missing "extern" in all declarations.
4376
4377 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
4378
4379         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
4380         as for gcc_gxx_include_dir.
4381
4382 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
4383
4384         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
4385
4386 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
4387
4388         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
4389         label before alignment to be used as the braf base address.
4390         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
4391         branches.
4392         (casesi_jump_2): Require at least TARGET_SH2.
4393
4394         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
4395         truncation to 32-bit doubles on -m3e and -m4-single-only.
4396
4397 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
4398
4399         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
4400         the default when building a shared object.
4401         (init_spec): Use it.
4402         * testsuite/lib/g++.exp: Include the directory where libgcc
4403         is located to the LD_LIBRARY_PATH list.
4404         * invoke.texi (-shared-libgcc): Document the cases in which
4405         GCC defaults to using the shared libgcc.
4406
4407 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
4408
4409         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
4410         unsigned is wide enough.
4411         (BITS_PER_SI): New.
4412         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
4413         (si_to_float): Likewise.
4414         (float_to_si, float_to_usi): Use BITS_PER_SI.
4415
4416 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
4417
4418         * dwarf2out.c: Added explanation of abbreviations.
4419         (def_cfa_1): Added comments listing DWARF2 instructions.
4420         (cfa_temp_reg): Removed in favor of cfa_temp.
4421         (cfa_temp_value): Removed in favor of cfa_temp.
4422         (cfa_temp): New global variable.
4423         (dwarf2out_frame_debug_expr): Added extensive introductory
4424         comments explaining the function's transformations.  Revised to
4425         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
4426         (dwarf2out_frame_debug): Revised to use cfa_temp.
4427         (output_aranges): Cast as "unsigned" to avoid warning.
4428         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
4429         explain which instructions must be marked.
4430
4431 2001-02-01  Richard Henderson  <rth@redhat.com>
4432
4433         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
4434         new instruction.
4435
4436 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
4437
4438         * config/sh/crt1.asm (main_k): Modified so that start calls
4439         ___setup_argv_and_call_main.
4440
4441 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
4442
4443         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
4444         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
4445         and AVOID_LPASTE is cleared on meeting an unescaped newline.
4446         * cppmacro.c (builtin_macro): Set builtin flags here.
4447         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
4448         (replace_args): Clarify intent.
4449         (cpp_get_token): Macro expansion tokens get the saved flags.
4450         Update.
4451         * cppmain.c (scan_buffer): Remove now-redundant print.printed
4452         check.
4453
4454 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
4455
4456         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
4457         2001-Jan-29.
4458
4459 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4460
4461         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
4462         returns Pmode pseudo, but we need ptr_mode.
4463         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
4464         Remove bogus conversions; use HOST_WIDE_INT for size.
4465         Don't use TARGET if wrong mode.
4466
4467         * config/i386/i386.c (ix86_compute_frame_size): Allow
4468         stack_alignment_needed to be non-default even if size is zero.
4469
4470 2001-01-31  Alan Modra <alan@linuxcare.com.au>
4471
4472         * (hppa_init_pic_save): Emit the pic offset table
4473         reg save after last_parm_insn.
4474         * pa.c (hppa_init_pic_save): New function.
4475         * pa.h (hppa_init_pic_save): Declare.
4476         * pa.md (call, call_value, sibcall, sibcall_value): Use
4477         the above instead of duplicated code.
4478
4479         * pa.c (hppa_encode_label): Correct size of alloca buffer
4480         so we don't overrun it.  Correct leading `*' case.
4481         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
4482         need to handle `*@'.
4483         (FUNCTION_NAME_P): Likewise.
4484
4485 2001-01-31  Richard Henderson  <rth@redhat.com>
4486
4487         * config.gcc (alpha-osf5): Use float-i128.h.
4488
4489         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
4490         * config/float-i32.h: Likewise.
4491         * config/float-i64.h: Likewise.
4492         * config/float-sh.h: Likewise.
4493         * config/float-sparc.h: Likewise.
4494
4495 2001-01-31  DJ Delorie  <dj@redhat.com>
4496
4497         * expmed.c (extract_bit_field): allow non-integral modes if we
4498         want to extract a whole register from itself.
4499
4500 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
4501
4502         * c-typeck.c (set_init_index): If first is equal to last, assume as
4503         if it was not a range at all.
4504
4505 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
4506
4507         * config/fp-bit.c: Include tm.h.
4508         (float_to_si): Don't assume SImode is 32-bits wide.
4509         (float_to_usi): Likewise.
4510
4511 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
4512
4513         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
4514         incomplete type.
4515         (typename): Call pending_xref_error after parsing typed_typespecs.
4516         * c-decl.c (lookup_tag): Give error immediately rather than
4517         leaving it pending if the tag of the wrong type is in the same
4518         binding level.
4519         (xref_tag): Don't pedwarn for forward declarations of enum types
4520         here.
4521         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
4522         and enum tags.
4523
4524 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
4525
4526         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
4527
4528 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
4529
4530         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
4531         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
4532
4533 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
4534
4535         * cpphash.h (struct cpp_reader): New saved_flags.
4536         * cppmacro.c (cpp_get_token): Use saved_flags to remember
4537         to avoid a paste after a pasted token.
4538
4539 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
4540
4541         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
4542         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
4543         Wtype_MIN instead of LONG_MIN.
4544
4545 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
4546
4547         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
4548         README file.
4549         * fixinc/fixincl.x: Regenerated.
4550         * fixinc/inclhack.def (irix_limits_const): New definition to
4551         convert "const" to "__const" in limits.h.
4552
4553 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
4554
4555         * fixinc/genfixes (AG): Fix "autogen4" thinko.
4556
4557 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
4558
4559         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
4560         when register dies in the insn.
4561
4562 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
4563
4564         * diagnostic.c (fatal): Fix word wrap.
4565
4566 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
4567
4568         * combine.c (try_combine): Fix SUBREG setting for
4569         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
4570
4571 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4572
4573         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
4574         comparison codes.
4575
4576 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
4577
4578         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
4579         is not NULL.
4580         * toplev.c (decode_W_option): Update warn_larger_than
4581         unconditionally for each processed switch.
4582
4583 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4584
4585         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
4586         to NULL_RTX.
4587         (hppa_expand_prologue): Delete code to save pic offset table register
4588         in the function prologue.
4589         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
4590         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
4591         table register at the beginning of the function after the prologue.
4592
4593 2001-01-29  lars brinkhoff  <lars@nocrew.org>
4594
4595         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
4596
4597 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4598             Jeff Law <law@redhat.com>
4599
4600         * pa.md (return): Revise comment for trivial return.
4601         (return_internal): Non-trivial return pattern for non-PIC code.
4602         (return_internal_pic): Non-trivial return pattern for PIC code.
4603         It uses the PIC register to ensure it is restored after
4604         function calls.
4605         (epilogue): Generate appropriate return for PIC and non-PIC code.
4606
4607 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
4608
4609         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
4610
4611 2001-01-29  DJ Delorie  <dj@redhat.com>
4612
4613         * combine.c (if_then_else_cond): Pass the correct mode to
4614         operand_subword() for constants.
4615
4616 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
4617
4618         * config/i386/cygwin.h: Add w32api to include search.  Search different
4619         directories in a cross-build environment.
4620
4621 2001-11-29  Tim Josling  <tej@melbpc.org.au>
4622
4623         * tree.h (TYPE_STUB_DECL): Add documentation.
4624
4625 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
4626
4627         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
4628         (sdbout_field_types): Likwise.  Fix use of host_integerp.
4629
4630 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
4631
4632         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
4633         cygwin.h.
4634
4635 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
4636
4637         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
4638         to use flag_gnu_linker.
4639
4640 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
4641
4642         * cpplib.c (T_BAD_DIRECTIVE): Remove.
4643         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
4644
4645 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
4646
4647         * tree.c, tree.h (build_parse_node): Remove; was identical to
4648         build_nt.
4649         * c-lang.c (start_cdtor), objc/objc-act.c
4650         (build_module_descriptor): Use build_nt instead of
4651         build_parse_node.
4652
4653 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
4654
4655         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
4656         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
4657         not have any upper bits set.
4658
4659 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
4660
4661         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
4662
4663 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4664
4665         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
4666
4667         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
4668
4669         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
4670         (integer_minus_one_node): Define.
4671
4672 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
4673
4674         * Makefile.in (bootstrap2-lean): Fix typo.
4675
4676 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
4677
4678         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
4679         : Don't set fe_value.
4680         * cpplib.h (AVOID_LPASTE): New flag.
4681         (struct cpp_hashnode): Remove fe_value.
4682         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
4683         * cppmacro.c (builtin_macro): Don't set flags here.
4684         (replace_args): Set AVOID_LPASTE flag on first token of an
4685         argument, and the token following it.
4686         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
4687         macro expansion, and on the token following it.  Do it for
4688         builtins too.
4689         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
4690
4691 2001-01-27  Richard Henderson  <rth@redhat.com>
4692
4693         * config/alpha/t-ieee: Remove multilibbing.
4694         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
4695
4696 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4697
4698         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
4699
4700         * Makefile.in: Remove all dependencies on defaults.h.
4701         * builtins.c: Don't include defaults.h.
4702         * c-common.c: Likewise.
4703         * c-decl.c: Likewise.
4704         * c-pragma.c: Likewise.
4705         * c-typeck.c: Likewise.
4706         * combine.c: Likewise.
4707         * i386.c: Likewise.
4708         * frame-ia64.c: Likewise.
4709         * cppexp.c: Likewise.
4710         * crtstuff.c: Likewise.
4711         * dbxout.c: Likewise.
4712         * dwarf2out.c: Likewise.
4713         * dwarfout.c: Likewise.
4714         * emit-rtl.c: Likewise.
4715         * except.c: Likewise.
4716         * expr.c: Likewise.
4717         * final.c: Likewise.
4718         * frame-dwarf2.c: Likewise.
4719         * libgcc2.c: Likewise.
4720         * optabs.c: Likewise.
4721         * profile.c: Likewise.
4722         * sdbout.c: Likewise.
4723         * toplev.c: Likewise.
4724         * tradcif.y: Likewise.
4725         * tree.c: Likewise.
4726         * varasm.c: Likewise.
4727
4728 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4729
4730         * builtins.c (expand_builtin_fputs): Use size_one_node when
4731         transforming into fwrite.
4732
4733 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
4734
4735         * extend.texi (Attribute Syntax): New section.
4736
4737 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
4738
4739         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
4740         they didn't need fixing.
4741
4742 2001-01-27  Janis Johnson <janis@us.ibm.com>
4743
4744         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
4745         if appropriate.
4746         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
4747         to remove macro definitions that are duplicated from elfos.h.
4748
4749 2001-01-27  Richard Henderson  <rth@redhat.com>
4750
4751         * config/i386/sco5gas.h: Move ...
4752         * config/usegas.h: ... here.
4753         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
4754
4755 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
4756
4757         * c-typeck.c (struct constructor_stack): Add range_stack member.
4758         (really_start_incremental_init): Clear it.
4759         (push_init_level): Save constructor_range_stack and clear it if
4760         pushing explicit braces.
4761         (pop_init_level): abort if constructor_range_stack is non-zero at
4762         explicit closing brace.  Restore saved constructor_range_stack if
4763         not implicit.
4764
4765 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
4766
4767         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
4768         into register was forced into memory.
4769
4770 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
4771
4772         * Makefile.in: Remove uses of + before $(MAKE).
4773
4774 2001-01-26  Richard Henderson  <rth@redhat.com>
4775
4776         * stmt.c (cost_table): Remove.
4777         (COST_TABLE, cost_table_initialized): New.
4778         (estimate_case_costs): Use the later instead of the former.
4779         (balance_case_nodes): Likewise.
4780
4781 2001-01-26  Richard Henderson  <rth@redhat.com>
4782
4783         * alias.c (objects_must_conflict_p): Read-only slots may not
4784         conflict despite having the same type.
4785
4786 2001-01-27  Michael Hayes  <mhayes@redhat.com>
4787
4788         * loop.c (loop_giv_reduce_benefit): Copy mode size into
4789         int variable.
4790         (check_ext_dependant_givs): Initialise u_start_val and
4791         u_end_val.
4792         (load_mems): Make last_max_reg unsigned.
4793         (try_swap_copy_prop): Use INSN_P and initialise set.
4794
4795 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
4796
4797         * README.AVR : Removed.
4798
4799 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
4800
4801         * pa-64.h (text_section): Remove declaration.
4802
4803         * pa.md (return_internal): Remove mode on PIC register use.
4804
4805 2001-01-25  lars brinkhoff  <lars@nocrew.org>
4806
4807         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
4808         ASM_CLOSE_PAREN): fix typos.
4809
4810 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
4811
4812         * acconfig.h: Define `const' to the empty string if neither
4813         __STDC__ nor __cplusplus is defined.
4814         * config.in: Regenerated.
4815
4816 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
4817
4818         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
4819         * collect2.c (main): Delete importf.  Add ".obj" file extension.
4820         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
4821         (aix_std_libs): Add additional AIX libraries to skip.
4822         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
4823         * config/rs6000/aix51.h: New file.
4824
4825 2001-01-25  Michael Hayes  <mhayes@redhat.com>
4826
4827         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
4828         (loop_insn_emit_before): No longer static.
4829         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
4830         (loop_givs_rescan, load_mems): Likewise.
4831         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
4832         (maybe_eliminate_biv_1):
4833         (move_movables): Replace emit_call_insn_before with
4834         loop_call_insn_hoist.
4835         * loop.h (loop_insn_emit_before): Add.
4836         * unroll.c (copy_loop_body): Replace emit_insn_before with
4837         loop_insn_emit_before.
4838
4839 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
4840
4841         * diagnostic.c (fatal): Request preprocessed source.
4842
4843 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
4844
4845         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
4846         olddecl has argument types and newdecl has none, use the argument
4847         types from olddecl.
4848
4849 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
4850
4851         * dwarf2out.c (prefix_of): New function.  Determine longest common
4852         prefix of the two arguments.  The units are whole path components.
4853         (output_file_names): When adding a new directory find the one entry
4854         with the longest common prefix already in the list.  Artificially
4855         generate entry if there is none for this prefix.
4856         Fix test to check whether the zeroth directory entry is used.
4857
4858 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
4859
4860         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
4861         Changed all callers.  Take it into account when deciding if a
4862         previously loaded value matches.
4863
4864 2001-01-24  Richard Henderson  <rth@redhat.com>
4865
4866         * reload.c (find_reloads_subreg_address): Fail the substitution
4867         if the resulting address is insufficiently aligned.
4868
4869 2001-01-24  DJ Delorie  <dj@redhat.com>
4870
4871         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
4872         check the original operand's mode also.
4873         * simplify-rtx.c (simplify_ternary_operation): Ditto.
4874
4875 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
4876
4877         * c-parse.in (cast_expr): Move compound literals from here ...
4878         (primary): ... to here.  Use standard terminology "compound
4879         literal" instead of "constructor expression".
4880
4881 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
4882
4883         * gcc.1, cpp.1: Regenerate.
4884
4885 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
4886
4887         * calls.c (emit_library_call_value_1): Memory slot for
4888         pass-by-reference argument should have the mode of the argument,
4889         not of the pointer to it.
4890
4891 2001-01-24  Tom Tromey  <tromey@redhat.com>
4892
4893         * gcc.texi (G++ and GCC): Mention gcj manual.
4894         (Standards): Link to section of manual mentioning gcj/Java
4895         compatibility.
4896
4897 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
4898
4899         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
4900         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
4901         * tradcpp.c (main): Add -imacros or -include'd dependencies
4902         for -M*.
4903         * cpp.texi (-M, -MM): Document -M -include behaviour.
4904
4905 2001-01-24  Roger Collins <roger@ProProject.com>
4906
4907         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
4908
4909 2001-01-24  Will Cohen  <wcohen@redhat.com>
4910
4911         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
4912         whether registers are 32 bits or 64 bits in size.
4913
4914 2001-01-24  Ben Elliston  <bje@redhat.com>
4915
4916         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
4917
4918 2001-01-24  Richard Henderson  <rth@redhat.com>
4919
4920         * config/alpha/alpha.md (builtin_longjmp_internal): New.
4921         (builtin_longjmp): Use it instead of emit_indirect_jump.
4922
4923 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4924
4925         * bb-reorder.c (make_reorder_chain_1): Handle case where
4926         jump edge goes to the same block as the fallthru edge.
4927
4928 2001-01-23  Jim Wilson  <wilson@redhat.com>
4929
4930         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
4931         * frame.h (__ia64_personality_v1): Add prototype.
4932         * libgcc2.c (ia64_throw_helper): Change personality declaration to
4933         prototype form.  Add void * cast to first argument to personality
4934         call.
4935         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
4936         (asctoe113): Likewise.
4937         * config/ia64/frame-ia64.c: Include eh-common.h.
4938         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
4939         prototypes.
4940         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
4941         to dump parameter.
4942         (itanium_split_issue): Add prototype.
4943         (gen_nop_type): Ifdef out.
4944         (find_best_packet): Initialize best_packet.
4945         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
4946         result.
4947         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
4948         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
4949         (flushrs): Add explicit stop bit at end.
4950         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
4951         trailing \ to >.
4952
4953 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
4954
4955         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
4956         of EH symbols.
4957         * libgcc2.c (__terminate_func): Make variable static.
4958         (__terminate_set_func): New function to set __terminate_func.
4959         * libgcc2.h (__terminate_func_ptr): New typedef.
4960         (__terminate_set_func): New function.
4961
4962 2001-01-23  Richard Henderson  <rth@redhat.com>
4963
4964         * flow.c (init_propagate_block_info): Don't consider unchanging
4965         memories for dead frame store elimination.
4966
4967 2001-01-23  Richard Henderson  <rth@redhat.com>
4968
4969         * varasm.c (UNIQUE_SECTION): Move default implementation ...
4970         * defaults.h: ... here.
4971
4972 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4973
4974         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
4975
4976 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4977
4978         * c-lex.c (lex_charconst): Fix typo: s/p/str.
4979
4980 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4981
4982         * rs6000.h (rs6000_return_addr): Move prototype from here...
4983         * rs6000-protos.h (rs6000_return_addr): ...to here.
4984         (rs6000_init_expanders): Delete prototype.
4985
4986 2001-01-23  Nick Clifton  <nickc@redhat.com>
4987
4988         * invoke.texi: Replace , with \, inside @gccoptlist macros.
4989         (Spec Files): Document %B and %j and %. and %v3 and %M and
4990         %{S*&T} spec switches.
4991
4992 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4993
4994         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
4995
4996 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
4997             Neil Booth  <neil@daikokuya.demon.co.uk>
4998
4999         * cpperror.c: Merge handlers of PEDWARN and WARNING.
5000         Have -Werror make pedantic warnings errors, like the
5001         rest of GCC.
5002
5003 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
5004
5005         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
5006
5007 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
5008
5009         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
5010         * integrate.c (expand_inline_function): Initialize them.
5011         (subst_constants): If changing COMPARE so that both its arguments
5012         will be VOIDmode and the comparison mode will be lost, note
5013         compare_mode.  Use the recorded compare_mode to optimize
5014         IF_THEN_ELSE.
5015
5016 2001-01-23  Jason Merrill  <jason@redhat.com>
5017
5018         * dwarf2out.c (new_die): Use xcalloc.
5019         (output_die): Abort rather than emit a local reference to offset 0.
5020
5021 2001-01-17  Andrew Haley  <aph@redhat.com>
5022
5023         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
5024         of a saved register; return NULL instead.
5025         (copy_reg): Take a pointer to a source register rather than a
5026         frame_state.
5027         (next_stack_level): Remember the address in the stack frame of all
5028         saved registers.
5029         Use the saved register pointer array as the source of the CFA.
5030         (throw_helper): Rewrite.  Unwind once rather than twice and keep
5031         track of saved registers as we go.
5032
5033 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5034
5035         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
5036         * c4x.c (c4x_legitimize_reload_address): Remove.
5037         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
5038         reload address for ldp(k) insn.
5039
5040 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
5041
5042         * pa.md (return_internal): Add a USE of the PIC register to ensure
5043         it is restored after each call.
5044         (return expander): Corresponding changes.
5045
5046 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5047
5048         * rs6000.h (INIT_EXPANDERS): Delete.
5049         (RETURN_ADDR_RTX): Call rs6000_return_addr().
5050         * rs6000.c (rs6000_override_options): Call *_machine_status from
5051         here...
5052         (rs6000_init_expanders): ...instead of here. Delete.
5053         (rs6000_mark_machine_status): New function.
5054         (rs6000_init_machine_status): Use xcalloc.
5055         (rs6000_return_addr): Generate RTX for the return address.
5056         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
5057         (rs6000_stack_info): Use it.
5058
5059 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
5060
5061         * gthr-win32.h: Include errno.h to get a declaration for
5062         EINVAL and _mingw.h if the target is mingw32.
5063
5064 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
5065
5066         * cpp.texi: Correct typos.
5067
5068 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5069
5070         * explow.c (probe_stack_range): Ensure value passed to
5071         stack_check_libfunc is ptr_mode, not Pmode.
5072
5073 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
5074
5075         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
5076         case, don't use operand_subword to calculate a SUBREG that is
5077         wider than a word.
5078
5079         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
5080
5081 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5082
5083         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
5084         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
5085         valid.  If not replace it by equivalent insns.
5086
5087 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5088
5089         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
5090         contains SYMBOL_REF, LABEL_REF and CONST_INT.
5091         (c4x_U_constraint, symbolic_address_operand): Likewise.
5092         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
5093         memory.
5094         (c4x_r11_set_p, c4x_check_laj_p): New functions.
5095         * c4x-protos.h (c4x_check_laj_p): Add prototype.
5096         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
5097         anulling slot because of silicon bug.
5098         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
5099
5100 2001-01-22  Alan Modra <alan@linuxcare.com.au>
5101
5102         * cppexp.c (parse_charconst):  Change `mask' type to agree
5103         with parse_escape.
5104
5105 2001-01-21  Richard Henderson  <rth@redhat.com>
5106
5107         * config/i386/i386.c (ix86_asm_file_end): Disable putting
5108         pic_label_name in a linkonce section.
5109
5110 2001-01-17  Philipp Thomas  <pthomas@suse.de>
5111
5112         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
5113         found in libintl.
5114         * configure: Regenerate.
5115
5116 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
5117
5118         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
5119         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
5120
5121 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
5122
5123         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
5124         If REVERSE nonzero then condition code in X must be reversed.
5125         (encode_section_info): Optimise if/else.
5126         (avr_function_value): Fix formatting.
5127
5128         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
5129         (difficult_branch): Likewise.
5130         (rvbranch): Likewise.
5131         (difficult_rvbranch): Likewise.
5132
5133         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
5134
5135         * config/avr/libgcc.S: Fix comment.
5136
5137 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
5138
5139         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
5140
5141 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
5142
5143         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
5144
5145 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
5146
5147         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
5148         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
5149         * configure, config.in: Regenerate.
5150         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
5151         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
5152         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
5153         (doprint.o): New rule.
5154
5155 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
5156
5157         * c-typeck.c (digest_init): Handle boolean types as scalars.
5158
5159 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5160
5161         * stmt.c (expand_return): Don't return anything if size is zero.
5162         Delete redundant assignment to BYTES.
5163         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
5164
5165 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
5166
5167         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
5168         the same as the default library function names.
5169         * config/avr/avr.md: Document special characters after '%'.
5170         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
5171         knowing which of the call-used registers are really clobbered.
5172         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
5173         New.  Both quotient and remainder from one libgcc.S call.
5174         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
5175         clobber as few registers as possible.
5176         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
5177
5178 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
5179
5180         * cppmacro.c (funlike_invocation_p): Don't move back up to the
5181         context of the top of the stack.
5182
5183 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
5184
5185         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
5186         (fixup_var_refs_insns): ...here.
5187
5188 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
5189
5190         * function.c (fixup_var_refs_insns): Break up into
5191         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
5192         [loop over entire insn list], and fixup_var_refs_insns_with_hash
5193         [loop over hash table entries].
5194         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
5195         fixup_var_refs_insns_with_hash, to match above changes.
5196
5197 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5198
5199         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
5200         (libgcc.a): Likewise.
5201         (stmp-multilib): Likewise.
5202         (STAGE2_FLAGS_TO_PASS): Likewise.
5203
5204 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
5205
5206         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
5207         temporary if no_new_pseudos.
5208
5209 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
5210
5211         * cppinternals.texi: Update.
5212
5213 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
5214
5215         * arm.c (arm_init_builtins): Re-enable builtins.
5216
5217 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5218
5219         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
5220         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
5221         element to be null, and always expect an EXPR_LIST.
5222         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
5223         * sched-deps.c (sched_analyze_1): Likewise.
5224         * sched-rgn.c (check_live_1, update_live_1): Likewise.
5225
5226         * regclass.c (max_set_parallel): New variable.
5227         (reg_scan): Take it into account in computation of max_parallel.
5228         (reg_scan_mark_refs, case SET): Compute it.
5229
5230         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
5231         args are REG.
5232         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
5233         * function.c (assign_parms): Use INTVAL for a CONST_INT.
5234
5235 2001-01-19  Jason Merrill  <jason@redhat.com>
5236
5237         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
5238         for the abstract instance of an inline function.
5239
5240 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
5241                           J"orn Rennecke <amylaar@redhat.com>
5242
5243         * reload1.c (move2add_note_store): Treat all registers directly or
5244         indirectly derived from a base register as members of the same set
5245         of values.
5246         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
5247         of base register into account.
5248
5249 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
5250
5251         * alias.c (find_base_value): Recognize TRUNCATE.
5252         (record_set): In PLUS case, invalidate if other summand is also a
5253         base value.
5254
5255 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5256
5257         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
5258         entry to be EXPR_LIST.
5259         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
5260         be an EXPR_LIST (but not null, which other code doesn't allow).
5261         (note_stores): Properly handle PARALLEL in SET.
5262         Recursively call for top-level PARALLEL.
5263         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
5264         * sched-rgn.c (check_live_1, update_live_1): Likewise.
5265
5266         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
5267
5268 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
5269
5270         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
5271         not pfile->skipping (== 0).
5272
5273 2001-01-17  Nick Clifton  <nickc@redhat.com>
5274
5275         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
5276         machine_status.
5277
5278 2001-01-17  Jim Wilson  <wilson@redhat.com>
5279
5280         * invoke.texi (IA-64 options): Improve.
5281
5282 2001-01-17  Tom Tromey  <tromey@redhat.com>
5283
5284         * invoke.texi (Optimize Options): Use `{}' to around @samp
5285         argument.
5286
5287 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
5288
5289         * invoke.texi (-fno-guess-branch-probability): New option.
5290
5291 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5292
5293         * combine.c (try_combine): Don't set i3_subst_into_i2 for
5294         case of making new double-word constant.
5295         Revert last change: instead just test i3_subst_into_i2.
5296
5297 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
5298
5299         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
5300         Use q constraints instead of r.
5301
5302 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
5303
5304         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
5305         (machine_function): Define.
5306         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
5307         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
5308         pa_free_machine_status): New functions.
5309         (override_options): Set {init,mark,free}_machine_status to above.
5310         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
5311         PIC_OFFSET_TABLE_REGNUM_SAVED.
5312         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
5313         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
5314         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
5315         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
5316         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
5317
5318 2001-01-15  DJ Delorie  <dj@redhat.com>
5319
5320         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
5321         (cpp.1): Ditto.
5322         (gcc.1): Ditto.
5323
5324 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5325
5326         * flow.c (propagate_on_insn): Make trying to delete a prologue
5327         or epilogue insn an ICE, not a warning.  Allow doing this if
5328         the current function returns with stack pointer depressed.
5329
5330         * combine.c (try_combine): If i3_subst_into_i2, properly check for
5331         I3 having more than one SET.
5332
5333 2001-01-16  Jim Wilson  <wilson@redhat.com>
5334
5335         * invoke.texi: Document IA-64 options.
5336
5337         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
5338         (fixup_errata): Delete TARGET_A_STEP use.
5339         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
5340         (TARGET_SWITCHES): Delete -ma-step option.
5341         * config/ia64/ia64.md (all FP patterns): Delete %B0.
5342         (movqicc_astep, movqi_internal_astep, movhicc_astep,
5343         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
5344         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
5345         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
5346         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
5347         Delete.
5348         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
5349         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
5350         cmovsi_internal): Delete ! TARGET_A_STEP check.
5351
5352 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5353
5354         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
5355         possibility to report bugs via postal mail. Change a URL and
5356         merge in a nearly duplicate statement...
5357         (Bug Reporting): ...from here.
5358         (Service): Refer to the Bug Reporting section instead of
5359         duplicating an URL.
5360         (Contributing): Remove trivial explanations concerning snapshots.
5361
5362 2001-01-16  Alan Modra <alan@linuxcare.com.au>
5363
5364         * cppmain.c (general_init): Don't use ANSI prototype.
5365
5366 2001-01-16  Tom Tromey  <tromey@redhat.com>
5367
5368         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
5369
5370 2001-01-16  Richard Henderson  <rth@redhat.com>
5371
5372         * config/i386/i386.h: Fix comment typo.
5373         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
5374         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
5375
5376 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
5377
5378         * gcc.c:  Revert previous -fsyntax-only-related change; move
5379         to cp/g++spec.c.
5380
5381 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
5382
5383         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
5384         inmode after checking GET_CODE (op).
5385
5386 2001-01-16  Richard Henderson  <rth@redhat.com>
5387
5388         * flow.c (struct propagate_block_info): Add mem_set_list_len.
5389         (MAX_MEM_SET_LIST_LEN): New.
5390         (propagate_one_insn): Update mem_set_list_len.
5391         (invalidate_mems_from_autoinc): Likewise.
5392         (invalidate_mems_from_set): Likewise.
5393         (mark_used_regs): Likewise.
5394         (init_propagate_block_info): Likewise.  Stop collecting memories
5395         when we reach MAX_MEM_SET_LIST_LEN.
5396         (mark_set_1): Likewise.
5397
5398 2001-01-16  Richard Henderson  <rth@redhat.com>
5399
5400         * unroll.c (precondition_loop_p): Fail if no iteration
5401         variable found.
5402
5403 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
5404
5405         * gcc.c:  When -fsyntax-only is given, do not complain about
5406         unused libraries.
5407
5408 2001-01-15  Richard Henderson  <rth@redhat.com>
5409
5410         * config/i386/i386.c (asm_output_function_prefix): Remove.
5411         (ix86_asm_file_end): New.
5412         (load_pic_register): Generate pic_label_name into a
5413         staticly allocated buffer.
5414         * config/i386/i386-protos.h: Update.
5415         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
5416         (ASM_FILE_END): New.
5417         * config/i386/i386afe.h: New file.
5418         * config.gcc (i?86-*-elf) [tm_file]: Use it.
5419         (i?86-*-{freebsd,linux*,moss*}): Likewise.
5420         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
5421         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
5422         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
5423         * config/i386/sco5.h (ASM_FILE_END): Likewise.
5424         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
5425
5426 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
5427
5428         * Makefile.in (install-man): Remove explicit dependency on
5429         $(srcdir)/gcc.1.
5430
5431         * configure.in, configure: Revert previous patch requiring perl
5432         5.6.0.
5433
5434 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
5435
5436         * toplev.c (flag_guess_branch_prob): New.
5437         (f_options): Add guess-branch-probability option.
5438         (rest_of_decl_compilation): Only estimate branch probability if
5439         flag set.
5440         (main): set flag_guess_branch_prob.
5441
5442         * flags.h (flag_guess_branch_prob): New.
5443
5444 2001-01-15  DJ Delorie  <dj@redhat.com>
5445
5446         * gcc.texi (Makefile): Add documentation for Makefile targets.
5447
5448 2001-01-15  Philip Blundell  <philb@gnu.org>
5449
5450         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
5451         (is_pic): Delete.
5452         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
5453         (is_pic): Delete declaration.
5454         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
5455         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
5456         * config/arm/arm.md (builtin_setjmp_receiver): New.
5457
5458 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
5459
5460         * arm.c (use_return_insn): Don't try to determine the function type
5461         until after reload has completed.
5462         (arm_output_epilogue): Don't adjust the sp value recovered from the
5463         stack.
5464         (emit_multi_reg_push): Don't record dwarf information for the pc.
5465         * arm.md (eh_epilogue): The function type may have changed, so it
5466         needs to be recalculated.
5467         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
5468         unwind tables on arm/netbsd.
5469
5470 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
5471
5472         * arm.md (cbranchsi4): Correct calculation of branch ranges.
5473         (negated_cbranchsi4): Likewise.
5474
5475 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
5476
5477         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
5478         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
5479         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
5480         pass -mapcs-* options to assembler.
5481         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
5482         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
5483         (ASM_SPEC): Call subtarget_extra_asm_spec.
5484
5485 2001-01-15  Andreas Jaeger  <aj@suse.de>
5486
5487         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
5488         warnings.
5489         (ix86_expand_builtin): Likewise.
5490
5491         * gencodes.c (output_predicate_decls): Make i size_t to avoid
5492         warning about comparison between signed and unsigned.
5493
5494 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
5495
5496         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
5497
5498 2001-01-14  Ralf Baechle <ralf@gnu.org>
5499
5500         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
5501         SUBTARGET_CPP_SPEC apropriatly.
5502
5503 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
5504
5505         * varasm.c (make_decl_rtl): Fix typo in last change.
5506
5507 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
5508
5509         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
5510         linker supports the init_priority C++ attribute.
5511         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
5512         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
5513         linker does not support init_priority C++ attribute.
5514
5515 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
5516
5517         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
5518
5519 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
5520
5521         * c-parse.in (finish_parse): Add comment about cpp_destroy.
5522         * cp/lex.c (finish_parse): Similarly.
5523         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
5524         Return the number of errors encountered.
5525         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
5526         * cppmain.c (main): Don't call cpp_destroy.
5527
5528 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
5529
5530         * configure.in: Require at least perl 5.6.0 to regenerate
5531         manpages.
5532         * configure: Regenerate.
5533
5534 2001-01-14  Richard Henderson  <rth@redhat.com>
5535
5536         * genrecog.c (DT_veclen_ge): New.
5537         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
5538         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
5539         (nodes_identical_1): Handle DT_veclen_ge.
5540         (write_cond, debug_decision_2): Likewise.
5541
5542 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
5543
5544         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
5545         with ...
5546         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
5547
5548 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
5549
5550         * cppmain.c (do_preprocessing): New function; most of the old
5551         main.
5552         (main): Call it to do most of the work.
5553         (cb): Move from global scope to set_callbacks ().
5554         (setup_callbacks): Get the callback pointer.
5555         (general_init, printer_init): Clean up code and comments.
5556
5557 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
5558
5559         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
5560         compiling PIC.
5561
5562 2001-01-14  Kazu Hirata  <kazu@hxi.com>
5563
5564         * config/h8300/h8300.c (get_shift_alg): Update comments.
5565
5566 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5567
5568         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
5569         (alloc_page, ggc_alloc): Add casts to remove warnings.
5570
5571 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
5572
5573         * combine.c (simplify_comparison): Don't change `code' when
5574         can't reverse comparison.
5575
5576 2001-01-14  Richard Henderson  <rth@redhat.com>
5577
5578         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
5579         update all call sites.  Return true for all non-label constants.
5580
5581 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
5582
5583         * i386.c (ix86_expand_compare): Add bypass_test and second_test
5584         parameters.
5585         (ix86_expand_branch): Update.
5586         (ix86_expand_setcc): Update to handle multiple test conditions.
5587         (expand_int_movcc): Likewise.
5588         (expand_fp_movcc): Likewise.
5589         * i386-protos.h (ix86_expand_compare): New.
5590         * i386.md (andqi_?_slp, orqi_?_slp): New.
5591         (conditional trap expander): Update call to ix86_expand_compare.
5592
5593 2001-01-14  Richard Henderson  <rth@redhat.com>
5594
5595         * config/vax/vax.md: Use nonimmediate_operand instead of
5596         general_operand in destinations.
5597
5598         * config/vax/vax.md (indirect_jump): Use register_operand.
5599
5600         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
5601         * config/vax/vax.md (call_pop): Turn into an expander.
5602         (call_value_pop): Likewise.
5603         (call, call_value): New.
5604
5605 2001-01-14  Andreas Jaeger  <aj@suse.de>
5606
5607         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
5608         variables.
5609         (ix86_fp_compare_mode): Add unused attribute.
5610         (ix86_expand_fp_movcc): Remove unused variable.
5611         (ix86_expand_builtin): Make fcode unsigned.
5612
5613         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
5614         (expand_expr): Add cast to avoid signed warning.
5615         (store_field): Likewise.
5616         (store_constructor_field): Likewise.
5617         (store_constructor): Likewise.
5618         (store_expr): Likewise.
5619         (clear_storage): Likewise.
5620         (emit_group_store): Likewise.
5621         (emit_group_load): Likewise.
5622
5623 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
5624
5625         * c-common.c: Move format checking code to ...
5626         * c-format.c: ... here.  New file.  Reorder some functions and
5627         declarations.
5628         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
5629         New functions.
5630         * c-common.h (decl_handle_format_attribute,
5631         decl_handle_format_arg_attribute): Declare.
5632         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
5633         (c-common.o): Adjust dependencies.
5634         (c-format.o): New list of dependencies.
5635
5636 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
5637
5638         * unroll.c (loop_iterations): If we cannot prove iteration variable
5639         is set once in each iteration, punt.
5640
5641 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
5642
5643         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
5644         (*strlenhi): Remove clobber (which was buggy) of output address.
5645
5646 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
5647
5648         * Makefile.in (generated-manpages): Add gcc.1
5649         ($(srcdir)/gcc.1): New target.
5650         (maintainer-clean): Delete $(srcdir)/gcc.1.
5651         * gcc.texi: Add macros @gccoptlist and @gol.
5652         * invoke.texi: Include option summary in manpage.  Mark up option
5653         summary with @gccoptlist and @gol.  Use @r in one place where
5654         appropriate.
5655         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
5656         * gcc.1: Generate from invoke.texi.
5657
5658 2001-01-13  Richard Henderson  <rth@redhat.com>
5659
5660         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
5661         (struct page_entry): Add group member.
5662         (struct page_group): New.
5663         (struct globals): Add page_groups member.
5664         (alloc_anon): Only define for using mmap; remove valloc call.
5665         (page_group_index): New.
5666         (set_page_group_in_use): New.
5667         (clear_page_group_in_use): New.
5668         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
5669         (free_page, release_pages): Likewise.
5670         * configure.in (with-gc): Default to ggc-page always.
5671
5672 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
5673
5674         * reload1.c (replace_pseudos_in_call_usage): Use
5675         reg_equiv_constant and reg_equiv_address, and don't try
5676         regno_reg_rtx first.
5677
5678 2001-01-13  Richard Henderson  <rth@redhat.com>
5679
5680         * ggc-page.c (alloc_page): Round up allocation size to one page.
5681         Set e->order on extra pages.
5682
5683 2001-01-13  Richard Henderson  <rth@redhat.com>
5684
5685         * genrecog.c (nodes_identical): Expand commentary.
5686         (write_switch): Watch out for identical nodes.
5687
5688 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5689
5690         * cppfiles.c (_cpp_fake_include): New function.
5691         * cpphash.h (_cpp_fake_include): New.
5692         * cpplib.c (do_line): Call _cpp_fake_include when entering
5693         header files in preprocessed input.
5694         * cppmain.c (cb_pragma_implementation): Remove handling.
5695         (setup_callbacks): Don't register pragmas.
5696
5697 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5698
5699         * extend.texi: Udate for CPP.
5700
5701 2001-01-13  Andreas Jaeger  <aj@suse.de>
5702
5703         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
5704
5705         * regmove.c: Add prototype for replace_in_call_usage.
5706
5707 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5708
5709         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
5710         struct cpp_chunk, struct htab, struct toklist,
5711         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
5712         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
5713         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
5714         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
5715         (struct macro_args): Delete.
5716         * cpphash.h: See above.
5717
5718 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5719
5720         * cppmain.c (struct printer): Remove no_line_dirs.
5721         (options, cb): New.
5722         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
5723         : Use options rather than CPP_OPTION.
5724         (setup_callbacks): Use cb rather than pfile->cb.
5725         (main): No need to check for a buffer.  Use cpp_errors.
5726         (printer_init): Don't set no_line_dirs.
5727         (maybe_print_line): Use options not no_line_dirs.
5728         (cb_file_change): Don't call print_line if -P.
5729
5730 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5731
5732         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
5733         callbacks.
5734         * c-parse.in (finish_parse): Use cpp_errors.
5735         (__yylex): Use return value of cpp_pop_buffer.
5736         * cp/lex.c (finish_parse): Use cpp_errors.
5737         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
5738
5739 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
5740
5741         * README.AVR: URLs corrected.
5742
5743 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5744
5745         * c-decl.c (start_function): Don't warn if old prototype is builtin
5746         that's not in C's namespace.
5747         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
5748         (_bb): Add prototype for ctime.
5749         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
5750
5751 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
5752
5753         * i386.c (ix86_fp_comparison_arithmetics_cost,
5754         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
5755         ix86_fp_comparison_cost): New functions.
5756         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
5757         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
5758         two-branch sequences; make static.
5759         (ix86_use_fcomi_compare): Do decision according to the costs.
5760         (split_fp_branch): New.
5761         * i386.md (compare-and-branch patterns): Use split_fp_branch.
5762         * i386-protos.h (ix86_expand_fp_compare): Remove
5763         (ix86_split_fp_branch): Declare.
5764
5765         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
5766         and ix86_comparison_operator.
5767
5768         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
5769         to make it cheaper.
5770
5771         * i386.c (put_condition_code): Output properly the unordered/ordered
5772         compares in fp case.
5773         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
5774
5775         * tm.texi (REVERSE_CONDITION): Document.
5776         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
5777         in -ffast-math mode.
5778         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
5779
5780 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
5781
5782         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
5783
5784         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
5785         optimized away.
5786
5787         * config/sh/sh.c (mova_p): Fix test for mova_const.
5788
5789 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5790
5791         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
5792         cpp_get_options rather than dereferencing pfile and using
5793         CPP_OPTION.
5794         * scan-decls.c (scan_decls): Use return value of
5795         cpp_pop_buffer rather than CPP_BUFFER.
5796
5797 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5798
5799         * cppinit.c (cpp_handle_option): help_only is now part of the
5800         cpp_options structure.
5801         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
5802         cpp_set_callbacks): New functions.
5803         * cpplib.h (cpp_callbacks): Break out as a named structure.
5804         (cpp_options): Move help_only here from cpp_reader.
5805         (CPP_FATAL_ERRORS): Update to use cpp_errors.
5806         (cpp_errors, cpp_get_options, cpp_get_callbacks,
5807         cpp_set_callbacks): New prototypes.
5808         * cppmain.c (main): Update for help_only.
5809
5810 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
5811
5812         * Makefile.in (info, maintainer-clean, install-info, uninstall):
5813         Also build and remove and install and uninstall c-tree.info and
5814         cppinternals.info.
5815         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
5816         ($(srcdir)/cppinternals.info): New target.
5817         * c-tree.texi: Change file name used when makeinfo used without -o
5818         from ir.info to c-tree.info.  Add info directory entry.
5819         * cppinternals.texi: Add info directory entry.
5820         * .cvsignore: Update.
5821
5822 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
5823
5824         * c-typeck.c (store_init_value): Don't require constant initializer
5825         elements with -pedantic -std=c99.
5826         (digest_init): Change error about non-constant initializer elements
5827         into pedwarn.
5828         (constructor_range_end): Remove.
5829         (constructor_incremental, designator_depth,
5830         designator_errorneous): New variables.
5831         (struct constructor_stack): Remove range_end, add incremental.
5832         (struct constructor_range_stack, constructor_range_stack): New.
5833         (struct initializer_stack): Add constructor_range_stack.
5834         (finish_init): Set it.
5835         (start_init): Likewise.  require_constant_elements for non-static
5836         trees only if not flag_isoc99.
5837         (really_start_incremental_init): Remove constructor_range_end, add
5838         constructor_incremental.
5839         (pop_init_level): Likewise.
5840         (push_init_level): Likewise.  If implicit and the subobject had some
5841         value set already, preinitialize the level with it.
5842         Warn about missing braces only if not pushing due to designators.
5843         (set_designator, push_range_stack): New functions.
5844         (set_init_label): Use them.
5845         (set_init_index): Likewise.  Remove constructor_range_end.
5846         Error if designator index is outside of array bounds.
5847         (add_pending_init): Compare values of purpose index trees, not the
5848         trees themselves.  Allow overwriting of already initialized element.
5849         Issue a warning if it had side-effects.
5850         (set_nonincremental_init, set_nonincremental_init_from_string): New
5851         functions.
5852         (pending_init_member): Rename to...
5853         (find_init_member): ...this function.  Call set_nonincremental_init
5854         if necessary.  Compare values of purpose index trees, not the trees
5855         themselves.  Return the actual value, not just non-zero if something
5856         is found.
5857         (output_init_element): Remove checks for duplicates.
5858         If field has zero size, only check the initializer for correctness.
5859         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
5860         if constructor_incremental is zero.  Change error about initializers
5861         not computable at load time into pedwarn.
5862         (output_pending_init_elements): Compare bit positions, not
5863         FIELD_DECLs to take into account zero-sized fields.
5864         (process_init_element): Use constructor_range_stack to fill all
5865         ranges in the designator lists from current level up.
5866         * extend.texi: Update documentation for labeled elements.
5867
5868 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
5869
5870         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
5871         to function usage for arguments passed by reference.  Optimize
5872         callee-copied arguments.
5873         * regmove.c (replace_in_call_usage): New function.
5874         (fixup_match_1): Call it.
5875         * cse.c (cse_insn): Canonicalize registers in function usage.
5876         * reload1.c (replace_pseudos_in_call_usage): New function.
5877         (reload): Call it.
5878
5879         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
5880         right version.
5881
5882 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
5883
5884         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
5885         not XEXP (tmp, 0).
5886
5887 2001-01-12  DJ Delorie  <dj@redhat.com>
5888
5889         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
5890         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
5891         targets.
5892
5893 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5894
5895         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
5896         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
5897         -std options alongside references to -ansi.  Update some
5898         documentation for C99.
5899         * cpp.1: Regenerate.
5900
5901 2001-01-12  Andreas Jaeger  <aj@suse.de>
5902
5903         * haifa-sched.c (restore_line_notes): Remove argument block B
5904         since it's unused.
5905         * sched-ebb.c (schedule_ebb): Change caller.
5906         * sched-rgn.c (schedule_region): Likewise.
5907         * sched-int.h (restore_line_notes): Adjust prototype.
5908
5909         * loop.h: Remove wrong declaration of doloop_condition_get.
5910
5911 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
5912
5913         * extend.texi:  Move C++-extension-related node from the C section
5914         into the C++ section.
5915
5916 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5917
5918         * extend.texi: Refer to an array of pointers to functions instead
5919         of one of functions.
5920
5921 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
5922                               Jan Hubicka  <jh@suse.cz>
5923
5924         * combine.c (reversed_comparison): Fix typo in last patch.
5925         Check X for NULL.
5926         (combine_reversed_comparison_code): Make static to follow
5927         prototype declaration.
5928
5929 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
5930
5931         * install.texi:  Remove misplaced duplicate entry.
5932
5933 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
5934
5935         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
5936
5937 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
5938
5939         * final.c: (leaf_function_p): Fix typo.
5940
5941 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
5942
5943         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
5944         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
5945         which you have.
5946         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
5947         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
5948         mmap_anon, and valloc is available.
5949         * ggc-page.c: Restructure ifdef logic to match new autoconf
5950         spec.  Don't throw away the test page in init_ggc.
5951
5952         * configure, config.in: Regenerate.
5953
5954 2001-01-12  Michael Hayes  <mhayes@redhat.com>
5955
5956         * loop.h (total_biv_increment): Constify iv_class pointer.
5957         (struct induction): Replace `mem_mode' with `mem' rtx.
5958         * unroll.c (total_biv_increment): Constify iv_class pointer.
5959         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
5960         (find_mem_givs, combine_givs_p): Likewise.
5961         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
5962
5963 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
5964
5965         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
5966         LastError.
5967         (__gthread_getspecific): Ditto.
5968
5969 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
5970
5971         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
5972         put_condition_code): Convert fp comparison codes to integer
5973         before handling.
5974         (ix86_expand_fp_compare): Postnote the fp comparison code converison
5975         to final.
5976
5977         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
5978         * i386-protos.h (no_comparison_operator): Kill.
5979
5980         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
5981
5982         * combine.c (REVERSIBLE_CC_MODE): Remove.
5983         (reversible_comparison_p): Remove.
5984         (combine_reversed_comparison_code): New.
5985         (reversed_comparison): New.
5986         (combine_simplify_rtx): Use
5987         combine_reversed_comparison_code/reversed_comparison instead
5988         of reversible_comparison_p.
5989         (simplify_if_then_else): Likewise.
5990         (simplify_set): Likewise.
5991         (simplify_logical): Likewise.
5992         (if_then_else_cond): Likewise.
5993         (known_cond): Likewise.
5994         (simplify_comparison): Likewise.
5995
5996 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
5997
5998         * builtins.c (std_expand_builtin_va_start): Handle varargs when
5999         sizeof (int) is larger than sizeof(__word__).
6000
6001 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6002
6003         * cppinit.c (do_includes): Fix typo.
6004
6005 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
6006
6007         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
6008         in S_REGS does not occur because not all sources are possible
6009         when a S_REGS is a destination (sometimes needs a clobber).
6010         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
6011         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
6012         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
6013         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
6014         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
6015         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
6016         (lshrdi_const1, lshrsi3_const16): Likewise.
6017         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
6018         (*movhi_68hc12, *movqi_68hc12): Likewise.
6019         (movstrictqi): Make sure reloading in D_REGS as a destination
6020         does not happen.
6021
6022 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6023
6024         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
6025
6026 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6027
6028         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
6029         -D, -U and -A, and don't initialize the builtins.
6030         (do_includes): Error if -include or -imacros with -fpreprocessed.
6031         * cppmain.c (cb_define, cb_undef): Unconditionally process
6032         the callback.
6033         * tradcpp.c (main): Fix typo.
6034
6035 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
6036
6037         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
6038         (read_name_map): Use IS_ABSOLUTE_PATH.
6039         * tradcpp.c (get_filename): Likewise.
6040
6041 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
6042
6043         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
6044         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
6045         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
6046         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
6047         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
6048         (cmphi_z_used): Don't use '@' for the output.
6049         (tstqi_z_used): Likewise.
6050         (cmpqi_z_used): Likewise.
6051         (one_cmplsi2): Likewise.
6052
6053 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
6054
6055         * config/sh/sh.c (barrier_align): Recognize branch around far
6056         branch and redundant insn.
6057
6058 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6059
6060         * invoke.texi: Restore documentation of the drivers' switches -MD
6061         and -MMD.
6062
6063 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
6064
6065         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
6066
6067         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
6068         check-objc//%): Support parallel testing of multilibs.
6069         (TESTSUITEDIR): Set to testsuite by default, but override for
6070         parallel testing.
6071         (check-gcc, check-g++, check-g77, check-objc): Enter
6072         $(TESTSUITEDIR).
6073
6074 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
6075
6076         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
6077         * sched-deps.c (deps_may_trap_p): Likewise.
6078         * basic-block.h: Remove a comment.
6079         * flow.c (PROP_POSTRELOAD): Remove.
6080         (update_life_info): Don't add it to prop_flags.
6081         (mark_set_1): Lose the code that was enabled by it.
6082
6083 2001-01-11  Michael Hayes  <mhayes@redhat.com>
6084
6085         * flow.c (flow_call_edges_add): New.
6086         * basic_block.h (flow_call_edges_add): New.
6087
6088 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
6089
6090         * reload1.c (move2add_note_store): Update reg_set_luid even if
6091         base reg remains the same.
6092
6093 2001-01-10  Nick Clifton  <nickc@redhat.com>
6094
6095         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
6096         machine_function structure to zero.
6097         Add prototypes for machine_status functions.
6098
6099 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
6100
6101         * c-common.h (CTI_VOID_LIST): Remove.
6102         (void_list_node): Likewise.
6103         * tree.h (TI_VOID_LIST_NODE): New enumeral.
6104         (void_list_node): New macro.
6105         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
6106         * config/i386/i386.c (ix86_init_builtins): Likewise.
6107         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
6108
6109 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
6110
6111         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
6112         * cppinit.c (cpp_start_read): Update comment, remove unneeded
6113         if statement.
6114         * tradcpp.c: Include mkdeps.h.
6115         (deps, print_deps_phony_targets, deps_append, output_deps,
6116         init_dependency_output, output_deps): New.
6117         (deps_buffer, deps_allocated_size, deps_size, deps_column,
6118         deps_output): Delete.
6119         (print_deps_missing_files): Rename deps_missing_files.
6120         (inhibit_output): Make global.
6121         (main): Delete inhibit_output, deps_stream, deps_target.
6122         Use mkdeps functionality in the same way as cpplib.  Remove
6123         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
6124         -M and -MM.  Remove old handling of deps via deps_out, and
6125         old reading of environment variables.
6126         (get_filename): Update to use deps_add_dep.
6127
6128 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
6129
6130         * output.h (make_function_rtl): Remove prototype.
6131         (make_decl_rtl): Likewise.
6132         * varasm.c (make_function_rtl): Remove.
6133         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
6134         than from a third parameter.
6135         * tree.h (make_decl_rtl): Remove last parameter.
6136         * c-decl.c (builtin_function): Remove last argument in call to
6137         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
6138         (start_function): Likewise.
6139         * except.c (call_get_eh_context): Likewise.
6140         * expr.c (emit_block_move): Likewise.
6141         (clear_storage): Likewise.
6142         * profile.c (output_func_start_profiler): Likewise.
6143         * toplev.c (rest_of_decl_compilation): Likewise.
6144         * objc/objc-act.c (create_builtin_decl): Likewise.
6145         (synth_module_prologue): Likewise.
6146         (generate_static_reference): Likewise.
6147         (build_selector_reference_decl): Likewise.
6148         (build_class_reference_decl): Likewise.
6149         (build_objc_string_decl): Likewise.
6150         (build_protocol_reference): Likewise.
6151
6152 2001-01-10  Richard Henderson  <rth@redhat.com>
6153
6154         * hwint.h: Revert yesterday's change.
6155
6156 2001-01-10  Nick Clifton  <nickc@redhat.com>
6157
6158         * function.h (save_machine_status): Delete.
6159         (restore_machine_status): Delete.
6160         Amend comment describing {init|mark|free}_machine_status.
6161
6162         * function.c (save_machine_status): Delete.
6163         (restore_machine_status): Delete.
6164         Amend comment describing {init|mark|free}_machine_status.
6165         (push_function_context_to): Remove invocation of
6166         save_machine_status.
6167         (pop_function_context_from): Remove invocation of
6168         restore_machine_status.
6169
6170         * emit-rtl.c (init_emit_once): Amend comment describing
6171         {init|mark|free}_machine_status.
6172
6173         * tm.texi (Per-Function Data): New node.  Describe the
6174         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
6175         function pointers.
6176
6177 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
6178
6179         * cppinit.c (OPT_g): Remove.
6180         (cpp_handle_option): Update for removed -g3.
6181         (print_help): Update.
6182         * cpplib.h (struct cpp_options): Remove debug_output.
6183         * cppmain.c (setup_callbacks, cb_define): Update.
6184         * gcc.c (cpp_options): Translate -g3 to -dD.
6185
6186 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
6187
6188         * config/i960/i960.md: Change modifier to + on the zero_extract
6189         pattern after the (rotate -2 reg) canonicalization pattern.
6190
6191 2001-01-10  Richard Henderson  <rth@redhat.com>
6192
6193         * config/alpha/alpha.c (alpha_free_machine_status): New.
6194         (override_options): Install it.
6195         (alpha_mark_machine_status): Verify machine non-null.
6196         * config/i386/i386.c (ix86_free_machine_status): New.
6197         (override_options): Install it.
6198         (ix86_init_machine_status): Use xcalloc.
6199         (ix86_mark_machine_status): Verify machine non-null.
6200         * config/ia64/ia64.c (ia64_free_machine_status): New.
6201         (ia64_override_options): Install it.
6202         (ia64_mark_machine_status): Verify machine non-null.
6203
6204 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
6205
6206         * function.c (instantiate_virtual_regs): Instantiate virtual
6207         registers found in CALL_INSN_FUNCTION_USAGE.
6208
6209 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
6210
6211         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
6212         equivalent to -ansi in disabling -Di386.
6213
6214 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
6215
6216         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
6217         new functions.
6218         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
6219
6220 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
6221
6222         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
6223
6224 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
6225
6226         * invoke.texi: Document that -fcond-mismatch isn't supported for
6227         C++.
6228
6229 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
6230
6231         * gcc.texi: Define macro gcctabopt.
6232         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
6233         @command, @env and @option in some places where appropriate.  Use
6234         @gcctabopt where appropriate.  Put URLs and email addresses inside
6235         @w.
6236
6237 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
6238
6239         * gcc.c (cpp_options): Set MD file name from output
6240         filename, if specified.
6241         (suffix_subst): New static variable.
6242         (do_spec): Clear it.
6243         (do_spec_1, case '.'): Handle new `%.suffix' spec.
6244         Clear it.
6245         (give_switch): Handle suffix_subst.
6246
6247 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
6248
6249         * invoke.texi:  Fix another typo.
6250
6251 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
6252
6253         * invoke.texi:  Fix typo.
6254
6255 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
6256
6257         * c-lang.c (lang_hooks): Update.
6258         (lang_decode_option): Remove.
6259         (lang_init_options): Rename c_init_options.
6260         * toplev.c (main): Use lang_hooks for lang_init_options
6261         and lang_decode_option.
6262         * toplev.h (lang_hooks): Add 2 new hooks.
6263         * tree.h: Remove lang_init_options and lang_decode_option.
6264         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
6265         * cp/decl2.c: Similarly.
6266         * cp/lex.c (lang_init_options): Rename cxx_init_options.
6267         (lang_hooks): Update.
6268         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
6269         for consistency.
6270         (lang_init_options): Rename ffe_init_options.
6271         (lang_hooks): Update.
6272         (lang_decode_option): Remove.
6273         * java/lang.c (lang_init_options): Rename java_init_options.
6274         (lang_decode_option): Rename java_decode_option.
6275         (lang_hooks): Update.
6276         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
6277         (lang_decode_option): Rename objc_decode_option.
6278         (lang_hooks): Update.
6279
6280 2001-01-09  Nick Clifton  <nickc@redhat.com>
6281
6282         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
6283         (d30v_return_addr_rtx): Delete.
6284         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
6285         cfun->machine structure.
6286         (struct machine_function): Move to d30v.h
6287         (d30v_save_machine_status): Delete.
6288         (d30v_restore_machine_status): Delete.
6289         (d30v_init_machine_status): New Function.
6290         (d30v_mark_machine_status): New Function.
6291         (d30v_free_machine_status): New Function.
6292         (d30v_init_expanders): Use new functions.
6293         (d30v_return_addr): Use ra_rtx field in cfun->machine.
6294         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
6295         d30v_return_addr_rtx.
6296
6297         * config/d30v/d30v.h (struct_machine): Move here.
6298         Add eh_epilogue_sp_ofs field.
6299
6300         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
6301         field in cfun->machine structure.
6302
6303 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6304
6305         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
6306         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
6307         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
6308
6309 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
6310
6311         * objc/lang-options.h: Remove bogus reference to
6312         Java trademark.
6313
6314 2001-01-09  Kazu Hirata  <kazu@hxi.com>
6315
6316         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
6317         return the result.
6318
6319 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
6320
6321         * reload.c (find_reloads_address): Check for eliminable registers
6322         when substituting a constant expression for a pseudo.
6323
6324 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
6325
6326         * c-common.c (enum format_type): Add format_type_error.
6327         (decode_format_type): New function.
6328         (decl_attributes): Use it.
6329         (format_kind_info): Adjust comment.
6330
6331 2001-01-09  David O'Brien  <obrien@BSDi.com>
6332
6333         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
6334         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
6335         files in tm_file.
6336         * config/i386/gnu.h: Don't include required platform specific .h files,
6337         tm.h will do it instead.
6338         * config/i386/i386elf.h: Likewise.
6339         * config/i386/linux.h: Likewise.
6340         * config/i386/moss.h: Likewise.
6341         * config/mips/gnu.h: Likewise.
6342
6343 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6344
6345         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
6346         (rs6000-ibm-aix3.[01]*): Likewise.
6347         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
6348         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
6349         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
6350         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
6351         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
6352         (powerpc-*-eabiaix*): Likewise.
6353         (powerpc-*-eabisim*): Likewise.
6354         (powerpc-*-elf*): Likewise.
6355         (powerpc-*-eabi*): Likewise.
6356         (powerpc-*-rtems*): Likewise.
6357         (powerpc-*-linux*libc1): Likewise.
6358         (powerpc-*-linux*): Likewise.
6359         (powerpc-wrs-vxworks*): Likewise.
6360         (powerpcle-wrs-vxworks*): Likewise.
6361         (powerpcle-*-sysv*): Likewise.
6362         (powerpcle-*-elf*): Likewise.
6363         (powerpcle-*-eabisim*): Likewise.
6364         (powerpcle-*-eabi*): Likewise.
6365         (powerpcle-*-solaris2*): Likewise.
6366         * config/rs6000/aix31.h: Delete includes.
6367         * config/rs6000/aix3newas.h: Likewise.
6368         * config/rs6000/aix41.h: Likewise.
6369         * config/rs6000/aix43.h: Likewise.
6370         * config/rs6000/beos.h: Likewise.
6371         * config/rs6000/rtems.h: Likewise.
6372         * config/rs6000/sysv4.h: Likewise.
6373
6374 2001-01-09  Kazu Hirata  <kazu@hxi.com>
6375
6376         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
6377         Change an argument mode of machine_mode to shift_mode of
6378         shift_mode.  Remove an extra error check.
6379         (emit_a_shift): Adopt to the new calling prototype of
6380         get_shift_alg.
6381         (function_prologue): Fix code for a monitor
6382         function.  Support H8/S.
6383         (function_epilogue): Do not output pop for a monitor function.
6384
6385 2001-01-09  Nick Clifton  <nickc@redhat.com>
6386
6387         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
6388         (setup_incoming_varargs): Use sysv_varargs_p field of the
6389         cfun->machine structure.
6390         (struct machine_function): Move to rs6000.h
6391         (rs6000_save_machine_status): Delete.
6392         (rs6000_restore_machine_status): Delete.
6393         (rs6000_init_machine_status): New Function.
6394         (rs6000_free_machine_status): New Function.
6395         (rs6000_init_expanders): Use new functions.
6396
6397         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
6398         export.
6399         (struct machine_function): Move here.
6400
6401         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
6402         sysv_varargs_p field of the cfun->machine structure.
6403
6404         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
6405         Remove prototype.
6406         (rs6000_restore_machine_status): Remove prototype.
6407
6408 2001-01-09  Richard Henderson  <rth@redhat.com>
6409
6410         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
6411         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
6412         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
6413         (sched_analyze_2, sched_analyze_insn): Likewise.
6414         (sched_analyze, init_deps): Likewise.
6415         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
6416         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
6417         (compute_block_backward_dependences): Update propagate_deps call.
6418
6419 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
6420
6421         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
6422
6423 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6424
6425         * cppinit.c (OPT_MD, OPT_MMD): Restore.
6426         (cpp_handle_option): Handle them.
6427         (cpp_post_options): Ensure one of -M or -MM is specified with
6428         any other -M? option.
6429         (init_dependency_output): Suppress output with -MG.
6430
6431 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6432
6433         * cpp.texi: Update.
6434         * invoke.texi: Update.
6435
6436 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
6437
6438         * sh.md (reload_outsf): Generate recognizable patterns for
6439         TARGET_SH3E.
6440
6441 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6442
6443         * c-lang.c (lang_hooks): Update.
6444         (lang_init): Rename c_init.
6445         (lang_finish): Remove.
6446         * toplev.c (compile_file): Use lang_hooks for lang_init ()
6447         and lang_finish ().
6448         * toplev.h (lang_hooks): Add init () and finish ().
6449         * tree.h (lang_init, lang_finish): Remove.
6450         * cp/tree.h (lang_init, lang_finish): Remove.
6451         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
6452         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
6453         lang_hooks): New.
6454         (lang_init, lang_finish): Remove.
6455         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
6456         (lang_hooks): Update.
6457         * java/lang.c (lang_init): Rename java_init.
6458         (lang_finish): Remove.
6459         (lang_hooks): Update.
6460         * objc/objc-act.c (lang_init): Rename objc_init.
6461         (lang_finish): Remove.
6462         (lang_hoooks): Update.
6463
6464 20001-01-09  Graham Stott  <grahams@redhat.com>
6465
6466         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
6467         after `ptr` is initialised.
6468
6469 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
6470
6471         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
6472         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
6473         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
6474         stack adjusts, instead of r3.
6475
6476 2001-01-09  Michael Hayes  <mhayes@redhat.com>
6477
6478         * flow.c (flow_loop_scan): Break out of ...
6479         (flow_loops_find) ... here.
6480         * basic-block.h (flow_loop_scan): New.
6481         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
6482         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
6483
6484 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
6485
6486         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
6487         macro_buffer_len.
6488         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
6489         realloc()ing macro_buffer.
6490
6491         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
6492         if it's wider than long and the target's long is wider than the
6493         host's.
6494
6495 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
6496
6497         Remove support for using UWIN as a host machine.
6498         * configure.in: Issue an error message.
6499         * configure: Regenerated.
6500         * config.gcc: Remove xm_* UWIN configury.
6501         * config/i386/xm-uwin.h: Remove.
6502
6503 2001-01-08  Nick Clifton  <nickc@redhat.com>
6504
6505         * config/v850/v850.c (ra_rtx): Delete.
6506         (v850_save_machine_status): Delete.
6507         (v850_restore_machine_status): Delete.
6508         (v850_init_machine_status): New function.
6509         (v850_mark_machine_status): New function.
6510         (v850_free_machine_status): New function.
6511         (v850_return_addr): Use ra_rtx field in machine structure.
6512         (v850_init_expanders): Use new functions.
6513
6514         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
6515         * config/v850/v850.c: Change arguments to v850_output+* functions
6516         to take a const char *, to avoid compile time warning.
6517         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
6518         (USER_LABEL_PREFIX): Redefine.
6519
6520 2000-01-08  Jim Wilson  <wilson@redhat.com>
6521
6522         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
6523         1 to unsigned HOST_WIDE_INT before left shift.
6524
6525 2001-01-08  Nick Clifton  <nickc@redhat.com>
6526
6527         * config/arm/arm.c (arm_mark_machine_status): Check to see if
6528         the machine structure has been allocated.
6529         (arm_free_machine_status): New function: Free the machine
6530         specific function structure.
6531
6532 2001-01-08  Richard Henderson  <rth@redhat.com>
6533
6534         * jump.c (simplejump_p): Revert last change.
6535
6536 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6537
6538         * cppinit.c (init): Rename init_library.
6539         (cpp_create_reader): Update.
6540         * gcc.c (cpp_options): If -o given, use it as the target of
6541         any -M options.
6542
6543 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
6544
6545         * arm.c (arm_arch5e): New variable.
6546         (all_cores): XScale is a 5TE device.
6547         (arm_override_options): Set arm_arch5e.
6548         (arm_init_builtins): __builtin_prefetch is in arch5e.
6549         * arm.h (arm_arch5e): Declare it.
6550
6551         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
6552
6553         * arm.md (define_constants): Add defines for UNSPEC and
6554         UNSPEC_VOLATILE insns.  Update all users.
6555         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
6556         * arm.c (multi_register_push, note_invalid_constants)
6557         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
6558         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
6559         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
6560
6561 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
6562
6563         * jump.c (jump_optimize_1): Use reversed_comparison_code
6564         instead of can_reverse_comparison_p.
6565         (jump_back_p): Likewise.
6566         (invert_exp_1): Likewise.
6567         (thread_jumps): Likewise.
6568         * simplify-rtx.c (simplify_unary_operation): Likewise.
6569         (simplify_ternary_operation): Likewise.
6570         * cse.c (find_comparison_args): Convert to use
6571         can_reverse_comparison_p.
6572         (record_jump_equiv): Likewise.
6573
6574 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
6575
6576         * arm.h (HARD_REGNO_RENAME_OK): Delete.
6577         (EPILOGUE_USES): Define.
6578         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
6579         automatically stack the LR if it isn't live.
6580
6581 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
6582
6583         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
6584         properly.
6585
6586 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
6587
6588         * ggc-page.c (max_alignment): New structure.
6589         (MAX_ALIGNMENT): New macro.
6590         (init_ggc): Use it to round up the sizes in the
6591         extra_order_size_table.
6592
6593 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6594
6595         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
6596         after reload.
6597
6598 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6599
6600         * builtins.def (BUILT_IN_FPRINTF): New entry.
6601
6602         * c-common.c (c_expand_builtin_fprintf): New function.
6603         (init_function_format_info): Handle __builtin_fprintf.
6604         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
6605         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
6606
6607         * c-decl.c (duplicate_decls): Adjust comment.
6608
6609         * extend.texi (fprintf): Document new builtin.
6610
6611 2001-01-07  Richard Henderson  <rth@redhat.com>
6612
6613         * jump.c (simplejump_p): Recognize any single_set jump
6614         of the proper form.
6615
6616 2001-01-07  Richard Henderson  <rth@redhat.com>
6617
6618         * configure.in (slibdir): Accept an --with-slibdir option.
6619         Use "test" not "[" in configure.  Default to $(libdir).
6620
6621         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
6622         fix typo in rm -f.
6623         * config/t-aix43 (SHLIB_INSTALL): Likewise.
6624         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
6625         (SHLIB_LINK): Create links for the soname.
6626         * config/mips/t-iris6: Likewise.
6627         * config/sparc/t-slibgcc: Likewise.
6628         * config/sparc/t-slibgcc-sld: Likewise.
6629
6630 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
6631
6632         * config/i386/i386.c (constant_call_address_operand): Accept
6633         (const (plus (symbol_ref) (const_int))).
6634         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
6635         constant_call_address_operand.
6636
6637 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6638
6639         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
6640         and LONG_LONG_TYPE_SIZE > 32.
6641
6642 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6643
6644         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
6645         the previous change.
6646
6647 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
6648
6649         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
6650         New.
6651         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
6652         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
6653         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
6654         Declare.
6655
6656 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6657
6658         * fix-header.c (read_scan_file): s/pfile/scan_in/.
6659
6660 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6661
6662         * c-lang.c (c_post_options): Call cpp_post_options.
6663         * objc/objc-act.c (objc_post_options): Similarly.
6664         * cppmain.c (main): Similarly.
6665         * fix-header.c (read_scan_file): Similarly.
6666         * cppinit.c (cpp_start_read): Move option consistency checks
6667         to cpp_post_options.  Don't call init_dependency_output.
6668         If needed, add default target and main file dependency.
6669         (OPT_MD, OPT_MMD): Remove.
6670         (OPT_MF): New.
6671         (cpp_handle_option): Update for OPT_* changes.
6672         (cpp_post_options): New.
6673         (init_dependency_output): Command line -MF overrides environment
6674         variables.  Don't set default target etc.  Suppress output
6675         if dependencies are going to stdout.
6676         (print_help): Update.
6677         * cpplib.h (cpp_post_options): New.
6678         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
6679
6680 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
6681
6682         * jump.c (comparison_dominates_p): Support unordered compares.
6683
6684 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
6685
6686         * simplify-rtx.c (simplify_relational_operation): Always simplify
6687         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
6688         and UNGE.
6689
6690 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
6691
6692         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
6693         (nonzero_bits): Likewise.
6694         (simplify_comparison): Likewise.
6695         (num_sign_bit_copies): Likewise; return more sane value depending
6696         on STORE_FLAG_VALUE.
6697         (known_cond): Do not assume EQ to be always true for equivalent
6698         operands.
6699
6700 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
6701
6702         * cse.c (fold_rtx): Handle unordered comparisons.
6703
6704 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
6705
6706         * rtlanal.c (set_of_1): New static function.
6707         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
6708          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
6709          reg_set_last_last_regno): Remove.
6710         (set_of): New global function.
6711         (set_of_data): New structure.
6712         (reg_set_p, reg_set_last): Revamp for set_of.
6713         * rtl.h (set_of): New.
6714
6715 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6716
6717         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
6718         * extend.texi: Document _Exit builtin.
6719
6720 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6721
6722         * (initialize, initialize_builtins,
6723         initialize_dependency_output, initialize_standard_includes):
6724         Rename s/initialize/init. Update.
6725         (init_dependency_output): Move to after
6726         cpp_handle_options, the correct location temporally at least.
6727         (opt_comp): Move next to init (), its caller.  Fix prototype.
6728         (init): Make "initialized" local scope.
6729         (cpp_create_reader): Always call init ().
6730         (cpp_start_read): Update.
6731         (output_deps): New function, broken out of cpp_finish.
6732         (cpp_finish): Break out output_deps.
6733
6734 2001-01-07  Richard Henderson  <rth@redhat.com>
6735
6736         * collect2.c (COFF specific stuff): Revert 12-06 patch
6737         to prototype system functions.
6738
6739 2001-01-07  Michael Hayes  <mhayes@redhat.com>
6740
6741         * hard-reg-set.h: Add multiple include guard.
6742         * basic-block.h (struct loop): Add `sink' field.
6743         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
6744         (emit_iv_add_mult): Delete.
6745         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
6746         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
6747         (unroll_loop): Remove end_insert_before argument.
6748         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
6749         (maybe_eliminate_biv_1): Likewise.
6750         (emit_iv_add_mult): Delete.
6751         (gen_add_mult, loop_regs_update): New.
6752         (loop_insn_emit_after, loop_insn_emit_before): New.
6753         (loop_insn_sink, loop_insn_sink_or_swim): New.
6754         (emit_iv_add_mult): Delete.
6755         (scan_loop): Set loop->sink.
6756         (loop_givs_reduce): Use loop_insn_sink and its ilk.
6757         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
6758         (maybe_eliminate_biv_1): Likewise.
6759         (maybe_eliminate_biv_1): Add basic block argument.
6760         * unroll.c (unroll_loop): Remove end_insert_before argument.
6761         (find_splittable_regs): Likewise.
6762         (find_splittable_regs): Use loop_insn_sink and its ilk.
6763         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
6764
6765 2001-01-07  Michael Hayes  <mhayes@redhat.com>
6766
6767         * loop.h (loop_insn_hoist): New prototype.
6768         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
6769         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
6770         (check_dbra_loop, load_mems): Likewise.
6771         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
6772         (find_splittable_givs): Likewise.
6773
6774 2001-01-07  Michael Hayes  <mhayes@redhat.com>
6775
6776         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
6777
6778 2001-01-07  Richard Henderson  <rth@redhat.com>
6779
6780         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
6781
6782 2001-01-07  Richard Henderson  <rth@redhat.com>
6783
6784         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
6785         NO_SHARED_LIBGCC_MULTILIB as required for the target.
6786         * gcc.c (init_spec): Massage the existing libgcc_spec into a
6787         variant that handles a shared libgcc.
6788         (process_command): Always validate -{static,shared}-libgcc.
6789         (do_spec_1): New 'M' case.
6790         * invoke.text (Link Options): Document -{static,shared}-libgcc.
6791
6792 2001-01-07  Richard Henderson  <rth@redhat.com>
6793
6794         * Makefile.in (slibdir): New variable.
6795         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
6796         (installdirs): Create slibdir.
6797         (install-libgcc, install-multilib): Defer to libgcc.mk.
6798         * configure.in (slibdir): Substitute.
6799         * mklibgcc.in (install): New target.
6800
6801         * config/t-linux (SHLIB_LINK): Create links for the soname.
6802         (SHLIB_INSTALL): New.
6803         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
6804         * config/mips/t-iris6 (SHLIB_INSTALL): New.
6805         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
6806         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
6807         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
6808
6809 2001-01-07  Richard Henderson  <rth@redhat.com>
6810
6811         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
6812         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
6813         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
6814
6815 2001-01-07  Michael Hayes  <mhayes@redhat.com>
6816
6817         * loop.c (count_loop_regs_set): Delete.
6818         (load_mems_and_recount_loop_regs_set): Delete.
6819         (loop_regs_scan): Merge common code from count_loop_regs_set,
6820         scan_loop, and load_mems_and_recount_loop_regs_set.
6821         (scan_loop): Call load_mems directly and loop_regs_scan
6822         again if new registers created.
6823
6824 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6825
6826         * toplev.c (main): Call the front-end specific post_options
6827         hook if one is given.
6828         * toplev.h (struct_lang_hooks, lang_hooks): New.
6829         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
6830         for the C front end.
6831         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
6832         lang_hooks for the C++ front end.
6833         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
6834         lang_hooks for the ObjC front end.
6835         * f/com.c (lang_hooks): Hooks for the Fortran front end.
6836         * java/lang.c (lang_hooks): Hooks for the Java front end.
6837
6838 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6839
6840         * c-lex.c (init_c_lex): Request #define / #undef callbacks
6841         for verbose DWARF[2] debugging.
6842         (cb_define, cb_undef): The new callbacks.
6843         * toplev.h (debug_define, debug_undef): Make const correct.
6844         * toplev.c (debug_define, debug_undef): Similarly.  Do not
6845         perform the verbosity tests here anymore.
6846
6847 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
6848
6849         * reload.c (subst_reloads): Take INSN argument.  When
6850         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
6851         * reload.h (subst_reloads): Adjust prototype.
6852         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
6853         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
6854         present in JUMP_INSNs and copy them to JUMP_LABEL.
6855         * flow.c (find_label_refs, find_basic_blocks_1): Skip
6856         JUMP_INSNs and insns with REG_LABELs that are followed by
6857         JUMP_INSNs with the same REG_LABEL.
6858         * sched-rgn.c (is_cfg_nonregular): Likewise.
6859         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
6860         note is available.
6861         * unroll.c (unroll_loop): Look for REG_LABEL notes in
6862         JUMP_INSNs too.
6863         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
6864
6865 2001-01-06  Richard Henderson  <rth@redhat.com>
6866
6867         * loop.c (scan_loop): Use xcalloc for the regs array.
6868         (load_mems_and_recount_loop_regs_set): Zero the new memory
6869         received from xrealloc.
6870
6871 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6872
6873         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
6874
6875 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
6876
6877         * integrate.c (copy_rtx_and_substitute): When copying
6878         an ignored return value, strip REG_FUNCTION_VALUE_P.
6879
6880 2001-01-06  Michael Hayes  <mhayes@redhat.com>
6881
6882         * loop.c (debug_biv, debug_giv): New.
6883         (loop_biv_dump): Break out from ...
6884         (record_biv): ... here.
6885         (loop_giv_dump): Break out from ...
6886         (record_giv): ... here.
6887         (loop_bivs_check): Use print_simple_rtl.
6888         * unroll.c (loop_iterations): Use print_simple_rtl.
6889
6890 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6891
6892         * pa.md (return, return_internal): Modify patterns to prevent regrename
6893         mucking with the return pointer.
6894
6895 2001-01-05  Richard Henderson  <rth@redhat.com>
6896
6897         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
6898
6899 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
6900
6901         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
6902         version supplied by Matteo Frigo.
6903
6904 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6905
6906         * cpp.texi: Update for -MQ.
6907         * cppinit.c (cpp_create_reader): Always create pfile->deps.
6908         (cpp_cleanup): Always free pfile->deps.
6909         (initialize_dependency_output): Don't create pfile->deps.
6910         (cpp_handle_option): Similarly.
6911         (OPT_MQ): New.
6912         * gcc.c (cpp_options): Handle -MQ.
6913         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
6914         * mkdeps.c (base_name): Remove.
6915         (deps_init): Don't allocate vector space until it's needed.
6916         (deps_free): Only free vectors if allocated.
6917         (deps_add_target, deps_add_dep): Update for initial allocation.
6918         (deps_add_default_target): Don't strip to the base_name.
6919
6920 2001-01-05  DJ Delorie <dj@redhat.com>
6921
6922         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
6923         (INIT_EXPANDERS): Define.
6924
6925         * config/v850/v850.c (struct machine_function): Define.
6926         (v850_save_machine_status): New function.
6927         (v850_restore_machine_status): New function.
6928         (v850_return_addr): New function.
6929         (v850_init_expanders): New function.
6930
6931         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
6932         and v850_init_expanders.
6933
6934 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
6935
6936         * cpplib.h (struct cpp_reader): Add help_only field.
6937         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
6938         (cpp_handle_option): Set pfile->help_only if we see -h,
6939         --help, -target-help, or --version.  Print version string but
6940         do not set help_only if we see -v or -version.  Make text
6941         printed by -v match that printed by (-)-version.
6942
6943         * cppmain.c (main): Exit after option parsing if
6944         pfile->help_only is true.
6945
6946         * toplev.c (independent_decode_option): Call print_version,
6947         then exit, if we see --version (but not -version).
6948         (print_version): Split lengthy message into two lines.
6949
6950 2001-01-05  Nick Clifton  <nickc@redhat.com>
6951
6952         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
6953         temporary string for initialisation before calling ggc_alloc_string.
6954
6955 2001-01-06  Michael Hayes  <mhayes@redhat.com>
6956
6957         * rtl.h (print_simple_rtl): New.
6958         * print-rtl.c (print_simple_rtl): New.
6959         (flag_simple): New.
6960         (print_rtx): Disable printing of flags and modes, etc.,
6961         if `flag_simple` nonzero.
6962
6963 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
6964
6965         * function.c (fixup_var_refs): Use push_to_full_sequence where
6966         possible.
6967
6968 2001-01-05  Michael Meissner  <meissner@redhat.com>
6969
6970         * flags.h (flag_reorder_blocks): Add declaration.
6971         (flag_rename_block): Ditto.
6972
6973 2001-01-05  DJ Delorie  <dj@redhat.com>
6974
6975         * function.c (reorder_blocks): Make sure the flags are all reset
6976         before using them to mark blocks, else a second invocation will
6977         corrupt the block chain.
6978         (reorder_blocks_0): New, resets the flags.
6979
6980 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
6981
6982         * cse.c (find_comparison_args): Stop if the argument is known to
6983         be constant.
6984
6985 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
6986
6987         * config/sh/sh.md (movdf): When splitting load into pair of
6988         registers, don't clobber the register used in the address too
6989         early.
6990
6991 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
6992
6993         * varasm.c (mark_constant_pool): Improve initial comments.
6994         (mark_constants): Move marking of constants to mark_constant.
6995         (mark_constant): New function to recursively mark all constants
6996         referred to by a constant.
6997
6998 2001-01-05  Catherine Moore  <clm@redhat.com>
6999
7000         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
7001
7002 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
7003
7004         * cp/lang-options.h:  Bring comment in line with reality.
7005         * f/lang-options.h:  Likewise.
7006         * java/lang-options.h:  Likewise.
7007         * objc/lang-options.h:  Likewise.
7008         * ch/lang-options.h:  Likewise.
7009         * f/g77.texi:  And update the manual.
7010
7011 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
7012             Denis Chertykov  <denisc@overta.ru>
7013
7014         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
7015         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
7016         * config/avr/avr.md (all peepholes that request a scratch register):
7017         Call it, FAIL the peephole if not safe (in interrupt functions).
7018
7019 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
7020
7021         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
7022
7023 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
7024
7025         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
7026         Define.
7027         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
7028         BUILT_IN_CREAL and BUILT_IN_CIMAG.
7029         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
7030         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
7031         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
7032         BUILT_IN_CIMAG.
7033         * extend.texi: Document these builtins.
7034
7035 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
7036
7037         * c-common.c (lang_get_alias_set): Say we know nothing of
7038         VECTOR_TYPE aliasing.
7039
7040         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
7041
7042 2001-01-05  Bruce Korb  <bkorb@gnu.org>
7043
7044         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
7045         their x* equivalent versions for atexit-less systems
7046         * fixinc/fixincl.c(main): do not return from main() on atexit-less
7047         systems (or any other system any more).
7048
7049 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
7050
7051         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
7052         output operands.  Use arm_hard_register_operand for operand 4.
7053         (stmsi_postinc): Similarly.
7054         (ldmsi): Use arm_hard_register_operand for opernand 2.
7055         (stmsi): Similarly.
7056         * arm.c (arm_hard_register_operand): New function.
7057         * arm-protos.h (arm_hard_register_operand): Prototype it.
7058
7059         * arm.h (HARD_REGNO_RENAME_OK): Define.
7060
7061 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
7062
7063         * simplify-rtx.c (cfc_args): add "unordered" field.
7064         (check_fold_consts): Set unordered field.
7065         (simplify_relational_operation): Simplify the unordered
7066         comparisons.
7067
7068         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
7069         is valid.
7070
7071         * emit-rtl.c (try_split): Fix code to mark labels.
7072         * jump.c (mark_jump_label): Make global.
7073         * rtl.h (mark_jump_label): Declare.
7074
7075         * predict.c (estimate_probability): Handle unordred comparisons.
7076
7077 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7078
7079         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
7080         * cppinit.c (initialize_dependency_output):  Update.
7081         (cpp_finish): Output dummy targets for -MP.
7082         (OPT_MP): New.
7083         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
7084         * cpplib.h (struct cpp_options): Add deps_phony_targets.
7085         * gcc.c (cpp_options): Update to handle -MP.
7086         * mkdeps.c (deps_add_target, deps_add_default_target): Update
7087         to quote only the default target.
7088         (deps_phony_targets): Insert a preceding newline.  Rename from
7089         deps_dummy_targets for consistency.
7090         * mkdeps.h: Update
7091
7092 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
7093
7094         * calls.c (emit_library_call_value_1): Support
7095         INIT_CUMULATIVE_LIBCALL_ARGS.
7096         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
7097
7098 2001-01-04  Richard Henderson  <rth@redhat.com>
7099
7100         * c-decl.c (finish_struct): Detect flexible array members
7101         used in an inappropriate context.
7102         * c-typeck.c (really_start_incremental_init): Special case
7103         constructor_max_index for zero length arrays.
7104         (pop_init_level): Allow initialization of flexible array
7105         members.  Deprecate initialization of zero length arrays.
7106         Don't issue missing initializer warning for flexible array
7107         members or zero length arrays.
7108         (process_init_element): Don't dereference null DECL_SIZE.
7109         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
7110         Don't abort for empty constructors.  Use size_binop
7111         (output_constructor): Add commentary regarding zero length
7112         array futures.  Abort if we try to initialize an array of
7113         unspecified length with a non-empty constructor in the middle
7114         of a structure.
7115
7116         * extend.texi (Zero Length): Update and clarify documentation
7117         on static initialization.
7118
7119 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7120
7121         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
7122         with more than 32767 words of local storage.
7123
7124 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7125
7126         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
7127         for 'abs', 'labs', and 'fabs'.
7128         (c4x_expand_builtin): Likewise.
7129         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
7130
7131 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
7132
7133         * config/sh/sh.md (prget, prset): New insn types.
7134         (return delay slot): Dont' allow prset.
7135         (call, sfunc delay slot): Don't allow prget.
7136         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
7137         for prset and prget.
7138
7139 2001-01-05  Michael Hayes  <mhayes@redhat.com>
7140
7141         * loop.h (struct loop_reg): New.
7142         (struct loop_regs): Change to use array of `struct loop_reg'.
7143         * loop.c: Replace assortment of varrays with single regs array.
7144         (count_one_set): Delete may_not_move array argument
7145         and use regs array instead.  All caller's changed.
7146         (count_loop_regs_set): Delete may_not_move and single_usage
7147         arguments and use regs array instead.  All caller's changed.
7148         (find_single_use_in_loop): Replace usage array argument with pointer
7149         to regs structure.  All caller's changed.
7150         (loop_optimize): Delete `moved_once' array.
7151
7152 2001-01-05  Michael Hayes  <mhayes@redhat.com>
7153
7154         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
7155         Use it instead of loop_info->has_call for scanning loop mems.
7156         (check_dbra_loop): Replace loop_info->has_call test with
7157         loop_info->has_nonconst_call.
7158
7159 2000-01-04  Matthew Hiller  <hiller@redhat.com>
7160
7161         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
7162         for TARGET_SH3E.
7163
7164 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
7165
7166         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
7167         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
7168
7169 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
7170
7171         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
7172         (flag_short_double, flag_short_wchar): Define.
7173         (c_common_nodes_and_builtins): Create many tree nodes shared
7174         between C and C++ here instead of in cp/decl.c and ...
7175         * c-decl.c (init_decl_processing): ... here.
7176         (SIZE_TYPE, WCHAR_TYPE): Don't define.
7177         (flag_short_double, flag_short_wchar): Don't define.
7178         (record_builtin_type): New function.
7179         (build_void_list_node): New function.
7180         * c-common.h (flag_short_double, flag_short_wchar,
7181         record_builtin_type, build_void_list_node): Declare.
7182
7183 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
7184
7185         * integrate.c (expand_inline_function): Don't put a virtual
7186         register into the reg map.
7187
7188         * function.c (fixup_var_refs_1): If force_operand didn't put
7189         the address into the target, move it there.
7190
7191 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
7192
7193         Special-case tree_decl/tree_list allocations.
7194         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
7195         (OBJECT_SIZE): New macro.
7196         (NUM_EXTRA_ORDER): Likewise.
7197         (extra_order_size_table): New variable.
7198         (NUM_ORDERS): New macro.
7199         (objects_per_page_table): New variable.
7200         (object_size_table): New variable.
7201         (G.pages): Use NUM_ORDERS to bound the array.
7202         (G.page_tails): Likewise.
7203         (DIV_ROUND_UP): Remove.
7204         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
7205         (alloc_page): Use OBJECT_SIZE.
7206         (size_lookup): Don't make it const.
7207         (ggc_alloc): Use OBJECT_SIZE.
7208         (ggc_set_mark): Likewise.
7209         (ggc_get_size): Likewise.
7210         (init_ggc): Set up the object_size_table, objects_per_page_table,
7211         and adjust size_lookup.
7212         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
7213         (ggc_pop_context): Use NUM_ORDERS.
7214         (clear_marks): Likewise.
7215         (sweep_pages): Likewise.
7216         (poison_pages): Likewise.
7217         (ggc_print_statistics): Use OBJECT_SIZE.
7218
7219 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7220
7221         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
7222         Only call array_size_for_constructor if last field and array type
7223         with no upper bound.
7224
7225 2001-01-04  Philip Blundell  <philb@gnu.org>
7226
7227         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
7228         from bit 31 downwards, if this requires no more insns.
7229         (count_insns_for_constant): New helper function for above.
7230
7231 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
7232
7233         * gencodes.c (output_predicate_decls): Remove empty initializer.
7234
7235 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
7236
7237         * tree.c (copy_node): Remove documentation about obstacks.
7238         (buidl1): Check that nobody tries to build 2-argument nodes this
7239         way.
7240
7241 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7242
7243         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
7244         fp_high_losum_p.
7245
7246         * gencodes.c (output_predicate_decls): Fill empty initializer
7247         braces.
7248
7249 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
7250
7251         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
7252         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
7253         or -MM.
7254         (do_include): Handle missing headers like cpp0.
7255         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
7256         paths with first include pathname.  Don't strcat to uninitialized
7257         string.
7258
7259 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
7260
7261         * regrename.c (regrename_optimize): Don't rename from frame pointer
7262         if frame_pointer_needed.
7263         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
7264         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
7265         (ia64_reorg): Use it instead of scheduling if ! optimize.
7266         (errata_emit_nops): Properly call asm_noperands.
7267         (ia64_sched_reorder): Finish cycle if we see an asm.
7268         (ia64_variable_issue): Clear scheduling state after asms.
7269
7270 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7271
7272         * cpp.texi: Update for -MT.
7273         * cppinit.c (initialize_dependency_output): Add a default
7274         target if none has been given already.
7275         (no_tgt, OPT_MT): New.
7276         (cpp_handle_option): Handle -MT.  Update -M etc.
7277         * cpplib.h (struct cpp_options): Remove deps_target.
7278         * gcc.c (cpp_options): Handle -MT.
7279         * mkdeps.c (struct deps): Move from mkdeps.h.
7280         (deps_calc_target): Rename deps_add_default_target.  Add a
7281         default target if none has been specified already.
7282         * mkdeps.h (struct deps): Move to mkdeps.c.
7283         (deps_calc_target): Rename deps_add_default_target.
7284
7285 2000-01-03  Richard Henderson  <rth@redhat.com>
7286
7287         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
7288         Remove dead code.
7289         * c-typeck.c (push_init_level): Move checks for flexible array
7290         members and zero length arrays ...
7291         (pop_init_level): ... here.  Silently discard empty initializations.
7292         Remove dead code.
7293         * varasm.c (output_constructor): Update for sizeof change to
7294         zero-length arrays.
7295
7296         * extend.texi (Zero Length): Clarify semantics.
7297
7298 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
7299
7300         * configure.in (tm.h): Include isns-codes.h last.
7301         * configure: Rebuilt.
7302
7303 2001-01-03  Richard Henderson  <rth@redhat.com>
7304
7305         * config/alpha/alpha.md (addvsi3, addvdi3): New.
7306         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
7307
7308 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7309
7310         * tradcpp.c (main): Make sure finclude() is called with a valid
7311         indepth value while handling -include.
7312
7313 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
7314
7315         * gencodes.c (output_predicate_decls): New function.
7316         (main): Call it.
7317         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
7318         even if it is not the first time machmode.h is #included.
7319         * config/sh/sh.c (fpul_operand): Declare MODE argument.
7320         * tm.texi (PREDICATE_CODES): Document predicate declarations.
7321         * gcc.texi (Copyright): Added 2001.
7322
7323 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
7324
7325         * c-common.c (c_common_lang_init): New function.  Warn if format
7326         warning options which only have effects when used with -Wformat
7327         are used without -Wformat.
7328         * c-common.h (c_common_lang_init): Declare.
7329         * c-lang.c (lang_init): Call c_common_lang_init.
7330         * objc/objc-act.c (lang_init): Call c_common_lang_init.
7331
7332 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
7333
7334         * configure.in: Check for the mktemp command.
7335         * configure: Regenerate.
7336         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
7337         $TEMP.  Create temporary files with mktemp, if available at
7338         configure time; otherwise use set -C.  Remove temporary files
7339         before exit.
7340
7341 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
7342
7343         * configure.in: Require at least texinfo 4.0.  Check for whether
7344         Pod::Man is sufficiently recent to regenerate GCC manpages.
7345         * configure:  Regenerate.
7346         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
7347         on #!.
7348         (GENERATED_MANPAGES): Define.
7349         (generated-manpages): New target.  Depend on cpp.1 as well as
7350         gcov.1.
7351         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
7352         configure to generated-manpages or empty) rather than on the
7353         manpages directly.  Remove execute permission from installed
7354         gcov.1 as well as cpp.1.
7355         * cpp.1, gcov.1: Regenerate.
7356
7357 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7358
7359         * builtins.c (expand_builtin_strncmp): Use host_integerp and
7360         tree_low_cst.  Allow using cmpstrsi in more cases.
7361
7362 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7363
7364         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
7365         sized types.
7366
7367 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
7368
7369         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
7370         * Makefile.in (HOST_CFLAGS): Mention build-make.
7371
7372 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7373
7374         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
7375         as JUMP_INSN.
7376
7377 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
7378
7379         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
7380         a REG rtx.
7381
7382         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
7383         callers changed.
7384
7385         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
7386         reg_base_value and reg_known_value arrays.
7387         (init_alias_analysis): Add more cases to detect known values.
7388         * sched-deps.c (deps_may_trap_p): New function.
7389         (sched_analyze_2): Use it.
7390
7391 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
7392
7393         * combine.c (simplify_shift_const): Even if we're sign-extracting,
7394         don't discard an ASHIFTRT if we're shifting in a wider mode.
7395
7396 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7397
7398         * toplev.c (rest_of_compilation): Don't print basic block information
7399         when CFG isn't up to date.
7400
7401 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
7402
7403         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
7404         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
7405         (UNALIGNED_SHORT_ASM_OP): Define.
7406         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
7407
7408 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
7409
7410         * fold-const.c (fold_convert): Fix typo.
7411
7412 2001-01-02  Richard Henderson  <rth@redhat.com>
7413
7414         * c-common.h (ASM_INPUT_P): New.
7415         * c-parse.in (asm): Set it when needed.
7416         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
7417         existance of an operand.
7418
7419 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
7420
7421         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
7422         (dwarf2out_frame_debug_expr): Likewise.
7423         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
7424
7425 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
7426
7427         * i386.c (ix86_split_to_parts): Return number of part required;
7428         handle TFmodes.
7429         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
7430         TFmodes.
7431         (ix86_split_long_move): Use number of part returned
7432         by ix86_split_to_parts
7433         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
7434         New macros.
7435         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
7436         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
7437         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
7438         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
7439         (ALIGN_MODE_128): Add TFmode.
7440         (IS_STACK_MODE): Likewise.
7441         (HARD_REGNO_NREGS): TFmode needs 3 registers.
7442         (HARD_REGNO_OK): Support TFmodes.
7443         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
7444         * i386.md (scheduler definitions): Use memory operand to determine
7445         fst/fld instructions; use mode attribute to determine real mode of
7446         the instruction.
7447         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
7448         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
7449
7450 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
7451
7452         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
7453
7454 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7455
7456         * expr.c (store_constructor_field): Update ALIGN before calling
7457         store_constructor.
7458
7459 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
7460
7461         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
7462         host_integerp.
7463
7464 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
7465
7466         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
7467         incomplete type.
7468
7469 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7470
7471         * c-decl.c (start_function): Don't warn on third parameter to main.
7472
7473 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7474
7475         * tsystem.h: Define HAVE_DECL_GETOPT.
7476
7477 2001-01-02  Philip Blundell  <pb@futuretv.com>
7478
7479         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
7480         of input operand.
7481
7482 2001-01-02  Richard Henderson  <rth@redhat.com>
7483
7484         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
7485
7486 2001-01-02  Andreas Jaeger  <aj@suse.de>
7487
7488         * c-decl.c (c_decode_option): Remove support of
7489         -Wmissing-noreturn.
7490
7491         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
7492         (W_options): Add -Wmissing-noreturn here.
7493
7494         * flow.c: Define lang_missing_noreturn_ok_p.
7495         (check_function_return_warnings): Use it.
7496
7497         * c-common.h: Declare lang_missing_noreturn_ok_p.
7498
7499         * c-lang.c (c_missing_noreturn_ok_p): New function.
7500         (lang_init): Set lang_missing_noreturn_ok_p.
7501
7502         * invoke.texi (Warning Options): Document this.
7503
7504 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
7505
7506         * extend.texi (C++ Extensions):  New node for C++ attributes;
7507         describe init_priority and com_interface.
7508         * invoke.texi:  Remove -finit-priority as it now has zero effect.
7509         * install.texi:  Fix xref syntax.
7510         * md.texi:  Likewise.
7511
7512 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7513
7514         * config.gcc (sparc64-wrs-vxworks*): New case.
7515         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
7516
7517         * config/sparc/sparc.c (sparc_override_options): Do support different
7518         pointer and architecture size.
7519         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
7520         (POINTERS_EXTEND_UNSIGNED): Define.
7521         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
7522         (FUNCTION_MODE): Define to be Pmode.
7523         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
7524
7525         * function.c (expand_function_end): Properly handle DECL_RESULT
7526         and copy when ptr_mode != Pmode.
7527         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
7528
7529 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7530
7531         * c-common.c (c_common_nodes_and_builtins): Set prototype
7532         parameters for __builtin_fputs, __builtin_fputc and
7533         __builtin_fwrite.  Don't declare plain fputc as a builtin.
7534
7535 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7536
7537         * loop.c (add_label_notes): Increment the label usage count when
7538         a note is added to an insn which refers to a CODE_LABEL.
7539         * gcse.c (add_label_notes): Likewise.
7540
7541 2001-01-01  Andreas Jaeger  <aj@suse.de>
7542
7543         * loop.c (scan_loop): Use xmalloc to allocate movables.
7544
7545 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
7546
7547         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
7548         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
7549         * reload1.c (REGISTER_MOVE_COST): Likewise.
7550         * regclass.c (REGISTER_MOVE_COST): Likewise.
7551         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
7552         dimension.  Adjust all users.
7553         (init_reg_sets_1): Iterate on all modes.
7554         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
7555         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
7556         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
7557         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
7558         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
7559         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
7560         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
7561         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
7562         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
7563         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
7564         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
7565         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
7566         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
7567         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
7568         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
7569         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
7570         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
7571         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
7572         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
7573         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
7574         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
7575         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
7576         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
7577         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
7578         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
7579         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
7580         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
7581
7582 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
7583
7584         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
7585         arg VARIES_P.  Call it with extra arg.
7586         (true_dependence): Likewise.
7587         * rtl.h (rtx_addr_can_trap_p): Declare.
7588         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
7589         prototypes.
7590         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
7591         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
7592         pic offset table register if it's zero.  All callers changed.
7593         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
7594
7595 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7596
7597         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
7598         STRING_POOL_ADDRESS_P.
7599
7600         * config/sparc/sparc.c (input_operand): Properly test for short op.
7601
7602         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
7603         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
7604         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
7605         * config/sparc/elf.h: No longer include sol2.h.
7606         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
7607         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
7608
7609         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
7610
7611 2001-01-01  Michael Hayes  <mhayes@redhat.com>
7612
7613         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
7614         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
7615         (record_initial): Likewise.
7616         * unroll.c (copy_loop_body, loop_iterations): Likewise.
7617         (remap_split_bivs): Likewise.
7618
7619 2001-01-01  Michael Hayes  <mhayes@redhat.com>
7620
7621         * loop.c (loop_ivs_free): New function.
7622         (strength_reduce): Break out from...
7623
7624 2001-01-01  Michael Hayes  <mhayes@redhat.com>
7625
7626         * loop.h (struct iv): New.
7627         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
7628         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
7629         'reg_biv_class' fields with 'regs' and 'n_regs'.
7630         (struct ivs): Rename 'loop_iv_list' field to 'list'.
7631         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
7632         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
7633
7634 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
7635
7636         * resource.c (mark_referenced_resources): Abort() before
7637         attempting to mark a pseudo register.
7638         (mark_set_resources): Likewise.
7639
7640 2001-01-01  Michael Hayes  <mhayes@redhat.com>
7641
7642         * loop.h (REG_IV_CLASS): New accessor macro.
7643         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
7644         * unroll.c (REG_IV_CLASS): Likewise.
7645
7646 See ChangeLog.4 for earlier changes.