OSDN Git Service

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