OSDN Git Service

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