OSDN Git Service

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