OSDN Git Service

* config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
2
3         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
4         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
5         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
6         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
7
8         (i750a-*-*): Error here if hosting on i750a.
9         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
10
11         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
12         Remove (empty modulo comments).
13
14         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
15         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
16         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
17         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
18         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
19         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
20
21         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
22         Remove reference to winnt.h in comment.
23         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
24
25 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
26
27         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
28         used to set another biv.
29
30 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
31
32         * tree.h (BLOCK_DEAD): New macro.
33         (struct tree_block): New flag, dead_flag.
34         * print-tree.c (print_node, case 'b'): Print missing fields.
35         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
36         * function.c (identify_blocks): Enable test for misplaced notes.
37         (all_blocks): Skip BLOCK_DEAD blocks.
38         * integrate.c (integrate_decl_tree): Likewise.
39
40         * errors.c (internal_error, trim_filename): New functions.
41         (fancy_abort): Call internal_error.
42         * errors.h (internal_error, trim_filename): New declarations.
43
44 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
45
46         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
47         2000-08-26's patch.
48         (EXTRA_CONSTRAINT): Formatting changes.
49
50 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
51
52         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
53
54 2001-02-23  Per Bothner  <per@bothner.com>
55
56         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
57         so they can be called from java/jvspec.c.
58         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
59
60 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
61
62         * i386.c (ix86_frame): New structure.
63         (ix86_compute_frame_size): Kill.
64         (ix86_compute_frame_layout): New.
65         (ix86_save_reg): New.
66         (ix86_can_use_return_insn_p): Use frame layout stuff.
67         (ix86_expand_prologue): Likewise.
68         (ix86_expand_epilogue): Likewise.
69         (ix86_initial_elimination_offset): Likewise.
70         (ix86_nsaved_regs): Use ix86_save_reg.
71         (ix86_emit_save_regs): Likewise.
72
73 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
74
75         * flow.c (find_sub_basic_blocks): New function.
76         (split_block): Be ready for basic block introduced by CODE_LABEL.
77         (commit_one_edge_insertion): Call find_sub_basic_block.
78
79         * flow.c (make_edges): Add edge from entry for blocks starting with
80         label having ALTERNATE_NAME
81
82 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
83
84         * function.c (epilogue_done): Be ready for first basic block not
85         containing PROLOGUE_END note.
86         (reposition_prologue_and_epilogue_notes): Avoid placing
87         PROLOGUE_END note between BASIC_BLOCK.
88
89 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
90
91         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
92
93 2001-02-21  DJ Delorie  <dj@redhat.com>
94
95         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
96         check for current_function_has_nonlocal_goto from 1999-11-12.
97
98 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
99
100         * diagnostic.c (trim_filename): No longer static.
101         * toplev.h (trim_filename): Declare.
102         * rtl.c (rtl_check_failed_bounds): Call internal_error.
103         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
104         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
105         (rtvec_check_failed_bounds): Likewise.
106         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
107
108         * convert.c (convert_to_integer): Don't do unsigned unless result or
109         both inputs are unsigned.
110
111         * fold-const.c (fold_convert): Don't call size_int_type_wide if
112         input overflows.
113
114         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
115
116         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
117
118 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
119
120         * Makefile.in (resource.o): Add params.h dependence.
121         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
122         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
123         * resource.c: Add dependence on params.h.
124         (current_live_regs): Fix explanatory comment.
125         (find_basic_block): Add new parameter to permit limiting search
126         for a BARRIER.
127         (mark_target_live_regs): Add new argument to find_basic_block call.
128         (incr_ticks_for_insn): Likewise.
129
130 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
131
132         * diagnostic.c (output_to_stream): Rename to
133         output_buffer_to_stream. Loses the stream parameter.
134         (init_output_buffer): Set diagnosic_buffer's stream.
135         (flush_diagnostic_buffer): Adjust.
136         (default_print_error_function): Likewise.
137         (finish_diagnostic): Likewise.
138         (verbatim): Likewise.
139
140         * diagnostic.h (struct output_buffer): Add `stream' field.
141         (output_buffer_attached_stream): New macro.
142
143 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
144
145         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
146         check if either operand is divisible by C.
147         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
148         If type is signed, consider negative numbers as well.
149
150 2001-02-22  Richard Henderson  <rth@redhat.com>
151
152         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
153         reach .text instead of gp-relative relocs.
154         * config/ia64/crtend.asm (.init): Likewise.
155
156 2001-02-22  Andreas Jaeger  <aj@suse.de>
157
158         * extend.texi (C++ Attributes): Fix typo.
159
160 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
161
162         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
163         functions, drop current_function_args_info.words test.
164         (ia64_compute_frame_size): Mark syscall_linkage functions as
165         using eight input registers.
166
167 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
168         Bruce Korb  <bkorb@gnu.org>
169
170         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
171         * fixinc/README: Document how to convert sed substitutions
172         to format style c_fix-es.
173         * fixinc/fixincl.x: regen
174
175 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
176
177         * gcc.c: Add comment explaining how to add a command-line option.
178         Add title to specs language comment.
179
180 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
181
182         * gcc.c (cc1_options): Add "-param".
183         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
184         (option_map): Likewise.
185         * toplev.c (display_help): Add entry for "--param".
186         (independent_decode_option): Fix typographical error.
187
188 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
189                               Bernd Schmidt  <bernds@redhat.com>
190                               Jan Hubicka  <jh@suse.cz>
191
192         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
193         (function_arg): Likewise.
194
195 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
196
197         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
198
199 2001-02-21  Kazu Hirata  <kazu@hxi.com>
200
201         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
202         character.
203         (xorsi3): Likewise.
204
205 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
206
207         * flow.c (init_propagate_block_info): Canon address and use single_set
208         for killing dead memory stores.
209
210 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
211
212         * Makefile.in (reorg.o): Add params.h dependence.
213         * params.def: Fix typographical error in comment.
214         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
215         * params.h: Modify introductory comment.
216         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
217         * reorg.c: Add dependence on params.h.
218         (redundant_insn): Add parameterized throttle for search.
219         (fill_simple_delay_slots): Add a comment explaining a variable.
220         Move conditional out of loop, simplifying code.
221         (fill_eager_delay_slots): Fix typographical error in comment.
222
223 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
224
225         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
226
227         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
228         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
229
230 2001-02-21  Jason Merrill  <jason@redhat.com>
231
232         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
233         (struct tree_decl): Add uninlinable bitfield.
234         * c-decl.c (duplicate_decls): Set it.
235         * integrate.c (function_cannot_inline_p): Check it.
236
237         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
238         DW_AT_MIPS_linkage_name to abstract methods.
239         (dwarf2out_abstract_function): Emit class context before calling
240         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
241         (gen_subprogram_die): Remove obsolete code.
242         (gen_member_die): Don't include clones in the member list.
243         (gen_decl_die): Emit abstract info for clone origin.
244         * dwarfout.c (output_type): Don't include clones in the member list.
245         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
246         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
247         DECL_ABSTRACT on a function that already has it set.
248
249         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
250         (get_subprogram_die): Pass it in.
251
252 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
253
254         * flow.c (mark_set_1): Make not_dead unsigned long.  For
255         non-pseudos, use it as a bitmask of the hard regs that
256         don't die.
257
258 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
259
260         * cppfiles.c: Update comments.
261         (_cpp_read_file): Don't check for NULL filenames any more.
262         * cppinit.c (cpp_start_read): Don't do canonicalization of
263         in_fname and out_fname.  Use the passed file name exclusively.
264         (_cpp_handle_options): Don't treat "-" as a command line option,
265         but as a normal filename.
266         (_cpp_post_options): Canonicalize in_fname and out_fname.
267         * cppmain.c (printer_init): Don't check out_fname for NULL.
268         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
269         (init_c_lex): Update, and use "" to represent stdin to CPP.
270         (yyparse): Update.
271
272 2001-02-20  Will Cohen  <wcohen@redhat.com>
273
274         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
275         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
276         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
277         fixunstfsi_libfunc.
278
279 2001-02-20  Stan Shebs  <shebs@apple.com>
280
281         * config/rs6000/rs6000.c (output_cbranch): Output branches
282         on separate lines instead of using ';' to separate.
283
284 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
285
286         * cppinit.c (set_lang):  Move builtin handling to...
287         (init_builtins): ...here.
288         (_cpp_create_reader): Move call to set_lang.
289
290 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
291
292         * stmt.c (expand_return): If an attempt is made to return the
293         error_mar_node, treat the return like a return without a value.
294
295 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
296
297         * sibcall.c (skip_copy_to_return_value): Call
298         identify_call_return_value here, and return orig_insn if it
299         returns zero.  Hardret and softret arguments now unnecessary.
300         (call_ends_block_p): Don't call identify_call_return_value here.
301
302         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
303         's' slots in RTXen.
304         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
305         * ggc.h (ggc_mark_if_gcable): Delete prototype.
306
307 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
308
309         * pa.c (move_operand): Accept code to load the address of a
310         symbol out of the DLT as a valid move operand.
311         (print_operand, case 'A'): New to handle generating a DLT
312         reference for a LO_SUM expression.
313         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
314         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
315
316 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
317
318         * README, cpp.texi, gcc.texi, version.c: Update version number to
319         3.1.
320         * cpp.1, gcov.1, gcc.1: Regenerate.
321
322 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
323
324         * cppfiles.c (stack_include_file): Generate dependencies
325         here, and manage include_count here too.
326         (PRINT_THIS_DEP): Delete.
327         (_cpp_execute_include): Do not generate dependencies here,
328         apart from the case of a missing header.  Do not manage
329         include_count.
330         (_cpp_read_file): Leave dependency generation to
331         stack_include_file.
332
333 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
334
335         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
336         target_cpu_default.  Remove dead assignment to
337         target_cpu_default.
338
339 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
340
341         * regclass.c (contains_reg_of_mode): Make global.
342         (init_reg_sets): Remove contains_reg_of_mode; take into account
343         CLASS_MAX_NREGS when looking for the proper mode.
344         (dump_regclass): Dump only classes considered for the pseudo.
345         (regclass): Use contains_reg_of_mode.
346
347 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
348
349         * gcc.c (do_spec_1): 'n' for printing notices.
350         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
351
352 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
353
354         * reg-stack.c (next_flags_user): Use current_block->end
355         (swap_rtx_condition): Look for next user if flags don't die;
356         give up on CALL_INSNs; use current_block->end.
357
358 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
359
360         * sibcall.c (call_ends_block_p): New function.
361         (optimize_sibling_and_tail_recursive_call): Use it.
362
363 2001-02-18  Kazu Hirata  <kazu@hxi.com>
364
365         * config/h8300/h8300.md: Update copyright.
366         (andsi3): Do not output an extra newline character.
367
368 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
369
370         * toplev.c (note_deferral_of_defined_inlined_function): Argument
371         FNDECL may be unused.
372
373         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
374         follow jumps after first run.
375         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
376         it doesn't change any jumps.
377
378 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
379
380         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
381         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
382         (mostlyclean): Corresponding changes.
383         * rtlanal.c (hard-reg-set.h): Include.
384         (rtx_unstable_p): Do not treat the argument pointer specially
385         if it is not a fixed register.
386         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
387
388 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
389
390         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
391         against last real insn in basic block.
392         Rework to avoid gotos.
393
394         * Makefile.in (gcse.o): Now includes ggc.h.
395         * gcse.c: Include ggc.h.
396         (want_to_gcse_p): Verify expression can be in SET as valid insn.
397         (try_replace_reg): Remove warning of uninitialize variable.
398         (process_insert_insn): Call invalid_insn_p to validate insn.
399         * recog.c (insn_invalid_p): Now global.
400         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
401         * recog.h (insn_invalid_p): New declaration.
402
403         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
404
405         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
406         assignments from FP constants since 'Y' output code can't handle it.
407         (eligible_for_sibcall_delay): Likewise.
408
409         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
410         Call fancy_abort directly, passing args.
411         (print_rtl_and_abort): Now a macro, like fancy_abort.
412
413         * final.c (output_operand_lossage): Use internal_error, not error.
414
415 2001-02-18  Shane Nay  <shane@agendacomputing.com>
416
417         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
418         structure shift insns.
419
420 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
421
422         * invoke.texi (-fsquangle): Remove documentation.
423         (-fname-mangling-version): Likewise.
424
425 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
426
427         * optabs.c (expand_abs): Remove reference to
428         HAVE_contitional_arithmetic.
429         * combine.c (simplify_set): Likewise.
430
431 2001-02-18  Richard Henderson  <rth@redhat.com>
432
433         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
434         would be disrupted.
435
436 2001-02-18  Richard Henderson  <rth@redhat.com>
437
438         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
439
440         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
441
442         * reload1.c (reload_cse_simplify_set): Fix typo.
443
444 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
445
446         * diagnostic.c (_fatal_insn): Decrement errorcount.
447
448         * invoke.texi (-I): Add note avoiding use for system header files.
449
450         * rtl.h (add_clobbers): Remove duplicate declaration.
451         * recog.h (added_clobbers_hard_reg_p): New declaration.
452         * genemit.c (struct clobber_pat): New field has_hard_reg.
453         (gen_insn): Record if added clobbers clobber hard reg.
454         (gen_split): Avoid unused warning if number of operands is 0.
455         (output_added_clobbers_hard_reg_p): New function.
456         (main): Call it.
457
458 2001-02-18  Alan Modra <alan@linuxcare.com.au>
459
460         * pa.c (hppa_expand_prologue): Simplify code storing return
461         pointer.  For large (>=8k) frames with a post_store, adjust stack
462         pointer by 8k-64 first rather than by 64.  When testing with
463         VAL_14_BITS_P, always use the actual value rather than the value
464         negated.  Add blockage to prevent scheduling of spills before
465         stack frame has been created.
466         (hppa_expand_epilogue): Simplify code loading return pointer.
467         Allow a slightly larger range for merge_sp_adjust_with_load case.
468         When testing with VAL_14_BITS_P, always use the actual value.
469
470         * pa.c (pa_adjust_insn_length): Check that block move
471         pattern is a set before looking at operands.
472
473 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
474
475         * fold-const.c (fold_binary_op_with_conditional_arg): New
476         function, split out from ...
477         (fold): ... here.
478         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
479         conditional arms that throw exceptions.
480
481         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
482         looking at a BLOCK.
483
484 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
485
486         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
487         define HAVE_DECL_* to 1 to mask potential backup declarations.
488         * configure: Regenerated.
489
490 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
491
492         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
493
494 2001-02-17  Richard Henderson  <rth@redhat.com>
495
496         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
497         when replacing a memory load with a register.
498
499 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
500                           Jan Hubicka  <jh@suse.cz>
501
502         * recog.c (validate_replace_src_1): New.
503         (validate_replace_src_data): Likewise.
504         (validate_replace_src): Use note_uses.
505         * rtl.h (note_uses): Declare.
506         * rtlanal.c (note_uses): New.
507
508 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
509
510         * reg-stack.c (stack_def): Make field reg unsigned.
511         (remove_regno_note): Unsignetize parameter.
512
513 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
514
515         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
516         shladd_operand() call.
517
518 2001-02-16  Bruce Korb  <bkorb@gnu.org>
519             Rodney Brown  <RodneyBrown@mynd.com>
520
521         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
522         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
523         machine restrictions
524         * fixinc/fixincl.x: regen
525
526 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
527
528         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
529         Don't CSE a nop.
530         (hash_scan_insn): Clean up calls to hash_scan_set.
531         (compute_kill_rd): REGNO now unsigned.
532         (try_replace_reg): Rework to use simplify_replace_rtx.
533         (cprop_jump, cprop_cc0_jump): Likewise.
534         (cprop_insn): Call find_reg_equal_equiv_note.
535         Reflect changes to cprop_jump and cprop_cc0_jump.
536
537         * recog.c (validate_replace_src): Replace in operands of
538         ZERO_EXTRACT in SET_DEST.
539
540         * cse.c (new_label_ref): New variable.
541         (insert): Set it instead of recorded_label_ref.
542         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
543         CODE_LABEL for this function, and not already in REG_LABEL note.
544
545 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
546
547         * resource.c (mark_referenced_resources): Fix typo in introductory
548         comment.
549         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
550         string constant.
551
552 2001-02-16  Jason Merrill  <jason@redhat.com>
553
554         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
555         NULL.
556         (gen_subprogram_die): Don't abort on seeing a second definition if
557         the previous one was abstract.  Don't replace an abstract instance
558         in the lookup table.
559
560         * dwarf2out.c (dwarf2out_abstract_function): Rename from
561         gen_abstract_function.
562         * dwarf2out.h: Declare it.
563         * toplev.c (note_outlining_of_inline_function): New fn.
564         * toplev.h: Declare it.
565         * integrate.c (output_inline_function): Call it.
566         * c-decl.c (duplicate_decls): Call it when redefining an extern
567         inline.  Don't inline the new defn.
568
569         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
570
571 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
572
573         * .gdbinit: Rename to gdbinit.in.
574         * gdbinit.in: New file,
575         * configure.in: Generate .gdbinit from gdbinit.in.
576         * configure: Regenerated.
577         * Makefile.in (distclean): Always remove .gdbinit.
578
579 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
580
581         * objc/objc-act.c (start_class): Register implemented_classes with
582         GC.
583
584 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
585
586         * cppfiles.c (_cpp_make_system_header): Generate a file
587         change callback.
588
589 2001-02-15  Jim Meyering  <meyering@lucent.com>
590
591         * Makefile.in (install-common): Don't depend on installdirs here.
592         Instead, make each of the lang.install-common targets (e.g.,
593         c++.install-common in cp/Make-lang.in) depend on it.
594         (install-driver): Depend on installdirs.
595
596 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
597
598         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
599
600         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
601         do in memory.
602
603 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
604
605         * invoke.texi (--param): Document.
606
607 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
608
609         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
610
611 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
612
613         * i386.md (extendsfdf2_2): Fix constraints.
614
615 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
616
617         * i386.md (fop_df_3 splitter): Fix operand number.
618
619 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
620
621         * invoke.texi (-mreg-alloc): Nuke.
622         * i386.c (ix86_reg_alloc_order, regs_allocated,
623         order_regs_for_local_alloc): Nuke.
624         (override_options): Kill reg_alloc code.
625         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
626         (REG_ALLOC_ORDER): SSE goes before I387.
627         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
628         (ix86_reg_alloc_order): Likewise.
629         * i386-protos.h (ix86_reg_alloc_order): Kill.
630
631 2001-02-14  Richard Henderson  <rth@redhat.com>
632
633         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
634
635 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
636
637         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
638
639 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
640
641         * i386-protos.h (ix86_memory_move_cost): Move offline.
642         * i386.c (ix86_register_move_cost): Compute properly cost of
643         SSE, MMX and i387 instructions.
644         (*_cost): Add costs of SSE/MMX moves.
645         (ix86_memory_move_cost): Move offline from ....; Likewise.
646         * i386.h (MEMORY_MOVE_COST): .... here;
647         (struct processor costs): Add new fields to represent costs
648         of SSE/MMX moves.
649
650 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
651
652         * regclass.c (init_reg_sets_1): Reinstall the optimization of
653         move_cost together with Matt Kraai's fix.
654
655 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
656
657         * Makefile.in (OBJS): Add params.o.
658
659 2001-02-14  Richard Henderson  <rth@redhat.com>
660             DJ Delorie  <dj@redhat.com>
661
662         * jump.c (jump_optimize_1): When we delete a conditional jump
663         preceeding a non-conditional jump to effectively the same place,
664         make sure that the combined jump skips any clobber insns between
665         the two labels.
666
667 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
668
669         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
670
671 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
672
673         * Makefile.in (toplev.o): Depend on params.h.
674         (intergate.o): Likewise.
675         (params.o): New target.
676         * flags.h (inline_max_insns): Remove.
677         * integrate.c: Include params.h.
678         Use MAX_INLINE_INSNS instead of inline_max_insns.
679         * params.c: New file.
680         * params.h: Likewise.
681         * params.def: Likewise.
682         * toplev.c: Include params.h.
683         (lang_independent_params): New variable.
684         (decode_f_option): Use the param machinery instead of setting
685         max_inline_insns.
686         (independent_decode_option): Handle "--param name=value".
687         (main): Register language-independent parameters.
688
689 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
690
691         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
692
693 2001-02-14  Richard Henderson  <rth@redhat.com>
694
695         * regclass.c (init_reg_sets_1): Revert last two changes.
696
697 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
698
699         * stor-layout.c (is_pending_size, put_pending_size): New functions.
700         (variable_size): Call put_pending_size.
701         * tree.h (is_pending_size, put_pending_size): Add prototypes.
702         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
703         sizes list, put newly created SAVE_EXPR there as well.
704
705 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
706
707         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
708         (errata_find_address_regs): load_group has only 2 entries.
709         (errata_emit_nops): Likewise.  shladd is not problematic.
710         Clear last_group if nop was emitted.
711         (fixup_errata): load_group has only 2 entries.
712         Optimize.
713
714 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
715
716         * c-lex.c (lex_number): Only warn traditionally for U suffix
717         outside system macros.
718         * cppexp.c (parse_number): Similarly.
719         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
720         * cppmacro.c (struct cpp_macro): New member node.
721         (parse_args): Only warn about missing rest args if not
722         a system macro.
723         (funlike_invocation_p): Similarly for uninvoked funlike macros.
724         (cpp_sys_objmacro_p): New.
725         (_cpp_create_definition): Store the node with the macro defn.
726         Remember if the macro is defined in a system header.
727
728 2001-02-13  DJ Delorie  <dj@redhat.com>
729
730         * configure.in (check_languages): determine languages to check
731         * Makefile.in (check-c++): alias for check-g++
732         (check-f77): alias for check-g77
733         (CHECK_TARGETS): depend on configured languages
734
735 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
736
737         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
738         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
739         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
740         (sqrtextendsfdf2): Disable for SSE2.
741
742 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
743
744         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
745         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
746         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
747         (sqrtextendsfdf2): Disable for SSE2.
748
749 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
750
751         * i386.md (movsfcc_1): Support integer cmove instruction.
752         (movdfcc_1): Likewise; new splitter.
753
754 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
755
756         * i386.c (output_fp_compare): Support SSE.
757         (prepare_fp_compare_args): SSE comparisons always support memory.
758         * i386.h (TARGET_CMOVE): SSE imply cmove.
759         * i386.md (cmp?f2): Enable for SSE too.
760         (cmpfp_i*): Support SSE.
761         (cmpfp_i_sse): New.
762         (cmpfp_i_sse_only): New.
763         (s*, b* fp expanters): Enable for SSE too.
764         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
765         New patterns.
766
767 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
768
769         * regclass.c (init_reg_sets_1): Silence warning.
770
771 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
772
773         * i386.md (sqrt?f2): Change to expander.
774         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
775
776 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
777
778         * rtlanal.c (find_reg_equal_equiv_note): New function.
779         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
780         (simplify_gen_relational, simplify_replace_rtx): Likewise.
781         * rtl.h: Add declarations for above functions.
782
783 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
784
785         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
786         conditionals.
787         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
788         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
789         * flow.c (mark_regs_live_at_end): Likewise.
790         (calculate_global_regs_live): Likewise.
791         * gcse.c (compute_hash_table): Likewise.
792         (compute_kill_rd): Likewise.
793         * resource.c (mark_target_live_regs): Likewise.
794         * rtl.h (INVALID_REGNUM): New macro.
795
796 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
797
798         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
799
800 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
801
802         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
803         for SSE.
804
805 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
806
807         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
808         too.
809         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
810         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
811         (fop_sf_1_sse, fop_df_1_sse): New patterns
812         (fop_*): Disable float_extend and float patterns for SSE compilation.
813         * i386.c (output_387_binary_op): Support SSE.
814
815 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
816
817         * i386.md (dummy_extendsfdf2): Support SSE2
818         (extendsfdf2): Enable if 80387 or SSE2.
819         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
820         and no MIX_I387_SSE2
821         (extendsfdf2_1_sse_only): New pattern.
822         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
823         of SSE.
824         (truncdfsf2_1): Support SSE.
825         (truncdfsf2_2): Support SSE.
826         (truncdfsf2_2_1_sse): New pattern.
827         (fixtruncsfsi2): Always use SSE if available.
828         (fix_truncsfsi_sse): New pattern.
829         (fix_truncdfsi_sse): New pattern.
830         (floatsis?f2): Support SSE.
831         (floatsidf2_i387): New pattern.
832         (floatsidf2_sse): Likewise.
833
834 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
835
836         * configure.in: Use "have_gnat" variable, not "gnat".
837         * configure: Regenerated.
838
839         * config/sparc/sparc.c (function_value): Treat all non-record
840         aggregate types like used to treat UNION_TYPE.
841
842 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
843
844         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
845         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
846         (MASK_SSE2): New.
847         (MASK_MIX_SSE_I387): New.
848         (TARGET_SSE): SSE2 imply SSE.
849         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
850         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
851         (enum reg_class): Add new classes.
852         (REG_CLASS_NAMES): Likewise.
853         (REG_CLASS_CONTENTS): Likewise.
854         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
855         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
856         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
857         (CLASS_MAX_NREGS): Use new macros.
858         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
859         * i386.md (pushsf, movsf): Support SSE.
860         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
861         splitters to use ANY_FP_REGNO_P.
862         (movdf_nointeger, movdf_integer): Likewise.
863
864 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
865
866         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
867         (try_combine): Use it.
868
869 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
870
871         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
872         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
873         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
874         (REGISTER_MOVE_COST): Likewise.
875         * i386-protos.h (ix86_secondary_memory_needed,
876         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
877         * i386.c (ix86_secondary_memory_needed,
878         ix86_preferred_reload_class, ix86_register_move_cost): New function.
879
880 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
881
882         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
883         (HARD_REGNO_MODE_OK): Move offline to ....
884         * i386.c (ix86_hard_regno_mode_ok) ... here;
885         refuse all incorrect modes.
886         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
887
888 2001-02-13  Richard Henderson  <rth@redhat.com>
889
890         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
891         entire operator; replicate that and match_dup the operands.
892         (cmp_ccx_arith_op_set): Likewise.
893         (cmp_cc_arith_op_not_set): Likewise.
894         (cmp_ccx_arith_op_not_set): Likewise.
895
896 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
897
898         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
899
900 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
901
902         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
903         (TARGET_NO_BITFIELD_WORD): New macro.
904         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
905         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
906
907 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
908
909         * cselib.c: New file, from simplify-rtx.c.
910         * simplify-rtx.c: Remove cselib parts.
911         * Makefile.in: Add cselib.o.
912
913 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
914
915         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
916         (setup_incoming_varargs): Remove warning.
917
918         * config/rs6000/rs6000.c (validate_condition_mode): When
919         flag_fast_math, allow floating-point conditionals to be reversed.
920         (rs6000_generate_compare): When flag_fast_math, don't generate
921         cror operations for FP conditionals.
922
923         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
924         -mcall-i960.
925         (ASM_SPEC): Likewise.
926         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
927         (CC1_SPEC): Likewise.
928         (LINK_TARGET_SPEC): Likewise.
929         (CPP_ENDIAN_SPEC): Likewise.
930         * Makefile.in (check-consistency): New target.
931
932 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
933
934         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
935         "return type defaults" warning for functions with return type
936         defaulting to int.
937         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
938         function declarations by default rather than only when pedantic.
939
940 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
941
942         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
943         arrays.
944
945 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
946
947         * extend.texi (Deprecated): Deprecate new initializer lists.
948
949 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
950
951         * mkdeps.c (deps_add_default_target): Robustify. Add
952         basename component only.
953         * cpp.texi (-M): Describe how default target is generated.
954         * invoke.texi (-M): Likewise.
955
956 2001-02-12  Kazu Hirata  <kazu@hxi.com>
957
958         * toplev.c (push_float_handler): Remove.
959         (pop_float_handler): Remove.
960         * toplev.h: Remove prototypes for the above functions.
961
962 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
963
964         * c-common.c (constant_fits_type_p): New function.
965         (convert_and_check): Use it.
966
967 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
968
969         * Makefile.in (GXX_ABI_FLAG): Don't define.
970         * configure.in (--enable-new-gxx-abi): Remove option.
971         * config.in: Regenerated.
972         * configure: Likewise.
973
974 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
975
976         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
977         basic block.
978         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
979         regular basic block, and arrange for all edges into it to switch
980         to normal mode.
981
982 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
983
984         * Makefile.in (distclean): Do not remove .gdbinit.
985
986 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
987
988         * Makefile.in (gcc.o): Fix typos.
989         (protize.o): Likewise.
990         (unprotoize.o): Likewise.
991
992 2001-02-11  Richard Henderson  <rth@redhat.com>
993
994         * tree.c (build1): Check for null operand in last change.
995
996 2001-02-11  Richard Henderson  <rth@redhat.com>
997
998         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
999         (fold): Don't assume a constant isn't foldable.
1000         * tree.c (build): Set TREE_CONSTANT for an expression with no
1001         side-effects and constant operands.
1002         (build1): Likewise.
1003
1004 2001-02-10  Richard Henderson  <rth@redhat.com>
1005
1006         * jump.c (squeeze_notes): Revert 2000-05-12 change.
1007
1008 2001-02-10  Anthony Green  <green@redhat.com>
1009
1010         * cpp.texi (Standard Predefined): Add documentation for
1011         __OPTIMIZE_SIZE__.
1012
1013         * c-common.c (combine_strings): Improve warning message.
1014
1015 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
1016
1017         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
1018         --oformat.
1019         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
1020
1021 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
1022
1023         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
1024         CYGWIN_CROSS_DIR.
1025
1026 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
1027
1028         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
1029         fp_mode attribute.
1030
1031 2001-02-09  Nick Clifton  <nickc@redhat.com>
1032
1033         * config/arm/arm.md: Change output contraint on post inc
1034         load/store multiple patterns to be a read/write contraint.
1035
1036 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1037
1038         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
1039         .o files when using the -M options.
1040
1041 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1042             David Edelsohn  <edelsohn@gnu.org>
1043
1044         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
1045         handle DImode constants.  Use one TOC entry for SImode and smaller
1046         constants, aligned properly.
1047
1048 2001-02-08  Jason Merrill  <jason@redhat.com>
1049
1050         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
1051         about the SP adjustment for saving the static chain pointer.
1052         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
1053         offset when setting a temporary CFA register.
1054
1055 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
1056
1057         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
1058         powerpc-*-chorusos* .
1059         * config/rs6000/chorus.h : New file.
1060         * config/i386/chorus.h : New file.
1061         * config/sparc/chorus.h : New file.
1062         * config/sparc/t-chorus-elf : New file.
1063
1064 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
1065
1066         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
1067         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
1068         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
1069         (__WCHAR_TYPE__): Correct macro name.
1070
1071 2001-02-08  Richard Henderson  <rth@redhat.com>
1072
1073         * config/i386/i386.c (ix86_frame_pointer_required): New.
1074         (ix86_setup_frame_addresses): New.
1075         (struct machine_funciton): Add accesses_prev_frame.
1076         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
1077         ix86_frame_pointer_required.
1078         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
1079         (SETUP_FRAME_ADDRESSES): New.
1080         * config/i386/i386-protos.h: Update.
1081         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
1082         from FRAME_POINTER_REQUIRED.
1083         * config/i386/svr3gas.h: Likewise.
1084         * config/i386/sysv3.h: Likewise.
1085         * config/i386/v3gas.h: Likewise.
1086
1087 2001-02-08  Richard Henderson  <rth@redhat.com>
1088
1089         * config/sparc/sparc.c (function_arg_record_value_3): Fix
1090         calculation of the number of integer registers required.
1091         (function_arg_record_value): Likewise.
1092
1093 2001-02-08  Jason Merrill  <jason@redhat.com>
1094
1095         * diagnostic.c (internal_error): Say "confused" after 1 error, not
1096         two.  Print file and line with "confused" message.
1097
1098         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
1099
1100 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1101
1102         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
1103
1104 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
1105
1106         * final.c (cleanup_subreg_operands): The address of a MEM can
1107         contain SUBREGs.
1108
1109         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
1110         for asms, too.
1111
1112 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1113
1114         * gcc.texi (Incompatibilities): Update documentation of
1115         preprocessing numbers.
1116
1117 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
1118
1119         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
1120
1121 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
1122
1123         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
1124
1125         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
1126         * gcc.c (struct compiler): Add cpp_spec field.
1127         (input_file_compiler): New variable.
1128         (do_spec_1): Allow a particular compiler to handle `%C'
1129         specially.
1130         (main): Store the current compiler in input_file_compiler.
1131         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
1132
1133 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
1134
1135         * cpphash.h (struct spec_nodes): Add n_true and n_false.
1136         * cppinit.c (cpp_create_reader): Initialize them.
1137         (append_include_chain): cxx_aware arg might be unused.
1138         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
1139         keywords and give them their phase 7 meaning.  Pedwarn about
1140         this unless '__bool_true_false_are_defined' is defined.
1141
1142 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
1143
1144         * lcm.c (optimize_mode_switching): Emit mode_set before the
1145         JUMP_INSN of an abnormal edge.
1146
1147 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
1148
1149         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
1150         a scheduling barrier at the end.
1151
1152         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
1153
1154 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
1155
1156         * config/sh/sh.md (reload_outsf): Removed.
1157         (movsf_ie): Introduce constraints for FPUL loads and stores.
1158         (reload_insf): Broaden the output constraint.
1159
1160         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
1161         defined.
1162         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
1163         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
1164
1165 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
1166
1167         * final.c: Revert my previous changes.
1168         * output.h: Make profile_label_no extern.
1169         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
1170         for generating label.
1171
1172 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
1173
1174         * config/i386/djgpp.h: Add comments about standard paths.
1175         (MD_EXEC_PREFIX): Undefine before defining.
1176         (MD_STARTFILE_PREFIX): New.
1177
1178 2001-01-30  Bruce Korb  <bkorb@gnu.org>
1179
1180         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
1181         (load_file): do not rely on load_file_data() to close file pointer
1182         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
1183         fixinc/inclhack.def(irix_limits_const): add test_text
1184
1185 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
1186
1187         * cppexp.c (parse_defined): Improve diagnostics for invalid
1188         syntax.
1189
1190 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
1191
1192         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
1193
1194 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
1195
1196         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
1197         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
1198         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
1199         (rs6000_output_symbol_ref): New function.
1200         (output_toc): Use VTABLE_NAME_P.
1201
1202 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1203
1204         * print-tree.c (print_node, case PARM_DECL):
1205         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
1206
1207         * stor-layout.c (reference_types_internal): New variable.
1208         (internal_reference_types): New function.
1209         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
1210         * tree.h (internal_reference_types): New declaration.
1211
1212         * cse.c (find_best_addr): Fix typo in computing cost.
1213
1214 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1215
1216         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
1217         and this is the sum of a pointer and a constant, we know the result
1218         did not overflow.
1219         (num_sign_bit_copies, case PLUS): Likewise.
1220         * explow.c (convert_memory_address): Remove opposite SUBREG.
1221         * function.c (instantiate_new_reg): New function (from common code).
1222         (instantiate_virtual_regs_1): Call it.
1223         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
1224         if pointers sign- or zero-extend.
1225         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
1226         If pointers extend unsigned, use inside of SUBREG.
1227         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
1228
1229 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
1230
1231         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
1232         subdir of gcc_gxx_include_dir.
1233         (gcc_gxx_target_include_dir): Remove.
1234
1235 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
1236
1237         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
1238         (dwarf2out_frame_debug_expr): Revise introductory comments to add
1239         a high-level description.
1240
1241 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
1242
1243         * final.c: Move the declaration of profile_label_no to ...
1244         * output.h: ... here.
1245         * function.c (expand_function_start): Call PROFILE_HOOK.
1246         * config/rs6000/aix.h: Define PROFILE_HOOK.
1247         * config/rs6000/rs6000-protos.h: output_profile_hook new.
1248         * config/rs6000/rs6000.c (output_profile_hook): Define.
1249         (output_prolog): Do nothing for ABI_AIX as it is taken care by
1250         output_profile_hook.
1251         tm.texi : Explain new macro PROFILE_HOOK.
1252
1253 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
1254
1255         * extend.texi (Extended Asm): Do not say that semicolon is always
1256         a valid line-breaking character for GNU assemblers.  Use
1257         newline-tab as the most commonly supported syntax.  Use
1258         newline-tab rather than semicolon in multi-insn examples.
1259
1260 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1261
1262         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
1263
1264 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1265             David Edelsohn  <edelsohn@gnu.org>
1266
1267         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
1268         code for AIX, even without flag_pic.
1269
1270 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
1271
1272         * c-typeck.c (common_type): push and pop binding level around
1273         calling common_type on function parameters.
1274
1275 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
1276
1277         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
1278
1279 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1280
1281         * config/mips/mips.c (override_options): Fix typo in last change.
1282         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
1283         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
1284
1285 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
1286
1287         * invoke.texi (-fdump-class-layout): Document.
1288         (-fdump-translation-unit): Use `=' as filename separator.
1289
1290 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
1291
1292         * Makefile.in (s-mlib): Don't build multilibs if
1293         --disable-multilib.
1294         (DRIVER_DEFINES): Adjust accordingly.
1295         (gcc.o): Likewise.
1296         (protoize.o): Likewise.
1297         (unprotoize.o): Likewise.
1298         * configure.in: Recognize --enable-multilib.
1299
1300 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
1301
1302         * Makefile.in (DRIVER_DEFINES): Fix quoting.
1303
1304         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
1305         * configure.in: Remove --enable-libstdcxx_v3 support.
1306         * configure: Regenerated.
1307
1308 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1309
1310         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
1311         Call abort instead of fatal.
1312         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
1313         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
1314         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
1315         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
1316         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
1317         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
1318
1319         * diagnostic.h (set_internal_error_function): Renamed.
1320         * toplev.h (internal_error): Renamed from fatal.
1321         (pfatal_with_name): Deleted.
1322         (fatal_io_error): Now has printf-style arguments.
1323         * diagnostic.c (pfatal_with_name): Deleted.
1324         (fatal_io_error): Rework to have args in printf-style.
1325         (set_internal_error_function): Renamed from set_fatal_function.
1326         (internal_error): Renamed from fatal.
1327         (error_recursion, fancy_abort): Call internal_error instead of fatal.
1328         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
1329         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
1330         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
1331         * flow.c (verify_flow_info): Likewise.
1332         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
1333         * config/mips/mips.c (save_restore_insns): Likewise.
1334
1335         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
1336         * flow.c (verify_flow_info): Likewise.
1337         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
1338         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
1339         (avr_normalize_condition): Likewise.
1340         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
1341         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
1342         (limit_reload_class, double_reg_to_memory): Likewise.
1343         (print_operand_address, emit_1600_code_shift): Likewise.
1344         (gen_tst_reg, gen_compare_reg): Likewise.
1345         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
1346         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
1347         Deleted.
1348         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
1349
1350         * c-parse.in (methoddef): Call fatal_error instead of fatal.
1351         * objc/objc-act.c (build_ivar_chain): Likewise.
1352         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
1353         pfatal_with_name.
1354         * graph.c (clean_graph_dump_file): Likewise.
1355         * profile.c (init_branch_prob): Likewise.
1356         * objc/objc-act.c (objc_init): Likewise.
1357
1358         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
1359         * config/avr/avr.c (avr_override_options): Likewise.
1360         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
1361         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
1362         * config/h8300/h8300.c (h8300_init_once): Likewise.
1363         * config/mips/mips.c (override_options): Likewise.
1364         * config/i386/i386.c (override_options): Likewise, rework.
1365         * config/m68k/m68k.c (override_options): Likewise.
1366
1367         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
1368         instead of fatal.
1369         * config/mips/mips.c (print_operand): Likewise.
1370         * hash.c (hash_allocate): Don't check for failure returns from
1371         obstack functions that can't fail.
1372         (hash_table_init_n, hash_table_init): Likewise; also now return void.
1373         * hash.h (hash_table_init_n, hash_table_init): Now return void.
1374         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
1375         (get_object_reference): Likewise.
1376
1377 2001-02-04  Nick Clifton  <nickc@redhat.com>
1378
1379         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
1380         StrongARM1110, 10TDMI, and 1020T.
1381
1382 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1383
1384         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
1385
1386 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
1387
1388         * config/sh/sh.md (movdf load split): Pass register number to
1389         FP_OR_XD_REGISTER_P.
1390
1391 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
1392
1393         * cppinit.c (BC): New macro.
1394         (builtin_array): Add __GXX_WEAK__.
1395         * cpplib.h (builtin_type): Add BT_WEAK.
1396         * cppmacro.c (builtin_macro): Handle BT_WEAK.
1397         * defaults.h (SUPPORTS_ONE_ONLY): Define.
1398         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
1399
1400 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
1401
1402         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
1403
1404 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1405
1406         * cpphash.h: Rename _ALIGN POOL_ALIGN.
1407         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
1408
1409 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1410
1411         * cpphash.h: Rename ALIGN _ALIGN.
1412         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
1413
1414 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
1415
1416         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
1417         compilation environment.
1418         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
1419         control over location of cygwin includes and libs.
1420
1421 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
1422
1423         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
1424
1425 2001-02-02  lars brinkhoff  <lars@nocrew.org>
1426
1427         * md.texi (Standard Names): remove reference to spur.md.
1428
1429 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
1430
1431         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
1432         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
1433         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
1434         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
1435         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
1436
1437 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1438
1439         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
1440         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
1441         number before reload.
1442         (c4x_adjust_cost): Return zero before reload.
1443         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
1444         split before reload.
1445
1446 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1447
1448         * c4x.c (c4x_hard_regno_rename_ok): New.
1449         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
1450         * c4x.h (HARD_REGNO_RENAME_OK): Define.
1451
1452 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1453
1454         * diagnostic.h: Add missing "extern" in all declarations.
1455
1456 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
1457
1458         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
1459         as for gcc_gxx_include_dir.
1460
1461 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
1462
1463         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
1464
1465 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
1466
1467         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
1468         label before alignment to be used as the braf base address.
1469         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
1470         branches.
1471         (casesi_jump_2): Require at least TARGET_SH2.
1472
1473         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
1474         truncation to 32-bit doubles on -m3e and -m4-single-only.
1475
1476 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
1477
1478         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
1479         the default when building a shared object.
1480         (init_spec): Use it.
1481         * testsuite/lib/g++.exp: Include the directory where libgcc
1482         is located to the LD_LIBRARY_PATH list.
1483         * invoke.texi (-shared-libgcc): Document the cases in which
1484         GCC defaults to using the shared libgcc.
1485
1486 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
1487
1488         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
1489         unsigned is wide enough.
1490         (BITS_PER_SI): New.
1491         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
1492         (si_to_float): Likewise.
1493         (float_to_si, float_to_usi): Use BITS_PER_SI.
1494
1495 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
1496
1497         * dwarf2out.c: Added explanation of abbreviations.
1498         (def_cfa_1): Added comments listing DWARF2 instructions.
1499         (cfa_temp_reg): Removed in favor of cfa_temp.
1500         (cfa_temp_value): Removed in favor of cfa_temp.
1501         (cfa_temp): New global variable.
1502         (dwarf2out_frame_debug_expr): Added extensive introductory
1503         comments explaining the function's transformations.  Revised to
1504         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
1505         (dwarf2out_frame_debug): Revised to use cfa_temp.
1506         (output_aranges): Cast as "unsigned" to avoid warning.
1507         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
1508         explain which instructions must be marked.
1509
1510 2001-02-01  Richard Henderson  <rth@redhat.com>
1511
1512         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
1513         new instruction.
1514
1515 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
1516
1517         * config/sh/crt1.asm (main_k): Modified so that start calls
1518         ___setup_argv_and_call_main.
1519
1520 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
1521
1522         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
1523         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
1524         and AVOID_LPASTE is cleared on meeting an unescaped newline.
1525         * cppmacro.c (builtin_macro): Set builtin flags here.
1526         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
1527         (replace_args): Clarify intent.
1528         (cpp_get_token): Macro expansion tokens get the saved flags.
1529         Update.
1530         * cppmain.c (scan_buffer): Remove now-redundant print.printed
1531         check.
1532
1533 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
1534
1535         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
1536         2001-Jan-29.
1537
1538 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1539
1540         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
1541         returns Pmode pseudo, but we need ptr_mode.
1542         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
1543         Remove bogus conversions; use HOST_WIDE_INT for size.
1544         Don't use TARGET if wrong mode.
1545
1546         * config/i386/i386.c (ix86_compute_frame_size): Allow
1547         stack_alignment_needed to be non-default even if size is zero.
1548
1549 2001-01-31  Alan Modra <alan@linuxcare.com.au>
1550
1551         * (hppa_init_pic_save): Emit the pic offset table
1552         reg save after last_parm_insn.
1553         * pa.c (hppa_init_pic_save): New function.
1554         * pa.h (hppa_init_pic_save): Declare.
1555         * pa.md (call, call_value, sibcall, sibcall_value): Use
1556         the above instead of duplicated code.
1557
1558         * pa.c (hppa_encode_label): Correct size of alloca buffer
1559         so we don't overrun it.  Correct leading `*' case.
1560         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
1561         need to handle `*@'.
1562         (FUNCTION_NAME_P): Likewise.
1563
1564 2001-01-31  Richard Henderson  <rth@redhat.com>
1565
1566         * config.gcc (alpha-osf5): Use float-i128.h.
1567
1568         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
1569         * config/float-i32.h: Likewise.
1570         * config/float-i64.h: Likewise.
1571         * config/float-sh.h: Likewise.
1572         * config/float-sparc.h: Likewise.
1573
1574 2001-01-31  DJ Delorie  <dj@redhat.com>
1575
1576         * expmed.c (extract_bit_field): allow non-integral modes if we
1577         want to extract a whole register from itself.
1578
1579 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
1580
1581         * c-typeck.c (set_init_index): If first is equal to last, assume as
1582         if it was not a range at all.
1583
1584 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
1585
1586         * config/fp-bit.c: Include tm.h.
1587         (float_to_si): Don't assume SImode is 32-bits wide.
1588         (float_to_usi): Likewise.
1589
1590 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
1591
1592         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
1593         incomplete type.
1594         (typename): Call pending_xref_error after parsing typed_typespecs.
1595         * c-decl.c (lookup_tag): Give error immediately rather than
1596         leaving it pending if the tag of the wrong type is in the same
1597         binding level.
1598         (xref_tag): Don't pedwarn for forward declarations of enum types
1599         here.
1600         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
1601         and enum tags.
1602
1603 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
1604
1605         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
1606
1607 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
1608
1609         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
1610         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
1611
1612 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
1613
1614         * cpphash.h (struct cpp_reader): New saved_flags.
1615         * cppmacro.c (cpp_get_token): Use saved_flags to remember
1616         to avoid a paste after a pasted token.
1617
1618 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
1619
1620         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
1621         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
1622         Wtype_MIN instead of LONG_MIN.
1623
1624 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
1625
1626         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
1627         README file.
1628         * fixinc/fixincl.x: Regenerated.
1629         * fixinc/inclhack.def (irix_limits_const): New definition to
1630         convert "const" to "__const" in limits.h.
1631
1632 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
1633
1634         * fixinc/genfixes (AG): Fix "autogen4" thinko.
1635
1636 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
1637
1638         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
1639         when register dies in the insn.
1640
1641 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1642
1643         * diagnostic.c (fatal): Fix word wrap.
1644
1645 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
1646
1647         * combine.c (try_combine): Fix SUBREG setting for
1648         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
1649
1650 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1651
1652         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
1653         comparison codes.
1654
1655 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1656
1657         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
1658         is not NULL.
1659         * toplev.c (decode_W_option): Update warn_larger_than
1660         unconditionally for each processed switch.
1661
1662 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1663
1664         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
1665         to NULL_RTX.
1666         (hppa_expand_prologue): Delete code to save pic offset table register
1667         in the function prologue.
1668         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
1669         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
1670         table register at the beginning of the function after the prologue.
1671
1672 2001-01-29  lars brinkhoff  <lars@nocrew.org>
1673
1674         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
1675
1676 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1677             Jeff Law <law@redhat.com>
1678
1679         * pa.md (return): Revise comment for trivial return.
1680         (return_internal): Non-trivial return pattern for non-PIC code.
1681         (return_internal_pic): Non-trivial return pattern for PIC code.
1682         It uses the PIC register to ensure it is restored after
1683         function calls.
1684         (epilogue): Generate appropriate return for PIC and non-PIC code.
1685
1686 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
1687
1688         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
1689
1690 2001-01-29  DJ Delorie  <dj@redhat.com>
1691
1692         * combine.c (if_then_else_cond): Pass the correct mode to
1693         operand_subword() for constants.
1694
1695 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
1696
1697         * config/i386/cygwin.h: Add w32api to include search.  Search different
1698         directories in a cross-build environment.
1699
1700 2001-11-29  Tim Josling  <tej@melbpc.org.au>
1701
1702         * tree.h (TYPE_STUB_DECL): Add documentation.
1703
1704 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
1705
1706         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
1707         (sdbout_field_types): Likwise.  Fix use of host_integerp.
1708
1709 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
1710
1711         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
1712         cygwin.h.
1713
1714 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
1715
1716         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
1717         to use flag_gnu_linker.
1718
1719 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
1720
1721         * cpplib.c (T_BAD_DIRECTIVE): Remove.
1722         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
1723
1724 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1725
1726         * tree.c, tree.h (build_parse_node): Remove; was identical to
1727         build_nt.
1728         * c-lang.c (start_cdtor), objc/objc-act.c
1729         (build_module_descriptor): Use build_nt instead of
1730         build_parse_node.
1731
1732 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
1733
1734         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
1735         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
1736         not have any upper bits set.
1737
1738 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
1739
1740         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
1741
1742 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1743
1744         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
1745
1746         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
1747
1748         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
1749         (integer_minus_one_node): Define.
1750
1751 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
1752
1753         * Makefile.in (bootstrap2-lean): Fix typo.
1754
1755 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
1756
1757         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
1758         : Don't set fe_value.
1759         * cpplib.h (AVOID_LPASTE): New flag.
1760         (struct cpp_hashnode): Remove fe_value.
1761         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
1762         * cppmacro.c (builtin_macro): Don't set flags here.
1763         (replace_args): Set AVOID_LPASTE flag on first token of an
1764         argument, and the token following it.
1765         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
1766         macro expansion, and on the token following it.  Do it for
1767         builtins too.
1768         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
1769
1770 2001-01-27  Richard Henderson  <rth@redhat.com>
1771
1772         * config/alpha/t-ieee: Remove multilibbing.
1773         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
1774
1775 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1776
1777         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
1778
1779         * Makefile.in: Remove all dependencies on defaults.h.
1780         * builtins.c: Don't include defaults.h.
1781         * c-common.c: Likewise.
1782         * c-decl.c: Likewise.
1783         * c-pragma.c: Likewise.
1784         * c-typeck.c: Likewise.
1785         * combine.c: Likewise.
1786         * i386.c: Likewise.
1787         * frame-ia64.c: Likewise.
1788         * cppexp.c: Likewise.
1789         * crtstuff.c: Likewise.
1790         * dbxout.c: Likewise.
1791         * dwarf2out.c: Likewise.
1792         * dwarfout.c: Likewise.
1793         * emit-rtl.c: Likewise.
1794         * except.c: Likewise.
1795         * expr.c: Likewise.
1796         * final.c: Likewise.
1797         * frame-dwarf2.c: Likewise.
1798         * libgcc2.c: Likewise.
1799         * optabs.c: Likewise.
1800         * profile.c: Likewise.
1801         * sdbout.c: Likewise.
1802         * toplev.c: Likewise.
1803         * tradcif.y: Likewise.
1804         * tree.c: Likewise.
1805         * varasm.c: Likewise.
1806
1807 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1808
1809         * builtins.c (expand_builtin_fputs): Use size_one_node when
1810         transforming into fwrite.
1811
1812 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
1813
1814         * extend.texi (Attribute Syntax): New section.
1815
1816 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
1817
1818         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
1819         they didn't need fixing.
1820
1821 2001-01-27  Janis Johnson <janis@us.ibm.com>
1822
1823         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
1824         if appropriate.
1825         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
1826         to remove macro definitions that are duplicated from elfos.h.
1827
1828 2001-01-27  Richard Henderson  <rth@redhat.com>
1829
1830         * config/i386/sco5gas.h: Move ...
1831         * config/usegas.h: ... here.
1832         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
1833
1834 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
1835
1836         * c-typeck.c (struct constructor_stack): Add range_stack member.
1837         (really_start_incremental_init): Clear it.
1838         (push_init_level): Save constructor_range_stack and clear it if
1839         pushing explicit braces.
1840         (pop_init_level): abort if constructor_range_stack is non-zero at
1841         explicit closing brace.  Restore saved constructor_range_stack if
1842         not implicit.
1843
1844 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
1845
1846         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
1847         into register was forced into memory.
1848
1849 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
1850
1851         * Makefile.in: Remove uses of + before $(MAKE).
1852
1853 2001-01-26  Richard Henderson  <rth@redhat.com>
1854
1855         * stmt.c (cost_table): Remove.
1856         (COST_TABLE, cost_table_initialized): New.
1857         (estimate_case_costs): Use the later instead of the former.
1858         (balance_case_nodes): Likewise.
1859
1860 2001-01-26  Richard Henderson  <rth@redhat.com>
1861
1862         * alias.c (objects_must_conflict_p): Read-only slots may not
1863         conflict despite having the same type.
1864
1865 2001-01-27  Michael Hayes  <mhayes@redhat.com>
1866
1867         * loop.c (loop_giv_reduce_benefit): Copy mode size into
1868         int variable.
1869         (check_ext_dependant_givs): Initialise u_start_val and
1870         u_end_val.
1871         (load_mems): Make last_max_reg unsigned.
1872         (try_swap_copy_prop): Use INSN_P and initialise set.
1873
1874 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
1875
1876         * README.AVR : Removed.
1877
1878 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
1879
1880         * pa-64.h (text_section): Remove declaration.
1881
1882         * pa.md (return_internal): Remove mode on PIC register use.
1883
1884 2001-01-25  lars brinkhoff  <lars@nocrew.org>
1885
1886         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
1887         ASM_CLOSE_PAREN): fix typos.
1888
1889 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
1890
1891         * acconfig.h: Define `const' to the empty string if neither
1892         __STDC__ nor __cplusplus is defined.
1893         * config.in: Regenerated.
1894
1895 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
1896
1897         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
1898         * collect2.c (main): Delete importf.  Add ".obj" file extension.
1899         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
1900         (aix_std_libs): Add additional AIX libraries to skip.
1901         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
1902         * config/rs6000/aix51.h: New file.
1903
1904 2001-01-25  Michael Hayes  <mhayes@redhat.com>
1905
1906         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
1907         (loop_insn_emit_before): No longer static.
1908         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
1909         (loop_givs_rescan, load_mems): Likewise.
1910         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
1911         (maybe_eliminate_biv_1):
1912         (move_movables): Replace emit_call_insn_before with
1913         loop_call_insn_hoist.
1914         * loop.h (loop_insn_emit_before): Add.
1915         * unroll.c (copy_loop_body): Replace emit_insn_before with
1916         loop_insn_emit_before.
1917
1918 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1919
1920         * diagnostic.c (fatal): Request preprocessed source.
1921
1922 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
1923
1924         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
1925         olddecl has argument types and newdecl has none, use the argument
1926         types from olddecl.
1927
1928 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
1929
1930         * dwarf2out.c (prefix_of): New function.  Determine longest common
1931         prefix of the two arguments.  The units are whole path components.
1932         (output_file_names): When adding a new directory find the one entry
1933         with the longest common prefix already in the list.  Artificially
1934         generate entry if there is none for this prefix.
1935         Fix test to check whether the zeroth directory entry is used.
1936
1937 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
1938
1939         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
1940         Changed all callers.  Take it into account when deciding if a
1941         previously loaded value matches.
1942
1943 2001-01-24  Richard Henderson  <rth@redhat.com>
1944
1945         * reload.c (find_reloads_subreg_address): Fail the substitution
1946         if the resulting address is insufficiently aligned.
1947
1948 2001-01-24  DJ Delorie  <dj@redhat.com>
1949
1950         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
1951         check the original operand's mode also.
1952         * simplify-rtx.c (simplify_ternary_operation): Ditto.
1953
1954 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
1955
1956         * c-parse.in (cast_expr): Move compound literals from here ...
1957         (primary): ... to here.  Use standard terminology "compound
1958         literal" instead of "constructor expression".
1959
1960 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
1961
1962         * gcc.1, cpp.1: Regenerate.
1963
1964 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
1965
1966         * calls.c (emit_library_call_value_1): Memory slot for
1967         pass-by-reference argument should have the mode of the argument,
1968         not of the pointer to it.
1969
1970 2001-01-24  Tom Tromey  <tromey@redhat.com>
1971
1972         * gcc.texi (G++ and GCC): Mention gcj manual.
1973         (Standards): Link to section of manual mentioning gcj/Java
1974         compatibility.
1975
1976 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
1977
1978         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
1979         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
1980         * tradcpp.c (main): Add -imacros or -include'd dependencies
1981         for -M*.
1982         * cpp.texi (-M, -MM): Document -M -include behaviour.
1983
1984 2001-01-24  Roger Collins <roger@ProProject.com>
1985
1986         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
1987
1988 2001-01-24  Will Cohen  <wcohen@redhat.com>
1989
1990         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
1991         whether registers are 32 bits or 64 bits in size.
1992
1993 2001-01-24  Ben Elliston  <bje@redhat.com>
1994
1995         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
1996
1997 2001-01-24  Richard Henderson  <rth@redhat.com>
1998
1999         * config/alpha/alpha.md (builtin_longjmp_internal): New.
2000         (builtin_longjmp): Use it instead of emit_indirect_jump.
2001
2002 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2003
2004         * bb-reorder.c (make_reorder_chain_1): Handle case where
2005         jump edge goes to the same block as the fallthru edge.
2006
2007 2001-01-23  Jim Wilson  <wilson@redhat.com>
2008
2009         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
2010         * frame.h (__ia64_personality_v1): Add prototype.
2011         * libgcc2.c (ia64_throw_helper): Change personality declaration to
2012         prototype form.  Add void * cast to first argument to personality
2013         call.
2014         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
2015         (asctoe113): Likewise.
2016         * config/ia64/frame-ia64.c: Include eh-common.h.
2017         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
2018         prototypes.
2019         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
2020         to dump parameter.
2021         (itanium_split_issue): Add prototype.
2022         (gen_nop_type): Ifdef out.
2023         (find_best_packet): Initialize best_packet.
2024         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
2025         result.
2026         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
2027         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
2028         (flushrs): Add explicit stop bit at end.
2029         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
2030         trailing \ to >.
2031
2032 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
2033
2034         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
2035         of EH symbols.
2036         * libgcc2.c (__terminate_func): Make variable static.
2037         (__terminate_set_func): New function to set __terminate_func.
2038         * libgcc2.h (__terminate_func_ptr): New typedef.
2039         (__terminate_set_func): New function.
2040
2041 2001-01-23  Richard Henderson  <rth@redhat.com>
2042
2043         * flow.c (init_propagate_block_info): Don't consider unchanging
2044         memories for dead frame store elimination.
2045
2046 2001-01-23  Richard Henderson  <rth@redhat.com>
2047
2048         * varasm.c (UNIQUE_SECTION): Move default implementation ...
2049         * defaults.h: ... here.
2050
2051 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2052
2053         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
2054
2055 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2056
2057         * c-lex.c (lex_charconst): Fix typo: s/p/str.
2058
2059 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2060
2061         * rs6000.h (rs6000_return_addr): Move prototype from here...
2062         * rs6000-protos.h (rs6000_return_addr): ...to here.
2063         (rs6000_init_expanders): Delete prototype.
2064
2065 2001-01-23  Nick Clifton  <nickc@redhat.com>
2066
2067         * invoke.texi: Replace , with \, inside @gccoptlist macros.
2068         (Spec Files): Document %B and %j and %. and %v3 and %M and
2069         %{S*&T} spec switches.
2070
2071 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2072
2073         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
2074
2075 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
2076             Neil Booth  <neil@daikokuya.demon.co.uk>
2077
2078         * cpperror.c: Merge handlers of PEDWARN and WARNING.
2079         Have -Werror make pedantic warnings errors, like the
2080         rest of GCC.
2081
2082 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
2083
2084         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
2085
2086 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
2087
2088         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
2089         * integrate.c (expand_inline_function): Initialize them.
2090         (subst_constants): If changing COMPARE so that both its arguments
2091         will be VOIDmode and the comparison mode will be lost, note
2092         compare_mode.  Use the recorded compare_mode to optimize
2093         IF_THEN_ELSE.
2094
2095 2001-01-23  Jason Merrill  <jason@redhat.com>
2096
2097         * dwarf2out.c (new_die): Use xcalloc.
2098         (output_die): Abort rather than emit a local reference to offset 0.
2099
2100 2001-01-17  Andrew Haley  <aph@redhat.com>
2101
2102         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
2103         of a saved register; return NULL instead.
2104         (copy_reg): Take a pointer to a source register rather than a
2105         frame_state.
2106         (next_stack_level): Remember the address in the stack frame of all
2107         saved registers.
2108         Use the saved register pointer array as the source of the CFA.
2109         (throw_helper): Rewrite.  Unwind once rather than twice and keep
2110         track of saved registers as we go.
2111
2112 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2113
2114         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
2115         * c4x.c (c4x_legitimize_reload_address): Remove.
2116         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
2117         reload address for ldp(k) insn.
2118
2119 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
2120
2121         * pa.md (return_internal): Add a USE of the PIC register to ensure
2122         it is restored after each call.
2123         (return expander): Corresponding changes.
2124
2125 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2126
2127         * rs6000.h (INIT_EXPANDERS): Delete.
2128         (RETURN_ADDR_RTX): Call rs6000_return_addr().
2129         * rs6000.c (rs6000_override_options): Call *_machine_status from
2130         here...
2131         (rs6000_init_expanders): ...instead of here. Delete.
2132         (rs6000_mark_machine_status): New function.
2133         (rs6000_init_machine_status): Use xcalloc.
2134         (rs6000_return_addr): Generate RTX for the return address.
2135         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
2136         (rs6000_stack_info): Use it.
2137
2138 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
2139
2140         * gthr-win32.h: Include errno.h to get a declaration for
2141         EINVAL and _mingw.h if the target is mingw32.
2142
2143 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
2144
2145         * cpp.texi: Correct typos.
2146
2147 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2148
2149         * explow.c (probe_stack_range): Ensure value passed to
2150         stack_check_libfunc is ptr_mode, not Pmode.
2151
2152 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
2153
2154         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
2155         case, don't use operand_subword to calculate a SUBREG that is
2156         wider than a word.
2157
2158         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
2159
2160 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2161
2162         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
2163         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
2164         valid.  If not replace it by equivalent insns.
2165
2166 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2167
2168         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
2169         contains SYMBOL_REF, LABEL_REF and CONST_INT.
2170         (c4x_U_constraint, symbolic_address_operand): Likewise.
2171         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
2172         memory.
2173         (c4x_r11_set_p, c4x_check_laj_p): New functions.
2174         * c4x-protos.h (c4x_check_laj_p): Add prototype.
2175         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
2176         anulling slot because of silicon bug.
2177         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
2178
2179 2001-01-22  Alan Modra <alan@linuxcare.com.au>
2180
2181         * cppexp.c (parse_charconst):  Change `mask' type to agree
2182         with parse_escape.
2183
2184 2001-01-21  Richard Henderson  <rth@redhat.com>
2185
2186         * config/i386/i386.c (ix86_asm_file_end): Disable putting
2187         pic_label_name in a linkonce section.
2188
2189 2001-01-17  Philipp Thomas  <pthomas@suse.de>
2190
2191         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
2192         found in libintl.
2193         * configure: Regenerate.
2194
2195 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
2196
2197         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
2198         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
2199
2200 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
2201
2202         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
2203         If REVERSE nonzero then condition code in X must be reversed.
2204         (encode_section_info): Optimise if/else.
2205         (avr_function_value): Fix formatting.
2206
2207         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
2208         (difficult_branch): Likewise.
2209         (rvbranch): Likewise.
2210         (difficult_rvbranch): Likewise.
2211
2212         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
2213
2214         * config/avr/libgcc.S: Fix comment.
2215
2216 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
2217
2218         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
2219
2220 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
2221
2222         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
2223
2224 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
2225
2226         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
2227         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
2228         * configure, config.in: Regenerate.
2229         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
2230         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
2231         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
2232         (doprint.o): New rule.
2233
2234 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2235
2236         * c-typeck.c (digest_init): Handle boolean types as scalars.
2237
2238 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2239
2240         * stmt.c (expand_return): Don't return anything if size is zero.
2241         Delete redundant assignment to BYTES.
2242         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
2243
2244 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
2245
2246         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
2247         the same as the default library function names.
2248         * config/avr/avr.md: Document special characters after '%'.
2249         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
2250         knowing which of the call-used registers are really clobbered.
2251         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
2252         New.  Both quotient and remainder from one libgcc.S call.
2253         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
2254         clobber as few registers as possible.
2255         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
2256
2257 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2258
2259         * cppmacro.c (funlike_invocation_p): Don't move back up to the
2260         context of the top of the stack.
2261
2262 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
2263
2264         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
2265         (fixup_var_refs_insns): ...here.
2266
2267 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
2268
2269         * function.c (fixup_var_refs_insns): Break up into
2270         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
2271         [loop over entire insn list], and fixup_var_refs_insns_with_hash
2272         [loop over hash table entries].
2273         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
2274         fixup_var_refs_insns_with_hash, to match above changes.
2275
2276 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2277
2278         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
2279         (libgcc.a): Likewise.
2280         (stmp-multilib): Likewise.
2281         (STAGE2_FLAGS_TO_PASS): Likewise.
2282
2283 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
2284
2285         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
2286         temporary if no_new_pseudos.
2287
2288 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
2289
2290         * cppinternals.texi: Update.
2291
2292 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
2293
2294         * arm.c (arm_init_builtins): Re-enable builtins.
2295
2296 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2297
2298         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
2299         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
2300         element to be null, and always expect an EXPR_LIST.
2301         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
2302         * sched-deps.c (sched_analyze_1): Likewise.
2303         * sched-rgn.c (check_live_1, update_live_1): Likewise.
2304
2305         * regclass.c (max_set_parallel): New variable.
2306         (reg_scan): Take it into account in computation of max_parallel.
2307         (reg_scan_mark_refs, case SET): Compute it.
2308
2309         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
2310         args are REG.
2311         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
2312         * function.c (assign_parms): Use INTVAL for a CONST_INT.
2313
2314 2001-01-19  Jason Merrill  <jason@redhat.com>
2315
2316         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
2317         for the abstract instance of an inline function.
2318
2319 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
2320                           J"orn Rennecke <amylaar@redhat.com>
2321
2322         * reload1.c (move2add_note_store): Treat all registers directly or
2323         indirectly derived from a base register as members of the same set
2324         of values.
2325         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
2326         of base register into account.
2327
2328 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
2329
2330         * alias.c (find_base_value): Recognize TRUNCATE.
2331         (record_set): In PLUS case, invalidate if other summand is also a
2332         base value.
2333
2334 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2335
2336         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
2337         entry to be EXPR_LIST.
2338         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
2339         be an EXPR_LIST (but not null, which other code doesn't allow).
2340         (note_stores): Properly handle PARALLEL in SET.
2341         Recursively call for top-level PARALLEL.
2342         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
2343         * sched-rgn.c (check_live_1, update_live_1): Likewise.
2344
2345         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
2346
2347 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
2348
2349         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
2350         not pfile->skipping (== 0).
2351
2352 2001-01-17  Nick Clifton  <nickc@redhat.com>
2353
2354         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
2355         machine_status.
2356
2357 2001-01-17  Jim Wilson  <wilson@redhat.com>
2358
2359         * invoke.texi (IA-64 options): Improve.
2360
2361 2001-01-17  Tom Tromey  <tromey@redhat.com>
2362
2363         * invoke.texi (Optimize Options): Use `{}' to around @samp
2364         argument.
2365
2366 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
2367
2368         * invoke.texi (-fno-guess-branch-probability): New option.
2369
2370 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2371
2372         * combine.c (try_combine): Don't set i3_subst_into_i2 for
2373         case of making new double-word constant.
2374         Revert last change: instead just test i3_subst_into_i2.
2375
2376 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
2377
2378         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
2379         Use q constraints instead of r.
2380
2381 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
2382
2383         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
2384         (machine_function): Define.
2385         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
2386         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
2387         pa_free_machine_status): New functions.
2388         (override_options): Set {init,mark,free}_machine_status to above.
2389         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
2390         PIC_OFFSET_TABLE_REGNUM_SAVED.
2391         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
2392         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
2393         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
2394         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
2395         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
2396
2397 2001-01-15  DJ Delorie  <dj@redhat.com>
2398
2399         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
2400         (cpp.1): Ditto.
2401         (gcc.1): Ditto.
2402
2403 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2404
2405         * flow.c (propagate_on_insn): Make trying to delete a prologue
2406         or epilogue insn an ICE, not a warning.  Allow doing this if
2407         the current function returns with stack pointer depressed.
2408
2409         * combine.c (try_combine): If i3_subst_into_i2, properly check for
2410         I3 having more than one SET.
2411
2412 2001-01-16  Jim Wilson  <wilson@redhat.com>
2413
2414         * invoke.texi: Document IA-64 options.
2415
2416         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
2417         (fixup_errata): Delete TARGET_A_STEP use.
2418         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
2419         (TARGET_SWITCHES): Delete -ma-step option.
2420         * config/ia64/ia64.md (all FP patterns): Delete %B0.
2421         (movqicc_astep, movqi_internal_astep, movhicc_astep,
2422         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
2423         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
2424         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
2425         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
2426         Delete.
2427         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
2428         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
2429         cmovsi_internal): Delete ! TARGET_A_STEP check.
2430
2431 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2432
2433         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
2434         possibility to report bugs via postal mail. Change a URL and
2435         merge in a nearly duplicate statement...
2436         (Bug Reporting): ...from here.
2437         (Service): Refer to the Bug Reporting section instead of
2438         duplicating an URL.
2439         (Contributing): Remove trivial explanations concerning snapshots.
2440
2441 2001-01-16  Alan Modra <alan@linuxcare.com.au>
2442
2443         * cppmain.c (general_init): Don't use ANSI prototype.
2444
2445 2001-01-16  Tom Tromey  <tromey@redhat.com>
2446
2447         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
2448
2449 2001-01-16  Richard Henderson  <rth@redhat.com>
2450
2451         * config/i386/i386.h: Fix comment typo.
2452         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
2453         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
2454
2455 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
2456
2457         * gcc.c:  Revert previous -fsyntax-only-related change; move
2458           to cp/g++spec.c.
2459
2460 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
2461
2462         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
2463         inmode after checking GET_CODE (op).
2464
2465 2001-01-16  Richard Henderson  <rth@redhat.com>
2466
2467         * flow.c (struct propagate_block_info): Add mem_set_list_len.
2468         (MAX_MEM_SET_LIST_LEN): New.
2469         (propagate_one_insn): Update mem_set_list_len.
2470         (invalidate_mems_from_autoinc): Likewise.
2471         (invalidate_mems_from_set): Likewise.
2472         (mark_used_regs): Likewise.
2473         (init_propagate_block_info): Likewise.  Stop collecting memories
2474         when we reach MAX_MEM_SET_LIST_LEN.
2475         (mark_set_1): Likewise.
2476
2477 2001-01-16  Richard Henderson  <rth@redhat.com>
2478
2479         * unroll.c (precondition_loop_p): Fail if no iteration
2480         variable found.
2481
2482 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
2483
2484         * gcc.c:  When -fsyntax-only is given, do not complain about
2485           unused libraries.
2486
2487 2001-01-15  Richard Henderson  <rth@redhat.com>
2488
2489         * config/i386/i386.c (asm_output_function_prefix): Remove.
2490         (ix86_asm_file_end): New.
2491         (load_pic_register): Generate pic_label_name into a
2492         staticly allocated buffer.
2493         * config/i386/i386-protos.h: Update.
2494         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
2495         (ASM_FILE_END): New.
2496         * config/i386/i386afe.h: New file.
2497         * config.gcc (i?86-*-elf) [tm_file]: Use it.
2498         (i?86-*-{freebsd,linux*,moss*}): Likewise.
2499         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
2500         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
2501         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
2502         * config/i386/sco5.h (ASM_FILE_END): Likewise.
2503         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
2504
2505 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
2506
2507         * Makefile.in (install-man): Remove explicit dependency on
2508         $(srcdir)/gcc.1.
2509
2510         * configure.in, configure: Revert previous patch requiring perl
2511         5.6.0.
2512
2513 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
2514
2515         * toplev.c (flag_guess_branch_prob): New.
2516         (f_options): Add guess-branch-probability option.
2517         (rest_of_decl_compilation): Only estimate branch probability if
2518         flag set.
2519         (main): set flag_guess_branch_prob.
2520
2521         * flags.h (flag_guess_branch_prob): New.
2522
2523 2001-01-15  DJ Delorie  <dj@redhat.com>
2524
2525         * gcc.texi (Makefile): Add documentation for Makefile targets.
2526
2527 2001-01-15  Philip Blundell  <philb@gnu.org>
2528
2529         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
2530         (is_pic): Delete.
2531         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
2532         (is_pic): Delete declaration.
2533         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
2534         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
2535         * config/arm/arm.md (builtin_setjmp_receiver): New.
2536
2537 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
2538
2539         * arm.c (use_return_insn): Don't try to determine the function type
2540         until after reload has completed.
2541         (arm_output_epilogue): Don't adjust the sp value recovered from the
2542         stack.
2543         (emit_multi_reg_push): Don't record dwarf information for the pc.
2544         * arm.md (eh_epilogue): The function type may have changed, so it
2545         needs to be recalculated.
2546         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
2547         unwind tables on arm/netbsd.
2548
2549 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
2550
2551         * arm.md (cbranchsi4): Correct calculation of branch ranges.
2552         (negated_cbranchsi4): Likewise.
2553
2554 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
2555
2556         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
2557         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
2558         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
2559         pass -mapcs-* options to assembler.
2560         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
2561         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
2562         (ASM_SPEC): Call subtarget_extra_asm_spec.
2563
2564 2001-01-15  Andreas Jaeger  <aj@suse.de>
2565
2566         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
2567         warnings.
2568         (ix86_expand_builtin): Likewise.
2569
2570         * gencodes.c (output_predicate_decls): Make i size_t to avoid
2571         warning about comparison between signed and unsigned.
2572
2573 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
2574
2575         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
2576
2577 2001-01-14  Ralf Baechle <ralf@gnu.org>
2578
2579         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
2580         SUBTARGET_CPP_SPEC apropriatly.
2581
2582 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
2583
2584         * varasm.c (make_decl_rtl): Fix typo in last change.
2585
2586 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
2587
2588         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
2589         linker supports the init_priority C++ attribute.
2590         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
2591         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
2592         linker does not support init_priority C++ attribute.
2593
2594 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
2595
2596         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
2597
2598 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2599
2600         * c-parse.in (finish_parse): Add comment about cpp_destroy.
2601         * cp/lex.c (finish_parse): Similarly.
2602         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
2603         Return the number of errors encountered.
2604         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
2605         * cppmain.c (main): Don't call cpp_destroy.
2606
2607 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
2608
2609         * configure.in: Require at least perl 5.6.0 to regenerate
2610         manpages.
2611         * configure: Regenerate.
2612
2613 2001-01-14  Richard Henderson  <rth@redhat.com>
2614
2615         * genrecog.c (DT_veclen_ge): New.
2616         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
2617         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
2618         (nodes_identical_1): Handle DT_veclen_ge.
2619         (write_cond, debug_decision_2): Likewise.
2620
2621 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
2622
2623         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
2624         with ...
2625         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
2626
2627 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2628
2629         * cppmain.c (do_preprocessing): New function; most of the old
2630         main.
2631         (main): Call it to do most of the work.
2632         (cb): Move from global scope to set_callbacks ().
2633         (setup_callbacks): Get the callback pointer.
2634         (general_init, printer_init): Clean up code and comments.
2635
2636 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
2637
2638         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
2639         compiling PIC.
2640
2641 2001-01-14  Kazu Hirata  <kazu@hxi.com>
2642
2643         * config/h8300/h8300.c (get_shift_alg): Update comments.
2644
2645 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2646
2647         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
2648         (alloc_page, ggc_alloc): Add casts to remove warnings.
2649
2650 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
2651
2652         * combine.c (simplify_comparison): Don't change `code' when
2653         can't reverse comparison.
2654
2655 2001-01-14  Richard Henderson  <rth@redhat.com>
2656
2657         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
2658         update all call sites.  Return true for all non-label constants.
2659
2660 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
2661
2662         * i386.c (ix86_expand_compare): Add bypass_test and second_test
2663         parameters.
2664         (ix86_expand_branch): Update.
2665         (ix86_expand_setcc): Update to handle multiple test conditions.
2666         (expand_int_movcc): Likewise.
2667         (expand_fp_movcc): Likewise.
2668         * i386-protos.h (ix86_expand_compare): New.
2669         * i386.md (andqi_?_slp, orqi_?_slp): New.
2670         (conditional trap expander): Update call to ix86_expand_compare.
2671
2672 2001-01-14  Richard Henderson  <rth@redhat.com>
2673
2674         * config/vax/vax.md: Use nonimmediate_operand instead of
2675         general_operand in destinations.
2676
2677         * config/vax/vax.md (indirect_jump): Use register_operand.
2678
2679         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
2680         * config/vax/vax.md (call_pop): Turn into an expander.
2681         (call_value_pop): Likewise.
2682         (call, call_value): New.
2683
2684 2001-01-14  Andreas Jaeger  <aj@suse.de>
2685
2686         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
2687         variables.
2688         (ix86_fp_compare_mode): Add unused attribute.
2689         (ix86_expand_fp_movcc): Remove unused variable.
2690         (ix86_expand_builtin): Make fcode unsigned.
2691
2692         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
2693         (expand_expr): Add cast to avoid signed warning.
2694         (store_field): Likewise.
2695         (store_constructor_field): Likewise.
2696         (store_constructor): Likewise.
2697         (store_expr): Likewise.
2698         (clear_storage): Likewise.
2699         (emit_group_store): Likewise.
2700         (emit_group_load): Likewise.
2701
2702 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2703
2704         * c-common.c: Move format checking code to ...
2705         * c-format.c: ... here.  New file.  Reorder some functions and
2706         declarations.
2707         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
2708         New functions.
2709         * c-common.h (decl_handle_format_attribute,
2710         decl_handle_format_arg_attribute): Declare.
2711         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
2712         (c-common.o): Adjust dependencies.
2713         (c-format.o): New list of dependencies.
2714
2715 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
2716
2717         * unroll.c (loop_iterations): If we cannot prove iteration variable
2718         is set once in each iteration, punt.
2719
2720 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
2721
2722         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
2723         (*strlenhi): Remove clobber (which was buggy) of output address.
2724
2725 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2726
2727         * Makefile.in (generated-manpages): Add gcc.1
2728         ($(srcdir)/gcc.1): New target.
2729         (maintainer-clean): Delete $(srcdir)/gcc.1.
2730         * gcc.texi: Add macros @gccoptlist and @gol.
2731         * invoke.texi: Include option summary in manpage.  Mark up option
2732         summary with @gccoptlist and @gol.  Use @r in one place where
2733         appropriate.
2734         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
2735         * gcc.1: Generate from invoke.texi.
2736
2737 2001-01-13  Richard Henderson  <rth@redhat.com>
2738
2739         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
2740         (struct page_entry): Add group member.
2741         (struct page_group): New.
2742         (struct globals): Add page_groups member.
2743         (alloc_anon): Only define for using mmap; remove valloc call.
2744         (page_group_index): New.
2745         (set_page_group_in_use): New.
2746         (clear_page_group_in_use): New.
2747         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
2748         (free_page, release_pages): Likewise.
2749         * configure.in (with-gc): Default to ggc-page always.
2750
2751 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
2752
2753         * reload1.c (replace_pseudos_in_call_usage): Use
2754         reg_equiv_constant and reg_equiv_address, and don't try
2755         regno_reg_rtx first.
2756
2757 2001-01-13  Richard Henderson  <rth@redhat.com>
2758
2759         * ggc-page.c (alloc_page): Round up allocation size to one page.
2760         Set e->order on extra pages.
2761
2762 2001-01-13  Richard Henderson  <rth@redhat.com>
2763
2764         * genrecog.c (nodes_identical): Expand commentary.
2765         (write_switch): Watch out for identical nodes.
2766
2767 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2768
2769         * cppfiles.c (_cpp_fake_include): New function.
2770         * cpphash.h (_cpp_fake_include): New.
2771         * cpplib.c (do_line): Call _cpp_fake_include when entering
2772         header files in preprocessed input.
2773         * cppmain.c (cb_pragma_implementation): Remove handling.
2774         (setup_callbacks): Don't register pragmas.
2775
2776 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2777
2778         * extend.texi: Udate for CPP.
2779
2780 2001-01-13  Andreas Jaeger  <aj@suse.de>
2781
2782         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
2783
2784         * regmove.c: Add prototype for replace_in_call_usage.
2785
2786 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2787
2788         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
2789         struct cpp_chunk, struct htab, struct toklist,
2790         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
2791         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
2792         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
2793         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
2794         (struct macro_args): Delete.
2795         * cpphash.h: See above.
2796
2797 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2798
2799         * cppmain.c (struct printer): Remove no_line_dirs.
2800         (options, cb): New.
2801         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
2802         : Use options rather than CPP_OPTION.
2803         (setup_callbacks): Use cb rather than pfile->cb.
2804         (main): No need to check for a buffer.  Use cpp_errors.
2805         (printer_init): Don't set no_line_dirs.
2806         (maybe_print_line): Use options not no_line_dirs.
2807         (cb_file_change): Don't call print_line if -P.
2808
2809 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2810
2811         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
2812         callbacks.
2813         * c-parse.in (finish_parse): Use cpp_errors.
2814         (__yylex): Use return value of cpp_pop_buffer.
2815         * cp/lex.c (finish_parse): Use cpp_errors.
2816         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
2817
2818 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
2819
2820         * README.AVR: URLs corrected.
2821
2822 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2823
2824         * c-decl.c (start_function): Don't warn if old prototype is builtin
2825         that's not in C's namespace.
2826         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
2827         (_bb): Add prototype for ctime.
2828         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
2829
2830 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
2831
2832         * i386.c (ix86_fp_comparison_arithmetics_cost,
2833         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
2834         ix86_fp_comparison_cost): New functions.
2835         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
2836         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
2837         two-branch sequences; make static.
2838         (ix86_use_fcomi_compare): Do decision according to the costs.
2839         (split_fp_branch): New.
2840         * i386.md (compare-and-branch patterns): Use split_fp_branch.
2841         * i386-protos.h (ix86_expand_fp_compare): Remove
2842         (ix86_split_fp_branch): Declare.
2843
2844         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
2845         and ix86_comparison_operator.
2846
2847         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
2848         to make it cheaper.
2849
2850         * i386.c (put_condition_code): Output properly the unordered/ordered
2851         compares in fp case.
2852         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
2853
2854         * tm.texi (REVERSE_CONDITION): Document.
2855         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
2856         in -ffast-math mode.
2857         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
2858
2859 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
2860
2861         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
2862
2863         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
2864         optimized away.
2865
2866         * config/sh/sh.c (mova_p): Fix test for mova_const.
2867
2868 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2869
2870         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
2871         cpp_get_options rather than dereferencing pfile and using
2872         CPP_OPTION.
2873         * scan-decls.c (scan_decls): Use return value of
2874         cpp_pop_buffer rather than CPP_BUFFER.
2875
2876 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2877
2878         * cppinit.c (cpp_handle_option): help_only is now part of the
2879         cpp_options structure.
2880         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
2881         cpp_set_callbacks): New functions.
2882         * cpplib.h (cpp_callbacks): Break out as a named structure.
2883         (cpp_options): Move help_only here from cpp_reader.
2884         (CPP_FATAL_ERRORS): Update to use cpp_errors.
2885         (cpp_errors, cpp_get_options, cpp_get_callbacks,
2886         cpp_set_callbacks): New prototypes.
2887         * cppmain.c (main): Update for help_only.
2888
2889 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2890
2891         * Makefile.in (info, maintainer-clean, install-info, uninstall):
2892         Also build and remove and install and uninstall c-tree.info and
2893         cppinternals.info.
2894         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
2895         ($(srcdir)/cppinternals.info): New target.
2896         * c-tree.texi: Change file name used when makeinfo used without -o
2897         from ir.info to c-tree.info.  Add info directory entry.
2898         * cppinternals.texi: Add info directory entry.
2899         * .cvsignore: Update.
2900
2901 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
2902
2903         * c-typeck.c (store_init_value): Don't require constant initializer
2904         elements with -pedantic -std=c99.
2905         (digest_init): Change error about non-constant initializer elements
2906         into pedwarn.
2907         (constructor_range_end): Remove.
2908         (constructor_incremental, designator_depth,
2909         designator_errorneous): New variables.
2910         (struct constructor_stack): Remove range_end, add incremental.
2911         (struct constructor_range_stack, constructor_range_stack): New.
2912         (struct initializer_stack): Add constructor_range_stack.
2913         (finish_init): Set it.
2914         (start_init): Likewise.  require_constant_elements for non-static
2915         trees only if not flag_isoc99.
2916         (really_start_incremental_init): Remove constructor_range_end, add
2917         constructor_incremental.
2918         (pop_init_level): Likewise.
2919         (push_init_level): Likewise.  If implicit and the subobject had some
2920         value set already, preinitialize the level with it.
2921         Warn about missing braces only if not pushing due to designators.
2922         (set_designator, push_range_stack): New functions.
2923         (set_init_label): Use them.
2924         (set_init_index): Likewise.  Remove constructor_range_end.
2925         Error if designator index is outside of array bounds.
2926         (add_pending_init): Compare values of purpose index trees, not the
2927         trees themselves.  Allow overwriting of already initialized element.
2928         Issue a warning if it had side-effects.
2929         (set_nonincremental_init, set_nonincremental_init_from_string): New
2930         functions.
2931         (pending_init_member): Rename to...
2932         (find_init_member): ...this function.  Call set_nonincremental_init
2933         if necessary.  Compare values of purpose index trees, not the trees
2934         themselves.  Return the actual value, not just non-zero if something
2935         is found.
2936         (output_init_element): Remove checks for duplicates.
2937         If field has zero size, only check the initializer for correctness.
2938         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
2939         if constructor_incremental is zero.  Change error about initializers
2940         not computable at load time into pedwarn.
2941         (output_pending_init_elements): Compare bit positions, not
2942         FIELD_DECLs to take into account zero-sized fields.
2943         (process_init_element): Use constructor_range_stack to fill all
2944         ranges in the designator lists from current level up.
2945         * extend.texi: Update documentation for labeled elements.
2946
2947 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
2948
2949         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
2950         to function usage for arguments passed by reference.  Optimize
2951         callee-copied arguments.
2952         * regmove.c (replace_in_call_usage): New function.
2953         (fixup_match_1): Call it.
2954         * cse.c (cse_insn): Canonicalize registers in function usage.
2955         * reload1.c (replace_pseudos_in_call_usage): New function.
2956         (reload): Call it.
2957
2958         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
2959         right version.
2960
2961 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
2962
2963         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
2964         not XEXP (tmp, 0).
2965
2966 2001-01-12  DJ Delorie  <dj@redhat.com>
2967
2968         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
2969         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
2970         targets.
2971
2972 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
2973
2974         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
2975         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
2976         -std options alongside references to -ansi.  Update some
2977         documentation for C99.
2978         * cpp.1: Regenerate.
2979
2980 2001-01-12  Andreas Jaeger  <aj@suse.de>
2981
2982         * haifa-sched.c (restore_line_notes): Remove argument block B
2983         since it's unused.
2984         * sched-ebb.c (schedule_ebb): Change caller.
2985         * sched-rgn.c (schedule_region): Likewise.
2986         * sched-int.h (restore_line_notes): Adjust prototype.
2987
2988         * loop.h: Remove wrong declaration of doloop_condition_get.
2989
2990 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
2991
2992         * extend.texi:  Move C++-extension-related node from the C section
2993           into the C++ section.
2994
2995 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
2996
2997         * extend.texi: Refer to an array of pointers to functions instead
2998         of one of functions.
2999
3000 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
3001                               Jan Hubicka  <jh@suse.cz>
3002
3003         * combine.c (reversed_comparison): Fix typo in last patch.
3004         Check X for NULL.
3005         (combine_reversed_comparison_code): Make static to follow
3006         prototype declaration.
3007
3008 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
3009
3010         * install.texi:  Remove misplaced duplicate entry.
3011
3012 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
3013
3014         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
3015
3016 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
3017
3018         * final.c: (leaf_function_p): Fix typo.
3019
3020 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
3021
3022         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
3023         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
3024         which you have.
3025         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
3026         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
3027         mmap_anon, and valloc is available.
3028         * ggc-page.c: Restructure ifdef logic to match new autoconf
3029         spec.  Don't throw away the test page in init_ggc.
3030
3031         * configure, config.in: Regenerate.
3032
3033 2001-01-12  Michael Hayes  <mhayes@redhat.com>
3034
3035         * loop.h (total_biv_increment): Constify iv_class pointer.
3036         (struct induction): Replace `mem_mode' with `mem' rtx.
3037         * unroll.c (total_biv_increment): Constify iv_class pointer.
3038         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
3039         (find_mem_givs, combine_givs_p): Likewise.
3040         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
3041
3042 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
3043
3044         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
3045         LastError.
3046         (__gthread_getspecific): Ditto.
3047
3048 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
3049
3050         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
3051         put_condition_code): Convert fp comparison codes to integer
3052         before handling.
3053         (ix86_expand_fp_compare): Postnote the fp comparison code converison
3054         to final.
3055
3056         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
3057         * i386-protos.h (no_comparison_operator): Kill.
3058
3059         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
3060
3061         * combine.c (REVERSIBLE_CC_MODE): Remove.
3062         (reversible_comparison_p): Remove.
3063         (combine_reversed_comparison_code): New.
3064         (reversed_comparison): New.
3065         (combine_simplify_rtx): Use
3066         combine_reversed_comparison_code/reversed_comparison instead
3067         of reversible_comparison_p.
3068         (simplify_if_then_else): Likewise.
3069         (simplify_set): Likewise.
3070         (simplify_logical): Likewise.
3071         (if_then_else_cond): Likewise.
3072         (known_cond): Likewise.
3073         (simplify_comparison): Likewise.
3074
3075 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
3076
3077         * builtins.c (std_expand_builtin_va_start): Handle varargs when
3078         sizeof (int) is larger than sizeof(__word__).
3079
3080 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3081
3082         * cppinit.c (do_includes): Fix typo.
3083
3084 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3085
3086         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
3087         in S_REGS does not occur because not all sources are possible
3088         when a S_REGS is a destination (sometimes needs a clobber).
3089         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
3090         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
3091         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
3092         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
3093         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
3094         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
3095         (lshrdi_const1, lshrsi3_const16): Likewise.
3096         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
3097         (*movhi_68hc12, *movqi_68hc12): Likewise.
3098         (movstrictqi): Make sure reloading in D_REGS as a destination
3099         does not happen.
3100
3101 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3102
3103         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
3104
3105 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3106
3107         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
3108         -D, -U and -A, and don't initialize the builtins.
3109         (do_includes): Error if -include or -imacros with -fpreprocessed.
3110         * cppmain.c (cb_define, cb_undef): Unconditionally process
3111         the callback.
3112         * tradcpp.c (main): Fix typo.
3113
3114 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
3115
3116          * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
3117            (read_name_map): Use IS_ABSOLUTE_PATH.
3118          * tradcpp.c (get_filename): Likewise.
3119
3120 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3121
3122         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
3123         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
3124         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
3125         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
3126         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
3127         (cmphi_z_used): Don't use '@' for the output.
3128         (tstqi_z_used): Likewise.
3129         (cmpqi_z_used): Likewise.
3130         (one_cmplsi2): Likewise.
3131
3132 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
3133
3134         * config/sh/sh.c (barrier_align): Recognize branch around far
3135         branch and redundant insn.
3136
3137 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3138
3139         * invoke.texi: Restore documentation of the drivers' switches -MD
3140         and -MMD.
3141
3142 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
3143
3144         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
3145
3146         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
3147         check-objc//%): Support parallel testing of multilibs.
3148         (TESTSUITEDIR): Set to testsuite by default, but override for
3149         parallel testing.
3150         (check-gcc, check-g++, check-g77, check-objc): Enter
3151         $(TESTSUITEDIR).
3152
3153 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
3154
3155         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
3156         * sched-deps.c (deps_may_trap_p): Likewise.
3157         * basic-block.h: Remove a comment.
3158         * flow.c (PROP_POSTRELOAD): Remove.
3159         (update_life_info): Don't add it to prop_flags.
3160         (mark_set_1): Lose the code that was enabled by it.
3161
3162 2001-01-11  Michael Hayes  <mhayes@redhat.com>
3163
3164         * flow.c (flow_call_edges_add): New.
3165         * basic_block.h (flow_call_edges_add): New.
3166
3167 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
3168
3169         * reload1.c (move2add_note_store): Update reg_set_luid even if
3170         base reg remains the same.
3171
3172 2001-01-10  Nick Clifton  <nickc@redhat.com>
3173
3174         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
3175         machine_function structure to zero.
3176         Add prototypes for machine_status functions.
3177
3178 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
3179
3180         * c-common.h (CTI_VOID_LIST): Remove.
3181         (void_list_node): Likewise.
3182         * tree.h (TI_VOID_LIST_NODE): New enumeral.
3183         (void_list_node): New macro.
3184         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
3185         * config/i386/i386.c (ix86_init_builtins): Likewise.
3186         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
3187
3188 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
3189
3190         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
3191         * cppinit.c (cpp_start_read): Update comment, remove unneeded
3192         if statement.
3193         * tradcpp.c: Include mkdeps.h.
3194         (deps, print_deps_phony_targets, deps_append, output_deps,
3195         init_dependency_output, output_deps): New.
3196         (deps_buffer, deps_allocated_size, deps_size, deps_column,
3197         deps_output): Delete.
3198         (print_deps_missing_files): Rename deps_missing_files.
3199         (inhibit_output): Make global.
3200         (main): Delete inhibit_output, deps_stream, deps_target.
3201         Use mkdeps functionality in the same way as cpplib.  Remove
3202         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
3203         -M and -MM.  Remove old handling of deps via deps_out, and
3204         old reading of environment variables.
3205         (get_filename): Update to use deps_add_dep.
3206
3207 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
3208
3209         * output.h (make_function_rtl): Remove prototype.
3210         (make_decl_rtl): Likewise.
3211         * varasm.c (make_function_rtl): Remove.
3212         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
3213         than from a third parameter.
3214         * tree.h (make_decl_rtl): Remove last parameter.
3215         * c-decl.c (builtin_function): Remove last argument in call to
3216         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
3217         (start_function): Likewise.
3218         * except.c (call_get_eh_context): Likewise.
3219         * expr.c (emit_block_move): Likewise.
3220         (clear_storage): Likewise.
3221         * profile.c (output_func_start_profiler): Likewise.
3222         * toplev.c (rest_of_decl_compilation): Likewise.
3223         * objc/objc-act.c (create_builtin_decl): Likewise.
3224         (synth_module_prologue): Likewise.
3225         (generate_static_reference): Likewise.
3226         (build_selector_reference_decl): Likewise.
3227         (build_class_reference_decl): Likewise.
3228         (build_objc_string_decl): Likewise.
3229         (build_protocol_reference): Likewise.
3230
3231 2001-01-10  Richard Henderson  <rth@redhat.com>
3232
3233         * hwint.h: Revert yesterday's change.
3234
3235 2001-01-10  Nick Clifton  <nickc@redhat.com>
3236
3237         * function.h (save_machine_status): Delete.
3238         (restore_machine_status): Delete.
3239         Amend comment describing {init|mark|free}_machine_status.
3240
3241         * function.c (save_machine_status): Delete.
3242         (restore_machine_status): Delete.
3243         Amend comment describing {init|mark|free}_machine_status.
3244         (push_function_context_to): Remove invocation of
3245         save_machine_status.
3246         (pop_function_context_from): Remove invocation of
3247         restore_machine_status.
3248
3249         * emit-rtl.c (init_emit_once): Amend comment describing
3250         {init|mark|free}_machine_status.
3251
3252         * tm.texi (Per-Function Data): New node.  Describe the
3253         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
3254         function pointers.
3255
3256 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
3257
3258         * cppinit.c (OPT_g): Remove.
3259         (cpp_handle_option): Update for removed -g3.
3260         (print_help): Update.
3261         * cpplib.h (struct cpp_options): Remove debug_output.
3262         * cppmain.c (setup_callbacks, cb_define): Update.
3263         * gcc.c (cpp_options): Translate -g3 to -dD.
3264
3265 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
3266
3267         * config/i960/i960.md: Change modifier to + on the zero_extract
3268         pattern after the (rotate -2 reg) canonicalization pattern.
3269
3270 2001-01-10  Richard Henderson  <rth@redhat.com>
3271
3272         * config/alpha/alpha.c (alpha_free_machine_status): New.
3273         (override_options): Install it.
3274         (alpha_mark_machine_status): Verify machine non-null.
3275         * config/i386/i386.c (ix86_free_machine_status): New.
3276         (override_options): Install it.
3277         (ix86_init_machine_status): Use xcalloc.
3278         (ix86_mark_machine_status): Verify machine non-null.
3279         * config/ia64/ia64.c (ia64_free_machine_status): New.
3280         (ia64_override_options): Install it.
3281         (ia64_mark_machine_status): Verify machine non-null.
3282
3283 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
3284
3285         * function.c (instantiate_virtual_regs): Instantiate virtual
3286         registers found in CALL_INSN_FUNCTION_USAGE.
3287
3288 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3289
3290         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
3291         equivalent to -ansi in disabling -Di386.
3292
3293 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
3294
3295         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
3296         new functions.
3297         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
3298
3299 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
3300
3301         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
3302
3303 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3304
3305         * invoke.texi: Document that -fcond-mismatch isn't supported for
3306         C++.
3307
3308 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3309
3310         * gcc.texi: Define macro gcctabopt.
3311         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
3312         @command, @env and @option in some places where appropriate.  Use
3313         @gcctabopt where appropriate.  Put URLs and email addresses inside
3314         @w.
3315
3316 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
3317
3318         * gcc.c (cpp_options): Set MD file name from output
3319         filename, if specified.
3320         (suffix_subst): New static variable.
3321         (do_spec): Clear it.
3322         (do_spec_1, case '.'): Handle new `%.suffix' spec.
3323         Clear it.
3324         (give_switch): Handle suffix_subst.
3325
3326 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
3327
3328         * invoke.texi:  Fix another typo.
3329
3330 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
3331
3332         * invoke.texi:  Fix typo.
3333
3334 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
3335
3336         * c-lang.c (lang_hooks): Update.
3337         (lang_decode_option): Remove.
3338         (lang_init_options): Rename c_init_options.
3339         * toplev.c (main): Use lang_hooks for lang_init_options
3340         and lang_decode_option.
3341         * toplev.h (lang_hooks): Add 2 new hooks.
3342         * tree.h: Remove lang_init_options and lang_decode_option.
3343         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
3344         * cp/decl2.c: Similarly.
3345         * cp/lex.c (lang_init_options): Rename cxx_init_options.
3346         (lang_hooks): Update.
3347         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
3348         for consistency.
3349         (lang_init_options): Rename ffe_init_options.
3350         (lang_hooks): Update.
3351         (lang_decode_option): Remove.
3352         * java/lang.c (lang_init_options): Rename java_init_options.
3353         (lang_decode_option): Rename java_decode_option.
3354         (lang_hooks): Update.
3355         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
3356         (lang_decode_option): Rename objc_decode_option.
3357         (lang_hooks): Update.
3358
3359 2001-01-09  Nick Clifton  <nickc@redhat.com>
3360
3361         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
3362         (d30v_return_addr_rtx): Delete.
3363         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
3364         cfun->machine structure.
3365         (struct machine_function): Move to d30v.h
3366         (d30v_save_machine_status): Delete.
3367         (d30v_restore_machine_status): Delete.
3368         (d30v_init_machine_status): New Function.
3369         (d30v_mark_machine_status): New Function.
3370         (d30v_free_machine_status): New Function.
3371         (d30v_init_expanders): Use new functions.
3372         (d30v_return_addr): Use ra_rtx field in cfun->machine.
3373         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
3374         d30v_return_addr_rtx.
3375
3376         * config/d30v/d30v.h (struct_machine): Move here.
3377         Add eh_epilogue_sp_ofs field.
3378
3379         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
3380         field in cfun->machine structure.
3381
3382 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3383
3384         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
3385         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
3386         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
3387
3388 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
3389
3390         * objc/lang-options.h: Remove bogus reference to
3391         Java trademark.
3392
3393 2001-01-09  Kazu Hirata  <kazu@hxi.com>
3394
3395         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
3396         return the result.
3397
3398 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
3399
3400         * reload.c (find_reloads_address): Check for eliminable registers
3401                   when substituting a constant expression for a pseudo.
3402
3403 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3404
3405         * c-common.c (enum format_type): Add format_type_error.
3406         (decode_format_type): New function.
3407         (decl_attributes): Use it.
3408         (format_kind_info): Adjust comment.
3409
3410 2001-01-09  David O'Brien  <obrien@BSDi.com>
3411
3412         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
3413         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
3414         files in tm_file.
3415         * config/i386/gnu.h: Don't include required platform specific .h files,
3416         tm.h will do it instead.
3417         * config/i386/i386elf.h: Likewise.
3418         * config/i386/linux.h: Likewise.
3419         * config/i386/moss.h: Likewise.
3420         * config/mips/gnu.h: Likewise.
3421
3422 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3423
3424         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
3425         (rs6000-ibm-aix3.[01]*): Likewise.
3426         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
3427         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
3428         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
3429         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
3430         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
3431         (powerpc-*-eabiaix*): Likewise.
3432         (powerpc-*-eabisim*): Likewise.
3433         (powerpc-*-elf*): Likewise.
3434         (powerpc-*-eabi*): Likewise.
3435         (powerpc-*-rtems*): Likewise.
3436         (powerpc-*-linux*libc1): Likewise.
3437         (powerpc-*-linux*): Likewise.
3438         (powerpc-wrs-vxworks*): Likewise.
3439         (powerpcle-wrs-vxworks*): Likewise.
3440         (powerpcle-*-sysv*): Likewise.
3441         (powerpcle-*-elf*): Likewise.
3442         (powerpcle-*-eabisim*): Likewise.
3443         (powerpcle-*-eabi*): Likewise.
3444         (powerpcle-*-solaris2*): Likewise.
3445         * config/rs6000/aix31.h: Delete includes.
3446         * config/rs6000/aix3newas.h: Likewise.
3447         * config/rs6000/aix41.h: Likewise.
3448         * config/rs6000/aix43.h: Likewise.
3449         * config/rs6000/beos.h: Likewise.
3450         * config/rs6000/rtems.h: Likewise.
3451         * config/rs6000/sysv4.h: Likewise.
3452
3453 2001-01-09  Kazu Hirata  <kazu@hxi.com>
3454
3455         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
3456         Change an argument mode of machine_mode to shift_mode of
3457         shift_mode.  Remove an extra error check.
3458         (emit_a_shift): Adopt to the new calling prototype of
3459         get_shift_alg.
3460         (function_prologue): Fix code for a monitor
3461         function.  Support H8/S.
3462         (function_epilogue): Do not output pop for a monitor function.
3463
3464 2001-01-09  Nick Clifton  <nickc@redhat.com>
3465
3466         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
3467         (setup_incoming_varargs): Use sysv_varargs_p field of the
3468         cfun->machine structure.
3469         (struct machine_function): Move to rs6000.h
3470         (rs6000_save_machine_status): Delete.
3471         (rs6000_restore_machine_status): Delete.
3472         (rs6000_init_machine_status): New Function.
3473         (rs6000_free_machine_status): New Function.
3474         (rs6000_init_expanders): Use new functions.
3475
3476         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
3477         export.
3478         (struct machine_function): Move here.
3479
3480         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
3481         sysv_varargs_p field of the cfun->machine structure.
3482
3483         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
3484         Remove prototype.
3485         (rs6000_restore_machine_status): Remove prototype.
3486
3487 2001-01-09  Richard Henderson  <rth@redhat.com>
3488
3489         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
3490         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
3491         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
3492         (sched_analyze_2, sched_analyze_insn): Likewise.
3493         (sched_analyze, init_deps): Likewise.
3494         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
3495         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
3496         (compute_block_backward_dependences): Update propagate_deps call.
3497
3498 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
3499
3500         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
3501
3502 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3503
3504         * cppinit.c (OPT_MD, OPT_MMD): Restore.
3505         (cpp_handle_option): Handle them.
3506         (cpp_post_options): Ensure one of -M or -MM is specified with
3507         any other -M? option.
3508         (init_dependency_output): Suppress output with -MG.
3509
3510 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3511
3512         * cpp.texi: Update.
3513         * invoke.texi: Update.
3514
3515 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
3516
3517         * sh.md (reload_outsf): Generate recognizable patterns for
3518         TARGET_SH3E.
3519
3520 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3521
3522         * c-lang.c (lang_hooks): Update.
3523         (lang_init): Rename c_init.
3524         (lang_finish): Remove.
3525         * toplev.c (compile_file): Use lang_hooks for lang_init ()
3526         and lang_finish ().
3527         * toplev.h (lang_hooks): Add init () and finish ().
3528         * tree.h (lang_init, lang_finish): Remove.
3529         * cp/tree.h (lang_init, lang_finish): Remove.
3530         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
3531         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
3532         lang_hooks): New.
3533         (lang_init, lang_finish): Remove.
3534         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
3535         (lang_hooks): Update.
3536         * java/lang.c (lang_init): Rename java_init.
3537         (lang_finish): Remove.
3538         (lang_hooks): Update.
3539         * objc/objc-act.c (lang_init): Rename objc_init.
3540         (lang_finish): Remove.
3541         (lang_hoooks): Update.
3542
3543 20001-01-09  Graham Stott  <grahams@redhat.com>
3544
3545         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
3546         after `ptr` is initialised.
3547
3548 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
3549
3550         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
3551         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
3552         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
3553         stack adjusts, instead of r3.
3554
3555 2001-01-09  Michael Hayes  <mhayes@redhat.com>
3556
3557         * flow.c (flow_loop_scan): Break out of ...
3558         (flow_loops_find) ... here.
3559         * basic-block.h (flow_loop_scan): New.
3560         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
3561         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
3562
3563 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
3564
3565         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
3566         macro_buffer_len.
3567         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
3568         realloc()ing macro_buffer.
3569
3570         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
3571         if it's wider than long and the target's long is wider than the
3572         host's.
3573
3574 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
3575
3576         Remove support for using UWIN as a host machine.
3577         * configure.in: Issue an error message.
3578         * configure: Regenerated.
3579         * config.gcc: Remove xm_* UWIN configury.
3580         * config/i386/xm-uwin.h: Remove.
3581
3582 2001-01-08  Nick Clifton  <nickc@redhat.com>
3583
3584         * config/v850/v850.c (ra_rtx): Delete.
3585         (v850_save_machine_status): Delete.
3586         (v850_restore_machine_status): Delete.
3587         (v850_init_machine_status): New function.
3588         (v850_mark_machine_status): New function.
3589         (v850_free_machine_status): New function.
3590         (v850_return_addr): Use ra_rtx field in machine structure.
3591         (v850_init_expanders): Use new functions.
3592
3593         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
3594         * config/v850/v850.c: Change arguments to v850_output+* functions
3595         to take a const char *, to avoid compile time warning.
3596         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
3597         (USER_LABEL_PREFIX): Redefine.
3598
3599 2000-01-08  Jim Wilson  <wilson@redhat.com>
3600
3601         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
3602         1 to unsigned HOST_WIDE_INT before left shift.
3603
3604 2001-01-08  Nick Clifton  <nickc@redhat.com>
3605
3606         * config/arm/arm.c (arm_mark_machine_status): Check to see if
3607         the machine structure has been allocated.
3608         (arm_free_machine_status): New function: Free the machine
3609         specific function structure.
3610
3611 2001-01-08  Richard Henderson  <rth@redhat.com>
3612
3613         * jump.c (simplejump_p): Revert last change.
3614
3615 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3616
3617         * cppinit.c (init): Rename init_library.
3618         (cpp_create_reader): Update.
3619         * gcc.c (cpp_options): If -o given, use it as the target of
3620         any -M options.
3621
3622 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
3623
3624         * arm.c (arm_arch5e): New variable.
3625         (all_cores): XScale is a 5TE device.
3626         (arm_override_options): Set arm_arch5e.
3627         (arm_init_builtins): __builtin_prefetch is in arch5e.
3628         * arm.h (arm_arch5e): Declare it.
3629
3630         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
3631
3632         * arm.md (define_constants): Add defines for UNSPEC and
3633         UNSPEC_VOLATILE insns.  Update all users.
3634         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
3635         * arm.c (multi_register_push, note_invalid_constants)
3636         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
3637         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
3638         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
3639
3640 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
3641
3642         * jump.c (jump_optimize_1): Use reversed_comparison_code
3643         instead of can_reverse_comparison_p.
3644         (jump_back_p): Likewise.
3645         (invert_exp_1): Likewise.
3646         (thread_jumps): Likewise.
3647         * simplify-rtx.c (simplify_unary_operation): Likewise.
3648         (simplify_ternary_operation): Likewise.
3649         * cse.c (find_comparison_args): Convert to use
3650         can_reverse_comparison_p.
3651         (record_jump_equiv): Likewise.
3652
3653 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
3654
3655         * arm.h (HARD_REGNO_RENAME_OK): Delete.
3656         (EPILOGUE_USES): Define.
3657         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
3658         automatically stack the LR if it isn't live.
3659
3660 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
3661
3662         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
3663         properly.
3664
3665 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
3666
3667         * ggc-page.c (max_alignment): New structure.
3668         (MAX_ALIGNMENT): New macro.
3669         (init_ggc): Use it to round up the sizes in the
3670         extra_order_size_table.
3671
3672 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3673
3674         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
3675         after reload.
3676
3677 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3678
3679         * builtins.def (BUILT_IN_FPRINTF): New entry.
3680
3681         * c-common.c (c_expand_builtin_fprintf): New function.
3682         (init_function_format_info): Handle __builtin_fprintf.
3683         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
3684         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
3685
3686         * c-decl.c (duplicate_decls): Adjust comment.
3687
3688         * extend.texi (fprintf): Document new builtin.
3689
3690 2001-01-07  Richard Henderson  <rth@redhat.com>
3691
3692         * jump.c (simplejump_p): Recognize any single_set jump
3693         of the proper form.
3694
3695 2001-01-07  Richard Henderson  <rth@redhat.com>
3696
3697         * configure.in (slibdir): Accept an --with-slibdir option.
3698         Use "test" not "[" in configure.  Default to $(libdir).
3699
3700         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
3701         fix typo in rm -f.
3702         * config/t-aix43 (SHLIB_INSTALL): Likewise.
3703         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
3704         (SHLIB_LINK): Create links for the soname.
3705         * config/mips/t-iris6: Likewise.
3706         * config/sparc/t-slibgcc: Likewise.
3707         * config/sparc/t-slibgcc-sld: Likewise.
3708
3709 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
3710
3711         * config/i386/i386.c (constant_call_address_operand): Accept
3712         (const (plus (symbol_ref) (const_int))).
3713         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
3714         constant_call_address_operand.
3715
3716 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3717
3718         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
3719         and LONG_LONG_TYPE_SIZE > 32.
3720
3721 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3722
3723         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
3724         the previous change.
3725
3726 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
3727
3728         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
3729         New.
3730         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
3731         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
3732         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
3733         Declare.
3734
3735 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
3736
3737         * fix-header.c (read_scan_file): s/pfile/scan_in/.
3738
3739 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
3740
3741         * c-lang.c (c_post_options): Call cpp_post_options.
3742         * objc/objc-act.c (objc_post_options): Similarly.
3743         * cppmain.c (main): Similarly.
3744         * fix-header.c (read_scan_file): Similarly.
3745         * cppinit.c (cpp_start_read): Move option consistency checks
3746         to cpp_post_options.  Don't call init_dependency_output.
3747         If needed, add default target and main file dependency.
3748         (OPT_MD, OPT_MMD): Remove.
3749         (OPT_MF): New.
3750         (cpp_handle_option): Update for OPT_* changes.
3751         (cpp_post_options): New.
3752         (init_dependency_output): Command line -MF overrides environment
3753         variables.  Don't set default target etc.  Suppress output
3754         if dependencies are going to stdout.
3755         (print_help): Update.
3756         * cpplib.h (cpp_post_options): New.
3757         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
3758
3759 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
3760
3761         * jump.c (comparison_dominates_p): Support unordered compares.
3762
3763 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
3764
3765         * simplify-rtx.c (simplify_relational_operation): Always simplify
3766         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
3767         and UNGE.
3768
3769 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
3770
3771         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
3772         (nonzero_bits): Likewise.
3773         (simplify_comparison): Likewise.
3774         (num_sign_bit_copies): Likewise; return more sane value depending
3775         on STORE_FLAG_VALUE.
3776         (known_cond): Do not assume EQ to be always true for equivalent
3777         operands.
3778
3779 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
3780
3781         * cse.c (fold_rtx): Handle unordered comparisons.
3782
3783 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
3784
3785         * rtlanal.c (set_of_1): New static function.
3786         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
3787          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
3788          reg_set_last_last_regno): Remove.
3789         (set_of): New global function.
3790         (set_of_data): New structure.
3791         (reg_set_p, reg_set_last): Revamp for set_of.
3792         * rtl.h (set_of): New.
3793
3794 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3795
3796         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
3797         * extend.texi: Document _Exit builtin.
3798
3799 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
3800
3801         * (initialize, initialize_builtins,
3802         initialize_dependency_output, initialize_standard_includes):
3803         Rename s/initialize/init. Update.
3804         (init_dependency_output): Move to after
3805         cpp_handle_options, the correct location temporally at least.
3806         (opt_comp): Move next to init (), its caller.  Fix prototype.
3807         (init): Make "initialized" local scope.
3808         (cpp_create_reader): Always call init ().
3809         (cpp_start_read): Update.
3810         (output_deps): New function, broken out of cpp_finish.
3811         (cpp_finish): Break out output_deps.
3812
3813 2001-01-07  Richard Henderson  <rth@redhat.com>
3814
3815         * collect2.c (COFF specific stuff): Revert 12-06 patch
3816         to prototype system functions.
3817
3818 2001-01-07  Michael Hayes  <mhayes@redhat.com>
3819
3820         * hard-reg-set.h: Add multiple include guard.
3821         * basic-block.h (struct loop): Add `sink' field.
3822         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
3823         (emit_iv_add_mult): Delete.
3824         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
3825         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
3826         (unroll_loop): Remove end_insert_before argument.
3827         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
3828         (maybe_eliminate_biv_1): Likewise.
3829         (emit_iv_add_mult): Delete.
3830         (gen_add_mult, loop_regs_update): New.
3831         (loop_insn_emit_after, loop_insn_emit_before): New.
3832         (loop_insn_sink, loop_insn_sink_or_swim): New.
3833         (emit_iv_add_mult): Delete.
3834         (scan_loop): Set loop->sink.
3835         (loop_givs_reduce): Use loop_insn_sink and its ilk.
3836         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
3837         (maybe_eliminate_biv_1): Likewise.
3838         (maybe_eliminate_biv_1): Add basic block argument.
3839         * unroll.c (unroll_loop): Remove end_insert_before argument.
3840         (find_splittable_regs): Likewise.
3841         (find_splittable_regs): Use loop_insn_sink and its ilk.
3842         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
3843
3844 2001-01-07  Michael Hayes  <mhayes@redhat.com>
3845
3846         * loop.h (loop_insn_hoist): New prototype.
3847         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
3848         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
3849         (check_dbra_loop, load_mems): Likewise.
3850         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
3851         (find_splittable_givs): Likewise.
3852
3853 2001-01-07  Michael Hayes  <mhayes@redhat.com>
3854
3855         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
3856
3857 2001-01-07  Richard Henderson  <rth@redhat.com>
3858
3859         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
3860
3861 2001-01-07  Richard Henderson  <rth@redhat.com>
3862
3863         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
3864         NO_SHARED_LIBGCC_MULTILIB as required for the target.
3865         * gcc.c (init_spec): Massage the existing libgcc_spec into a
3866         variant that handles a shared libgcc.
3867         (process_command): Always validate -{static,shared}-libgcc.
3868         (do_spec_1): New 'M' case.
3869         * invoke.text (Link Options): Document -{static,shared}-libgcc.
3870
3871 2001-01-07  Richard Henderson  <rth@redhat.com>
3872
3873         * Makefile.in (slibdir): New variable.
3874         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
3875         (installdirs): Create slibdir.
3876         (install-libgcc, install-multilib): Defer to libgcc.mk.
3877         * configure.in (slibdir): Substitute.
3878         * mklibgcc.in (install): New target.
3879
3880         * config/t-linux (SHLIB_LINK): Create links for the soname.
3881         (SHLIB_INSTALL): New.
3882         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
3883         * config/mips/t-iris6 (SHLIB_INSTALL): New.
3884         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
3885         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
3886         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
3887
3888 2001-01-07  Richard Henderson  <rth@redhat.com>
3889
3890         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
3891         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
3892         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
3893
3894 2001-01-07  Michael Hayes  <mhayes@redhat.com>
3895
3896         * loop.c (count_loop_regs_set): Delete.
3897         (load_mems_and_recount_loop_regs_set): Delete.
3898         (loop_regs_scan): Merge common code from count_loop_regs_set,
3899         scan_loop, and load_mems_and_recount_loop_regs_set.
3900         (scan_loop): Call load_mems directly and loop_regs_scan
3901         again if new registers created.
3902
3903 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
3904
3905         * toplev.c (main): Call the front-end specific post_options
3906         hook if one is given.
3907         * toplev.h (struct_lang_hooks, lang_hooks): New.
3908         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
3909         for the C front end.
3910         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
3911         lang_hooks for the C++ front end.
3912         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
3913         lang_hooks for the ObjC front end.
3914         * f/com.c (lang_hooks): Hooks for the Fortran front end.
3915         * java/lang.c (lang_hooks): Hooks for the Java front end.
3916
3917 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
3918
3919         * c-lex.c (init_c_lex): Request #define / #undef callbacks
3920         for verbose DWARF[2] debugging.
3921         (cb_define, cb_undef): The new callbacks.
3922         * toplev.h (debug_define, debug_undef): Make const correct.
3923         * toplev.c (debug_define, debug_undef): Similarly.  Do not
3924         perform the verbosity tests here anymore.
3925
3926 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
3927
3928         * reload.c (subst_reloads): Take INSN argument.  When
3929         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
3930         * reload.h (subst_reloads): Adjust prototype.
3931         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
3932         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
3933         present in JUMP_INSNs and copy them to JUMP_LABEL.
3934         * flow.c (find_label_refs, find_basic_blocks_1): Skip
3935         JUMP_INSNs and insns with REG_LABELs that are followed by
3936         JUMP_INSNs with the same REG_LABEL.
3937         * sched-rgn.c (is_cfg_nonregular): Likewise.
3938         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
3939         note is available.
3940         * unroll.c (unroll_loop): Look for REG_LABEL notes in
3941         JUMP_INSNs too.
3942         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
3943
3944 2001-01-06  Richard Henderson  <rth@redhat.com>
3945
3946         * loop.c (scan_loop): Use xcalloc for the regs array.
3947         (load_mems_and_recount_loop_regs_set): Zero the new memory
3948         received from xrealloc.
3949
3950 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3951
3952         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
3953
3954 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
3955
3956         * integrate.c (copy_rtx_and_substitute): When copying
3957         an ignored return value, strip REG_FUNCTION_VALUE_P.
3958
3959 2001-01-06  Michael Hayes  <mhayes@redhat.com>
3960
3961         * loop.c (debug_biv, debug_giv): New.
3962         (loop_biv_dump): Break out from ...
3963         (record_biv): ... here.
3964         (loop_giv_dump): Break out from ...
3965         (record_giv): ... here.
3966         (loop_bivs_check): Use print_simple_rtl.
3967         * unroll.c (loop_iterations): Use print_simple_rtl.
3968
3969 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3970
3971         * pa.md (return, return_internal): Modify patterns to prevent regrename
3972         mucking with the return pointer.
3973
3974 2001-01-05  Richard Henderson  <rth@redhat.com>
3975
3976         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
3977
3978 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
3979
3980         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
3981         version supplied by Matteo Frigo.
3982
3983 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3984
3985         * cpp.texi: Update for -MQ.
3986         * cppinit.c (cpp_create_reader): Always create pfile->deps.
3987         (cpp_cleanup): Always free pfile->deps.
3988         (initialize_dependency_output): Don't create pfile->deps.
3989         (cpp_handle_option): Similarly.
3990         (OPT_MQ): New.
3991         * gcc.c (cpp_options): Handle -MQ.
3992         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
3993         * mkdeps.c (base_name): Remove.
3994         (deps_init): Don't allocate vector space until it's needed.
3995         (deps_free): Only free vectors if allocated.
3996         (deps_add_target, deps_add_dep): Update for initial allocation.
3997         (deps_add_default_target): Don't strip to the base_name.
3998
3999 2001-01-05  DJ Delorie <dj@redhat.com>
4000
4001         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
4002         (INIT_EXPANDERS): Define.
4003
4004         * config/v850/v850.c (struct machine_function): Define.
4005         (v850_save_machine_status): New function.
4006         (v850_restore_machine_status): New function.
4007         (v850_return_addr): New function.
4008         (v850_init_expanders): New function.
4009
4010         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
4011         and v850_init_expanders.
4012
4013 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
4014
4015         * cpplib.h (struct cpp_reader): Add help_only field.
4016         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
4017         (cpp_handle_option): Set pfile->help_only if we see -h,
4018         --help, -target-help, or --version.  Print version string but
4019         do not set help_only if we see -v or -version.  Make text
4020         printed by -v match that printed by (-)-version.
4021
4022         * cppmain.c (main): Exit after option parsing if
4023         pfile->help_only is true.
4024
4025         * toplev.c (independent_decode_option): Call print_version,
4026         then exit, if we see --version (but not -version).
4027         (print_version): Split lengthy message into two lines.
4028
4029 2001-01-05  Nick Clifton  <nickc@redhat.com>
4030
4031         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
4032         temporary string for initialisation before calling ggc_alloc_string.
4033
4034 2001-01-06  Michael Hayes  <mhayes@redhat.com>
4035
4036         * rtl.h (print_simple_rtl): New.
4037         * print-rtl.c (print_simple_rtl): New.
4038         (flag_simple): New.
4039         (print_rtx): Disable printing of flags and modes, etc.,
4040         if `flag_simple` nonzero.
4041
4042 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
4043
4044         * function.c (fixup_var_refs): Use push_to_full_sequence where
4045         possible.
4046
4047 2001-01-05  Michael Meissner  <meissner@redhat.com>
4048
4049         * flags.h (flag_reorder_blocks): Add declaration.
4050         (flag_rename_block): Ditto.
4051
4052 2001-01-05  DJ Delorie  <dj@redhat.com>
4053
4054         * function.c (reorder_blocks): Make sure the flags are all reset
4055         before using them to mark blocks, else a second invocation will
4056         corrupt the block chain.
4057         (reorder_blocks_0): New, resets the flags.
4058
4059 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
4060
4061         * cse.c (find_comparison_args): Stop if the argument is known to
4062         be constant.
4063
4064 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
4065
4066         * config/sh/sh.md (movdf): When splitting load into pair of
4067         registers, don't clobber the register used in the address too
4068         early.
4069
4070 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
4071
4072         * varasm.c (mark_constant_pool): Improve initial comments.
4073         (mark_constants): Move marking of constants to mark_constant.
4074         (mark_constant): New function to recursively mark all constants
4075         referred to by a constant.
4076
4077 2001-01-05  Catherine Moore  <clm@redhat.com>
4078
4079         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
4080
4081 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
4082
4083         * cp/lang-options.h:  Bring comment in line with reality.
4084         * f/lang-options.h:  Likewise.
4085         * java/lang-options.h:  Likewise.
4086         * objc/lang-options.h:  Likewise.
4087         * ch/lang-options.h:  Likewise.
4088         * f/g77.texi:  And update the manual.
4089
4090 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
4091             Denis Chertykov  <denisc@overta.ru>
4092
4093         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
4094         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
4095         * config/avr/avr.md (all peepholes that request a scratch register):
4096         Call it, FAIL the peephole if not safe (in interrupt functions).
4097
4098 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
4099
4100         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
4101
4102 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
4103
4104         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
4105         Define.
4106         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
4107         BUILT_IN_CREAL and BUILT_IN_CIMAG.
4108         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
4109         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
4110         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
4111         BUILT_IN_CIMAG.
4112         * extend.texi: Document these builtins.
4113
4114 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
4115
4116         * c-common.c (lang_get_alias_set): Say we know nothing of
4117         VECTOR_TYPE aliasing.
4118
4119         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
4120
4121 2001-01-05  Bruce Korb  <bkorb@gnu.org>
4122
4123         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
4124         their x* equivalent versions for atexit-less systems
4125         * fixinc/fixincl.c(main): do not return from main() on atexit-less
4126         systems (or any other system any more).
4127
4128 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
4129
4130         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
4131         output operands.  Use arm_hard_register_operand for operand 4.
4132         (stmsi_postinc): Similarly.
4133         (ldmsi): Use arm_hard_register_operand for opernand 2.
4134         (stmsi): Similarly.
4135         * arm.c (arm_hard_register_operand): New function.
4136         * arm-protos.h (arm_hard_register_operand): Prototype it.
4137
4138         * arm.h (HARD_REGNO_RENAME_OK): Define.
4139
4140 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
4141
4142         * simplify-rtx.c (cfc_args): add "unordered" field.
4143         (check_fold_consts): Set unordered field.
4144         (simplify_relational_operation): Simplify the unordered
4145         comparisons.
4146
4147         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
4148         is valid.
4149
4150         * emit-rtl.c (try_split): Fix code to mark labels.
4151         * jump.c (mark_jump_label): Make global.
4152         * rtl.h (mark_jump_label): Declare.
4153
4154         * predict.c (estimate_probability): Handle unordred comparisons.
4155
4156 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4157
4158         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
4159         * cppinit.c (initialize_dependency_output):  Update.
4160         (cpp_finish): Output dummy targets for -MP.
4161         (OPT_MP): New.
4162         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
4163         * cpplib.h (struct cpp_options): Add deps_phony_targets.
4164         * gcc.c (cpp_options): Update to handle -MP.
4165         * mkdeps.c (deps_add_target, deps_add_default_target): Update
4166         to quote only the default target.
4167         (deps_phony_targets): Insert a preceding newline.  Rename from
4168         deps_dummy_targets for consistency.
4169         * mkdeps.h: Update
4170
4171 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
4172
4173         * calls.c (emit_library_call_value_1): Support
4174         INIT_CUMULATIVE_LIBCALL_ARGS.
4175         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
4176
4177 2001-01-04  Richard Henderson  <rth@redhat.com>
4178
4179         * c-decl.c (finish_struct): Detect flexible array members
4180         used in an inappropriate context.
4181         * c-typeck.c (really_start_incremental_init): Special case
4182         constructor_max_index for zero length arrays.
4183         (pop_init_level): Allow initialization of flexible array
4184         members.  Deprecate initialization of zero length arrays.
4185         Don't issue missing initializer warning for flexible array
4186         members or zero length arrays.
4187         (process_init_element): Don't dereference null DECL_SIZE.
4188         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
4189         Don't abort for empty constructors.  Use size_binop
4190         (output_constructor): Add commentary regarding zero length
4191         array futures.  Abort if we try to initialize an array of
4192         unspecified length with a non-empty constructor in the middle
4193         of a structure.
4194
4195         * extend.texi (Zero Length): Update and clarify documentation
4196         on static initialization.
4197
4198 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4199
4200         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
4201         with more than 32767 words of local storage.
4202
4203 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4204
4205         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
4206         for 'abs', 'labs', and 'fabs'.
4207         (c4x_expand_builtin): Likewise.
4208         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
4209
4210 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
4211
4212         * config/sh/sh.md (prget, prset): New insn types.
4213         (return delay slot): Dont' allow prset.
4214         (call, sfunc delay slot): Don't allow prget.
4215         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
4216         for prset and prget.
4217
4218 2001-01-05  Michael Hayes  <mhayes@redhat.com>
4219
4220         * loop.h (struct loop_reg): New.
4221         (struct loop_regs): Change to use array of `struct loop_reg'.
4222         * loop.c: Replace assortment of varrays with single regs array.
4223         (count_one_set): Delete may_not_move array argument
4224         and use regs array instead.  All caller's changed.
4225         (count_loop_regs_set): Delete may_not_move and single_usage
4226         arguments and use regs array instead.  All caller's changed.
4227         (find_single_use_in_loop): Replace usage array argument with pointer
4228         to regs structure.  All caller's changed.
4229         (loop_optimize): Delete `moved_once' array.
4230
4231 2001-01-05  Michael Hayes  <mhayes@redhat.com>
4232
4233         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
4234         Use it instead of loop_info->has_call for scanning loop mems.
4235         (check_dbra_loop): Replace loop_info->has_call test with
4236         loop_info->has_nonconst_call.
4237
4238 2000-01-04  Matthew Hiller  <hiller@redhat.com>
4239
4240         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
4241         for TARGET_SH3E.
4242
4243 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
4244
4245         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
4246         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
4247
4248 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
4249
4250         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
4251         (flag_short_double, flag_short_wchar): Define.
4252         (c_common_nodes_and_builtins): Create many tree nodes shared
4253         between C and C++ here instead of in cp/decl.c and ...
4254         * c-decl.c (init_decl_processing): ... here.
4255         (SIZE_TYPE, WCHAR_TYPE): Don't define.
4256         (flag_short_double, flag_short_wchar): Don't define.
4257         (record_builtin_type): New function.
4258         (build_void_list_node): New function.
4259         * c-common.h (flag_short_double, flag_short_wchar,
4260         record_builtin_type, build_void_list_node): Declare.
4261
4262 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
4263
4264         * integrate.c (expand_inline_function): Don't put a virtual
4265         register into the reg map.
4266
4267         * function.c (fixup_var_refs_1): If force_operand didn't put
4268         the address into the target, move it there.
4269
4270 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
4271
4272         Special-case tree_decl/tree_list allocations.
4273         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
4274         (OBJECT_SIZE): New macro.
4275         (NUM_EXTRA_ORDER): Likewise.
4276         (extra_order_size_table): New variable.
4277         (NUM_ORDERS): New macro.
4278         (objects_per_page_table): New variable.
4279         (object_size_table): New variable.
4280         (G.pages): Use NUM_ORDERS to bound the array.
4281         (G.page_tails): Likewise.
4282         (DIV_ROUND_UP): Remove.
4283         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
4284         (alloc_page): Use OBJECT_SIZE.
4285         (size_lookup): Don't make it const.
4286         (ggc_alloc): Use OBJECT_SIZE.
4287         (ggc_set_mark): Likewise.
4288         (ggc_get_size): Likewise.
4289         (init_ggc): Set up the object_size_table, objects_per_page_table,
4290         and adjust size_lookup.
4291         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
4292         (ggc_pop_context): Use NUM_ORDERS.
4293         (clear_marks): Likewise.
4294         (sweep_pages): Likewise.
4295         (poison_pages): Likewise.
4296         (ggc_print_statistics): Use OBJECT_SIZE.
4297
4298 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4299
4300         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
4301         Only call array_size_for_constructor if last field and array type
4302         with no upper bound.
4303
4304 2001-01-04  Philip Blundell  <philb@gnu.org>
4305
4306         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
4307         from bit 31 downwards, if this requires no more insns.
4308         (count_insns_for_constant): New helper function for above.
4309
4310 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
4311
4312         * gencodes.c (output_predicate_decls): Remove empty initializer.
4313
4314 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
4315
4316         * tree.c (copy_node): Remove documentation about obstacks.
4317         (buidl1): Check that nobody tries to build 2-argument nodes this
4318         way.
4319
4320 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4321
4322         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
4323         fp_high_losum_p.
4324
4325         * gencodes.c (output_predicate_decls): Fill empty initializer
4326         braces.
4327
4328 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
4329
4330         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
4331         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
4332         or -MM.
4333         (do_include): Handle missing headers like cpp0.
4334         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
4335         paths with first include pathname.  Don't strcat to uninitialized
4336         string.
4337
4338 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
4339
4340         * regrename.c (regrename_optimize): Don't rename from frame pointer
4341         if frame_pointer_needed.
4342         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
4343         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
4344         (ia64_reorg): Use it instead of scheduling if ! optimize.
4345         (errata_emit_nops): Properly call asm_noperands.
4346         (ia64_sched_reorder): Finish cycle if we see an asm.
4347         (ia64_variable_issue): Clear scheduling state after asms.
4348
4349 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
4350
4351         * cpp.texi: Update for -MT.
4352         * cppinit.c (initialize_dependency_output): Add a default
4353         target if none has been given already.
4354         (no_tgt, OPT_MT): New.
4355         (cpp_handle_option): Handle -MT.  Update -M etc.
4356         * cpplib.h (struct cpp_options): Remove deps_target.
4357         * gcc.c (cpp_options): Handle -MT.
4358         * mkdeps.c (struct deps): Move from mkdeps.h.
4359         (deps_calc_target): Rename deps_add_default_target.  Add a
4360         default target if none has been specified already.
4361         * mkdeps.h (struct deps): Move to mkdeps.c.
4362         (deps_calc_target): Rename deps_add_default_target.
4363
4364 2000-01-03  Richard Henderson  <rth@redhat.com>
4365
4366         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
4367         Remove dead code.
4368         * c-typeck.c (push_init_level): Move checks for flexible array
4369         members and zero length arrays ...
4370         (pop_init_level): ... here.  Silently discard empty initializations.
4371         Remove dead code.
4372         * varasm.c (output_constructor): Update for sizeof change to
4373         zero-length arrays.
4374
4375         * extend.texi (Zero Length): Clarify semantics.
4376
4377 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
4378
4379         * configure.in (tm.h): Include isns-codes.h last.
4380         * configure: Rebuilt.
4381
4382 2001-01-03  Richard Henderson  <rth@redhat.com>
4383
4384         * config/alpha/alpha.md (addvsi3, addvdi3): New.
4385         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
4386
4387 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4388
4389         * tradcpp.c (main): Make sure finclude() is called with a valid
4390         indepth value while handling -include.
4391
4392 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
4393
4394         * gencodes.c (output_predicate_decls): New function.
4395         (main): Call it.
4396         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
4397         even if it is not the first time machmode.h is #included.
4398         * config/sh/sh.c (fpul_operand): Declare MODE argument.
4399         * tm.texi (PREDICATE_CODES): Document predicate declarations.
4400         * gcc.texi (Copyright): Added 2001.
4401
4402 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
4403
4404         * c-common.c (c_common_lang_init): New function.  Warn if format
4405         warning options which only have effects when used with -Wformat
4406         are used without -Wformat.
4407         * c-common.h (c_common_lang_init): Declare.
4408         * c-lang.c (lang_init): Call c_common_lang_init.
4409         * objc/objc-act.c (lang_init): Call c_common_lang_init.
4410
4411 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
4412
4413         * configure.in: Check for the mktemp command.
4414         * configure: Regenerate.
4415         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
4416         $TEMP.  Create temporary files with mktemp, if available at
4417         configure time; otherwise use set -C.  Remove temporary files
4418         before exit.
4419
4420 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
4421
4422         * configure.in: Require at least texinfo 4.0.  Check for whether
4423         Pod::Man is sufficiently recent to regenerate GCC manpages.
4424         * configure:  Regenerate.
4425         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
4426         on #!.
4427         (GENERATED_MANPAGES): Define.
4428         (generated-manpages): New target.  Depend on cpp.1 as well as
4429         gcov.1.
4430         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
4431         configure to generated-manpages or empty) rather than on the
4432         manpages directly.  Remove execute permission from installed
4433         gcov.1 as well as cpp.1.
4434         * cpp.1, gcov.1: Regenerate.
4435
4436 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4437
4438         * builtins.c (expand_builtin_strncmp): Use host_integerp and
4439         tree_low_cst.  Allow using cmpstrsi in more cases.
4440
4441 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4442
4443         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
4444         sized types.
4445
4446 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
4447
4448         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
4449         * Makefile.in (HOST_CFLAGS): Mention build-make.
4450
4451 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4452
4453         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
4454         as JUMP_INSN.
4455
4456 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
4457
4458         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
4459         a REG rtx.
4460
4461         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
4462         callers changed.
4463
4464         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
4465         reg_base_value and reg_known_value arrays.
4466         (init_alias_analysis): Add more cases to detect known values.
4467         * sched-deps.c (deps_may_trap_p): New function.
4468         (sched_analyze_2): Use it.
4469
4470 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
4471
4472         * combine.c (simplify_shift_const): Even if we're sign-extracting,
4473         don't discard an ASHIFTRT if we're shifting in a wider mode.
4474
4475 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4476
4477         * toplev.c (rest_of_compilation): Don't print basic block information
4478         when CFG isn't up to date.
4479
4480 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
4481
4482         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
4483         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
4484         (UNALIGNED_SHORT_ASM_OP): Define.
4485         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
4486
4487 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
4488
4489         * fold-const.c (fold_convert): Fix typo.
4490
4491 2001-01-02  Richard Henderson  <rth@redhat.com>
4492
4493         * c-common.h (ASM_INPUT_P): New.
4494         * c-parse.in (asm): Set it when needed.
4495         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
4496         existance of an operand.
4497
4498 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
4499
4500         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
4501         (dwarf2out_frame_debug_expr): Likewise.
4502         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
4503
4504 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
4505
4506         * i386.c (ix86_split_to_parts): Return number of part required;
4507         handle TFmodes.
4508         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
4509         TFmodes.
4510         (ix86_split_long_move): Use number of part returned
4511         by ix86_split_to_parts
4512         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
4513         New macros.
4514         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
4515         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
4516         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
4517         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
4518         (ALIGN_MODE_128): Add TFmode.
4519         (IS_STACK_MODE): Likewise.
4520         (HARD_REGNO_NREGS): TFmode needs 3 registers.
4521         (HARD_REGNO_OK): Support TFmodes.
4522         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
4523         * i386.md (scheduler definitions): Use memory operand to determine
4524         fst/fld instructions; use mode attribute to determine real mode of
4525         the instruction.
4526         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
4527         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
4528
4529 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
4530
4531         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
4532
4533 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
4534
4535         * expr.c (store_constructor_field): Update ALIGN before calling
4536         store_constructor.
4537
4538 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
4539
4540         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
4541         host_integerp.
4542
4543 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
4544
4545         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
4546         incomplete type.
4547
4548 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
4549
4550         * c-decl.c (start_function): Don't warn on third parameter to main.
4551
4552 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4553
4554         * tsystem.h: Define HAVE_DECL_GETOPT.
4555
4556 2001-01-02  Philip Blundell  <pb@futuretv.com>
4557
4558         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
4559         of input operand.
4560
4561 2001-01-02  Richard Henderson  <rth@redhat.com>
4562
4563         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
4564
4565 2001-01-02  Andreas Jaeger  <aj@suse.de>
4566
4567         * c-decl.c (c_decode_option): Remove support of
4568         -Wmissing-noreturn.
4569
4570         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
4571         (W_options): Add -Wmissing-noreturn here.
4572
4573         * flow.c: Define lang_missing_noreturn_ok_p.
4574         (check_function_return_warnings): Use it.
4575
4576         * c-common.h: Declare lang_missing_noreturn_ok_p.
4577
4578         * c-lang.c (c_missing_noreturn_ok_p): New function.
4579         (lang_init): Set lang_missing_noreturn_ok_p.
4580
4581         * invoke.texi (Warning Options): Document this.
4582
4583 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
4584
4585         * extend.texi (C++ Extensions):  New node for C++ attributes;
4586           describe init_priority and com_interface.
4587         * invoke.texi:  Remove -finit-priority as it now has zero effect.
4588         * install.texi:  Fix xref syntax.
4589         * md.texi:  Likewise.
4590
4591 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4592
4593         * config.gcc (sparc64-wrs-vxworks*): New case.
4594         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
4595
4596         * config/sparc/sparc.c (sparc_override_options): Do support different
4597         pointer and architecture size.
4598         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
4599         (POINTERS_EXTEND_UNSIGNED): Define.
4600         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
4601         (FUNCTION_MODE): Define to be Pmode.
4602         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
4603
4604         * function.c (expand_function_end): Properly handle DECL_RESULT
4605         and copy when ptr_mode != Pmode.
4606         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
4607
4608 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4609
4610         * c-common.c (c_common_nodes_and_builtins): Set prototype
4611         parameters for __builtin_fputs, __builtin_fputc and
4612         __builtin_fwrite.  Don't declare plain fputc as a builtin.
4613
4614 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4615
4616         * loop.c (add_label_notes): Increment the label usage count when
4617         a note is added to an insn which refers to a CODE_LABEL.
4618         * gcse.c (add_label_notes): Likewise.
4619
4620 2001-01-01  Andreas Jaeger  <aj@suse.de>
4621
4622         * loop.c (scan_loop): Use xmalloc to allocate movables.
4623
4624 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
4625
4626         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
4627         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
4628         * reload1.c (REGISTER_MOVE_COST): Likewise.
4629         * regclass.c (REGISTER_MOVE_COST): Likewise.
4630         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
4631         dimension.  Adjust all users.
4632         (init_reg_sets_1): Iterate on all modes.
4633         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
4634         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
4635         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
4636         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
4637         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
4638         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
4639         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
4640         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
4641         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
4642         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
4643         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
4644         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
4645         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
4646         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
4647         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
4648         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
4649         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
4650         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
4651         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
4652         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
4653         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
4654         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
4655         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
4656         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
4657         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
4658         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
4659         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
4660
4661 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
4662
4663         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
4664         arg VARIES_P.  Call it with extra arg.
4665         (true_dependence): Likewise.
4666         * rtl.h (rtx_addr_can_trap_p): Declare.
4667         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
4668         prototypes.
4669         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
4670         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
4671         pic offset table register if it's zero.  All callers changed.
4672         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
4673
4674 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4675
4676         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
4677         STRING_POOL_ADDRESS_P.
4678
4679         * config/sparc/sparc.c (input_operand): Properly test for short op.
4680
4681         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
4682         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
4683         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
4684         * config/sparc/elf.h: No longer include sol2.h.
4685         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
4686         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
4687
4688         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
4689
4690 2001-01-01  Michael Hayes  <mhayes@redhat.com>
4691
4692         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
4693         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
4694         (record_initial): Likewise.
4695         * unroll.c (copy_loop_body, loop_iterations): Likewise.
4696         (remap_split_bivs): Likewise.
4697
4698 2001-01-01  Michael Hayes  <mhayes@redhat.com>
4699
4700         * loop.c (loop_ivs_free): New function.
4701         (strength_reduce): Break out from...
4702
4703 2001-01-01  Michael Hayes  <mhayes@redhat.com>
4704
4705         * loop.h (struct iv): New.
4706         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
4707         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
4708         'reg_biv_class' fields with 'regs' and 'n_regs'.
4709         (struct ivs): Rename 'loop_iv_list' field to 'list'.
4710         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
4711         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
4712
4713 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
4714
4715         * resource.c (mark_referenced_resources): Abort() before
4716         attempting to mark a pseudo register.
4717         (mark_set_resources): Likewise.
4718
4719 2001-01-01  Michael Hayes  <mhayes@redhat.com>
4720
4721         * loop.h (REG_IV_CLASS): New accessor macro.
4722         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
4723         * unroll.c (REG_IV_CLASS): Likewise.
4724
4725 See ChangeLog.4 for earlier changes.