OSDN Git Service

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