OSDN Git Service

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