OSDN Git Service

* loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-01-25  Michael Hayes  <mhayes@redhat.com>
2
3         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
4         (loop_insn_emit_before): No longer static.
5         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
6         (loop_givs_rescan, load_mems): Likewise.
7         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
8         (maybe_eliminate_biv_1):
9         (move_movables): Replace emit_call_insn_before with
10         loop_call_insn_hoist.
11         * loop.h (loop_insn_emit_before): Add.
12         * unroll.c (copy_loop_body): Replace emit_insn_before with 
13         loop_insn_emit_before.
14
15 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
16
17         * diagnostic.c (fatal): Request preprocessed source.
18
19 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
20
21         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
22         olddecl has argument types and newdecl has none, use the argument
23         types from olddecl.
24
25 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
26
27         * dwarf2out.c (prefix_of): New function.  Determine longest common
28         prefix of the two arguments.  The units are whole path components.
29         (output_file_names): When adding a new directory find the one entry
30         with the longest common prefix already in the list.  Artificially
31         generate entry if there is none for this prefix.
32         Fix test to check whether the zeroth directory entry is used.
33
34 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
35
36         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
37         Changed all callers.  Take it into account when deciding if a
38         previously loaded value matches.
39
40 2001-01-24  Richard Henderson  <rth@redhat.com>
41
42         * reload.c (find_reloads_subreg_address): Fail the substitution
43         if the resulting address is insufficiently aligned.
44
45 2001-01-24  DJ Delorie  <dj@redhat.com>
46
47         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
48         check the original operand's mode also.
49         * simplify-rtx.c (simplify_ternary_operation): Ditto.
50
51 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
52
53         * c-parse.in (cast_expr): Move compound literals from here ...
54         (primary): ... to here.  Use standard terminology "compound
55         literal" instead of "constructor expression".
56
57 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
58
59         * gcc.1, cpp.1: Regenerate.
60
61 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
62
63         * calls.c (emit_library_call_value_1): Memory slot for
64         pass-by-reference argument should have the mode of the argument,
65         not of the pointer to it.
66
67 2001-01-24  Tom Tromey  <tromey@redhat.com>
68
69         * gcc.texi (G++ and GCC): Mention gcj manual.
70         (Standards): Link to section of manual mentioning gcj/Java
71         compatibility.
72
73 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
74
75         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
76         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
77         * tradcpp.c (main): Add -imacros or -include'd dependencies
78         for -M*.
79         * cpp.texi (-M, -MM): Document -M -include behaviour.
80
81 2001-01-24  Roger Collins <roger@ProProject.com>
82
83         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
84
85 2001-01-24  Will Cohen  <wcohen@redhat.com>
86
87         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
88         whether registers are 32 bits or 64 bits in size.
89
90 2001-01-24  Ben Elliston  <bje@redhat.com>
91
92         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
93
94 2001-01-24  Richard Henderson  <rth@redhat.com>
95
96         * config/alpha/alpha.md (builtin_longjmp_internal): New.
97         (builtin_longjmp): Use it instead of emit_indirect_jump.
98
99 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
100
101         * bb-reorder.c (make_reorder_chain_1): Handle case where
102         jump edge goes to the same block as the fallthru edge.
103
104 2001-01-23  Jim Wilson  <wilson@redhat.com>
105
106         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
107         * frame.h (__ia64_personality_v1): Add prototype.
108         * libgcc2.c (ia64_throw_helper): Change personality declaration to
109         prototype form.  Add void * cast to first argument to personality
110         call.
111         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
112         (asctoe113): Likewise.
113         * config/ia64/frame-ia64.c: Include eh-common.h.
114         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
115         prototypes.
116         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
117         to dump parameter.
118         (itanium_split_issue): Add prototype.
119         (gen_nop_type): Ifdef out.
120         (find_best_packet): Initialize best_packet.
121         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
122         result.
123         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
124         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
125         (flushrs): Add explicit stop bit at end.
126         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
127         trailing \ to >.
128
129 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
130
131         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
132         of EH symbols.
133         * libgcc2.c (__terminate_func): Make variable static.
134         (__terminate_set_func): New function to set __terminate_func.
135         * libgcc2.h (__terminate_func_ptr): New typedef.
136         (__terminate_set_func): New function.
137
138 2001-01-23  Richard Henderson  <rth@redhat.com>
139
140         * flow.c (init_propagate_block_info): Don't consider unchanging
141         memories for dead frame store elimination.
142
143 2001-01-23  Richard Henderson  <rth@redhat.com>
144
145         * varasm.c (UNIQUE_SECTION): Move default implementation ...
146         * defaults.h: ... here.
147
148 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
149
150         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
151
152 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
153
154         * c-lex.c (lex_charconst): Fix typo: s/p/str.
155
156 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
157
158         * rs6000.h (rs6000_return_addr): Move prototype from here...
159         * rs6000-protos.h (rs6000_return_addr): ...to here.
160         (rs6000_init_expanders): Delete prototype.
161
162 2001-01-23  Nick Clifton  <nickc@redhat.com>
163
164         * invoke.texi: Replace , with \, inside @gccoptlist macros.
165         (Spec Files): Document %B and %j and %. and %v3 and %M and
166         %{S*&T} spec switches.
167
168 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
169
170         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
171
172 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
173             Neil Booth  <neil@daikokuya.demon.co.uk>
174
175         * cpperror.c: Merge handlers of PEDWARN and WARNING.
176         Have -Werror make pedantic warnings errors, like the
177         rest of GCC.
178
179 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
180
181         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
182
183 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
184
185         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
186         * integrate.c (expand_inline_function): Initialize them.
187         (subst_constants): If changing COMPARE so that both its arguments
188         will be VOIDmode and the comparison mode will be lost, note
189         compare_mode.  Use the recorded compare_mode to optimize
190         IF_THEN_ELSE.
191
192 2001-01-23  Jason Merrill  <jason@redhat.com>
193
194         * dwarf2out.c (new_die): Use xcalloc.
195         (output_die): Abort rather than emit a local reference to offset 0.
196
197 2001-01-17  Andrew Haley  <aph@redhat.com>
198
199         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
200         of a saved register; return NULL instead.
201         (copy_reg): Take a pointer to a source register rather than a
202         frame_state.
203         (next_stack_level): Remember the address in the stack frame of all
204         saved registers.
205         Use the saved register pointer array as the source of the CFA.
206         (throw_helper): Rewrite.  Unwind once rather than twice and keep
207         track of saved registers as we go.
208
209 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
210
211         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
212         * c4x.c (c4x_legitimize_reload_address): Remove.
213         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
214         reload address for ldp(k) insn.
215
216 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
217
218         * pa.md (return_internal): Add a USE of the PIC register to ensure
219         it is restored after each call.
220         (return expander): Corresponding changes.
221
222 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
223
224         * rs6000.h (INIT_EXPANDERS): Delete.
225         (RETURN_ADDR_RTX): Call rs6000_return_addr().
226         * rs6000.c (rs6000_override_options): Call *_machine_status from
227         here...
228         (rs6000_init_expanders): ...instead of here. Delete.
229         (rs6000_mark_machine_status): New function.
230         (rs6000_init_machine_status): Use xcalloc.
231         (rs6000_return_addr): Generate RTX for the return address.
232         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
233         (rs6000_stack_info): Use it.
234
235 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
236
237         * gthr-win32.h: Include errno.h to get a declaration for
238         EINVAL and _mingw.h if the target is mingw32.
239
240 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
241
242         * cpp.texi: Correct typos.
243
244 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
245
246         * explow.c (probe_stack_range): Ensure value passed to
247         stack_check_libfunc is ptr_mode, not Pmode.
248
249 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
250
251         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
252         case, don't use operand_subword to calculate a SUBREG that is
253         wider than a word.
254
255         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
256
257 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
258
259         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
260         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
261         valid.  If not replace it by equivalent insns.
262
263 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
264
265         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
266         contains SYMBOL_REF, LABEL_REF and CONST_INT.
267         (c4x_U_constraint, symbolic_address_operand): Likewise.
268         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
269         memory.
270         (c4x_r11_set_p, c4x_check_laj_p): New functions.
271         * c4x-protos.h (c4x_check_laj_p): Add prototype.
272         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
273         anulling slot because of silicon bug.
274         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
275
276 2001-01-22  Alan Modra <alan@linuxcare.com.au>
277
278         * cppexp.c (parse_charconst):  Change `mask' type to agree
279         with parse_escape.
280
281 2001-01-21  Richard Henderson  <rth@redhat.com>
282
283         * config/i386/i386.c (ix86_asm_file_end): Disable putting
284         pic_label_name in a linkonce section.
285
286 2001-01-17  Philipp Thomas  <pthomas@suse.de>
287
288         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
289         found in libintl.
290         * configure: Regenerate.
291
292 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
293
294         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
295         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
296
297 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
298
299         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
300         If REVERSE nonzero then condition code in X must be reversed.
301         (encode_section_info): Optimise if/else.
302         (avr_function_value): Fix formatting.
303
304         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
305         (difficult_branch): Likewise.
306         (rvbranch): Likewise.
307         (difficult_rvbranch): Likewise.
308
309         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
310
311         * config/avr/libgcc.S: Fix comment.
312
313 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
314
315         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
316
317 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
318
319         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
320
321 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
322
323         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
324         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
325         * configure, config.in: Regenerate.
326         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
327         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
328         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
329         (doprint.o): New rule.
330
331 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
332
333         * c-typeck.c (digest_init): Handle boolean types as scalars.
334
335 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
336
337         * stmt.c (expand_return): Don't return anything if size is zero.
338         Delete redundant assignment to BYTES.
339         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
340
341 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
342
343         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
344         the same as the default library function names.
345         * config/avr/avr.md: Document special characters after '%'.
346         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
347         knowing which of the call-used registers are really clobbered.
348         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
349         New.  Both quotient and remainder from one libgcc.S call.
350         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
351         clobber as few registers as possible.
352         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
353
354 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
355
356         * cppmacro.c (funlike_invocation_p): Don't move back up to the
357         context of the top of the stack.
358
359 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
360
361         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
362         (fixup_var_refs_insns): ...here.
363
364 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
365
366         * function.c (fixup_var_refs_insns): Break up into
367         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
368         [loop over entire insn list], and fixup_var_refs_insns_with_hash
369         [loop over hash table entries].
370         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
371         fixup_var_refs_insns_with_hash, to match above changes.
372
373 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
374
375         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
376         (libgcc.a): Likewise.
377         (stmp-multilib): Likewise.
378         (STAGE2_FLAGS_TO_PASS): Likewise.
379
380 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
381
382         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
383         temporary if no_new_pseudos.
384
385 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
386
387         * cppinternals.texi: Update.
388
389 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
390
391         * arm.c (arm_init_builtins): Re-enable builtins.
392
393 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
394
395         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
396         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
397         element to be null, and always expect an EXPR_LIST.
398         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
399         * sched-deps.c (sched_analyze_1): Likewise.
400         * sched-rgn.c (check_live_1, update_live_1): Likewise.
401
402         * regclass.c (max_set_parallel): New variable.
403         (reg_scan): Take it into account in computation of max_parallel.
404         (reg_scan_mark_refs, case SET): Compute it.
405
406         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
407         args are REG.
408         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
409         * function.c (assign_parms): Use INTVAL for a CONST_INT.
410
411 2001-01-19  Jason Merrill  <jason@redhat.com>
412
413         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
414         for the abstract instance of an inline function.
415
416 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
417                           J"orn Rennecke <amylaar@redhat.com>
418
419         * reload1.c (move2add_note_store): Treat all registers directly or
420         indirectly derived from a base register as members of the same set
421         of values.
422         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
423         of base register into account.
424
425 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
426
427         * alias.c (find_base_value): Recognize TRUNCATE.
428         (record_set): In PLUS case, invalidate if other summand is also a
429         base value.
430
431 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
432
433         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
434         entry to be EXPR_LIST.
435         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
436         be an EXPR_LIST (but not null, which other code doesn't allow).
437         (note_stores): Properly handle PARALLEL in SET.
438         Recursively call for top-level PARALLEL.
439         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
440         * sched-rgn.c (check_live_1, update_live_1): Likewise.
441
442         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
443
444 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
445
446         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
447         not pfile->skipping (== 0).
448
449 2001-01-17  Nick Clifton  <nickc@redhat.com>
450
451         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
452         machine_status.
453
454 2001-01-17  Jim Wilson  <wilson@redhat.com>
455
456         * invoke.texi (IA-64 options): Improve.
457
458 2001-01-17  Tom Tromey  <tromey@redhat.com>
459
460         * invoke.texi (Optimize Options): Use `{}' to around @samp
461         argument.
462
463 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
464
465         * invoke.texi (-fno-guess-branch-probability): New option.
466
467 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
468
469         * combine.c (try_combine): Don't set i3_subst_into_i2 for
470         case of making new double-word constant.
471         Revert last change: instead just test i3_subst_into_i2.
472
473 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
474
475         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
476         Use q constraints instead of r.
477
478 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
479
480         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
481         (machine_function): Define.
482         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
483         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
484         pa_free_machine_status): New functions.
485         (override_options): Set {init,mark,free}_machine_status to above.
486         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
487         PIC_OFFSET_TABLE_REGNUM_SAVED.
488         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
489         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
490         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
491         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
492         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
493
494 2001-01-15  DJ Delorie  <dj@redhat.com>
495
496         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
497         (cpp.1): Ditto.
498         (gcc.1): Ditto.
499
500 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
501
502         * flow.c (propagate_on_insn): Make trying to delete a prologue
503         or epilogue insn an ICE, not a warning.  Allow doing this if
504         the current function returns with stack pointer depressed.
505
506         * combine.c (try_combine): If i3_subst_into_i2, properly check for
507         I3 having more than one SET.
508
509 2001-01-16  Jim Wilson  <wilson@redhat.com>
510
511         * invoke.texi: Document IA-64 options.
512
513         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
514         (fixup_errata): Delete TARGET_A_STEP use.
515         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
516         (TARGET_SWITCHES): Delete -ma-step option.
517         * config/ia64/ia64.md (all FP patterns): Delete %B0.
518         (movqicc_astep, movqi_internal_astep, movhicc_astep,
519         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
520         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
521         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
522         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
523         Delete.
524         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
525         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
526         cmovsi_internal): Delete ! TARGET_A_STEP check.
527
528 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
529
530         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
531         possibility to report bugs via postal mail. Change a URL and
532         merge in a nearly duplicate statement...
533         (Bug Reporting): ...from here.
534         (Service): Refer to the Bug Reporting section instead of
535         duplicating an URL.
536         (Contributing): Remove trivial explanations concerning snapshots.
537
538 2001-01-16  Alan Modra <alan@linuxcare.com.au>
539
540         * cppmain.c (general_init): Don't use ANSI prototype.
541
542 2001-01-16  Tom Tromey  <tromey@redhat.com>
543
544         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
545
546 2001-01-16  Richard Henderson  <rth@redhat.com>
547
548         * config/i386/i386.h: Fix comment typo.
549         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
550         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
551
552 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
553
554         * gcc.c:  Revert previous -fsyntax-only-related change; move
555           to cp/g++spec.c.
556
557 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
558
559         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
560         inmode after checking GET_CODE (op).
561
562 2001-01-16  Richard Henderson  <rth@redhat.com>
563
564         * flow.c (struct propagate_block_info): Add mem_set_list_len.
565         (MAX_MEM_SET_LIST_LEN): New.
566         (propagate_one_insn): Update mem_set_list_len.
567         (invalidate_mems_from_autoinc): Likewise.
568         (invalidate_mems_from_set): Likewise.
569         (mark_used_regs): Likewise.
570         (init_propagate_block_info): Likewise.  Stop collecting memories
571         when we reach MAX_MEM_SET_LIST_LEN.
572         (mark_set_1): Likewise.
573
574 2001-01-16  Richard Henderson  <rth@redhat.com>
575
576         * unroll.c (precondition_loop_p): Fail if no iteration
577         variable found.
578
579 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
580
581         * gcc.c:  When -fsyntax-only is given, do not complain about
582           unused libraries.
583
584 2001-01-15  Richard Henderson  <rth@redhat.com>
585
586         * config/i386/i386.c (asm_output_function_prefix): Remove.
587         (ix86_asm_file_end): New.
588         (load_pic_register): Generate pic_label_name into a
589         staticly allocated buffer.
590         * config/i386/i386-protos.h: Update.
591         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
592         (ASM_FILE_END): New.
593         * config/i386/i386afe.h: New file.
594         * config.gcc (i?86-*-elf) [tm_file]: Use it.
595         (i?86-*-{freebsd,linux*,moss*}): Likewise.
596         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
597         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
598         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
599         * config/i386/sco5.h (ASM_FILE_END): Likewise.
600         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
601
602 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
603
604         * Makefile.in (install-man): Remove explicit dependency on
605         $(srcdir)/gcc.1.
606
607         * configure.in, configure: Revert previous patch requiring perl
608         5.6.0.
609
610 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
611
612         * toplev.c (flag_guess_branch_prob): New.
613         (f_options): Add guess-branch-probability option.
614         (rest_of_decl_compilation): Only estimate branch probability if
615         flag set.
616         (main): set flag_guess_branch_prob.
617
618         * flags.h (flag_guess_branch_prob): New.
619
620 2001-01-15  DJ Delorie  <dj@redhat.com>
621
622         * gcc.texi (Makefile): Add documentation for Makefile targets.
623
624 2001-01-15  Philip Blundell  <philb@gnu.org>
625
626         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
627         (is_pic): Delete.
628         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
629         (is_pic): Delete declaration.
630         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
631         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
632         * config/arm/arm.md (builtin_setjmp_receiver): New.
633
634 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
635
636         * arm.c (use_return_insn): Don't try to determine the function type
637         until after reload has completed.
638         (arm_output_epilogue): Don't adjust the sp value recovered from the
639         stack.
640         (emit_multi_reg_push): Don't record dwarf information for the pc.
641         * arm.md (eh_epilogue): The function type may have changed, so it
642         needs to be recalculated.
643         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
644         unwind tables on arm/netbsd.
645
646 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
647
648         * arm.md (cbranchsi4): Correct calculation of branch ranges.
649         (negated_cbranchsi4): Likewise.
650
651 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
652
653         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
654         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
655         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
656         pass -mapcs-* options to assembler.
657         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
658         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
659         (ASM_SPEC): Call subtarget_extra_asm_spec.
660
661 2001-01-15  Andreas Jaeger  <aj@suse.de>
662
663         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
664         warnings.
665         (ix86_expand_builtin): Likewise.
666
667         * gencodes.c (output_predicate_decls): Make i size_t to avoid
668         warning about comparison between signed and unsigned.
669
670 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
671
672         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
673
674 2001-01-14  Ralf Baechle <ralf@gnu.org>
675
676         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
677         SUBTARGET_CPP_SPEC apropriatly.
678
679 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
680
681         * varasm.c (make_decl_rtl): Fix typo in last change.
682
683 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
684
685         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
686         linker supports the init_priority C++ attribute.
687         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
688         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
689         linker does not support init_priority C++ attribute.
690
691 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
692
693         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
694
695 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
696
697         * c-parse.in (finish_parse): Add comment about cpp_destroy.
698         * cp/lex.c (finish_parse): Similarly.
699         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
700         Return the number of errors encountered.
701         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
702         * cppmain.c (main): Don't call cpp_destroy.
703
704 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
705
706         * configure.in: Require at least perl 5.6.0 to regenerate
707         manpages.
708         * configure: Regenerate.
709
710 2001-01-14  Richard Henderson  <rth@redhat.com>
711
712         * genrecog.c (DT_veclen_ge): New.
713         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
714         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
715         (nodes_identical_1): Handle DT_veclen_ge.
716         (write_cond, debug_decision_2): Likewise.
717
718 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
719
720         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
721         with ...
722         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
723
724 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
725
726         * cppmain.c (do_preprocessing): New function; most of the old
727         main.
728         (main): Call it to do most of the work.
729         (cb): Move from global scope to set_callbacks ().
730         (setup_callbacks): Get the callback pointer.
731         (general_init, printer_init): Clean up code and comments.
732
733 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
734
735         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
736         compiling PIC.
737
738 2001-01-14  Kazu Hirata  <kazu@hxi.com>
739
740         * config/h8300/h8300.c (get_shift_alg): Update comments.
741
742 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
743
744         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
745         (alloc_page, ggc_alloc): Add casts to remove warnings.
746
747 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
748
749         * combine.c (simplify_comparison): Don't change `code' when
750         can't reverse comparison.
751
752 2001-01-14  Richard Henderson  <rth@redhat.com>
753
754         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
755         update all call sites.  Return true for all non-label constants.
756
757 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
758
759         * i386.c (ix86_expand_compare): Add bypass_test and second_test
760         parameters.
761         (ix86_expand_branch): Update.
762         (ix86_expand_setcc): Update to handle multiple test conditions.
763         (expand_int_movcc): Likewise.
764         (expand_fp_movcc): Likewise.
765         * i386-protos.h (ix86_expand_compare): New.
766         * i386.md (andqi_?_slp, orqi_?_slp): New.
767         (conditional trap expander): Update call to ix86_expand_compare.
768
769 2001-01-14  Richard Henderson  <rth@redhat.com>
770
771         * config/vax/vax.md: Use nonimmediate_operand instead of
772         general_operand in destinations.
773
774         * config/vax/vax.md (indirect_jump): Use register_operand.
775
776         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
777         * config/vax/vax.md (call_pop): Turn into an expander.
778         (call_value_pop): Likewise.
779         (call, call_value): New.
780
781 2001-01-14  Andreas Jaeger  <aj@suse.de>
782
783         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
784         variables.
785         (ix86_fp_compare_mode): Add unused attribute.
786         (ix86_expand_fp_movcc): Remove unused variable.
787         (ix86_expand_builtin): Make fcode unsigned.
788
789         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
790         (expand_expr): Add cast to avoid signed warning.
791         (store_field): Likewise.
792         (store_constructor_field): Likewise.
793         (store_constructor): Likewise.
794         (store_expr): Likewise.
795         (clear_storage): Likewise.
796         (emit_group_store): Likewise.
797         (emit_group_load): Likewise.
798
799 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
800
801         * c-common.c: Move format checking code to ...
802         * c-format.c: ... here.  New file.  Reorder some functions and
803         declarations.
804         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
805         New functions.
806         * c-common.h (decl_handle_format_attribute,
807         decl_handle_format_arg_attribute): Declare.
808         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
809         (c-common.o): Adjust dependencies.
810         (c-format.o): New list of dependencies.
811
812 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
813
814         * unroll.c (loop_iterations): If we cannot prove iteration variable
815         is set once in each iteration, punt.
816
817 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
818
819         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
820         (*strlenhi): Remove clobber (which was buggy) of output address.
821
822 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
823
824         * Makefile.in (generated-manpages): Add gcc.1
825         ($(srcdir)/gcc.1): New target.
826         (maintainer-clean): Delete $(srcdir)/gcc.1.
827         * gcc.texi: Add macros @gccoptlist and @gol.
828         * invoke.texi: Include option summary in manpage.  Mark up option
829         summary with @gccoptlist and @gol.  Use @r in one place where
830         appropriate.
831         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
832         * gcc.1: Generate from invoke.texi.
833
834 2001-01-13  Richard Henderson  <rth@redhat.com>
835
836         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
837         (struct page_entry): Add group member.
838         (struct page_group): New.
839         (struct globals): Add page_groups member.
840         (alloc_anon): Only define for using mmap; remove valloc call.
841         (page_group_index): New.
842         (set_page_group_in_use): New.
843         (clear_page_group_in_use): New.
844         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
845         (free_page, release_pages): Likewise.
846         * configure.in (with-gc): Default to ggc-page always.
847
848 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
849
850         * reload1.c (replace_pseudos_in_call_usage): Use
851         reg_equiv_constant and reg_equiv_address, and don't try
852         regno_reg_rtx first.
853
854 2001-01-13  Richard Henderson  <rth@redhat.com>
855
856         * ggc-page.c (alloc_page): Round up allocation size to one page.
857         Set e->order on extra pages.
858
859 2001-01-13  Richard Henderson  <rth@redhat.com>
860
861         * genrecog.c (nodes_identical): Expand commentary.
862         (write_switch): Watch out for identical nodes.
863
864 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
865
866         * cppfiles.c (_cpp_fake_include): New function.
867         * cpphash.h (_cpp_fake_include): New.
868         * cpplib.c (do_line): Call _cpp_fake_include when entering
869         header files in preprocessed input.
870         * cppmain.c (cb_pragma_implementation): Remove handling.
871         (setup_callbacks): Don't register pragmas.
872
873 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
874
875         * extend.texi: Udate for CPP.
876
877 2001-01-13  Andreas Jaeger  <aj@suse.de>
878
879         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
880
881         * regmove.c: Add prototype for replace_in_call_usage.
882
883 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
884
885         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
886         struct cpp_chunk, struct htab, struct toklist,
887         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
888         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
889         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
890         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
891         (struct macro_args): Delete.
892         * cpphash.h: See above.
893
894 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
895
896         * cppmain.c (struct printer): Remove no_line_dirs.
897         (options, cb): New.
898         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
899         : Use options rather than CPP_OPTION.
900         (setup_callbacks): Use cb rather than pfile->cb.
901         (main): No need to check for a buffer.  Use cpp_errors.
902         (printer_init): Don't set no_line_dirs.
903         (maybe_print_line): Use options not no_line_dirs.
904         (cb_file_change): Don't call print_line if -P.
905
906 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
907
908         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
909         callbacks.
910         * c-parse.in (finish_parse): Use cpp_errors.
911         (__yylex): Use return value of cpp_pop_buffer.
912         * cp/lex.c (finish_parse): Use cpp_errors.
913         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
914
915 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
916
917         * README.AVR: URLs corrected.
918
919 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
920
921         * c-decl.c (start_function): Don't warn if old prototype is builtin
922         that's not in C's namespace.
923         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
924         (_bb): Add prototype for ctime.
925         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
926
927 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
928
929         * i386.c (ix86_fp_comparison_arithmetics_cost,
930         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
931         ix86_fp_comparison_cost): New functions.
932         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
933         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
934         two-branch sequences; make static.
935         (ix86_use_fcomi_compare): Do decision according to the costs.
936         (split_fp_branch): New.
937         * i386.md (compare-and-branch patterns): Use split_fp_branch.
938         * i386-protos.h (ix86_expand_fp_compare): Remove
939         (ix86_split_fp_branch): Declare.
940
941         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
942         and ix86_comparison_operator.
943
944         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
945         to make it cheaper.
946
947         * i386.c (put_condition_code): Output properly the unordered/ordered
948         compares in fp case.
949         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
950
951         * tm.texi (REVERSE_CONDITION): Document.
952         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
953         in -ffast-math mode.
954         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
955
956 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
957
958         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
959
960         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
961         optimized away.
962
963         * config/sh/sh.c (mova_p): Fix test for mova_const.
964
965 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
966
967         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
968         cpp_get_options rather than dereferencing pfile and using
969         CPP_OPTION.
970         * scan-decls.c (scan_decls): Use return value of
971         cpp_pop_buffer rather than CPP_BUFFER.
972
973 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
974
975         * cppinit.c (cpp_handle_option): help_only is now part of the
976         cpp_options structure.
977         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
978         cpp_set_callbacks): New functions.
979         * cpplib.h (cpp_callbacks): Break out as a named structure.
980         (cpp_options): Move help_only here from cpp_reader.
981         (CPP_FATAL_ERRORS): Update to use cpp_errors.
982         (cpp_errors, cpp_get_options, cpp_get_callbacks,
983         cpp_set_callbacks): New prototypes.
984         * cppmain.c (main): Update for help_only.
985
986 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
987
988         * Makefile.in (info, maintainer-clean, install-info, uninstall):
989         Also build and remove and install and uninstall c-tree.info and
990         cppinternals.info.
991         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
992         ($(srcdir)/cppinternals.info): New target.
993         * c-tree.texi: Change file name used when makeinfo used without -o
994         from ir.info to c-tree.info.  Add info directory entry.
995         * cppinternals.texi: Add info directory entry.
996         * .cvsignore: Update.
997
998 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
999
1000         * c-typeck.c (store_init_value): Don't require constant initializer
1001         elements with -pedantic -std=c99.
1002         (digest_init): Change error about non-constant initializer elements
1003         into pedwarn.
1004         (constructor_range_end): Remove.
1005         (constructor_incremental, designator_depth,
1006         designator_errorneous): New variables.
1007         (struct constructor_stack): Remove range_end, add incremental.
1008         (struct constructor_range_stack, constructor_range_stack): New.
1009         (struct initializer_stack): Add constructor_range_stack.
1010         (finish_init): Set it.
1011         (start_init): Likewise.  require_constant_elements for non-static
1012         trees only if not flag_isoc99.
1013         (really_start_incremental_init): Remove constructor_range_end, add
1014         constructor_incremental.
1015         (pop_init_level): Likewise.
1016         (push_init_level): Likewise.  If implicit and the subobject had some
1017         value set already, preinitialize the level with it.
1018         Warn about missing braces only if not pushing due to designators.
1019         (set_designator, push_range_stack): New functions.
1020         (set_init_label): Use them.
1021         (set_init_index): Likewise.  Remove constructor_range_end.
1022         Error if designator index is outside of array bounds.
1023         (add_pending_init): Compare values of purpose index trees, not the
1024         trees themselves.  Allow overwriting of already initialized element.
1025         Issue a warning if it had side-effects.
1026         (set_nonincremental_init, set_nonincremental_init_from_string): New
1027         functions.
1028         (pending_init_member): Rename to...
1029         (find_init_member): ...this function.  Call set_nonincremental_init
1030         if necessary.  Compare values of purpose index trees, not the trees
1031         themselves.  Return the actual value, not just non-zero if something
1032         is found.
1033         (output_init_element): Remove checks for duplicates.
1034         If field has zero size, only check the initializer for correctness.
1035         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
1036         if constructor_incremental is zero.  Change error about initializers
1037         not computable at load time into pedwarn.
1038         (output_pending_init_elements): Compare bit positions, not
1039         FIELD_DECLs to take into account zero-sized fields.
1040         (process_init_element): Use constructor_range_stack to fill all
1041         ranges in the designator lists from current level up.
1042         * extend.texi: Update documentation for labeled elements.
1043
1044 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
1045
1046         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
1047         to function usage for arguments passed by reference.  Optimize
1048         callee-copied arguments.
1049         * regmove.c (replace_in_call_usage): New function.
1050         (fixup_match_1): Call it.
1051         * cse.c (cse_insn): Canonicalize registers in function usage.
1052         * reload1.c (replace_pseudos_in_call_usage): New function.
1053         (reload): Call it.
1054
1055         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
1056         right version.
1057
1058 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
1059
1060         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
1061         not XEXP (tmp, 0).
1062
1063 2001-01-12  DJ Delorie  <dj@redhat.com>
1064
1065         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
1066         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
1067         targets.
1068
1069 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1070
1071         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
1072         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
1073         -std options alongside references to -ansi.  Update some
1074         documentation for C99.
1075         * cpp.1: Regenerate.
1076
1077 2001-01-12  Andreas Jaeger  <aj@suse.de>
1078
1079         * haifa-sched.c (restore_line_notes): Remove argument block B
1080         since it's unused.
1081         * sched-ebb.c (schedule_ebb): Change caller.
1082         * sched-rgn.c (schedule_region): Likewise.
1083         * sched-int.h (restore_line_notes): Adjust prototype.
1084
1085         * loop.h: Remove wrong declaration of doloop_condition_get.
1086
1087 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
1088
1089         * extend.texi:  Move C++-extension-related node from the C section
1090           into the C++ section.
1091
1092 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1093
1094         * extend.texi: Refer to an array of pointers to functions instead
1095         of one of functions.
1096
1097 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
1098                               Jan Hubicka  <jh@suse.cz>
1099
1100         * combine.c (reversed_comparison): Fix typo in last patch.
1101         Check X for NULL.
1102         (combine_reversed_comparison_code): Make static to follow
1103         prototype declaration.
1104
1105 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
1106
1107         * install.texi:  Remove misplaced duplicate entry.
1108
1109 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
1110
1111         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
1112
1113 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
1114
1115         * final.c: (leaf_function_p): Fix typo.
1116
1117 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
1118
1119         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
1120         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
1121         which you have.
1122         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
1123         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
1124         mmap_anon, and valloc is available.
1125         * ggc-page.c: Restructure ifdef logic to match new autoconf
1126         spec.  Don't throw away the test page in init_ggc.
1127
1128         * configure, config.in: Regenerate.
1129
1130 2001-01-12  Michael Hayes  <mhayes@redhat.com>
1131
1132         * loop.h (total_biv_increment): Constify iv_class pointer.
1133         (struct induction): Replace `mem_mode' with `mem' rtx.
1134         * unroll.c (total_biv_increment): Constify iv_class pointer.
1135         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
1136         (find_mem_givs, combine_givs_p): Likewise.
1137         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
1138
1139 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
1140
1141         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
1142         LastError.
1143         (__gthread_getspecific): Ditto.
1144
1145 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
1146
1147         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
1148         put_condition_code): Convert fp comparison codes to integer
1149         before handling.
1150         (ix86_expand_fp_compare): Postnote the fp comparison code converison
1151         to final.
1152
1153         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
1154         * i386-protos.h (no_comparison_operator): Kill.
1155
1156         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
1157
1158         * combine.c (REVERSIBLE_CC_MODE): Remove.
1159         (reversible_comparison_p): Remove.
1160         (combine_reversed_comparison_code): New.
1161         (reversed_comparison): New.
1162         (combine_simplify_rtx): Use
1163         combine_reversed_comparison_code/reversed_comparison instead
1164         of reversible_comparison_p.
1165         (simplify_if_then_else): Likewise.
1166         (simplify_set): Likewise.
1167         (simplify_logical): Likewise.
1168         (if_then_else_cond): Likewise.
1169         (known_cond): Likewise.
1170         (simplify_comparison): Likewise.
1171
1172 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
1173
1174         * builtins.c (std_expand_builtin_va_start): Handle varargs when
1175         sizeof (int) is larger than sizeof(__word__).
1176
1177 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1178
1179         * cppinit.c (do_includes): Fix typo.
1180
1181 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1182
1183         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
1184         in S_REGS does not occur because not all sources are possible
1185         when a S_REGS is a destination (sometimes needs a clobber).
1186         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
1187         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
1188         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
1189         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
1190         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
1191         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
1192         (lshrdi_const1, lshrsi3_const16): Likewise.
1193         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
1194         (*movhi_68hc12, *movqi_68hc12): Likewise.
1195         (movstrictqi): Make sure reloading in D_REGS as a destination
1196         does not happen.
1197
1198 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1199
1200         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
1201
1202 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1203
1204         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
1205         -D, -U and -A, and don't initialize the builtins.
1206         (do_includes): Error if -include or -imacros with -fpreprocessed.
1207         * cppmain.c (cb_define, cb_undef): Unconditionally process
1208         the callback.
1209         * tradcpp.c (main): Fix typo.
1210
1211 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
1212
1213          * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
1214            (read_name_map): Use IS_ABSOLUTE_PATH.
1215          * tradcpp.c (get_filename): Likewise.
1216
1217 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1218
1219         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
1220         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
1221         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
1222         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
1223         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
1224         (cmphi_z_used): Don't use '@' for the output.
1225         (tstqi_z_used): Likewise.
1226         (cmpqi_z_used): Likewise.
1227         (one_cmplsi2): Likewise.
1228
1229 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
1230
1231         * config/sh/sh.c (barrier_align): Recognize branch around far
1232         branch and redundant insn.
1233
1234 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1235
1236         * invoke.texi: Restore documentation of the drivers' switches -MD
1237         and -MMD.
1238
1239 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
1240
1241         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
1242
1243         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
1244         check-objc//%): Support parallel testing of multilibs.
1245         (TESTSUITEDIR): Set to testsuite by default, but override for
1246         parallel testing.
1247         (check-gcc, check-g++, check-g77, check-objc): Enter
1248         $(TESTSUITEDIR).
1249
1250 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
1251
1252         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
1253         * sched-deps.c (deps_may_trap_p): Likewise.
1254         * basic-block.h: Remove a comment.
1255         * flow.c (PROP_POSTRELOAD): Remove.
1256         (update_life_info): Don't add it to prop_flags.
1257         (mark_set_1): Lose the code that was enabled by it.
1258
1259 2001-01-11  Michael Hayes  <mhayes@redhat.com>
1260
1261         * flow.c (flow_call_edges_add): New.
1262         * basic_block.h (flow_call_edges_add): New.
1263
1264 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
1265
1266         * reload1.c (move2add_note_store): Update reg_set_luid even if
1267         base reg remains the same.
1268
1269 2001-01-10  Nick Clifton  <nickc@redhat.com>
1270
1271         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
1272         machine_function structure to zero.
1273         Add prototypes for machine_status functions.
1274
1275 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
1276
1277         * c-common.h (CTI_VOID_LIST): Remove.
1278         (void_list_node): Likewise.
1279         * tree.h (TI_VOID_LIST_NODE): New enumeral.
1280         (void_list_node): New macro.
1281         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
1282         * config/i386/i386.c (ix86_init_builtins): Likewise.
1283         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
1284
1285 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1286
1287         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
1288         * cppinit.c (cpp_start_read): Update comment, remove unneeded
1289         if statement.
1290         * tradcpp.c: Include mkdeps.h.
1291         (deps, print_deps_phony_targets, deps_append, output_deps,
1292         init_dependency_output, output_deps): New.
1293         (deps_buffer, deps_allocated_size, deps_size, deps_column,
1294         deps_output): Delete.
1295         (print_deps_missing_files): Rename deps_missing_files.
1296         (inhibit_output): Make global.
1297         (main): Delete inhibit_output, deps_stream, deps_target.
1298         Use mkdeps functionality in the same way as cpplib.  Remove
1299         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
1300         -M and -MM.  Remove old handling of deps via deps_out, and
1301         old reading of environment variables.
1302         (get_filename): Update to use deps_add_dep.
1303
1304 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
1305
1306         * output.h (make_function_rtl): Remove prototype.
1307         (make_decl_rtl): Likewise.
1308         * varasm.c (make_function_rtl): Remove.
1309         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
1310         than from a third parameter.
1311         * tree.h (make_decl_rtl): Remove last parameter.
1312         * c-decl.c (builtin_function): Remove last argument in call to
1313         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
1314         (start_function): Likewise.
1315         * except.c (call_get_eh_context): Likewise.
1316         * expr.c (emit_block_move): Likewise.
1317         (clear_storage): Likewise.
1318         * profile.c (output_func_start_profiler): Likewise.
1319         * toplev.c (rest_of_decl_compilation): Likewise.
1320         * objc/objc-act.c (create_builtin_decl): Likewise.
1321         (synth_module_prologue): Likewise.
1322         (generate_static_reference): Likewise.
1323         (build_selector_reference_decl): Likewise.
1324         (build_class_reference_decl): Likewise.
1325         (build_objc_string_decl): Likewise.
1326         (build_protocol_reference): Likewise.
1327
1328 2001-01-10  Richard Henderson  <rth@redhat.com>
1329
1330         * hwint.h: Revert yesterday's change.
1331
1332 2001-01-10  Nick Clifton  <nickc@redhat.com>
1333
1334         * function.h (save_machine_status): Delete.
1335         (restore_machine_status): Delete.
1336         Amend comment describing {init|mark|free}_machine_status.
1337
1338         * function.c (save_machine_status): Delete.
1339         (restore_machine_status): Delete.
1340         Amend comment describing {init|mark|free}_machine_status.
1341         (push_function_context_to): Remove invocation of
1342         save_machine_status.
1343         (pop_function_context_from): Remove invocation of
1344         restore_machine_status.
1345
1346         * emit-rtl.c (init_emit_once): Amend comment describing
1347         {init|mark|free}_machine_status.
1348
1349         * tm.texi (Per-Function Data): New node.  Describe the
1350         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
1351         function pointers.
1352
1353 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1354
1355         * cppinit.c (OPT_g): Remove.
1356         (cpp_handle_option): Update for removed -g3.
1357         (print_help): Update.
1358         * cpplib.h (struct cpp_options): Remove debug_output.
1359         * cppmain.c (setup_callbacks, cb_define): Update.
1360         * gcc.c (cpp_options): Translate -g3 to -dD.
1361
1362 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
1363
1364         * config/i960/i960.md: Change modifier to + on the zero_extract
1365         pattern after the (rotate -2 reg) canonicalization pattern.
1366
1367 2001-01-10  Richard Henderson  <rth@redhat.com>
1368
1369         * config/alpha/alpha.c (alpha_free_machine_status): New.
1370         (override_options): Install it.
1371         (alpha_mark_machine_status): Verify machine non-null.
1372         * config/i386/i386.c (ix86_free_machine_status): New.
1373         (override_options): Install it.
1374         (ix86_init_machine_status): Use xcalloc.
1375         (ix86_mark_machine_status): Verify machine non-null.
1376         * config/ia64/ia64.c (ia64_free_machine_status): New.
1377         (ia64_override_options): Install it.
1378         (ia64_mark_machine_status): Verify machine non-null.
1379
1380 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
1381
1382         * function.c (instantiate_virtual_regs): Instantiate virtual
1383         registers found in CALL_INSN_FUNCTION_USAGE.
1384
1385 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1386
1387         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
1388         equivalent to -ansi in disabling -Di386.
1389
1390 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
1391
1392         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
1393         new functions.
1394         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
1395
1396 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
1397
1398         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
1399
1400 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1401
1402         * invoke.texi: Document that -fcond-mismatch isn't supported for
1403         C++.
1404
1405 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1406
1407         * gcc.texi: Define macro gcctabopt.
1408         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
1409         @command, @env and @option in some places where appropriate.  Use
1410         @gcctabopt where appropriate.  Put URLs and email addresses inside
1411         @w.
1412
1413 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
1414
1415         * gcc.c (cpp_options): Set MD file name from output
1416         filename, if specified.
1417         (suffix_subst): New static variable.
1418         (do_spec): Clear it.
1419         (do_spec_1, case '.'): Handle new `%.suffix' spec.
1420         Clear it.
1421         (give_switch): Handle suffix_subst.
1422
1423 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
1424
1425         * invoke.texi:  Fix another typo.
1426
1427 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
1428
1429         * invoke.texi:  Fix typo.
1430
1431 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1432
1433         * c-lang.c (lang_hooks): Update.
1434         (lang_decode_option): Remove.
1435         (lang_init_options): Rename c_init_options.
1436         * toplev.c (main): Use lang_hooks for lang_init_options
1437         and lang_decode_option.
1438         * toplev.h (lang_hooks): Add 2 new hooks.
1439         * tree.h: Remove lang_init_options and lang_decode_option.
1440         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
1441         * cp/decl2.c: Similarly.
1442         * cp/lex.c (lang_init_options): Rename cxx_init_options.
1443         (lang_hooks): Update.
1444         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
1445         for consistency.
1446         (lang_init_options): Rename ffe_init_options.
1447         (lang_hooks): Update.
1448         (lang_decode_option): Remove.
1449         * java/lang.c (lang_init_options): Rename java_init_options.
1450         (lang_decode_option): Rename java_decode_option.
1451         (lang_hooks): Update.
1452         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
1453         (lang_decode_option): Rename objc_decode_option.
1454         (lang_hooks): Update.
1455
1456 2001-01-09  Nick Clifton  <nickc@redhat.com>
1457
1458         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
1459         (d30v_return_addr_rtx): Delete.
1460         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
1461         cfun->machine structure.
1462         (struct machine_function): Move to d30v.h
1463         (d30v_save_machine_status): Delete.
1464         (d30v_restore_machine_status): Delete.
1465         (d30v_init_machine_status): New Function.
1466         (d30v_mark_machine_status): New Function.
1467         (d30v_free_machine_status): New Function.
1468         (d30v_init_expanders): Use new functions.
1469         (d30v_return_addr): Use ra_rtx field in cfun->machine.
1470         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
1471         d30v_return_addr_rtx.
1472
1473         * config/d30v/d30v.h (struct_machine): Move here.
1474         Add eh_epilogue_sp_ofs field.
1475
1476         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
1477         field in cfun->machine structure.
1478
1479 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1480
1481         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
1482         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
1483         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
1484
1485 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
1486
1487         * objc/lang-options.h: Remove bogus reference to
1488         Java trademark.
1489
1490 2001-01-09  Kazu Hirata  <kazu@hxi.com>
1491
1492         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
1493         return the result.
1494
1495 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
1496
1497         * reload.c (find_reloads_address): Check for eliminable registers
1498                   when substituting a constant expression for a pseudo.
1499
1500 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1501
1502         * c-common.c (enum format_type): Add format_type_error.
1503         (decode_format_type): New function.
1504         (decl_attributes): Use it.
1505         (format_kind_info): Adjust comment.
1506
1507 2001-01-09  David O'Brien  <obrien@BSDi.com>
1508
1509         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
1510         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
1511         files in tm_file.
1512         * config/i386/gnu.h: Don't include required platform specific .h files,
1513         tm.h will do it instead.
1514         * config/i386/i386elf.h: Likewise.
1515         * config/i386/linux.h: Likewise.
1516         * config/i386/moss.h: Likewise.
1517         * config/mips/gnu.h: Likewise.
1518
1519 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1520
1521         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
1522         (rs6000-ibm-aix3.[01]*): Likewise.
1523         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
1524         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
1525         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
1526         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
1527         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
1528         (powerpc-*-eabiaix*): Likewise.
1529         (powerpc-*-eabisim*): Likewise.
1530         (powerpc-*-elf*): Likewise.
1531         (powerpc-*-eabi*): Likewise.
1532         (powerpc-*-rtems*): Likewise.
1533         (powerpc-*-linux*libc1): Likewise.
1534         (powerpc-*-linux*): Likewise.
1535         (powerpc-wrs-vxworks*): Likewise.
1536         (powerpcle-wrs-vxworks*): Likewise.
1537         (powerpcle-*-sysv*): Likewise.
1538         (powerpcle-*-elf*): Likewise.
1539         (powerpcle-*-eabisim*): Likewise.
1540         (powerpcle-*-eabi*): Likewise.
1541         (powerpcle-*-solaris2*): Likewise.
1542         * config/rs6000/aix31.h: Delete includes.
1543         * config/rs6000/aix3newas.h: Likewise.
1544         * config/rs6000/aix41.h: Likewise.
1545         * config/rs6000/aix43.h: Likewise.
1546         * config/rs6000/beos.h: Likewise.
1547         * config/rs6000/rtems.h: Likewise.
1548         * config/rs6000/sysv4.h: Likewise.
1549
1550 2001-01-09  Kazu Hirata  <kazu@hxi.com>
1551
1552         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
1553         Change an argument mode of machine_mode to shift_mode of
1554         shift_mode.  Remove an extra error check.
1555         (emit_a_shift): Adopt to the new calling prototype of
1556         get_shift_alg.
1557         (function_prologue): Fix code for a monitor
1558         function.  Support H8/S.
1559         (function_epilogue): Do not output pop for a monitor function.
1560
1561 2001-01-09  Nick Clifton  <nickc@redhat.com>
1562
1563         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
1564         (setup_incoming_varargs): Use sysv_varargs_p field of the
1565         cfun->machine structure.
1566         (struct machine_function): Move to rs6000.h
1567         (rs6000_save_machine_status): Delete.
1568         (rs6000_restore_machine_status): Delete.
1569         (rs6000_init_machine_status): New Function.
1570         (rs6000_free_machine_status): New Function.
1571         (rs6000_init_expanders): Use new functions.
1572
1573         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
1574         export.
1575         (struct machine_function): Move here.
1576
1577         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
1578         sysv_varargs_p field of the cfun->machine structure.
1579
1580         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
1581         Remove prototype.
1582         (rs6000_restore_machine_status): Remove prototype.
1583
1584 2001-01-09  Richard Henderson  <rth@redhat.com>
1585
1586         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
1587         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
1588         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
1589         (sched_analyze_2, sched_analyze_insn): Likewise.
1590         (sched_analyze, init_deps): Likewise.
1591         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
1592         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
1593         (compute_block_backward_dependences): Update propagate_deps call.
1594
1595 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
1596
1597         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
1598
1599 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1600
1601         * cppinit.c (OPT_MD, OPT_MMD): Restore.
1602         (cpp_handle_option): Handle them.
1603         (cpp_post_options): Ensure one of -M or -MM is specified with
1604         any other -M? option.
1605         (init_dependency_output): Suppress output with -MG.
1606
1607 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1608
1609         * cpp.texi: Update.
1610         * invoke.texi: Update.
1611
1612 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
1613
1614         * sh.md (reload_outsf): Generate recognizable patterns for
1615         TARGET_SH3E.
1616
1617 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1618
1619         * c-lang.c (lang_hooks): Update.
1620         (lang_init): Rename c_init.
1621         (lang_finish): Remove.
1622         * toplev.c (compile_file): Use lang_hooks for lang_init ()
1623         and lang_finish ().
1624         * toplev.h (lang_hooks): Add init () and finish ().
1625         * tree.h (lang_init, lang_finish): Remove.
1626         * cp/tree.h (lang_init, lang_finish): Remove.
1627         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
1628         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
1629         lang_hooks): New.
1630         (lang_init, lang_finish): Remove.
1631         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
1632         (lang_hooks): Update.
1633         * java/lang.c (lang_init): Rename java_init.
1634         (lang_finish): Remove.
1635         (lang_hooks): Update.
1636         * objc/objc-act.c (lang_init): Rename objc_init.
1637         (lang_finish): Remove.
1638         (lang_hoooks): Update.
1639
1640 20001-01-09  Graham Stott  <grahams@redhat.com>
1641
1642         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
1643         after `ptr` is initialised.
1644
1645 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
1646
1647         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
1648         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
1649         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
1650         stack adjusts, instead of r3.
1651
1652 2001-01-09  Michael Hayes  <mhayes@redhat.com>
1653
1654         * flow.c (flow_loop_scan): Break out of ...
1655         (flow_loops_find) ... here.
1656         * basic-block.h (flow_loop_scan): New.
1657         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
1658         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
1659
1660 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
1661
1662         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
1663         macro_buffer_len.
1664         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
1665         realloc()ing macro_buffer.
1666
1667         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
1668         if it's wider than long and the target's long is wider than the
1669         host's.
1670
1671 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
1672
1673         Remove support for using UWIN as a host machine.
1674         * configure.in: Issue an error message.
1675         * configure: Regenerated.
1676         * config.gcc: Remove xm_* UWIN configury.
1677         * config/i386/xm-uwin.h: Remove.
1678
1679 2001-01-08  Nick Clifton  <nickc@redhat.com>
1680
1681         * config/v850/v850.c (ra_rtx): Delete.
1682         (v850_save_machine_status): Delete.
1683         (v850_restore_machine_status): Delete.
1684         (v850_init_machine_status): New function.
1685         (v850_mark_machine_status): New function.
1686         (v850_free_machine_status): New function.
1687         (v850_return_addr): Use ra_rtx field in machine structure.
1688         (v850_init_expanders): Use new functions.
1689
1690         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
1691         * config/v850/v850.c: Change arguments to v850_output+* functions
1692         to take a const char *, to avoid compile time warning.
1693         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
1694         (USER_LABEL_PREFIX): Redefine.
1695
1696 2000-01-08  Jim Wilson  <wilson@redhat.com>
1697
1698         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
1699         1 to unsigned HOST_WIDE_INT before left shift.
1700
1701 2001-01-08  Nick Clifton  <nickc@redhat.com>
1702
1703         * config/arm/arm.c (arm_mark_machine_status): Check to see if
1704         the machine structure has been allocated.
1705         (arm_free_machine_status): New function: Free the machine
1706         specific function structure.
1707
1708 2001-01-08  Richard Henderson  <rth@redhat.com>
1709
1710         * jump.c (simplejump_p): Revert last change.
1711
1712 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1713
1714         * cppinit.c (init): Rename init_library.
1715         (cpp_create_reader): Update.
1716         * gcc.c (cpp_options): If -o given, use it as the target of
1717         any -M options.
1718
1719 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
1720
1721         * arm.c (arm_arch5e): New variable.
1722         (all_cores): XScale is a 5TE device.
1723         (arm_override_options): Set arm_arch5e.
1724         (arm_init_builtins): __builtin_prefetch is in arch5e.
1725         * arm.h (arm_arch5e): Declare it.
1726
1727         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
1728
1729         * arm.md (define_constants): Add defines for UNSPEC and
1730         UNSPEC_VOLATILE insns.  Update all users.
1731         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
1732         * arm.c (multi_register_push, note_invalid_constants)
1733         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
1734         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
1735         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
1736
1737 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
1738
1739         * jump.c (jump_optimize_1): Use reversed_comparison_code
1740         instead of can_reverse_comparison_p.
1741         (jump_back_p): Likewise.
1742         (invert_exp_1): Likewise.
1743         (thread_jumps): Likewise.
1744         * simplify-rtx.c (simplify_unary_operation): Likewise.
1745         (simplify_ternary_operation): Likewise.
1746         * cse.c (find_comparison_args): Convert to use
1747         can_reverse_comparison_p.
1748         (record_jump_equiv): Likewise.
1749
1750 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
1751
1752         * arm.h (HARD_REGNO_RENAME_OK): Delete.
1753         (EPILOGUE_USES): Define.
1754         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
1755         automatically stack the LR if it isn't live.
1756
1757 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
1758
1759         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
1760         properly.
1761
1762 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
1763
1764         * ggc-page.c (max_alignment): New structure.
1765         (MAX_ALIGNMENT): New macro.
1766         (init_ggc): Use it to round up the sizes in the
1767         extra_order_size_table.
1768
1769 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1770
1771         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
1772         after reload.
1773
1774 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1775
1776         * builtins.def (BUILT_IN_FPRINTF): New entry.
1777
1778         * c-common.c (c_expand_builtin_fprintf): New function.
1779         (init_function_format_info): Handle __builtin_fprintf.
1780         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
1781         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
1782
1783         * c-decl.c (duplicate_decls): Adjust comment.
1784
1785         * extend.texi (fprintf): Document new builtin.
1786
1787 2001-01-07  Richard Henderson  <rth@redhat.com>
1788
1789         * jump.c (simplejump_p): Recognize any single_set jump
1790         of the proper form.
1791
1792 2001-01-07  Richard Henderson  <rth@redhat.com>
1793
1794         * configure.in (slibdir): Accept an --with-slibdir option.
1795         Use "test" not "[" in configure.  Default to $(libdir).
1796
1797         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
1798         fix typo in rm -f.
1799         * config/t-aix43 (SHLIB_INSTALL): Likewise.
1800         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
1801         (SHLIB_LINK): Create links for the soname.
1802         * config/mips/t-iris6: Likewise.
1803         * config/sparc/t-slibgcc: Likewise.
1804         * config/sparc/t-slibgcc-sld: Likewise.
1805
1806 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
1807
1808         * config/i386/i386.c (constant_call_address_operand): Accept
1809         (const (plus (symbol_ref) (const_int))).
1810         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
1811         constant_call_address_operand.
1812
1813 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1814
1815         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
1816         and LONG_LONG_TYPE_SIZE > 32.
1817
1818 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1819
1820         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
1821         the previous change.
1822
1823 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
1824
1825         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
1826         New.
1827         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
1828         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
1829         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
1830         Declare.
1831
1832 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
1833
1834         * fix-header.c (read_scan_file): s/pfile/scan_in/.
1835
1836 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
1837
1838         * c-lang.c (c_post_options): Call cpp_post_options.
1839         * objc/objc-act.c (objc_post_options): Similarly.
1840         * cppmain.c (main): Similarly.
1841         * fix-header.c (read_scan_file): Similarly.
1842         * cppinit.c (cpp_start_read): Move option consistency checks
1843         to cpp_post_options.  Don't call init_dependency_output.
1844         If needed, add default target and main file dependency.
1845         (OPT_MD, OPT_MMD): Remove.
1846         (OPT_MF): New.
1847         (cpp_handle_option): Update for OPT_* changes.
1848         (cpp_post_options): New.
1849         (init_dependency_output): Command line -MF overrides environment
1850         variables.  Don't set default target etc.  Suppress output
1851         if dependencies are going to stdout.
1852         (print_help): Update.
1853         * cpplib.h (cpp_post_options): New.
1854         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
1855
1856 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
1857
1858         * jump.c (comparison_dominates_p): Support unordered compares.
1859
1860 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
1861
1862         * simplify-rtx.c (simplify_relational_operation): Always simplify
1863         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
1864         and UNGE.
1865
1866 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
1867
1868         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
1869         (nonzero_bits): Likewise.
1870         (simplify_comparison): Likewise.
1871         (num_sign_bit_copies): Likewise; return more sane value depending
1872         on STORE_FLAG_VALUE.
1873         (known_cond): Do not assume EQ to be always true for equivalent
1874         operands.
1875
1876 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
1877
1878         * cse.c (fold_rtx): Handle unordered comparisons.
1879
1880 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
1881
1882         * rtlanal.c (set_of_1): New static function.
1883         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
1884          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
1885          reg_set_last_last_regno): Remove.
1886         (set_of): New global function.
1887         (set_of_data): New structure.
1888         (reg_set_p, reg_set_last): Revamp for set_of.
1889         * rtl.h (set_of): New.
1890
1891 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1892
1893         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
1894         * extend.texi: Document _Exit builtin.
1895
1896 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
1897
1898         * (initialize, initialize_builtins,
1899         initialize_dependency_output, initialize_standard_includes):
1900         Rename s/initialize/init. Update.
1901         (init_dependency_output): Move to after
1902         cpp_handle_options, the correct location temporally at least.
1903         (opt_comp): Move next to init (), its caller.  Fix prototype.
1904         (init): Make "initialized" local scope.
1905         (cpp_create_reader): Always call init ().
1906         (cpp_start_read): Update.
1907         (output_deps): New function, broken out of cpp_finish.
1908         (cpp_finish): Break out output_deps.
1909
1910 2001-01-07  Richard Henderson  <rth@redhat.com>
1911
1912         * collect2.c (COFF specific stuff): Revert 12-06 patch
1913         to prototype system functions.
1914
1915 2001-01-07  Michael Hayes  <mhayes@redhat.com>
1916
1917         * hard-reg-set.h: Add multiple include guard.
1918         * basic-block.h (struct loop): Add `sink' field.
1919         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
1920         (emit_iv_add_mult): Delete.
1921         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
1922         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
1923         (unroll_loop): Remove end_insert_before argument.
1924         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
1925         (maybe_eliminate_biv_1): Likewise.
1926         (emit_iv_add_mult): Delete.
1927         (gen_add_mult, loop_regs_update): New.
1928         (loop_insn_emit_after, loop_insn_emit_before): New.
1929         (loop_insn_sink, loop_insn_sink_or_swim): New.
1930         (emit_iv_add_mult): Delete.
1931         (scan_loop): Set loop->sink.
1932         (loop_givs_reduce): Use loop_insn_sink and its ilk.
1933         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
1934         (maybe_eliminate_biv_1): Likewise.
1935         (maybe_eliminate_biv_1): Add basic block argument.
1936         * unroll.c (unroll_loop): Remove end_insert_before argument.
1937         (find_splittable_regs): Likewise.
1938         (find_splittable_regs): Use loop_insn_sink and its ilk.
1939         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
1940
1941 2001-01-07  Michael Hayes  <mhayes@redhat.com>
1942
1943         * loop.h (loop_insn_hoist): New prototype.
1944         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
1945         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
1946         (check_dbra_loop, load_mems): Likewise.
1947         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
1948         (find_splittable_givs): Likewise.
1949
1950 2001-01-07  Michael Hayes  <mhayes@redhat.com>
1951
1952         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
1953
1954 2001-01-07  Richard Henderson  <rth@redhat.com>
1955
1956         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
1957
1958 2001-01-07  Richard Henderson  <rth@redhat.com>
1959
1960         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
1961         NO_SHARED_LIBGCC_MULTILIB as required for the target.
1962         * gcc.c (init_spec): Massage the existing libgcc_spec into a
1963         variant that handles a shared libgcc.
1964         (process_command): Always validate -{static,shared}-libgcc.
1965         (do_spec_1): New 'M' case.
1966         * invoke.text (Link Options): Document -{static,shared}-libgcc.
1967
1968 2001-01-07  Richard Henderson  <rth@redhat.com>
1969
1970         * Makefile.in (slibdir): New variable.
1971         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
1972         (installdirs): Create slibdir.
1973         (install-libgcc, install-multilib): Defer to libgcc.mk.
1974         * configure.in (slibdir): Substitute.
1975         * mklibgcc.in (install): New target.
1976
1977         * config/t-linux (SHLIB_LINK): Create links for the soname.
1978         (SHLIB_INSTALL): New.
1979         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
1980         * config/mips/t-iris6 (SHLIB_INSTALL): New.
1981         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
1982         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
1983         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
1984
1985 2001-01-07  Richard Henderson  <rth@redhat.com>
1986
1987         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
1988         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
1989         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
1990
1991 2001-01-07  Michael Hayes  <mhayes@redhat.com>
1992
1993         * loop.c (count_loop_regs_set): Delete.
1994         (load_mems_and_recount_loop_regs_set): Delete.
1995         (loop_regs_scan): Merge common code from count_loop_regs_set,
1996         scan_loop, and load_mems_and_recount_loop_regs_set.
1997         (scan_loop): Call load_mems directly and loop_regs_scan
1998         again if new registers created.
1999
2000 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2001
2002         * toplev.c (main): Call the front-end specific post_options
2003         hook if one is given.
2004         * toplev.h (struct_lang_hooks, lang_hooks): New.
2005         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
2006         for the C front end.
2007         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
2008         lang_hooks for the C++ front end.
2009         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
2010         lang_hooks for the ObjC front end.
2011         * f/com.c (lang_hooks): Hooks for the Fortran front end.
2012         * java/lang.c (lang_hooks): Hooks for the Java front end.
2013
2014 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2015
2016         * c-lex.c (init_c_lex): Request #define / #undef callbacks
2017         for verbose DWARF[2] debugging.
2018         (cb_define, cb_undef): The new callbacks.
2019         * toplev.h (debug_define, debug_undef): Make const correct.
2020         * toplev.c (debug_define, debug_undef): Similarly.  Do not
2021         perform the verbosity tests here anymore.
2022
2023 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
2024
2025         * reload.c (subst_reloads): Take INSN argument.  When
2026         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
2027         * reload.h (subst_reloads): Adjust prototype.
2028         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
2029         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
2030         present in JUMP_INSNs and copy them to JUMP_LABEL.
2031         * flow.c (find_label_refs, find_basic_blocks_1): Skip
2032         JUMP_INSNs and insns with REG_LABELs that are followed by
2033         JUMP_INSNs with the same REG_LABEL.
2034         * sched-rgn.c (is_cfg_nonregular): Likewise.
2035         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
2036         note is available.
2037         * unroll.c (unroll_loop): Look for REG_LABEL notes in
2038         JUMP_INSNs too.
2039         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
2040
2041 2001-01-06  Richard Henderson  <rth@redhat.com>
2042
2043         * loop.c (scan_loop): Use xcalloc for the regs array.
2044         (load_mems_and_recount_loop_regs_set): Zero the new memory
2045         received from xrealloc.
2046
2047 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2048
2049         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
2050
2051 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
2052
2053         * integrate.c (copy_rtx_and_substitute): When copying
2054         an ignored return value, strip REG_FUNCTION_VALUE_P.
2055
2056 2001-01-06  Michael Hayes  <mhayes@redhat.com>
2057
2058         * loop.c (debug_biv, debug_giv): New.
2059         (loop_biv_dump): Break out from ...
2060         (record_biv): ... here.
2061         (loop_giv_dump): Break out from ...
2062         (record_giv): ... here.
2063         (loop_bivs_check): Use print_simple_rtl.
2064         * unroll.c (loop_iterations): Use print_simple_rtl.
2065
2066 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2067
2068         * pa.md (return, return_internal): Modify patterns to prevent regrename
2069         mucking with the return pointer.
2070
2071 2001-01-05  Richard Henderson  <rth@redhat.com>
2072
2073         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
2074
2075 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
2076
2077         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
2078         version supplied by Matteo Frigo.
2079
2080 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2081
2082         * cpp.texi: Update for -MQ.
2083         * cppinit.c (cpp_create_reader): Always create pfile->deps.
2084         (cpp_cleanup): Always free pfile->deps.
2085         (initialize_dependency_output): Don't create pfile->deps.
2086         (cpp_handle_option): Similarly.
2087         (OPT_MQ): New.
2088         * gcc.c (cpp_options): Handle -MQ.
2089         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
2090         * mkdeps.c (base_name): Remove.
2091         (deps_init): Don't allocate vector space until it's needed.
2092         (deps_free): Only free vectors if allocated.
2093         (deps_add_target, deps_add_dep): Update for initial allocation.
2094         (deps_add_default_target): Don't strip to the base_name.
2095
2096 2001-01-05  DJ Delorie <dj@redhat.com>
2097
2098         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
2099         (INIT_EXPANDERS): Define.
2100
2101         * config/v850/v850.c (struct machine_function): Define.
2102         (v850_save_machine_status): New function.
2103         (v850_restore_machine_status): New function.
2104         (v850_return_addr): New function.
2105         (v850_init_expanders): New function.
2106
2107         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
2108         and v850_init_expanders.
2109
2110 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
2111
2112         * cpplib.h (struct cpp_reader): Add help_only field.
2113         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
2114         (cpp_handle_option): Set pfile->help_only if we see -h,
2115         --help, -target-help, or --version.  Print version string but
2116         do not set help_only if we see -v or -version.  Make text
2117         printed by -v match that printed by (-)-version.
2118
2119         * cppmain.c (main): Exit after option parsing if
2120         pfile->help_only is true.
2121
2122         * toplev.c (independent_decode_option): Call print_version,
2123         then exit, if we see --version (but not -version).
2124         (print_version): Split lengthy message into two lines.
2125
2126 2001-01-05  Nick Clifton  <nickc@redhat.com>
2127
2128         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
2129         temporary string for initialisation before calling ggc_alloc_string.
2130
2131 2001-01-06  Michael Hayes  <mhayes@redhat.com>
2132
2133         * rtl.h (print_simple_rtl): New.
2134         * print-rtl.c (print_simple_rtl): New.
2135         (flag_simple): New.
2136         (print_rtx): Disable printing of flags and modes, etc.,
2137         if `flag_simple` nonzero.
2138
2139 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
2140
2141         * function.c (fixup_var_refs): Use push_to_full_sequence where
2142         possible.
2143
2144 2001-01-05  Michael Meissner  <meissner@redhat.com>
2145
2146         * flags.h (flag_reorder_blocks): Add declaration.
2147         (flag_rename_block): Ditto.
2148
2149 2001-01-05  DJ Delorie  <dj@redhat.com>
2150
2151         * function.c (reorder_blocks): Make sure the flags are all reset
2152         before using them to mark blocks, else a second invocation will
2153         corrupt the block chain.
2154         (reorder_blocks_0): New, resets the flags.
2155
2156 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
2157
2158         * cse.c (find_comparison_args): Stop if the argument is known to
2159         be constant.
2160
2161 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
2162
2163         * config/sh/sh.md (movdf): When splitting load into pair of
2164         registers, don't clobber the register used in the address too
2165         early.
2166
2167 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
2168
2169         * varasm.c (mark_constant_pool): Improve initial comments.
2170         (mark_constants): Move marking of constants to mark_constant.
2171         (mark_constant): New function to recursively mark all constants
2172         referred to by a constant.
2173
2174 2001-01-05  Catherine Moore  <clm@redhat.com>
2175
2176         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
2177
2178 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
2179
2180         * cp/lang-options.h:  Bring comment in line with reality.
2181         * f/lang-options.h:  Likewise.
2182         * java/lang-options.h:  Likewise.
2183         * objc/lang-options.h:  Likewise.
2184         * ch/lang-options.h:  Likewise.
2185         * f/g77.texi:  And update the manual.
2186
2187 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
2188             Denis Chertykov  <denisc@overta.ru>
2189
2190         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
2191         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
2192         * config/avr/avr.md (all peepholes that request a scratch register):
2193         Call it, FAIL the peephole if not safe (in interrupt functions).
2194
2195 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
2196
2197         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
2198
2199 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
2200
2201         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
2202         Define.
2203         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
2204         BUILT_IN_CREAL and BUILT_IN_CIMAG.
2205         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
2206         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
2207         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
2208         BUILT_IN_CIMAG.
2209         * extend.texi: Document these builtins.
2210
2211 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
2212
2213         * c-common.c (lang_get_alias_set): Say we know nothing of
2214         VECTOR_TYPE aliasing.
2215
2216         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
2217
2218 2001-01-05  Bruce Korb  <bkorb@gnu.org>
2219
2220         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
2221         their x* equivalent versions for atexit-less systems
2222         * fixinc/fixincl.c(main): do not return from main() on atexit-less
2223         systems (or any other system any more).
2224
2225 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
2226
2227         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
2228         output operands.  Use arm_hard_register_operand for operand 4.
2229         (stmsi_postinc): Similarly.
2230         (ldmsi): Use arm_hard_register_operand for opernand 2.
2231         (stmsi): Similarly.
2232         * arm.c (arm_hard_register_operand): New function.
2233         * arm-protos.h (arm_hard_register_operand): Prototype it.
2234
2235         * arm.h (HARD_REGNO_RENAME_OK): Define.
2236
2237 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
2238
2239         * simplify-rtx.c (cfc_args): add "unordered" field.
2240         (check_fold_consts): Set unordered field.
2241         (simplify_relational_operation): Simplify the unordered
2242         comparisons.
2243
2244         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
2245         is valid.
2246
2247         * emit-rtl.c (try_split): Fix code to mark labels.
2248         * jump.c (mark_jump_label): Make global.
2249         * rtl.h (mark_jump_label): Declare.
2250
2251         * predict.c (estimate_probability): Handle unordred comparisons.
2252
2253 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2254
2255         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
2256         * cppinit.c (initialize_dependency_output):  Update.
2257         (cpp_finish): Output dummy targets for -MP.
2258         (OPT_MP): New.
2259         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
2260         * cpplib.h (struct cpp_options): Add deps_phony_targets.
2261         * gcc.c (cpp_options): Update to handle -MP.
2262         * mkdeps.c (deps_add_target, deps_add_default_target): Update
2263         to quote only the default target.
2264         (deps_phony_targets): Insert a preceding newline.  Rename from
2265         deps_dummy_targets for consistency.
2266         * mkdeps.h: Update
2267
2268 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
2269
2270         * calls.c (emit_library_call_value_1): Support
2271         INIT_CUMULATIVE_LIBCALL_ARGS.
2272         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
2273
2274 2001-01-04  Richard Henderson  <rth@redhat.com>
2275
2276         * c-decl.c (finish_struct): Detect flexible array members
2277         used in an inappropriate context.
2278         * c-typeck.c (really_start_incremental_init): Special case
2279         constructor_max_index for zero length arrays.
2280         (pop_init_level): Allow initialization of flexible array
2281         members.  Deprecate initialization of zero length arrays.
2282         Don't issue missing initializer warning for flexible array
2283         members or zero length arrays.
2284         (process_init_element): Don't dereference null DECL_SIZE.
2285         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
2286         Don't abort for empty constructors.  Use size_binop
2287         (output_constructor): Add commentary regarding zero length
2288         array futures.  Abort if we try to initialize an array of
2289         unspecified length with a non-empty constructor in the middle
2290         of a structure.
2291
2292         * extend.texi (Zero Length): Update and clarify documentation
2293         on static initialization.
2294
2295 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2296
2297         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
2298         with more than 32767 words of local storage.
2299
2300 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2301
2302         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
2303         for 'abs', 'labs', and 'fabs'.
2304         (c4x_expand_builtin): Likewise.
2305         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
2306
2307 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
2308
2309         * config/sh/sh.md (prget, prset): New insn types.
2310         (return delay slot): Dont' allow prset.
2311         (call, sfunc delay slot): Don't allow prget.
2312         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
2313         for prset and prget.
2314
2315 2001-01-05  Michael Hayes  <mhayes@redhat.com>
2316
2317         * loop.h (struct loop_reg): New.
2318         (struct loop_regs): Change to use array of `struct loop_reg'.
2319         * loop.c: Replace assortment of varrays with single regs array.
2320         (count_one_set): Delete may_not_move array argument
2321         and use regs array instead.  All caller's changed.
2322         (count_loop_regs_set): Delete may_not_move and single_usage
2323         arguments and use regs array instead.  All caller's changed.
2324         (find_single_use_in_loop): Replace usage array argument with pointer
2325         to regs structure.  All caller's changed.
2326         (loop_optimize): Delete `moved_once' array.
2327
2328 2001-01-05  Michael Hayes  <mhayes@redhat.com>
2329
2330         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
2331         Use it instead of loop_info->has_call for scanning loop mems.
2332         (check_dbra_loop): Replace loop_info->has_call test with
2333         loop_info->has_nonconst_call.
2334
2335 2000-01-04  Matthew Hiller  <hiller@redhat.com>
2336
2337         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
2338         for TARGET_SH3E.
2339
2340 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2341
2342         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
2343         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
2344
2345 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2346
2347         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
2348         (flag_short_double, flag_short_wchar): Define.
2349         (c_common_nodes_and_builtins): Create many tree nodes shared
2350         between C and C++ here instead of in cp/decl.c and ...
2351         * c-decl.c (init_decl_processing): ... here.
2352         (SIZE_TYPE, WCHAR_TYPE): Don't define.
2353         (flag_short_double, flag_short_wchar): Don't define.
2354         (record_builtin_type): New function.
2355         (build_void_list_node): New function.
2356         * c-common.h (flag_short_double, flag_short_wchar,
2357         record_builtin_type, build_void_list_node): Declare.
2358
2359 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
2360
2361         * integrate.c (expand_inline_function): Don't put a virtual
2362         register into the reg map.
2363
2364         * function.c (fixup_var_refs_1): If force_operand didn't put
2365         the address into the target, move it there.
2366
2367 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
2368
2369         Special-case tree_decl/tree_list allocations.
2370         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
2371         (OBJECT_SIZE): New macro.
2372         (NUM_EXTRA_ORDER): Likewise.
2373         (extra_order_size_table): New variable.
2374         (NUM_ORDERS): New macro.
2375         (objects_per_page_table): New variable.
2376         (object_size_table): New variable.
2377         (G.pages): Use NUM_ORDERS to bound the array.
2378         (G.page_tails): Likewise.
2379         (DIV_ROUND_UP): Remove.
2380         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
2381         (alloc_page): Use OBJECT_SIZE.
2382         (size_lookup): Don't make it const.
2383         (ggc_alloc): Use OBJECT_SIZE.
2384         (ggc_set_mark): Likewise.
2385         (ggc_get_size): Likewise.
2386         (init_ggc): Set up the object_size_table, objects_per_page_table,
2387         and adjust size_lookup.
2388         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
2389         (ggc_pop_context): Use NUM_ORDERS.
2390         (clear_marks): Likewise.
2391         (sweep_pages): Likewise.
2392         (poison_pages): Likewise.
2393         (ggc_print_statistics): Use OBJECT_SIZE.
2394
2395 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2396
2397         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
2398         Only call array_size_for_constructor if last field and array type
2399         with no upper bound.
2400
2401 2001-01-04  Philip Blundell  <philb@gnu.org>
2402
2403         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
2404         from bit 31 downwards, if this requires no more insns.
2405         (count_insns_for_constant): New helper function for above.
2406
2407 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
2408
2409         * gencodes.c (output_predicate_decls): Remove empty initializer.
2410
2411 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
2412
2413         * tree.c (copy_node): Remove documentation about obstacks.
2414         (buidl1): Check that nobody tries to build 2-argument nodes this
2415         way.
2416
2417 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2418
2419         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
2420         fp_high_losum_p.
2421
2422         * gencodes.c (output_predicate_decls): Fill empty initializer
2423         braces.
2424
2425 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
2426
2427         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
2428         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
2429         or -MM.
2430         (do_include): Handle missing headers like cpp0.
2431         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
2432         paths with first include pathname.  Don't strcat to uninitialized
2433         string.
2434
2435 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
2436
2437         * regrename.c (regrename_optimize): Don't rename from frame pointer
2438         if frame_pointer_needed.
2439         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
2440         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
2441         (ia64_reorg): Use it instead of scheduling if ! optimize.
2442         (errata_emit_nops): Properly call asm_noperands.
2443         (ia64_sched_reorder): Finish cycle if we see an asm.
2444         (ia64_variable_issue): Clear scheduling state after asms.
2445
2446 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2447
2448         * cpp.texi: Update for -MT.
2449         * cppinit.c (initialize_dependency_output): Add a default
2450         target if none has been given already.
2451         (no_tgt, OPT_MT): New.
2452         (cpp_handle_option): Handle -MT.  Update -M etc.
2453         * cpplib.h (struct cpp_options): Remove deps_target.
2454         * gcc.c (cpp_options): Handle -MT.
2455         * mkdeps.c (struct deps): Move from mkdeps.h.
2456         (deps_calc_target): Rename deps_add_default_target.  Add a
2457         default target if none has been specified already.
2458         * mkdeps.h (struct deps): Move to mkdeps.c.
2459         (deps_calc_target): Rename deps_add_default_target.
2460
2461 2000-01-03  Richard Henderson  <rth@redhat.com>
2462
2463         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
2464         Remove dead code.
2465         * c-typeck.c (push_init_level): Move checks for flexible array
2466         members and zero length arrays ...
2467         (pop_init_level): ... here.  Silently discard empty initializations.
2468         Remove dead code.
2469         * varasm.c (output_constructor): Update for sizeof change to
2470         zero-length arrays.
2471
2472         * extend.texi (Zero Length): Clarify semantics.
2473
2474 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
2475
2476         * configure.in (tm.h): Include isns-codes.h last.
2477         * configure: Rebuilt.
2478
2479 2001-01-03  Richard Henderson  <rth@redhat.com>
2480
2481         * config/alpha/alpha.md (addvsi3, addvdi3): New.
2482         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
2483
2484 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2485
2486         * tradcpp.c (main): Make sure finclude() is called with a valid
2487         indepth value while handling -include.
2488
2489 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
2490
2491         * gencodes.c (output_predicate_decls): New function.
2492         (main): Call it.
2493         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
2494         even if it is not the first time machmode.h is #included.
2495         * config/sh/sh.c (fpul_operand): Declare MODE argument.
2496         * tm.texi (PREDICATE_CODES): Document predicate declarations.
2497         * gcc.texi (Copyright): Added 2001.
2498
2499 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2500
2501         * c-common.c (c_common_lang_init): New function.  Warn if format
2502         warning options which only have effects when used with -Wformat
2503         are used without -Wformat.
2504         * c-common.h (c_common_lang_init): Declare.
2505         * c-lang.c (lang_init): Call c_common_lang_init.
2506         * objc/objc-act.c (lang_init): Call c_common_lang_init.
2507
2508 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2509
2510         * configure.in: Check for the mktemp command.
2511         * configure: Regenerate.
2512         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
2513         $TEMP.  Create temporary files with mktemp, if available at
2514         configure time; otherwise use set -C.  Remove temporary files
2515         before exit.
2516
2517 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2518
2519         * configure.in: Require at least texinfo 4.0.  Check for whether
2520         Pod::Man is sufficiently recent to regenerate GCC manpages.
2521         * configure:  Regenerate.
2522         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
2523         on #!.
2524         (GENERATED_MANPAGES): Define.
2525         (generated-manpages): New target.  Depend on cpp.1 as well as
2526         gcov.1.
2527         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
2528         configure to generated-manpages or empty) rather than on the
2529         manpages directly.  Remove execute permission from installed
2530         gcov.1 as well as cpp.1.
2531         * cpp.1, gcov.1: Regenerate.
2532
2533 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2534
2535         * builtins.c (expand_builtin_strncmp): Use host_integerp and
2536         tree_low_cst.  Allow using cmpstrsi in more cases.
2537
2538 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2539
2540         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
2541         sized types.
2542
2543 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
2544
2545         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
2546         * Makefile.in (HOST_CFLAGS): Mention build-make.
2547
2548 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2549
2550         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
2551         as JUMP_INSN.
2552
2553 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
2554
2555         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
2556         a REG rtx.
2557
2558         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
2559         callers changed.
2560
2561         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
2562         reg_base_value and reg_known_value arrays.
2563         (init_alias_analysis): Add more cases to detect known values.
2564         * sched-deps.c (deps_may_trap_p): New function.
2565         (sched_analyze_2): Use it.
2566
2567 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
2568
2569         * combine.c (simplify_shift_const): Even if we're sign-extracting,
2570         don't discard an ASHIFTRT if we're shifting in a wider mode.
2571
2572 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2573
2574         * toplev.c (rest_of_compilation): Don't print basic block information
2575         when CFG isn't up to date.
2576
2577 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
2578
2579         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
2580         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
2581         (UNALIGNED_SHORT_ASM_OP): Define.
2582         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
2583
2584 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
2585
2586         * fold-const.c (fold_convert): Fix typo.
2587
2588 2001-01-02  Richard Henderson  <rth@redhat.com>
2589
2590         * c-common.h (ASM_INPUT_P): New.
2591         * c-parse.in (asm): Set it when needed.
2592         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
2593         existance of an operand.
2594
2595 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
2596
2597         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
2598         (dwarf2out_frame_debug_expr): Likewise.
2599         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
2600
2601 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
2602
2603         * i386.c (ix86_split_to_parts): Return number of part required;
2604         handle TFmodes.
2605         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
2606         TFmodes.
2607         (ix86_split_long_move): Use number of part returned
2608         by ix86_split_to_parts
2609         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
2610         New macros.
2611         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
2612         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
2613         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
2614         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
2615         (ALIGN_MODE_128): Add TFmode.
2616         (IS_STACK_MODE): Likewise.
2617         (HARD_REGNO_NREGS): TFmode needs 3 registers.
2618         (HARD_REGNO_OK): Support TFmodes.
2619         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
2620         * i386.md (scheduler definitions): Use memory operand to determine
2621         fst/fld instructions; use mode attribute to determine real mode of
2622         the instruction.
2623         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
2624         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
2625
2626 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
2627
2628         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
2629
2630 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
2631
2632         * expr.c (store_constructor_field): Update ALIGN before calling
2633         store_constructor.
2634
2635 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
2636
2637         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
2638         host_integerp.
2639
2640 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
2641
2642         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
2643         incomplete type.
2644
2645 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
2646
2647         * c-decl.c (start_function): Don't warn on third parameter to main.
2648
2649 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2650
2651         * tsystem.h: Define HAVE_DECL_GETOPT.
2652
2653 2001-01-02  Philip Blundell  <pb@futuretv.com>
2654
2655         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
2656         of input operand.
2657
2658 2001-01-02  Richard Henderson  <rth@redhat.com>
2659
2660         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
2661
2662 2001-01-02  Andreas Jaeger  <aj@suse.de>
2663
2664         * c-decl.c (c_decode_option): Remove support of
2665         -Wmissing-noreturn.
2666
2667         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
2668         (W_options): Add -Wmissing-noreturn here.
2669
2670         * flow.c: Define lang_missing_noreturn_ok_p.
2671         (check_function_return_warnings): Use it.
2672
2673         * c-common.h: Declare lang_missing_noreturn_ok_p.
2674
2675         * c-lang.c (c_missing_noreturn_ok_p): New function.
2676         (lang_init): Set lang_missing_noreturn_ok_p.
2677
2678         * invoke.texi (Warning Options): Document this.
2679
2680 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
2681
2682         * extend.texi (C++ Extensions):  New node for C++ attributes;
2683           describe init_priority and com_interface.
2684         * invoke.texi:  Remove -finit-priority as it now has zero effect.
2685         * install.texi:  Fix xref syntax.
2686         * md.texi:  Likewise.
2687
2688 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2689
2690         * config.gcc (sparc64-wrs-vxworks*): New case.
2691         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
2692
2693         * config/sparc/sparc.c (sparc_override_options): Do support different
2694         pointer and architecture size.
2695         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
2696         (POINTERS_EXTEND_UNSIGNED): Define.
2697         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
2698         (FUNCTION_MODE): Define to be Pmode.
2699         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
2700
2701         * function.c (expand_function_end): Properly handle DECL_RESULT
2702         and copy when ptr_mode != Pmode.
2703         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
2704
2705 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2706
2707         * c-common.c (c_common_nodes_and_builtins): Set prototype
2708         parameters for __builtin_fputs, __builtin_fputc and
2709         __builtin_fwrite.  Don't declare plain fputc as a builtin.
2710
2711 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2712
2713         * loop.c (add_label_notes): Increment the label usage count when
2714         a note is added to an insn which refers to a CODE_LABEL.
2715         * gcse.c (add_label_notes): Likewise.
2716
2717 2001-01-01  Andreas Jaeger  <aj@suse.de>
2718
2719         * loop.c (scan_loop): Use xmalloc to allocate movables.
2720
2721 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
2722
2723         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
2724         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
2725         * reload1.c (REGISTER_MOVE_COST): Likewise.
2726         * regclass.c (REGISTER_MOVE_COST): Likewise.
2727         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
2728         dimension.  Adjust all users.
2729         (init_reg_sets_1): Iterate on all modes.
2730         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
2731         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
2732         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
2733         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
2734         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
2735         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
2736         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
2737         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
2738         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
2739         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
2740         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
2741         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
2742         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
2743         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
2744         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
2745         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
2746         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
2747         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
2748         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
2749         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
2750         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
2751         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
2752         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
2753         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
2754         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
2755         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
2756         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
2757
2758 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
2759
2760         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
2761         arg VARIES_P.  Call it with extra arg.
2762         (true_dependence): Likewise.
2763         * rtl.h (rtx_addr_can_trap_p): Declare.
2764         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
2765         prototypes.
2766         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
2767         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
2768         pic offset table register if it's zero.  All callers changed.
2769         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
2770
2771 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2772
2773         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
2774         STRING_POOL_ADDRESS_P.
2775
2776         * config/sparc/sparc.c (input_operand): Properly test for short op.
2777
2778         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
2779         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
2780         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
2781         * config/sparc/elf.h: No longer include sol2.h.
2782         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
2783         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
2784
2785         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
2786
2787 2001-01-01  Michael Hayes  <mhayes@redhat.com>
2788
2789         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
2790         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
2791         (record_initial): Likewise.
2792         * unroll.c (copy_loop_body, loop_iterations): Likewise.
2793         (remap_split_bivs): Likewise.
2794
2795 2001-01-01  Michael Hayes  <mhayes@redhat.com>
2796
2797         * loop.c (loop_ivs_free): New function.
2798         (strength_reduce): Break out from...
2799
2800 2001-01-01  Michael Hayes  <mhayes@redhat.com>
2801
2802         * loop.h (struct iv): New.
2803         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
2804         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
2805         'reg_biv_class' fields with 'regs' and 'n_regs'.
2806         (struct ivs): Rename 'loop_iv_list' field to 'list'.
2807         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
2808         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
2809
2810 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
2811
2812         * resource.c (mark_referenced_resources): Abort() before
2813         attempting to mark a pseudo register.
2814         (mark_set_resources): Likewise.
2815
2816 2001-01-01  Michael Hayes  <mhayes@redhat.com>
2817
2818         * loop.h (REG_IV_CLASS): New accessor macro.
2819         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
2820         * unroll.c (REG_IV_CLASS): Likewise.
2821
2822 See ChangeLog.4 for earlier changes.