OSDN Git Service

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