OSDN Git Service

* objc/objc-act.c (get_static_reference): Use NULL_TREE.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-03-20  Stan Shebs  <shebs@apple.com>
2
3         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
4         (get_object_reference): Ditto.
5         (error_with_ivar): Use error_with_file_and_line.
6         (warn_with_method): Use warning_with_file_and_line.
7
8 2001-03-20  Tom Tromey  <tromey@redhat.com>
9
10         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
11
12 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
13
14         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
15         variables that are TREE_PUBLIC, even if not TREE_STATIC.
16
17 2001-03-20  DJ Delorie  <dj@redhat.com>
18
19         * Makefile.in (install-libgcc): Pass complete list of variables.
20         (install-multilib): Ditto.
21
22 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
23
24         * config/i386/cygwin.h: Declare ctor_section, dtor_section
25         drectve_section, switch_to_section.
26
27         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
28         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
29         i386_pe_mark_dllimport.
30
31 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
32   
33         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
34         functions i386_pe_*.
35
36         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
37         i386_pe_* functions with char * arguments.
38
39 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
40
41         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
42         and store.
43         (movsi_ie): Introduce fpul store.
44
45 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
46
47         * Makefile.in (OBJS): Remove hashtab.o.
48
49 2001-03-19  Stan Shebs  <shebs@apple.com>
50
51         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
52         * c-lang.c (maybe_objc_method_name): Ditto.
53         * c-tree.h (maybe_objc_method_name): Remove decl.
54
55 2001-03-19  Tom Tromey  <tromey@redhat.com>
56
57         * gcc.c (init_gcc_specs): Fix comment.
58
59 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
60
61         Compute DECL_ASSEMBLER_NAME lazily.
62         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
63         (DECL_ASSEMBLER_NAME_SET_P): New macro.
64         (SET_DECL_ASSEMBLER_NAME): Likewise.
65         (COPY_DECL_ASSEMBLER_NAME): Likewise.
66         (set_decl_assembler_name): Declare.
67         (lang_set_decl_assembler_name): Likewise.
68         * tree.c (lang_set_decl_assembler_name): New variab.e
69         (set_decl_assembler_name): New function.
70         (init_obstacks): Set lang_set_decl_assembler_name.
71         (build_decl): Don't set DECL_ASSEMBLER_NAME.
72         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
73         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
74         where it's not necessary.
75         (builtin_function): Likewise.
76         (finish_decl): Likewise.
77         * dbxout.c (dbxout_type_methods): Likewise.
78         * ggc-common.c (ggc_mark_trees): Likewise.
79         * profile.c (output_func_start_profiler): Likewise.
80         * varasm.c (make_decl_rtl): Likewise.
81
82         * cse.c (find_comparison_args): Update documentation.  Fix
83         mishandling of COMPARE operations.
84
85         * tree.def (ABS_EXPR): Add documentation.
86         * fold-const.c (fold): Improve folding of ABS_EXPRs.
87
88 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
89
90         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
91
92 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
93
94         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
95         Remove ia32 linux PIC kludge and move it...
96         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
97
98 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
99
100         * i386.md (absdf2 expander): Fix 64bit case.
101
102 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
103
104         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
105
106 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
107
108         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
109
110 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
111
112         * README.X11: Remove obsolete file.
113
114 2001-03-18  Anthony Green  <green@redhat.com>
115
116         * config/pj/pj.h: Remove some trailing commas.
117         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
118
119 2001-03-18  Richard Henderson  <rth@redhat.com>
120
121         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
122         * calls.c: ... here.
123         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
124         defaults for them here.
125
126 2001-03-17  Anthony Green  <green@redhat.com>
127
128         * config/pj/lib1funcs.S: Fix broken comment.
129         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
130         labels with '.'.
131
132 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
133
134         * gcc.texi: Remove obsolete information relating to build and
135         installation problems with enquire or the Pyramid C compiler.
136
137 2001-03-17  Richard Henderson  <rth@redhat.com>
138
139         * dwarf2out.c (queue_reg_save): New.
140         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
141         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
142         dwarf2out_reg_save.
143         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
144         (cfa, cfa_store, cfa_temp): Make static.
145         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
146
147 2001-03-17  Richard Henderson  <rth@redhat.com>
148
149         * integrate.h (struct inline_remap): Add local_return_label.
150         * integrate.c (expand_inline_function): Initialize it and emit
151         it after copy_insn_notes.
152         (copy_insn_list): Don't store local_return_label here.
153         (copy_insn_notes): New function split out from copy_insn_list.
154
155 2001-03-17  Richard Henderson  <rth@redhat.com>
156
157         * dwarf2out.c (lookup_filename): Emit .file if the assembler
158         is generating .debug_line.
159         (dwarf2out_init): Add main_input_filename to the file table first.
160         * configure.in (as_dwarf2_debug_line): Test with file number 1
161         instead of file number 0.
162
163 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
164
165         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
166         (gen_rtx_combine): Deleted; all references changed as appropriate.
167         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
168
169         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
170
171 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
172
173         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
174         variable.
175
176 2001-03-16  Jim Wilson  <wilson@redhat.com>
177
178         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
179         then set it to LOC_REG (79) instead of aborting.
180
181 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
182
183         * gccbug.in:  Remove high priority.
184
185 2001-03-16  Richard Henerson  <rth@redhat.com>
186
187         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
188         output with a space instead of deleting it.
189         * configure: Regenerate.
190
191 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
192
193         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
194         handles the gory details of converting an object file into
195         something that's safe to grep.
196         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
197         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
198         newlines at either end of the string we're looking for.
199         Make 'checking ...' message less stilted.
200         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
201         ARM in-memory layout and its hypothetical converse.  Don't
202         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
203         HOST_WORDS_BIG_ENDIAN.
204
205         * configure.in: Adjust for renamed macro.  Move
206         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
207         * configure, config.in: Regenerate.
208
209 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
210
211         * fixinc/Makefile.in: Set SHELL.
212
213 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
214
215         * fixinc/fixincl.c (fix_with_system): Quote file names before
216         passing them to shell.
217
218 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
219
220         * Makefile.in: Use fix-header$(build_exeext) instead
221         of fix-header.
222
223 2001-03-16  Richard Henderson  <rth@redhat.com>
224
225         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
226         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
227         (size_of_line_prolog): Remove.
228         (output_line_info): Compute prologue size via label difference.
229         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
230
231         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
232         assembler error when redefining file numbers.
233         * config.in, configure: Rebuild.
234
235         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
236         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
237         (dw2_asm_output_delta_uleb128): Likewise.
238         (dw2_asm_output_delta_sleb128): Similarly.
239         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
240
241 2001-03-16  Michael Meissner  <meissner@redhat.com>
242
243         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
244         warnings.
245         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
246         warnings.
247         (BITMASK_LOWER16): Replacement for 0x0000ffff.
248
249         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
250         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
251         being unsigned in ISO C and signed in traditional.
252         (expand_prologue): Ditto.
253         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
254
255         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
256         warnings.
257         (divsi3,divdi3): Ditto.
258         (modsi3,moddi3): Ditto.
259         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
260         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
261         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
262         warnings.
263
264 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
265
266         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
267         SSE based conditional moves on LTGT/UNEQ conditions;
268         Canonicalize EQ to NE.
269         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
270         (sse_mov?fcc_ne): New.
271
272         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
273
274 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
275
276         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
277         register may be dead.
278
279 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
280
281         * Makefile.in (hash.o): Depend on CONFIG_H.
282
283 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
284
285         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
286
287 2001-03-15  Richard Henderson  <rth@redhat.com>
288
289         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
290         (ASM_OUTPUT_DWARF_PCREL): New.
291         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
292
293 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
294
295         * cppfiles.c (stack_include_file): Use MAX of sysp.
296
297 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
298
299         * config.gcc (ia64*-*-hpux*): New case.
300         * config/ia64/hpux.h: New file for HP-UX support.
301         * config/ia64/t-hpux: New file for HP-UX support.
302
303 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
304
305         * fixinc/inclhack.def (irix_stdio_va_list): New.
306         * fixinc/fixincl.x: Rebuilt.
307
308 2001-03-15  Richard Henderson  <rth@redhat.com>
309
310         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
311         if provided by the target.
312         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
313         (dw2_asm_output_addr): New.
314         * dwarf2asm.h (dw2_asm_output_addr): Declare.
315         * dwarf2out.c (output_cfi): Use it for program addresses.
316         (output_call_frame_info, output_die): Likewise.
317         (output_aranges, output_line_info): Likewise.
318
319 2001-03-15  Bruce Korb  <bkorb@gnu.org>
320
321         * gcc.c(main): make more rigorous
322         * collect2.c(main): guard against ignoring SIGCHLD
323         * protoize.c(main): ditto
324         * gcc/fixinc/fixincl.c(initialize): ditto
325
326 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
327
328         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
329         (sdbout_parms): Likewise.
330
331 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
332
333         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
334         "widen" a destination that is already wider than a word.  Also do
335         not widen if LOAD_EXTEND_OP is NIL for the given mode.
336
337 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
338
339         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
340
341 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
342
343         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
344
345 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
346
347         * i960.h (i960_maxbitalignment,
348         i960_last_maxbitalignment): Declare.
349         * i960.c (i960_maxbitalignment,
350         i960_last_maxbitalignment): Make global.
351         (process_pragma): Delete.
352         (i960_pr_align, i960_pr_noalign): Move from here ...
353         * i960-c.c: ... to this new file.
354         * t-960bare (i960-c.o): New rule.
355         * t-vxworks960 (i960-c.o): Likewise.
356         * config.gcc (i960-*-*): Define c_target_objs and
357         cxx_target_objs.
358
359 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
360
361         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
362         without adding in rtx code and mode.
363
364         * alias.c (init_alias_analysis): Don't use any rtx whose value
365         varies as a known value.
366         Delete a superfluous test.
367
368         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
369         ia64_sched_reorder.
370         (ia64_sched_reorder): Call maybe_rotate; also rotate after
371         scheduling a stop bit.
372         (ia64_emit_nops): Correctly handle ASMs.
373
374 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
375
376         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
377
378 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
379
380         * cpp.texi: Update documentation for -include and -imacros.
381         * cppfiles.c (struct include_file): Remove "defined" memeber.
382         (find_or_create_entry): Make a copy of the file name, and
383         simplify it.
384         (open_file): Update to ensure we use the simplified filename.
385         (stack_include_file): Don't set search_from.
386         (cpp_included): Don't simplify the path name here.
387         (find_include_file): New prototype.  Call search_from to
388         get the start of the "" include chain.  Don't simplify the
389         filenames here.
390         (_cpp_execute_include): New prototype.  Move diagnostics to
391         do_include_common.  Update.
392         (_cpp_pop_file_buffer): Don't set defined.
393         (search_from): New prototype.  Use the preprocessor's cwd
394         for files included from the command line.
395         (read_name_map): Don't simplify the pathname here.
396         * cpphash.h (enum include_type): New.
397         (struct buffer): Delete search from.  New search_cached.
398         (_cpp_execute_include): Update prototype.
399         * cppinit.c (do_includes): Use _cpp_execute_include.
400         * cpplib.c (do_include_common): New function.
401         (do_include, do_include_next, do_import): Use it.
402
403 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
404
405         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
406         contents of the RTL, to determine the name of the object.
407
408 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
409
410         * tree.h (DECL_RTL): Allocate RTL lazily.
411         (SET_DECL_RTL): New macro.
412         (DECL_RTL_SET_P): Likewise.
413         (COPY_DECL_RTL): Likewise.
414         (DECL_RTL_IF_SET): Likewise.
415         * varasm.c (make_decl_rtl): Add assertions about the kind of
416         declaration we are processing.
417         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
418         (start_decl): Likewise.
419         (finish_decl): Likewise.
420         * c-semantics.c (emit_local_var): Likewise.
421         * calls.c (expand_call): Likewise.
422         * dbxout.c (dbxout_symbol): Likewise.
423         * emit-rtl.c (unshare_all_rtl): Likewise.
424         (unshare_all_decls): Likewise.
425         (reset_used_decls): Likewise.
426         * expr.c (store_constructor): Likewise.
427         (safe_from_p): Likewise.
428         (expand_expr): Likewise.
429         * function.c (put_var_into_stack): Likewise.
430         (instantiate_decls_1): Likewise.
431         (assign_parms): Likewise.
432         (expand_function_start): Likewise.
433         (expand_function_end): Likewise.
434         * ggc-common.c (gcc_mark_trees): Likewise.
435         * integrate.c (function_cannot_inline_p): Likewise.
436         (copy_decl_for_inlining): Likewise.
437         (expand_inline_function): Likewise.
438         (integrate_parm_decls): Likewise.
439         (integrate_decl_tree): Likewise.
440         * print-tree.c (print_node): Likewise.
441         * reg-stack.c (stack_result): Likewise.
442         * stmt.c (label_rtx): Likewise.
443         (expand_return): Likewise.
444         (expand_decl): Likewise.
445         (expand_decl_cleanup): Likewise.
446         (expand_anon_union_decl): Likewise.
447         * toplev.c (check_global_declarations): Likewise.
448         (rest_of_decl_compilation): Likewise.
449         * tree.c (simple_cst_equal): Likewise.
450         * objc/objc-act.c (generate_static_references): Likewise.
451
452 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
453
454         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
455         gcc_AC_C_FLOAT_FORMAT): New macros.
456         * configure.in: Add AC_PROG_CPP after CC tests;
457         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
458         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
459         * configure, config.in: Regenerate.
460
461         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
462         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
463         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
464         config/i370/xm-linux.h, config/i370/xm-oe.h,
465         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
466         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
467         config/pa/xm-linux.h, config/pa/xm-pa.h,
468         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
469         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
470         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
471         config/we32k/xm-we32k.h: Delete.
472
473         * config/i370/xm-mvs.h, config/m88k/m88k.h,
474         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
475         config/vax/xm-vms.h: Don't define any of:
476         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
477
478         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
479
480         * config.gcc: Remove references to deleted files.
481         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
482         FATAL_EXIT_CODE, which is the same between oe and mvs).
483
484 2001-03-14  DJ Delorie  <dj@redhat.com>
485             Vladimir Makarov  <vmakarov@redhat.com>
486
487         * config/i960/i960.c (i960_function_prologue): Compute size of
488         frame according to number of registers actually saved there.
489
490 2001-03-14  Richard Henderson  <rth@redhat.com>
491
492         * expr.c (emit_move_insn_1): Fix else if around #endif.
493
494 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
495                               Vojtech Pavlik
496
497         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
498         constraints.
499
500 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
501
502         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
503         (override_options): Parse cmodel string.
504         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
505         * i386.h (TARGET_OPTIONS): Add "cmodel".
506         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
507         (enum cmodel): New.
508         (ix86_cmodel_string, ix86_cmodel): Declare.
509
510 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
511
512         Spot by Matt Kraai:
513         * i386.h (GENERAL_REG_P): Add missing REG_P.
514
515 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
516
517         * configure.in: Use $gcc_cv_as instead of $as.
518         * configure: Regenerated.
519
520 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
521
522         * cppfiles.c (stack_include_file): Only increase the include
523         count if we actually process the file properly, as opposed
524         to treating it as length zero.  Only call read_include_file
525         if not DO_NOT_REREAD.  Handle the -H include file output
526         here.
527         (read_include_file): Remove now redundant DO_NOT_REREAD check.
528         (cpp_included, find_include_file): Simplify pathnames after
529         remapping them.  If remapping, don't use the remapped file
530         name's buffer as our scratch buffer.
531         (cpp_pop_file_buffer): Replace the multiple include macro
532         only if it isn't yet set.
533         (read_name_map): Simplify remapped names when reading in.
534         (remap_filename): Move code to code path that uses it.
535         (_cpp_simplify_pathname): Return the input pointer.
536         * cpphash.h (_cpp_simplify_pathname): Update prototype.
537
538 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
539
540         * expr.c (expand_expr): Revove bogus conditional.
541
542 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
543
544         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
545
546 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
547
548         * reg-stack.c (stack_result): Unconditionally use
549         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
550
551 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
552
553         * expr.c (emit_move_insn_1):  Split push of complex value when
554         no suitable push instruction exist.
555
556         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
557         instead of QI_REG_P.
558
559 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
560
561         * alias.c (handled_component_p, can_address_p): New functions.
562         (get_alias_set): Use them.
563
564 2001-03-13  Jim Wilson  <wilson@redhat.com>
565
566         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
567         from 80 in try_locals code.
568         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
569
570 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
571
572         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
573         gcc_AC_C_LONG_LONG): New.
574         * configure.in: Use them.  Probe the size of short, int, long,
575         and long long/__int64 if we have them.  Move all the AC_C_*
576         checks together, except gcc_AC_C_CHAR_BIT which has to go
577         after AC_CHECK_HEADERS(limits.h).
578         Take hwint.h out of host_xm_file and build_xm_file.
579
580         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
581         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
582         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
583         Move the HOST_WIDEST_INT setup logic here from system.h.
584         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
585         defined.
586         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
587         is now handled by hwint.h.
588
589         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
590         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
591         config/ia64/xm-ia64.h: Don't define any of:
592         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
593         HOST_BITS_PER_LONGLONG.
594
595         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
596         config/h8300/xm-h8300.h, config/mips/iris6.h,
597         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
598         config/sparc/xm-sp64.h: Delete.
599         * config.gcc: Remove references to deleted files.
600
601         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
602         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
603         * config/i370/xm-linux.h: Clarify floating-point situation in
604         a comment.
605
606 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
607
608         * cppfiles.c (NO_INCLUDE_PATH): New macro.
609         (find_include_file): Decide here which part of the include
610         chain to start the search.  Complain about an empty include
611         chain in all cases apart from an abolsute file name.
612         (_cpp_execute_include): Don't choose the search chain here.
613         Don't call handle_missing_include in the case of an empty
614         include chain.
615         (_cpp_compare_file_date): Don't choose the search chain here.
616         * cpplib.c (do_include_next): Move the in-main-file diagnostic
617         here from _cpp_execute_include.  Behave like #include if
618         we're in the main file.
619
620 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
621
622         * system.h (malloc, realloc, calloc, strdup): Only poison these
623         tokens when IN_GCC is defined.
624
625 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
626
627         * i386.md (abs?f expander): Support SSE case.
628         (abd?f_if): Add new "USE"; add splitters.
629
630 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
631
632         * cpp.texi (poison): Explain the macro expansion exception.
633
634 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
635
636         * expr.c (store_expr): Add dont_store_target.  If temp is already in
637         target before copying to reg, don't store it into target again.
638
639 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
640
641         * cppinternals.texi: Update for file handling.
642
643 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
644
645         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
646         2001-02-24 which broke building the Java library.
647         * function.c (identify_blocks): Likewise.
648         (all_blocks): Likewise.
649         * integrate.c (integrate_decl_tree): Likewise.
650         * print-tree.c (print_node): Likewise.
651         * tree.h (BLOCK_NUMBER): Likewise.
652         (struct tree_block): Likewise.
653
654 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
655
656         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
657         __WCHAR_TYPE__ definition.
658         (WCHAR_TYPE_SIZE): #undef before #define.
659
660 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
661
662         * cppfiles.c: Update comments.
663         (destroy_include_file_node): Rename destroy_node.
664         (find_or_create_entry): New function.
665         (open_file, _cpp_fake_include): Use it.
666         (handle_missing_header): New function, broken out of
667         _cpp_execute include.  Don't segfault if there is no
668         system or quoted path.
669         (_cpp_execute_include): Use handle_missing_header.
670
671 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
672
673         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
674         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
675
676 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
677
678         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
679         unless anti_dependence says they are.
680         * alias.c (objects_must_conflict): If neither has a type specified,
681         they must conflict.
682
683 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
684             David Billinghurst <David.Billinghurst@riotinto.com>
685
686         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
687
688 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
689
690         * i386.md (trunctfdf2_2): Rename missnamed pattern.
691         (*_one_bit): Remove type on the match_operand in attributes.
692
693 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
694
695         * i386.c: Commit forgotten hunk in previous patch.
696         (regclass_map): Add extended registers.
697         (dbx_register_map): Add missing frame register.
698
699 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
700
701         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
702
703         * i386.md (x86_sahf_1): Disable for 64bit.
704         (popsi*, pophi*): Likewise.
705         (pushqi, pushhi): Likewise.
706         (movdi, pushdi): Likewise.
707         (zero extend DImode splitter): Likewise.
708         (adddi, minusdi splitter): Likewise.
709         (umulsidi): Likewise.
710         (umulsi): New.
711         (mulsidi): Disable for 64bit
712         (lshift:DI/ashift:DI): Disable for 64bit.
713         (loop patterns): Likewise.
714         (call_pop, call_value_pop expanders and patterns): Likewise.
715         (prologue_get_pc): Likewise.
716         (leave): Likewise.
717         (fcmovDI pattern and splitter): Likewise.
718         (movdfcc_1_rex64): New.
719
720 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
721
722         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
723         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
724         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
725         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
726         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
727         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
728         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
729         (PUSH_ROUNDING): x86_64 rounds to 64bits.
730         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
731         (REGPARM_MAX): Set to 6 for x86_64.
732         (SSE_REGPARM_MAX): Set to 16 for x86_64.
733         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
734         registers.
735
736         * (patterns that does use upper halves): Update constraints
737         'q' to 'Q' and 'r' to 'R'.
738         (cmpqi_ext_1): Disable for 64bit.
739         (cmpqi_ext_3_insn): Likewise.
740         (movqi_extzv_1): Likewsie.
741         (addqi_ext_1): Liekwsie
742         (testqi_ext_1): Liekwsie
743         (andqi_ext_1): Liekwsie
744         (xorqi_ext_1): Liekwsie
745         (cmpqi_ext_1_rex64): New.
746         (cmpqi_ext_3_insn_rex64): Likewise.
747         (movqi_extzv_1_rex64): Likewsie.
748         (addqi_ext_1_rex64): Liekwsie
749         (testqi_ext_1_rex64): Liekwsie
750         (andqi_ext_1_rex64): Liekwsie
751         (xorqi_ext_1_rex64): Liekwsie
752
753 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
754
755         * configure.in: Move check for unsigned enumerated bitfields
756         to macro in aclocal.m4.  Disable it for now.
757         * configure, config.in: Regenerate.
758         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
759         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
760         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
761         kind above its first use.
762
763         * config/xm-interix.h, config/alpha/xm-alpha.h,
764         config/i370/xm-linux.h, config/i386/xm-beos.h,
765         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
766         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
767         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
768         Don't define ONLY_INT_FIELDS under any circumstances.
769
770         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
771
772         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
773         config/sparc/xm-sysv4.h: Delete - now identical with some
774         other xm header.
775         * config.gcc (hppa targets): Replace xm-pahpux.h and
776         xm-papro.h with implicit xm-pa.h.
777         (sparc targets): Replace xm-sysv4.h with implicit or explicit
778         xm-sparc.h.
779
780 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
781
782         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
783         before reload_cse_noop_set_p.
784
785 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
786
787         * config.gcc: Where xm-host.h used to include another
788         xm-host.h, list the nested header directly in xm_file.  Remove
789         references to deleted files.  Can now use sparc/xm-sp64.h for
790         sparcv9-*-solaris*.
791
792         * config/xm-linux.h, config/arm/xm-linux.h,
793         config/i386/xm-dos.h, config/i386/xm-gnu.h,
794         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
795         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
796         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
797         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
798         Delete.
799
800         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
801         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
802         bother to wrap #undef in #ifdef.
803         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
804         Don't include xm-linux.h.
805         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
806
807         * configure.in: Wrap regexps using [] in changequote block.
808         Use expr : not echo | grep.  Simplify regexps.
809         * configure: Regenerate.
810
811         56 xm-files remain, 22 xm-arch.
812
813 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
814
815         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
816         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
817         (local_index, local_rindex): Delete, use strchr/strrchr instead.
818         (copy_object): Fix format specifier vs argument mismatch.
819
820         * mips-tdump.c: Make local functions static.
821         (rindex): Don't #undef.
822         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
823         (fatal, fancy_abort): Delete.
824         (read_seek): Avoid signed/unsigned compare.
825
826 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
827
828         * combine.c (try_combine): Fix error in change to try original
829         register.
830         (gen_rtx_combine): Do same as gen_rtx for now.
831
832 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
833
834         * configure.in: AC_SUBST xm_defines.
835         * configure: Regenerate.
836         * Makefile.in: Set DEFINES=$(xm_defines) when building
837         tconfig.h.
838
839 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
840
841         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
842         (cpp_included, find_include_file): Update.
843         (_cpp_compare_file_date): Make else unconditional.
844
845 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
846
847         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
848
849 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
850
851         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
852         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
853
854 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
855
856         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
857         if it's a record type.
858
859 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
860
861         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
862         mingw includes slightly.
863
864 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
865
866         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
867         #undef token before poisoning it.
868
869 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
870
871         * alpha.c (check_float_value): Use memcpy, not bcopy.
872
873         * m32r.c (m32r_sched_reorder): Likewise.
874
875         * vax.c (check_float_value): Likewise.
876
877 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
878
879         * toplev.c (file_name_nondirectory): Remove.
880         * toplev.h: Similarly.
881         * dwarf2out.c (compute_section_prefix): Use lbasename instead
882         of file_name_nondirectory.
883
884 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
885
886         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
887         * mips-tfile.c: Don't #undef rindex; not used.
888
889 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
890
891         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
892         (dbx64_register_map): Declare.
893         (RETURN_ADDR_RTX): Fix for 64bit.
894         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
895         (INCOMING_FRAME_SP_OFFSET): Set to 8.
896         * i386.c (dbx64_register_map): New global array.
897         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
898         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
899         for 64bits.
900
901 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
902
903         * cppfiles.c (search_from): Use lbasename.
904         * mkdeps.c (deps_add_default_target): Use lbasename.
905
906 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
907
908         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
909         xcalloc in lieu of malloc, realloc & calloc.
910
911         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
912
913         * gengenrtl.c (xmalloc): Likewise.
914
915         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
916         really_call_* memory allocation routines.
917
918         * stmt.c (check_for_full_enumeration_handling): Use
919         really_call_calloc, not calloc.
920
921         * system.h (really_call_malloc, really_call_calloc,
922         really_call_realloc): Define.
923         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
924
925 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
926
927         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
928
929 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
930
931         * configure: Rebuilt.
932         * configure.in: Only use `lang_requires' for languages athat are
933         actually enabled.
934
935 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
936
937         * invoke.texi: Fix typo.
938         * gcc.1: Regenerate.
939
940 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
941
942         * configure.in: Prune nonexistent files from build_xm_file,
943         xm_file, and host_xm_file lists.  Warn unless they're
944         $cpu/xm-$cpu.h.
945         Don't generate *config.h here.
946         AC_SUBST all variables needed to generate *config.h.
947         * configure: Regenerate.
948         * mkconfig.sh: New helper script, from code removed from
949         configure.in.
950         * Makefile.in: Zap all MALLOC variables - no longer used
951         anywhere, and malloc.c doesn't exist.
952         Substitute in variables needed to generate *config.h.
953         Stop lying about the dependencies contained in CONFIG_H and
954         GCONFIG_H.
955         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
956         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
957         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
958         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
959         $(TM_P_H), etc. as appropriate.
960
961         * config.gcc: Zap references to deleted files.
962         * ggc-none.c: Don't include rtl.h or tm_p.h.
963
964         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
965         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
966         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
967         config/i386/xm-linux.h, config/i386/xm-linux.h,
968         config/i386/xm-next.h, config/i386/xm-openbsd.h,
969         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
970         Don't include i386/xm-i386.h.
971
972         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
973         config/i386/xm-i386.h, config/i860/xm-i860.h,
974         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
975         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
976         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
977         Delete (empty except comments, #includes of other deleted
978         files, and macros used nowhere).
979
980 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
981
982         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
983         independent on TARGET_FLAGS.
984
985 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
986
987         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
988
989         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
990         extended ones.
991         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
992         TARGET_64BIT.
993         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
994         LAST_REX_SSE_REG): define.
995         (enum reg_class): Add 'LEGACY_REGS'
996         (REG_CLASS_CONTENTS): Likewise; add extended registers.
997         (SSE_REGNO_P): Recognize extended registers.
998         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
999         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
1000         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
1001         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
1002         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
1003          REG_OK_FOR_STRREG_P): Remove.
1004         (HI_REGISTER_NAMES): Add extended registers.
1005         (ADDITIONAL_REGISTER_NAMES): Likewise.
1006         (QI_REGISTER_NAMES): Add 8bit extended registers.
1007         (DEBUG_REG): Support extended registers.
1008         * i386.c (regclass_map): Add extended registers.
1009         (dbx_register-map): Likewise.
1010         (svr4_dbx_register_map): Likewise.
1011         (print_reg): Support extended registers.
1012         (print_operand): Support 64bit operands.
1013
1014 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
1015
1016         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
1017         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
1018          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
1019          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
1020         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
1021          STACK_BOUNDARY): Set properly for 64bits.
1022         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
1023         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
1024         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
1025         (MOVE_MAX): Set to 16.
1026         (MOVE_MAX_PIECES): 8 for 64bit.
1027         (Pmode): Set to SImode.
1028
1029 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
1030
1031         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
1032
1033 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
1034
1035         * i386.h (mask_64bit): New constant.
1036         (target_64bit): New macro.
1037         (target_options): Add '64'/'32'
1038         (target_default): Define.
1039         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
1040         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
1041         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
1042
1043 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
1044
1045         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
1046
1047 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
1048
1049         * rtlanal.c (rtx_varies_p): Check operand 0 of a
1050         LO_SUM unless for_alias is set.
1051
1052 2001-03-08  Stan Shebs  <shebs@apple.com>
1053
1054         * objc/objc-act.c: Fix old typos in comments, add comments for
1055         various functions.
1056         (hash_init): Fix file name in error message.
1057         (hash_enter): Ditto.
1058         (hash_add_attr): Ditto.
1059         (continue_class): Ditto.
1060
1061 2001-03-08  Bruce Korb  <bkorb@gnu.org>
1062
1063         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
1064         wait4() can receive the signal.
1065
1066 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1067
1068         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
1069         entities.
1070         * fixinc/fixincl.x: Regenerate.
1071
1072 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1073
1074         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
1075         on Tru64 UNIX.
1076         * fixinc/fixincl.x: Regenerate.
1077
1078 2001-03-08  Richard Henderson  <rth@redhat.com>
1079
1080         * configure.in (HAVE_AS_LEB128): New assembler check.
1081         * configure, config.in: Rebuilt.
1082
1083 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
1084
1085         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
1086         TFmode too.
1087
1088 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1089
1090         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
1091         references to the MAXPATHLEN macro.
1092
1093         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
1094         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
1095         the POSIX macro.
1096
1097         * config/i386/xm-gnu.h, config/xm-gnu.h,
1098         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
1099         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
1100         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
1101         and/or unused files.
1102
1103         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
1104         doing so in various xm-*.h files.
1105
1106 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1107
1108         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
1109
1110 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
1111
1112         * configure.in (enable_shared): Support per-package shared-library
1113         enabling.
1114         * configure: Rebuilt.
1115
1116 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
1117
1118         * rs6000.md (cr logic): Add original POWER mnemonic alternative
1119         for crnot.  Set operands[5] in splitter.
1120
1121 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1122
1123         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
1124         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
1125         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
1126         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
1127         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
1128         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
1129         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
1130         to the USG macro.
1131
1132         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
1133         config/i370/xm-i370.h, config/i386/xm-dgux.h,
1134         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
1135         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
1136         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
1137         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
1138         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
1139         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
1140         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
1141         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
1142         Delete unused and/or empty files.
1143
1144         * config.gcc: Define USG in xm_defines as appropriate.  Define
1145         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
1146         macro.  Remove deleted xm-* files from $xm_files variable.
1147
1148 2001-03-07  Tom Tromey  <tromey@redhat.com>
1149
1150         * configure: Rebuilt.
1151         * configure.in: Allow config-lang.in to set `lang_requires' to list
1152         of other required languages.
1153
1154 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
1155
1156         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
1157         after its emitted.
1158         (output_prologue): Use xmalloc not oballoc.
1159         (output_epilog): Free a29k_first_epilogue_insn when finished.
1160         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
1161
1162 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
1163
1164         * builtins.c (expand_builtin_mathfn): Check
1165         flag_unsafe_math_optimizations, not flag_fast_math.
1166         (expand_builtin): Likewise
1167         * combine.c (combine_simplify_rtx): Likewise.
1168         (simplify_if_then_else): Likewise.
1169         * cse.c (fold_rtx): Likewise.
1170         * flags.h: Remove flag_fast_math.  Add
1171         flag_unsafe_math_optimizations and flag_trapping_math.
1172         * fold-const.c (negate_expr): Check
1173         flag_unsafe_math_optimizations, not flag_fast_math.
1174         (invert_truthvalue): Likewise.
1175         (fold): Likewise.  Before associating operands, check that
1176         code == MULT_EXPR, not code != MULT_EXPR.
1177         * ifcvt.c (noce_try_minmax): Check
1178         flag_unsafe_math_optimizations, not flag_fast_math.
1179         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
1180         * invoke.texi: Document -funsafe-math-optimizations and
1181         -fno-trapping-math.  Change documentation for -ffast-math.
1182         * jump.c (reversed_comparison_code_parts): Likewise.
1183         (rtx_equal_for_thread_p): Likewise.
1184         * optabs.c (emit_conditional_move): Likewise.
1185         * simplify-rtx.c (simplify_binary_operation): Likewise.
1186         (simplify_relational_operation): Likewise.
1187         (simplify_ternary_operation): Likewise.
1188         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
1189         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
1190         Add trapping-math and unsafe-math-optimizations entries to f_options.
1191         (set_fast_math_flags): New, sets flags for -ffast-math.
1192         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
1193         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
1194         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
1195
1196         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
1197         (alpha_emit_conditional_move): Initialize local_fast_math to
1198         flag_unsafe_math_optimizations, not flat_fast_math.
1199         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
1200         instead of setting flag_fast_math to 1.
1201         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
1202         not flag_fast_math.
1203         * config/i386/i386.c (override_options): Likewise
1204         * config/i386/i386.md: Likewise.
1205         * config/m68k/m68k.md: Likewise.
1206         * config/mips/mips.md: Likewise.
1207         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
1208         (rs6000_generate_compare): Likewise.
1209
1210 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
1211
1212         * Makefile.in: Set RANLIB to @RANLIB@.
1213         Remove RANLIB_TEST.
1214
1215 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
1216
1217         * fixinc/inclhack.def (djgpp_wchar_h): New test.
1218         * fixinc/fixincl.x: Regenerated.
1219
1220 2001-03-07  Richard Henderson  <rth@redhat.com>
1221
1222         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
1223
1224 2001-03-07  Richard Henderson  <rth@redhat.com>
1225
1226         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
1227         of block notes and exception handling notes.
1228
1229         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
1230         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
1231         (compile_file): ... here.
1232
1233 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1234
1235         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
1236
1237         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
1238         config.h now.  Include libiberty.h to handle alloca.
1239
1240 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
1241
1242         * c-parse.in (yylexname): New function, split out of _yylex.
1243         (objc_rid_sans_at): New table.
1244         (init_reswords): Initialize it.
1245         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
1246         retrieving the next token and checking it for significance as
1247         an ObjC keyword or string constant.
1248
1249         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
1250         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
1251
1252         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
1253         to CPP_OSTRING.
1254
1255 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
1256
1257         * config/m68k/m68k.c (const_uint32_operand): Accept any
1258         const_int on a 32-bit host.
1259
1260 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
1261
1262         * objc/objc-act.c (init_objc): Set save_lang_status,
1263         restore_lang_status, and mark_lang_status.
1264
1265 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
1266
1267         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
1268
1269 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
1270
1271         * cppinternals.texi: Update.
1272
1273 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1274
1275         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
1276         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
1277         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
1278         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
1279         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
1280         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
1281         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
1282         config/i386/xm-i386.h, config/i860/xm-i860.h,
1283         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
1284         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
1285         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
1286         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
1287         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
1288         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
1289         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
1290         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
1291         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
1292         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
1293         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
1294         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
1295         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
1296         match the defaults provided in hwint.h.
1297
1298         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
1299         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
1300
1301         * config.gcc (xm_file): Don't set to files which are deleted.
1302
1303         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
1304         guard this file against these macros being undefined.
1305
1306 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
1307
1308         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
1309         and DECL_DEFER_OUTPUT on the decl we create, before calling
1310         rest_of_decl_compilation.
1311
1312 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
1313
1314         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
1315         AC_FUNC_ALLOCA.
1316         * configure, config.in: Regenerate.
1317         * config.gcc: Remove references to deleted files.
1318
1319         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
1320         genrecog.c, rtl.c: Do not use alloca anywhere.
1321
1322         * Makefile.in, build-make, system.h, config/x-interix,
1323         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
1324         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
1325         config/arc/xm-arc.h, config/arm/xm-arm.h,
1326         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
1327         config/h8300/xm-h8300.h, config/i370/x-oe,
1328         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
1329         config/i386/x-ncr3000, config/i386/x-sco5,
1330         config/i386/xm-dgux.h, config/i860/x-sysv4,
1331         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
1332         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
1333         config/m68k/x-hp320g, config/m69k/x-mot3300,
1334         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
1335         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
1336         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
1337         config/m88k/x-sysv4, config/m88k/x-tekXD88,
1338         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
1339         config/mips/x-iris, config/mips/x-iris3,
1340         config/mips/x-sni-svr4, config/mips/x-sysv,
1341         config/mips/xm-iris6.h, config/mips/xm-mips.h,
1342         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
1343         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
1344         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
1345         config/pa/xm-papro.h, config/romp/xm-romp.h,
1346         config/rs6000/x-aix31, config/rs6000/x-aix41,
1347         config/rs6000/x-beos, config/rs6000/x-lynx,
1348         config/rs6000/x-mach, config/rs6000/x-rs6000,
1349         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
1350         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
1351         config/sparc/x-sysv4, config/sparc/xm-linux.h,
1352         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
1353         config/vax/xm-vms.h: Eradicate all references to alloca and
1354         related stuff.
1355
1356         * config/xm-alloca.h, config/clipper/x-clix,
1357         config/i386/xm-sysv4.h, config/i860/x-fx2800,
1358         config/i860/x-sysv3, config/m88k/x-sysv3,
1359         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
1360         (contained only alloca related hacks).
1361
1362         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
1363         USE_C_ALLOCA.
1364
1365 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
1366
1367         * invoke.texi: Document __FAST_MATH__.
1368
1369 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1370
1371         * crtstuff.c: Restore include of auto-host.h.
1372
1373 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
1374
1375         Put main() in a separate file, so that the language
1376         front-end can use a different main().
1377
1378         * main.c: New.
1379         * toplev.c: (main): Rename as toplev_main.
1380         * toplev.h: Declare toplev_main.
1381         * Makefile.in (OBJS): add toplev.o.
1382           (BACKEND): remove toplev.o, add main.o.
1383
1384 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
1385
1386         * cppfiles.c (search_from): Special case the empty string.
1387
1388 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
1389
1390         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
1391         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
1392         strlen or strcpy; we already know the length.
1393         (_cpp_compare_file_date): Similarly.
1394         * cpphash.h (struct cpp_reader): Delete done_initialising.
1395         (CPP_PREV_BUFFER): Delete.
1396         * cppinit.c (cpp_start_read): Don't set done_initialising.
1397         * cpplex.c (parse_string): Guarantee null-termination.
1398         (_cpp_equiv_toklists): Remove.
1399         * cpplib.c (glue_header_name): Null-terminate.
1400         (do_line): Don't leak memory.
1401         * cpplib.h (BT_WEAK): Delete.
1402         * cppmain.c (cb_ident): Strings are now null-terminated.
1403
1404 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
1405
1406         * gcc.c (convert_filename): Append executable suffix
1407         if NO_AUTO_EXE_SUFFIX is not defined.
1408         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
1409         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
1410
1411 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
1412
1413         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
1414         * c-parse.gperf, c-gperf.h: Delete.
1415         (c-gperf.h was accidently re-added to the CVS repo in the rev
1416         1.16 commit by tromey)
1417
1418 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1419
1420         * cpplex.c (_cpp_lex_token): Don't warn about directives in
1421         macro arguments when looking for the '('.
1422         * cppmacro.c (funlike_invocation_p): Set parsing_args to
1423         2 when really parsing arguments; 1 when looking for '('.
1424         Always restore the lexer position.
1425
1426 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1427
1428         * longlong.h (umul_ppmm): Don't use a multiline string.
1429
1430 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1431
1432         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
1433         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
1434         t_bool in declaration because pcc can't combine volatile with typedef
1435         types.
1436
1437 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
1438
1439         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
1440         until when it is really needed.
1441         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
1442         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
1443         * i386.md (float?i?f splitter): Don't force source operand to memory
1444         for SSE.
1445         (sse_movdfcc): Fix constraint.
1446         (sse_movdfcc splitter): Handle properly the second alternative.
1447
1448 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1449
1450         * cpplex.c (parse_string): Unconditionally pedwarn.
1451
1452 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1453
1454         * cpp.texi: Update.
1455         * cppexp.c (parse_number): Update.
1456         * cpplex.c (parse_string): Pedwarn if multiline string does not
1457         result from a system header's macro.
1458         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
1459         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
1460         for function-like macros too.
1461         * c-lex.c (lex_number): Update.
1462
1463 2001-03-03  Richard Henderson  <rth@redhat.com>
1464
1465         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
1466
1467 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
1468
1469         * combine.c (try_combine): If split with mode-changed scratch
1470         register didn't work, try the original mode.
1471
1472 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
1473
1474         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
1475         * config/c4x/c4x.h: Likewise.
1476         * stor-layout.c (compute_record_mode): Likewise.
1477         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
1478
1479 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
1480
1481         * configure.in: Kill tm.h.  Include the files in the $tm_file
1482         list in all three of config.h, hconfig.h, tconfig.h, after the
1483         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
1484         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
1485         * configure: Regenerate.
1486         * Makefile.in (clean): Don't delete tm.h.
1487
1488         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
1489         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
1490         those are not defined, set SEC and FEC to 0 and 1.
1491         * gcc.texi: Update to match.
1492
1493         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
1494         * config/fp-bit.c, config/m68k/aux-crt2.asm,
1495         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
1496         Include tconfig.h, not tm.h.
1497
1498         * config/xm-lynx.h, config/xm-std32.h,
1499         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
1500         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
1501         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
1502         config/clipper/xm-clix.h, config/convex/xm-convex.h,
1503         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
1504         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
1505         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
1506         config/i386/xm-i386.h, config/i860/xm-i860.h,
1507         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
1508         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
1509         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
1510         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
1511         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
1512         config/pa/xm-linux.h, config/pa/xm-pa.h,
1513         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
1514         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
1515         config/pj/xm-pj.h, config/romp/xm-romp.h,
1516         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
1517         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
1518         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
1519         config/v850/xm-v850.h, config/vax/xm-vax.h,
1520         config/we32k/xm-we32k.h:
1521         Don't include tm.h.
1522         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
1523
1524         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
1525         config/i370/xm-oe.h: Don't include tm.h.  Don't define
1526         SUCCESS_EXIT_CODE.
1527         * config/vax/xm-vms.h: Don't include tm.h.
1528
1529         * config/xm-lynx.h, config/avr/xm-avr.h,
1530         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
1531         Delete; made empty by above changes.
1532         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
1533         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
1534         Don't include config/xm-lynx.h or tm.h.
1535
1536         * config/xm-gnu.h: Don't include fcntl.h.
1537         * config/sparc/xm-lynx.h: Don't include sys/types.h and
1538         sys/wait.h.
1539         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
1540
1541 2001-03-02  Richard Henderson  <rth@redhat.com>
1542
1543         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
1544         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
1545
1546 2001-03-02  Richard Henderson  <rth@redhat.com>
1547
1548         * Makefile.in (OBJS): Add dwarf2asm.o.
1549         * dwarf2asm.c, dwarf2asm.h: New files.
1550         * dwarf2out.c (*): Use them.
1551         (size_of_uleb128, size_of_sleb128): Remove.
1552         (output_uleb128, output_sleb128): Remove.
1553         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
1554         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
1555         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
1556         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
1557         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
1558         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
1559         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
1560         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
1561         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
1562         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
1563         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
1564         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
1565         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
1566         (dwarf2out_frame_debug): Remove unused variables.
1567         (output_loc_operands): Don't abort on 8 byte constants if
1568         host integers are wide enough.
1569         (output_symbolic_ref): Remove.
1570         (size_of_die): Don't assume 4 byte host integers.
1571         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
1572         and end labels.
1573         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
1574         something stupid with HOST_WIDE_INT to long truncation.
1575         [CONST_DOUBLE]: Likewise.
1576
1577         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
1578         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
1579         * config/arm/unknown-elf.h: Likewise.
1580         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
1581         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
1582         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
1583         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
1584         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
1585         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
1586         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
1587         (ASM_OUTPUT_DWARF_OFFSET): Remove.
1588         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
1589         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
1590         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
1591         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
1592
1593 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1594
1595         * cselib.c (hash_rtx): Cast enums to unsigned int.
1596
1597 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1598
1599         * print-rtl.c (print_rtx): Cast enums to int for comparison.
1600         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
1601         shifts.
1602         * c-format.c (C_STD_VER): Cast to int for comparisons.
1603         (check_function_format): Cast various enums to int for &.
1604         (maybe_read_dollar_number): Likewise.
1605         (check_format_info): Likewise.
1606         (check_format_info_main): Likewise.
1607         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
1608         (safe_from_p): Likewise.
1609         * varasm.c (const_hash): Cast enum to int for %.
1610         * emit-rtl.c (init_emit_once): Use int loop variable to work around
1611         pcc enum problems with < and ++ operators.
1612         * regclass.c (init_reg_sets_1): Cast enums for comparison.
1613         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
1614         (regclass_init): Change enum class to int to iterate over reg_classes.
1615         * genrecog.c (merge_trees): Cast enums for comparison.
1616         * rtl.h (GET_CODE): Cast to enum rtx_code.
1617         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
1618         (GET_MODE): Cast to enum machine_mode.
1619         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
1620         (GET_NOTE_INSN_NAME): Cast enum to int.
1621         * tree.h (TREE_CODE): Cast to enum tree_code.
1622         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
1623         * timevar.c (timevar_print): Change loop variable id from enum to
1624         unsigned int.
1625         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
1626         * config/i386/i386.md: Use PUT_MODE for mode assignment.
1627         * toplev.c (compile_file): Cast enum DFI to int.
1628         (decode_d_option): Likewise.
1629
1630 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
1631
1632         * cppinit.c (append_include_chain): Mark "after" include file name list
1633         as a system directory.
1634         * cpp.texi: Document new behavior.
1635
1636 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
1637
1638         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
1639
1640 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
1641
1642         * cppfiles.c (struct include_file): Update.
1643         (stack_include_file): Use search_from.
1644         (cpp_included, find_include_file): Update.
1645         (cpp_execute_include): Update.  ptr->name may not be
1646         null terminated.  Use the new search_from member variable
1647         of cpp_buffer.
1648         (_cpp_compare_file_date): Similarly.
1649         (search_from): New function, similiar to actual_directory.
1650         (actual_directory): Delete.
1651         (remap_filename): Update.  loc->name may not be null terminated.
1652         (struct file_name_list): Rename search_path.  Update.
1653         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
1654         search_from and dir.
1655         (struct cpp_reader): Remove actual_dirs.
1656         * cppinit.c (struct cpp_pending): Update for renamed objects.
1657         (append_include_chain, remove_dup_dir, remove_dup_dirs,
1658         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
1659         * cpplib.h (struct cpp_options): Similarly.
1660
1661 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
1662
1663         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
1664         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
1665         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
1666         config/clipper/xm-clix.h, config/convex/xm-convex.h,
1667         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
1668         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
1669         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
1670         config/i370/xm-linux.h, config/i370/xm-mvs.h,
1671         config/i370/xm-oe.h, config/i386/xm-aix.h,
1672         config/i386/xm-i386.h, config/i386/xm-osf.h,
1673         config/i860/xm-i860.h, config/i960/xm-i960.h,
1674         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
1675         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
1676         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
1677         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
1678         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
1679         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
1680         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
1681         config/pj/xm-pj.h, config/romp/xm-romp.h,
1682         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
1683         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
1684         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
1685         config/v850/xm-v850.h, config/vax/xm-vax.h,
1686         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
1687         Do not define TRUE or FALSE.
1688
1689         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
1690         empty by above change.
1691         * config.gcc: Remove references to these files.
1692
1693         * configure.in: Detect stdbool.h.
1694         * configure, config.in: Regenerate.
1695         * system.h: Include stddef.h here if available.
1696         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
1697         Then set up a sensible boolean type at the very end.
1698
1699         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
1700         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
1701
1702         * hash.h: Delete 'boolean' typedef and related #undefs.
1703
1704         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
1705         all uses of 'boolean' with 'bool'.
1706
1707 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1708
1709         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
1710         * cppexp.c (lex): Cast enums for comparison.
1711         * cppinit.c (parse_option): Cast enum for comparison.
1712         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
1713         (cpp_output_token): Likewise.
1714         (cpp_can_paste): Cast enums for comparsion and plus/minus.
1715         (cpp_avoid_paste): Cast enums for minus and comparison.
1716
1717 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
1718
1719         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
1720         field to all array elements.
1721
1722 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
1723
1724         * cpphash.h (struct cpp_reader): Add print_version field.
1725         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
1726         just set print_version and other flags as appropriate.
1727         (cpp_post_options): Print version here if print_version is set.
1728
1729         * toplev.c (exit_after_options): New flag.
1730         (independent_decode_option): Don't exit here; just set
1731         exit_after_options.
1732         (main): Exit after calling lang_hooks.post_options if
1733         exit_after_options is true.
1734
1735         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
1736         (merge_include_chains): Adjust comment to match code.
1737
1738 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
1739
1740         * stringpool.c (set_identifier): New function.
1741         * tree.h: Prototype it.
1742
1743         * c-parse.in: Kill D_YES. If compiled for objc, call
1744         save_and_forget_protocol_qualifiers from init_reswords.
1745         * objc/objc-act.c (remember_protocol_qualifiers,
1746         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
1747         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
1748         vice versa.
1749         (save_and_forget_protocol_qualifiers): New function.
1750         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
1751
1752 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
1753
1754         * c-semantics.c (prune_unused_decls): Return error_mark_node
1755         instead of (tree) 1 to stop traversing the tree chain.
1756
1757 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
1758
1759         Fix a problem introduced by Kenner's Feb 18 change.
1760         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
1761         flag_cse_skip_blocks only temporarily, not for ever.
1762
1763 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
1764
1765         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
1766         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
1767
1768         * pa.c (emit_move_sequence): Verify operand0 is a hard register
1769         before determining its register class.
1770
1771 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
1772
1773         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
1774         from reg 4 if current_function_calls_setjmp.
1775         (gen_nop_type): New function.
1776         (ia64_emit_nops): New function.
1777         (ia64_reorg): Call it.
1778         (ia64_sched_reorder): Move code that rotates bundles up a bit.
1779
1780         * reload1.c (eliminate_regs_in_insn): Restrict the special case
1781         code not to try to optimize adds with anything but a REG destination.
1782
1783         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
1784         (INSN_PRIORITY_KNOWN): New accessor macro.
1785         * haifa-sched.c (priority): Use it instead of testing priority against
1786         zero.
1787
1788 2001-02-28  DJ Delorie  <dj@redhat.com>
1789
1790         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
1791         since that doesn't work the way gcc wants on a generic m68k.
1792
1793 2001-02-28  Richard Henderson  <rth@redhat.com>
1794
1795         * caller-save.c (save_call_clobbered_regs): Fix typo in
1796         comparison last change.
1797
1798 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
1799
1800         * i386.c (pentium4_cost): New.
1801         (m_PENT4): New macro.
1802         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
1803         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
1804         x86_integer_DFmode_moves, x86_partial_reg_dependency,
1805         x86_memory_mismatch_stall): Add Pentium4
1806         (x86_use_q_reg, x86_use_any_reg): Kill.
1807         (override_options): Add pentium4.
1808         (incdec_operand): Return 0 for pentium4.
1809         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
1810         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
1811         (TARGET_PENTIUM4): Define.
1812         (enum processor_type): Add PROCESSOR_PENTIUM4.
1813         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
1814         * i386.md (attribute "cpu"): Add pentium4.
1815         * invoke.texi (march): Add pentium4.
1816
1817 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
1818
1819         * i386.md (sse_mov?fcc*): New patterns and splitters.
1820         * i386.c (ix86_expand_movcc): Work post-reload; recognize
1821         the SSE based conditional moves.
1822
1823 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
1824
1825         * i386.md (attribute mode): Add "TI".
1826         (movsf_1): Add pxor support; remove constant propagation splitter.
1827         (movdf_integer): Likewise.
1828         (movdf_nointeger): Likewise.
1829         (movxf constant prop splitter): Handle all modes; update for SSE.
1830         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
1831         * i386.c (standard_80387_constant_p): Rewrite.
1832         (standard_sse_constant_p): New.
1833         * i386-protos.h (standard_sse_constant_p): New.
1834
1835 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
1836
1837         * i386.md (sse_setccsf, sse_setccdf): New.
1838         (sse_cmp* patterns): Use '%D' instead of outputtting condition
1839         flag directly.
1840         * i386.c (sse_comparison_operator): Accept the supported unordered
1841         comparses; be ready for fast_math.
1842         (print_operand): Support 'D'.
1843
1844 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
1845
1846         * jump.c (reversed_comparison_code): Kill.
1847
1848 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
1849
1850         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
1851         for STACK_REGS
1852
1853 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
1854
1855         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
1856         add missing '%' in constraints.
1857
1858 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
1859
1860         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
1861         for HOST_BITS_PER_WIDE_INT == 32 too.
1862
1863 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
1864
1865         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
1866         NREGS.
1867         (insert_save, insert_restore): New parameter save_mode.
1868         (init_caller_save): Update initialization of reg_save_code
1869         and reg_restore_code.
1870         (save_call_clobbered_regs):  Compute save_modes and update calls to
1871         reg_save_code and reg_restore_code.
1872         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
1873         of spill; update use of reg_restore_code.
1874         (insert_save):  Likewise.
1875         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
1876         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
1877         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
1878
1879 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
1880
1881         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
1882         noce_try_store_flag_inc, noce_try_store_flag_mask,
1883         noce_try_cmove_arith):
1884         Use reversed_comparison_code instead of reverse_comparison and
1885         can_reverse_comparison_p.
1886
1887 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
1888
1889         * jump.c (reversed_comparison_code_parts): Allow reversal of
1890         unordered compares in -ffast-math mode; reverse ordered compares
1891         for FP even w/o -ffast-math.
1892
1893 2001-02-27  Richard Henderson  <rth@redhat.com>
1894
1895         * print-rtl.c (print_rtx) [i]: Don't print field five on
1896         NOTEs other than NOTE_INSN_DELETED_LABEL.
1897
1898 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
1899
1900         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
1901         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
1902
1903 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
1904
1905         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
1906         even if walk_subtrees is 0.
1907         * c-semantics.c (prune_unused_decls): Return a non-null value to
1908         stop traversing the tree chain.
1909
1910 2001-02-27  DJ Delorie  <dj@redhat.com>
1911
1912         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
1913         register, *then* define it as the new CFA.
1914
1915 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
1916
1917         * pa.c (override_options): Promote -fpic to -fPIC.
1918         (legitimize_pic_address): Simplify due to removal of
1919         small PIC as a code generation option.
1920         (secondary_reload_class): Similarly.
1921         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
1922         (PRINT_OPERAND_ADDRESS): Similarly.
1923         * pa.md (various patterns): Similarly.
1924         (small pic lo_sum pattern): Remove.
1925
1926 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
1927                               Fergus Henderson
1928
1929         * md.texi (min, max): Document
1930
1931 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
1932
1933         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
1934         TARGET_PARTIAL_REG_DEPENDENCY.
1935         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
1936
1937 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
1938
1939         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
1940
1941 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
1942
1943         * mips.c (mips_make_temp_file): Fix thinko in last change.
1944
1945 2001-02-26  Jason Eckhardt  <jle@redhat.com>
1946
1947         * combine.c (known_cond): Do not reverse the condition when
1948         SMAX/UMAX is being considered and the condition is for equality
1949         or inequality.
1950
1951         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
1952
1953 2001-02-26  Philip Blundell  <philb@gnu.org>
1954
1955         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
1956         "armv2-*-linux".
1957         * config/arm/linux-elf.h: Remove historical relics related to
1958         above configurations.
1959         * config/arm/linux-oldld.h: Delete.
1960         * config/arm/linux-elf26.h: Delete.
1961
1962 2001-02-26  Jason Merrill  <jason@redhat.com>
1963
1964         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
1965         definitions.
1966         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
1967         recognize a tentative definition.  Lose obsolete code.
1968
1969         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
1970         variables unless necessary, either.
1971
1972 2001-02-25  Richard Henderson  <rth@redhat.com>
1973
1974         * ifcvt.c (struct noce_if_info): Add test_bb.
1975         (noce_get_alt_condition): New.
1976         (noce_try_minmax, noce_try_abs): New.
1977         (noce_operand_ok): New.
1978         (noce_process_if_block): Use them.
1979         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
1980
1981 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
1982
1983         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
1984         include.
1985
1986 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
1987
1988         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
1989         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
1990         properly.
1991         (mips_asm_file_end): Free temp_filename here.
1992
1993 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1994
1995         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
1996         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
1997
1998         * config/i386/i386.md (movstrsi): Handle FAIL case.
1999
2000 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
2001
2002         * cppinit.c (builtin_array): Update.
2003         (init_builtins): Flag builtins to warn if redefined or
2004         undefined.  Define __GXX_WEAK as a normal macro.
2005         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
2006         * cpplib.h (NODE_WARN): New flag.
2007         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
2008         Handle __STDC__ as a builtin only on Solaris.
2009         (warn_of_redefinition): Renamed from check_macro_definition.
2010         Reverse sense of test.  Always warn if NODE_WARN.
2011         (_cpp_create_definition): Use warn_of_redefinition.  Flag
2012         any macro beginning with "__STDC_" to require a mandatory
2013         warning if redefined or undefined.
2014
2015 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
2016
2017         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
2018         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
2019         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
2020         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
2021         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
2022         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
2023         Don't define any of:
2024         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
2025         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
2026         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
2027         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
2028         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
2029
2030         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
2031         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
2032         definitions.
2033
2034         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
2035         Delete now-empty file.
2036
2037         * alpha/vms.h: Define NEED_ATEXIT here...
2038         * alpha/xm-vms.h: ...not here.
2039
2040         * i386/cygwin.h: Don't define PARAMS.
2041         * mips/mips.c: Don't prototype mktemp.  Don't define
2042         P_tmpdir.  Use make_temp_file to create temporary files.
2043         Don't be clever and delete temporary files early.
2044         * config.gcc: Drop references to deleted files.  Don't define
2045         FULL_PROTOTYPES.
2046         * gcc.texi: Don't mention USE_PROTOTYPES.
2047
2048 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2049
2050         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
2051         (ix86_set_move_mem_attrs_1): Likewise.
2052         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
2053         * config/i386/i386.md (movstrsi): Call it.
2054
2055 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
2056
2057         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
2058         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
2059         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
2060         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
2061
2062         (i750a-*-*): Error here if hosting on i750a.
2063         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
2064
2065         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
2066         Remove (empty modulo comments).
2067
2068         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
2069         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
2070         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
2071         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
2072         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
2073         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
2074
2075         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
2076         Remove reference to winnt.h in comment.
2077         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
2078
2079 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2080
2081         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
2082         used to set another biv.
2083
2084 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2085
2086         * tree.h (BLOCK_DEAD): New macro.
2087         (struct tree_block): New flag, dead_flag.
2088         * print-tree.c (print_node, case 'b'): Print missing fields.
2089         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
2090         * function.c (identify_blocks): Enable test for misplaced notes.
2091         (all_blocks): Skip BLOCK_DEAD blocks.
2092         * integrate.c (integrate_decl_tree): Likewise.
2093
2094         * errors.c (internal_error, trim_filename): New functions.
2095         (fancy_abort): Call internal_error.
2096         * errors.h (internal_error, trim_filename): New declarations.
2097
2098 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
2099
2100         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
2101         2000-08-26's patch.
2102         (EXTRA_CONSTRAINT): Formatting changes.
2103
2104 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2105
2106         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
2107
2108 2001-02-23  Per Bothner  <per@bothner.com>
2109
2110         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
2111         so they can be called from java/jvspec.c.
2112         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
2113
2114 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
2115
2116         * i386.c (ix86_frame): New structure.
2117         (ix86_compute_frame_size): Kill.
2118         (ix86_compute_frame_layout): New.
2119         (ix86_save_reg): New.
2120         (ix86_can_use_return_insn_p): Use frame layout stuff.
2121         (ix86_expand_prologue): Likewise.
2122         (ix86_expand_epilogue): Likewise.
2123         (ix86_initial_elimination_offset): Likewise.
2124         (ix86_nsaved_regs): Use ix86_save_reg.
2125         (ix86_emit_save_regs): Likewise.
2126
2127 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
2128
2129         * flow.c (find_sub_basic_blocks): New function.
2130         (split_block): Be ready for basic block introduced by CODE_LABEL.
2131         (commit_one_edge_insertion): Call find_sub_basic_block.
2132
2133         * flow.c (make_edges): Add edge from entry for blocks starting with
2134         label having ALTERNATE_NAME
2135
2136 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
2137
2138         * function.c (epilogue_done): Be ready for first basic block not
2139         containing PROLOGUE_END note.
2140         (reposition_prologue_and_epilogue_notes): Avoid placing
2141         PROLOGUE_END note between BASIC_BLOCK.
2142
2143 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
2144
2145         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
2146
2147 2001-02-21  DJ Delorie  <dj@redhat.com>
2148
2149         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
2150         check for current_function_has_nonlocal_goto from 1999-11-12.
2151
2152 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2153
2154         * diagnostic.c (trim_filename): No longer static.
2155         * toplev.h (trim_filename): Declare.
2156         * rtl.c (rtl_check_failed_bounds): Call internal_error.
2157         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
2158         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
2159         (rtvec_check_failed_bounds): Likewise.
2160         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
2161
2162         * convert.c (convert_to_integer): Don't do unsigned unless result or
2163         both inputs are unsigned.
2164
2165         * fold-const.c (fold_convert): Don't call size_int_type_wide if
2166         input overflows.
2167
2168         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
2169
2170         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
2171
2172 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
2173
2174         * Makefile.in (resource.o): Add params.h dependence.
2175         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
2176         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
2177         * resource.c: Add dependence on params.h.
2178         (current_live_regs): Fix explanatory comment.
2179         (find_basic_block): Add new parameter to permit limiting search
2180         for a BARRIER.
2181         (mark_target_live_regs): Add new argument to find_basic_block call.
2182         (incr_ticks_for_insn): Likewise.
2183
2184 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
2185
2186         * diagnostic.c (output_to_stream): Rename to
2187         output_buffer_to_stream. Loses the stream parameter.
2188         (init_output_buffer): Set diagnosic_buffer's stream.
2189         (flush_diagnostic_buffer): Adjust.
2190         (default_print_error_function): Likewise.
2191         (finish_diagnostic): Likewise.
2192         (verbatim): Likewise.
2193
2194         * diagnostic.h (struct output_buffer): Add `stream' field.
2195         (output_buffer_attached_stream): New macro.
2196
2197 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
2198
2199         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
2200         check if either operand is divisible by C.
2201         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
2202         If type is signed, consider negative numbers as well.
2203
2204 2001-02-22  Richard Henderson  <rth@redhat.com>
2205
2206         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
2207         reach .text instead of gp-relative relocs.
2208         * config/ia64/crtend.asm (.init): Likewise.
2209
2210 2001-02-22  Andreas Jaeger  <aj@suse.de>
2211
2212         * extend.texi (C++ Attributes): Fix typo.
2213
2214 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
2215
2216         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
2217         functions, drop current_function_args_info.words test.
2218         (ia64_compute_frame_size): Mark syscall_linkage functions as
2219         using eight input registers.
2220
2221 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
2222         Bruce Korb  <bkorb@gnu.org>
2223
2224         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
2225         * fixinc/README: Document how to convert sed substitutions
2226         to format style c_fix-es.
2227         * fixinc/fixincl.x: regen
2228
2229 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
2230
2231         * gcc.c: Add comment explaining how to add a command-line option.
2232         Add title to specs language comment.
2233
2234 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
2235
2236         * gcc.c (cc1_options): Add "-param".
2237         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
2238         (option_map): Likewise.
2239         * toplev.c (display_help): Add entry for "--param".
2240         (independent_decode_option): Fix typographical error.
2241
2242 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
2243                               Bernd Schmidt  <bernds@redhat.com>
2244                               Jan Hubicka  <jh@suse.cz>
2245
2246         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
2247         (function_arg): Likewise.
2248
2249 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
2250
2251         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
2252
2253 2001-02-21  Kazu Hirata  <kazu@hxi.com>
2254
2255         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
2256         character.
2257         (xorsi3): Likewise.
2258
2259 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
2260
2261         * flow.c (init_propagate_block_info): Canon address and use single_set
2262         for killing dead memory stores.
2263
2264 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
2265
2266         * Makefile.in (reorg.o): Add params.h dependence.
2267         * params.def: Fix typographical error in comment.
2268         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
2269         * params.h: Modify introductory comment.
2270         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
2271         * reorg.c: Add dependence on params.h.
2272         (redundant_insn): Add parameterized throttle for search.
2273         (fill_simple_delay_slots): Add a comment explaining a variable.
2274         Move conditional out of loop, simplifying code.
2275         (fill_eager_delay_slots): Fix typographical error in comment.
2276
2277 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
2278
2279         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
2280
2281         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
2282         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
2283
2284 2001-02-21  Jason Merrill  <jason@redhat.com>
2285
2286         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
2287         (struct tree_decl): Add uninlinable bitfield.
2288         * c-decl.c (duplicate_decls): Set it.
2289         * integrate.c (function_cannot_inline_p): Check it.
2290
2291         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
2292         DW_AT_MIPS_linkage_name to abstract methods.
2293         (dwarf2out_abstract_function): Emit class context before calling
2294         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
2295         (gen_subprogram_die): Remove obsolete code.
2296         (gen_member_die): Don't include clones in the member list.
2297         (gen_decl_die): Emit abstract info for clone origin.
2298         * dwarfout.c (output_type): Don't include clones in the member list.
2299         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
2300         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
2301         DECL_ABSTRACT on a function that already has it set.
2302
2303         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
2304         (get_subprogram_die): Pass it in.
2305
2306 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
2307
2308         * flow.c (mark_set_1): Make not_dead unsigned long.  For
2309         non-pseudos, use it as a bitmask of the hard regs that
2310         don't die.
2311
2312 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2313
2314         * cppfiles.c: Update comments.
2315         (_cpp_read_file): Don't check for NULL filenames any more.
2316         * cppinit.c (cpp_start_read): Don't do canonicalization of
2317         in_fname and out_fname.  Use the passed file name exclusively.
2318         (_cpp_handle_options): Don't treat "-" as a command line option,
2319         but as a normal filename.
2320         (_cpp_post_options): Canonicalize in_fname and out_fname.
2321         * cppmain.c (printer_init): Don't check out_fname for NULL.
2322         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
2323         (init_c_lex): Update, and use "" to represent stdin to CPP.
2324         (yyparse): Update.
2325
2326 2001-02-20  Will Cohen  <wcohen@redhat.com>
2327
2328         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
2329         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
2330         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
2331         fixunstfsi_libfunc.
2332
2333 2001-02-20  Stan Shebs  <shebs@apple.com>
2334
2335         * config/rs6000/rs6000.c (output_cbranch): Output branches
2336         on separate lines instead of using ';' to separate.
2337
2338 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2339
2340         * cppinit.c (set_lang):  Move builtin handling to...
2341         (init_builtins): ...here.
2342         (_cpp_create_reader): Move call to set_lang.
2343
2344 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
2345
2346         * stmt.c (expand_return): If an attempt is made to return the
2347         error_mar_node, treat the return like a return without a value.
2348
2349 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
2350
2351         * sibcall.c (skip_copy_to_return_value): Call
2352         identify_call_return_value here, and return orig_insn if it
2353         returns zero.  Hardret and softret arguments now unnecessary.
2354         (call_ends_block_p): Don't call identify_call_return_value here.
2355
2356         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
2357         's' slots in RTXen.
2358         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
2359         * ggc.h (ggc_mark_if_gcable): Delete prototype.
2360
2361 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
2362
2363         * pa.c (move_operand): Accept code to load the address of a
2364         symbol out of the DLT as a valid move operand.
2365         (print_operand, case 'A'): New to handle generating a DLT
2366         reference for a LO_SUM expression.
2367         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
2368         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
2369
2370 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2371
2372         * README, cpp.texi, gcc.texi, version.c: Update version number to
2373         3.1.
2374         * cpp.1, gcov.1, gcc.1: Regenerate.
2375
2376 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
2377
2378         * cppfiles.c (stack_include_file): Generate dependencies
2379         here, and manage include_count here too.
2380         (PRINT_THIS_DEP): Delete.
2381         (_cpp_execute_include): Do not generate dependencies here,
2382         apart from the case of a missing header.  Do not manage
2383         include_count.
2384         (_cpp_read_file): Leave dependency generation to
2385         stack_include_file.
2386
2387 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
2388
2389         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
2390         target_cpu_default.  Remove dead assignment to
2391         target_cpu_default.
2392
2393 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
2394
2395         * regclass.c (contains_reg_of_mode): Make global.
2396         (init_reg_sets): Remove contains_reg_of_mode; take into account
2397         CLASS_MAX_NREGS when looking for the proper mode.
2398         (dump_regclass): Dump only classes considered for the pseudo.
2399         (regclass): Use contains_reg_of_mode.
2400
2401 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
2402
2403         * gcc.c (do_spec_1): 'n' for printing notices.
2404         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
2405
2406 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
2407
2408         * reg-stack.c (next_flags_user): Use current_block->end
2409         (swap_rtx_condition): Look for next user if flags don't die;
2410         give up on CALL_INSNs; use current_block->end.
2411
2412 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2413
2414         * sibcall.c (call_ends_block_p): New function.
2415         (optimize_sibling_and_tail_recursive_call): Use it.
2416
2417 2001-02-18  Kazu Hirata  <kazu@hxi.com>
2418
2419         * config/h8300/h8300.md: Update copyright.
2420         (andsi3): Do not output an extra newline character.
2421
2422 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2423
2424         * toplev.c (note_deferral_of_defined_inlined_function): Argument
2425         FNDECL may be unused.
2426
2427         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
2428         follow jumps after first run.
2429         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
2430         it doesn't change any jumps.
2431
2432 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
2433
2434         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
2435         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
2436         (mostlyclean): Corresponding changes.
2437         * rtlanal.c (hard-reg-set.h): Include.
2438         (rtx_unstable_p): Do not treat the argument pointer specially
2439         if it is not a fixed register.
2440         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
2441
2442 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2443
2444         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
2445         against last real insn in basic block.
2446         Rework to avoid gotos.
2447
2448         * Makefile.in (gcse.o): Now includes ggc.h.
2449         * gcse.c: Include ggc.h.
2450         (want_to_gcse_p): Verify expression can be in SET as valid insn.
2451         (try_replace_reg): Remove warning of uninitialize variable.
2452         (process_insert_insn): Call invalid_insn_p to validate insn.
2453         * recog.c (insn_invalid_p): Now global.
2454         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
2455         * recog.h (insn_invalid_p): New declaration.
2456
2457         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
2458
2459         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
2460         assignments from FP constants since 'Y' output code can't handle it.
2461         (eligible_for_sibcall_delay): Likewise.
2462
2463         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
2464         Call fancy_abort directly, passing args.
2465         (print_rtl_and_abort): Now a macro, like fancy_abort.
2466
2467         * final.c (output_operand_lossage): Use internal_error, not error.
2468
2469 2001-02-18  Shane Nay  <shane@agendacomputing.com>
2470
2471         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
2472         structure shift insns.
2473
2474 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
2475
2476         * invoke.texi (-fsquangle): Remove documentation.
2477         (-fname-mangling-version): Likewise.
2478
2479 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
2480
2481         * optabs.c (expand_abs): Remove reference to
2482         HAVE_contitional_arithmetic.
2483         * combine.c (simplify_set): Likewise.
2484
2485 2001-02-18  Richard Henderson  <rth@redhat.com>
2486
2487         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
2488         would be disrupted.
2489
2490 2001-02-18  Richard Henderson  <rth@redhat.com>
2491
2492         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
2493
2494         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
2495
2496         * reload1.c (reload_cse_simplify_set): Fix typo.
2497
2498 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2499
2500         * diagnostic.c (_fatal_insn): Decrement errorcount.
2501
2502         * invoke.texi (-I): Add note avoiding use for system header files.
2503
2504         * rtl.h (add_clobbers): Remove duplicate declaration.
2505         * recog.h (added_clobbers_hard_reg_p): New declaration.
2506         * genemit.c (struct clobber_pat): New field has_hard_reg.
2507         (gen_insn): Record if added clobbers clobber hard reg.
2508         (gen_split): Avoid unused warning if number of operands is 0.
2509         (output_added_clobbers_hard_reg_p): New function.
2510         (main): Call it.
2511
2512 2001-02-18  Alan Modra <alan@linuxcare.com.au>
2513
2514         * pa.c (hppa_expand_prologue): Simplify code storing return
2515         pointer.  For large (>=8k) frames with a post_store, adjust stack
2516         pointer by 8k-64 first rather than by 64.  When testing with
2517         VAL_14_BITS_P, always use the actual value rather than the value
2518         negated.  Add blockage to prevent scheduling of spills before
2519         stack frame has been created.
2520         (hppa_expand_epilogue): Simplify code loading return pointer.
2521         Allow a slightly larger range for merge_sp_adjust_with_load case.
2522         When testing with VAL_14_BITS_P, always use the actual value.
2523
2524         * pa.c (pa_adjust_insn_length): Check that block move
2525         pattern is a set before looking at operands.
2526
2527 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
2528
2529         * fold-const.c (fold_binary_op_with_conditional_arg): New
2530         function, split out from ...
2531         (fold): ... here.
2532         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
2533         conditional arms that throw exceptions.
2534
2535         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
2536         looking at a BLOCK.
2537
2538 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2539
2540         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
2541         define HAVE_DECL_* to 1 to mask potential backup declarations.
2542         * configure: Regenerated.
2543
2544 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
2545
2546         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
2547
2548 2001-02-17  Richard Henderson  <rth@redhat.com>
2549
2550         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
2551         when replacing a memory load with a register.
2552
2553 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2554                           Jan Hubicka  <jh@suse.cz>
2555
2556         * recog.c (validate_replace_src_1): New.
2557         (validate_replace_src_data): Likewise.
2558         (validate_replace_src): Use note_uses.
2559         * rtl.h (note_uses): Declare.
2560         * rtlanal.c (note_uses): New.
2561
2562 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
2563
2564         * reg-stack.c (stack_def): Make field reg unsigned.
2565         (remove_regno_note): Unsignetize parameter.
2566
2567 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
2568
2569         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
2570         shladd_operand() call.
2571
2572 2001-02-16  Bruce Korb  <bkorb@gnu.org>
2573             Rodney Brown  <RodneyBrown@mynd.com>
2574
2575         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
2576         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
2577         machine restrictions
2578         * fixinc/fixincl.x: regen
2579
2580 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2581
2582         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
2583         Don't CSE a nop.
2584         (hash_scan_insn): Clean up calls to hash_scan_set.
2585         (compute_kill_rd): REGNO now unsigned.
2586         (try_replace_reg): Rework to use simplify_replace_rtx.
2587         (cprop_jump, cprop_cc0_jump): Likewise.
2588         (cprop_insn): Call find_reg_equal_equiv_note.
2589         Reflect changes to cprop_jump and cprop_cc0_jump.
2590
2591         * recog.c (validate_replace_src): Replace in operands of
2592         ZERO_EXTRACT in SET_DEST.
2593
2594         * cse.c (new_label_ref): New variable.
2595         (insert): Set it instead of recorded_label_ref.
2596         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
2597         CODE_LABEL for this function, and not already in REG_LABEL note.
2598
2599 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
2600
2601         * resource.c (mark_referenced_resources): Fix typo in introductory
2602         comment.
2603         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
2604         string constant.
2605
2606 2001-02-16  Jason Merrill  <jason@redhat.com>
2607
2608         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
2609         NULL.
2610         (gen_subprogram_die): Don't abort on seeing a second definition if
2611         the previous one was abstract.  Don't replace an abstract instance
2612         in the lookup table.
2613
2614         * dwarf2out.c (dwarf2out_abstract_function): Rename from
2615         gen_abstract_function.
2616         * dwarf2out.h: Declare it.
2617         * toplev.c (note_outlining_of_inline_function): New fn.
2618         * toplev.h: Declare it.
2619         * integrate.c (output_inline_function): Call it.
2620         * c-decl.c (duplicate_decls): Call it when redefining an extern
2621         inline.  Don't inline the new defn.
2622
2623         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
2624
2625 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2626
2627         * .gdbinit: Rename to gdbinit.in.
2628         * gdbinit.in: New file,
2629         * configure.in: Generate .gdbinit from gdbinit.in.
2630         * configure: Regenerated.
2631         * Makefile.in (distclean): Always remove .gdbinit.
2632
2633 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
2634
2635         * objc/objc-act.c (start_class): Register implemented_classes with
2636         GC.
2637
2638 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2639
2640         * cppfiles.c (_cpp_make_system_header): Generate a file
2641         change callback.
2642
2643 2001-02-15  Jim Meyering  <meyering@lucent.com>
2644
2645         * Makefile.in (install-common): Don't depend on installdirs here.
2646         Instead, make each of the lang.install-common targets (e.g.,
2647         c++.install-common in cp/Make-lang.in) depend on it.
2648         (install-driver): Depend on installdirs.
2649
2650 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2651
2652         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
2653
2654         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
2655         do in memory.
2656
2657 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
2658
2659         * invoke.texi (--param): Document.
2660
2661 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
2662
2663         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
2664
2665 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
2666
2667         * i386.md (extendsfdf2_2): Fix constraints.
2668
2669 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
2670
2671         * i386.md (fop_df_3 splitter): Fix operand number.
2672
2673 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2674
2675         * invoke.texi (-mreg-alloc): Nuke.
2676         * i386.c (ix86_reg_alloc_order, regs_allocated,
2677         order_regs_for_local_alloc): Nuke.
2678         (override_options): Kill reg_alloc code.
2679         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
2680         (REG_ALLOC_ORDER): SSE goes before I387.
2681         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
2682         (ix86_reg_alloc_order): Likewise.
2683         * i386-protos.h (ix86_reg_alloc_order): Kill.
2684
2685 2001-02-14  Richard Henderson  <rth@redhat.com>
2686
2687         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
2688
2689 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
2690
2691         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
2692
2693 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
2694
2695         * i386-protos.h (ix86_memory_move_cost): Move offline.
2696         * i386.c (ix86_register_move_cost): Compute properly cost of
2697         SSE, MMX and i387 instructions.
2698         (*_cost): Add costs of SSE/MMX moves.
2699         (ix86_memory_move_cost): Move offline from ....; Likewise.
2700         * i386.h (MEMORY_MOVE_COST): .... here;
2701         (struct processor costs): Add new fields to represent costs
2702         of SSE/MMX moves.
2703
2704 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
2705
2706         * regclass.c (init_reg_sets_1): Reinstall the optimization of
2707         move_cost together with Matt Kraai's fix.
2708
2709 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
2710
2711         * Makefile.in (OBJS): Add params.o.
2712
2713 2001-02-14  Richard Henderson  <rth@redhat.com>
2714             DJ Delorie  <dj@redhat.com>
2715
2716         * jump.c (jump_optimize_1): When we delete a conditional jump
2717         preceeding a non-conditional jump to effectively the same place,
2718         make sure that the combined jump skips any clobber insns between
2719         the two labels.
2720
2721 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
2722
2723         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
2724
2725 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
2726
2727         * Makefile.in (toplev.o): Depend on params.h.
2728         (intergate.o): Likewise.
2729         (params.o): New target.
2730         * flags.h (inline_max_insns): Remove.
2731         * integrate.c: Include params.h.
2732         Use MAX_INLINE_INSNS instead of inline_max_insns.
2733         * params.c: New file.
2734         * params.h: Likewise.
2735         * params.def: Likewise.
2736         * toplev.c: Include params.h.
2737         (lang_independent_params): New variable.
2738         (decode_f_option): Use the param machinery instead of setting
2739         max_inline_insns.
2740         (independent_decode_option): Handle "--param name=value".
2741         (main): Register language-independent parameters.
2742
2743 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
2744
2745         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
2746
2747 2001-02-14  Richard Henderson  <rth@redhat.com>
2748
2749         * regclass.c (init_reg_sets_1): Revert last two changes.
2750
2751 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
2752
2753         * stor-layout.c (is_pending_size, put_pending_size): New functions.
2754         (variable_size): Call put_pending_size.
2755         * tree.h (is_pending_size, put_pending_size): Add prototypes.
2756         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
2757         sizes list, put newly created SAVE_EXPR there as well.
2758
2759 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
2760
2761         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
2762         (errata_find_address_regs): load_group has only 2 entries.
2763         (errata_emit_nops): Likewise.  shladd is not problematic.
2764         Clear last_group if nop was emitted.
2765         (fixup_errata): load_group has only 2 entries.
2766         Optimize.
2767
2768 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2769
2770         * c-lex.c (lex_number): Only warn traditionally for U suffix
2771         outside system macros.
2772         * cppexp.c (parse_number): Similarly.
2773         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
2774         * cppmacro.c (struct cpp_macro): New member node.
2775         (parse_args): Only warn about missing rest args if not
2776         a system macro.
2777         (funlike_invocation_p): Similarly for uninvoked funlike macros.
2778         (cpp_sys_objmacro_p): New.
2779         (_cpp_create_definition): Store the node with the macro defn.
2780         Remember if the macro is defined in a system header.
2781
2782 2001-02-13  DJ Delorie  <dj@redhat.com>
2783
2784         * configure.in (check_languages): determine languages to check
2785         * Makefile.in (check-c++): alias for check-g++
2786         (check-f77): alias for check-g77
2787         (CHECK_TARGETS): depend on configured languages
2788
2789 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
2790
2791         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
2792         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
2793         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
2794         (sqrtextendsfdf2): Disable for SSE2.
2795
2796 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
2797
2798         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
2799         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
2800         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
2801         (sqrtextendsfdf2): Disable for SSE2.
2802
2803 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
2804
2805         * i386.md (movsfcc_1): Support integer cmove instruction.
2806         (movdfcc_1): Likewise; new splitter.
2807
2808 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
2809
2810         * i386.c (output_fp_compare): Support SSE.
2811         (prepare_fp_compare_args): SSE comparisons always support memory.
2812         * i386.h (TARGET_CMOVE): SSE imply cmove.
2813         * i386.md (cmp?f2): Enable for SSE too.
2814         (cmpfp_i*): Support SSE.
2815         (cmpfp_i_sse): New.
2816         (cmpfp_i_sse_only): New.
2817         (s*, b* fp expanters): Enable for SSE too.
2818         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
2819         New patterns.
2820
2821 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
2822
2823         * regclass.c (init_reg_sets_1): Silence warning.
2824
2825 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
2826
2827         * i386.md (sqrt?f2): Change to expander.
2828         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
2829
2830 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2831
2832         * rtlanal.c (find_reg_equal_equiv_note): New function.
2833         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
2834         (simplify_gen_relational, simplify_replace_rtx): Likewise.
2835         * rtl.h: Add declarations for above functions.
2836
2837 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
2838
2839         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
2840         conditionals.
2841         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
2842         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
2843         * flow.c (mark_regs_live_at_end): Likewise.
2844         (calculate_global_regs_live): Likewise.
2845         * gcse.c (compute_hash_table): Likewise.
2846         (compute_kill_rd): Likewise.
2847         * resource.c (mark_target_live_regs): Likewise.
2848         * rtl.h (INVALID_REGNUM): New macro.
2849
2850 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
2851
2852         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
2853
2854 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
2855
2856         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
2857         for SSE.
2858
2859 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
2860
2861         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
2862         too.
2863         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
2864         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
2865         (fop_sf_1_sse, fop_df_1_sse): New patterns
2866         (fop_*): Disable float_extend and float patterns for SSE compilation.
2867         * i386.c (output_387_binary_op): Support SSE.
2868
2869 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
2870
2871         * i386.md (dummy_extendsfdf2): Support SSE2
2872         (extendsfdf2): Enable if 80387 or SSE2.
2873         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
2874         and no MIX_I387_SSE2
2875         (extendsfdf2_1_sse_only): New pattern.
2876         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
2877         of SSE.
2878         (truncdfsf2_1): Support SSE.
2879         (truncdfsf2_2): Support SSE.
2880         (truncdfsf2_2_1_sse): New pattern.
2881         (fixtruncsfsi2): Always use SSE if available.
2882         (fix_truncsfsi_sse): New pattern.
2883         (fix_truncdfsi_sse): New pattern.
2884         (floatsis?f2): Support SSE.
2885         (floatsidf2_i387): New pattern.
2886         (floatsidf2_sse): Likewise.
2887
2888 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2889
2890         * configure.in: Use "have_gnat" variable, not "gnat".
2891         * configure: Regenerated.
2892
2893         * config/sparc/sparc.c (function_value): Treat all non-record
2894         aggregate types like used to treat UNION_TYPE.
2895
2896 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
2897
2898         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
2899         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
2900         (MASK_SSE2): New.
2901         (MASK_MIX_SSE_I387): New.
2902         (TARGET_SSE): SSE2 imply SSE.
2903         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
2904         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
2905         (enum reg_class): Add new classes.
2906         (REG_CLASS_NAMES): Likewise.
2907         (REG_CLASS_CONTENTS): Likewise.
2908         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
2909         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
2910         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
2911         (CLASS_MAX_NREGS): Use new macros.
2912         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
2913         * i386.md (pushsf, movsf): Support SSE.
2914         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
2915         splitters to use ANY_FP_REGNO_P.
2916         (movdf_nointeger, movdf_integer): Likewise.
2917
2918 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
2919
2920         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
2921         (try_combine): Use it.
2922
2923 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
2924
2925         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
2926         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
2927         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
2928         (REGISTER_MOVE_COST): Likewise.
2929         * i386-protos.h (ix86_secondary_memory_needed,
2930         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
2931         * i386.c (ix86_secondary_memory_needed,
2932         ix86_preferred_reload_class, ix86_register_move_cost): New function.
2933
2934 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
2935
2936         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
2937         (HARD_REGNO_MODE_OK): Move offline to ....
2938         * i386.c (ix86_hard_regno_mode_ok) ... here;
2939         refuse all incorrect modes.
2940         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
2941
2942 2001-02-13  Richard Henderson  <rth@redhat.com>
2943
2944         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
2945         entire operator; replicate that and match_dup the operands.
2946         (cmp_ccx_arith_op_set): Likewise.
2947         (cmp_cc_arith_op_not_set): Likewise.
2948         (cmp_ccx_arith_op_not_set): Likewise.
2949
2950 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
2951
2952         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
2953
2954 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
2955
2956         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
2957         (TARGET_NO_BITFIELD_WORD): New macro.
2958         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
2959         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
2960
2961 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2962
2963         * cselib.c: New file, from simplify-rtx.c.
2964         * simplify-rtx.c: Remove cselib parts.
2965         * Makefile.in: Add cselib.o.
2966
2967 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
2968
2969         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
2970         (setup_incoming_varargs): Remove warning.
2971
2972         * config/rs6000/rs6000.c (validate_condition_mode): When
2973         flag_fast_math, allow floating-point conditionals to be reversed.
2974         (rs6000_generate_compare): When flag_fast_math, don't generate
2975         cror operations for FP conditionals.
2976
2977         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
2978         -mcall-i960.
2979         (ASM_SPEC): Likewise.
2980         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
2981         (CC1_SPEC): Likewise.
2982         (LINK_TARGET_SPEC): Likewise.
2983         (CPP_ENDIAN_SPEC): Likewise.
2984         * Makefile.in (check-consistency): New target.
2985
2986 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
2987
2988         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
2989         "return type defaults" warning for functions with return type
2990         defaulting to int.
2991         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
2992         function declarations by default rather than only when pedantic.
2993
2994 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
2995
2996         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
2997         arrays.
2998
2999 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
3000
3001         * extend.texi (Deprecated): Deprecate new initializer lists.
3002
3003 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
3004
3005         * mkdeps.c (deps_add_default_target): Robustify. Add
3006         basename component only.
3007         * cpp.texi (-M): Describe how default target is generated.
3008         * invoke.texi (-M): Likewise.
3009
3010 2001-02-12  Kazu Hirata  <kazu@hxi.com>
3011
3012         * toplev.c (push_float_handler): Remove.
3013         (pop_float_handler): Remove.
3014         * toplev.h: Remove prototypes for the above functions.
3015
3016 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
3017
3018         * c-common.c (constant_fits_type_p): New function.
3019         (convert_and_check): Use it.
3020
3021 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
3022
3023         * Makefile.in (GXX_ABI_FLAG): Don't define.
3024         * configure.in (--enable-new-gxx-abi): Remove option.
3025         * config.in: Regenerated.
3026         * configure: Likewise.
3027
3028 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
3029
3030         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
3031         basic block.
3032         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
3033         regular basic block, and arrange for all edges into it to switch
3034         to normal mode.
3035
3036 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3037
3038         * Makefile.in (distclean): Do not remove .gdbinit.
3039
3040 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
3041
3042         * Makefile.in (gcc.o): Fix typos.
3043         (protize.o): Likewise.
3044         (unprotoize.o): Likewise.
3045
3046 2001-02-11  Richard Henderson  <rth@redhat.com>
3047
3048         * tree.c (build1): Check for null operand in last change.
3049
3050 2001-02-11  Richard Henderson  <rth@redhat.com>
3051
3052         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
3053         (fold): Don't assume a constant isn't foldable.
3054         * tree.c (build): Set TREE_CONSTANT for an expression with no
3055         side-effects and constant operands.
3056         (build1): Likewise.
3057
3058 2001-02-10  Richard Henderson  <rth@redhat.com>
3059
3060         * jump.c (squeeze_notes): Revert 2000-05-12 change.
3061
3062 2001-02-10  Anthony Green  <green@redhat.com>
3063
3064         * cpp.texi (Standard Predefined): Add documentation for
3065         __OPTIMIZE_SIZE__.
3066
3067         * c-common.c (combine_strings): Improve warning message.
3068
3069 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
3070
3071         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
3072         --oformat.
3073         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
3074
3075 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
3076
3077         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
3078         CYGWIN_CROSS_DIR.
3079
3080 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
3081
3082         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
3083         fp_mode attribute.
3084
3085 2001-02-09  Nick Clifton  <nickc@redhat.com>
3086
3087         * config/arm/arm.md: Change output contraint on post inc
3088         load/store multiple patterns to be a read/write contraint.
3089
3090 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3091
3092         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
3093         .o files when using the -M options.
3094
3095 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3096             David Edelsohn  <edelsohn@gnu.org>
3097
3098         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
3099         handle DImode constants.  Use one TOC entry for SImode and smaller
3100         constants, aligned properly.
3101
3102 2001-02-08  Jason Merrill  <jason@redhat.com>
3103
3104         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
3105         about the SP adjustment for saving the static chain pointer.
3106         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
3107         offset when setting a temporary CFA register.
3108
3109 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
3110
3111         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
3112         powerpc-*-chorusos* .
3113         * config/rs6000/chorus.h : New file.
3114         * config/i386/chorus.h : New file.
3115         * config/sparc/chorus.h : New file.
3116         * config/sparc/t-chorus-elf : New file.
3117
3118 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
3119
3120         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
3121         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
3122         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
3123         (__WCHAR_TYPE__): Correct macro name.
3124
3125 2001-02-08  Richard Henderson  <rth@redhat.com>
3126
3127         * config/i386/i386.c (ix86_frame_pointer_required): New.
3128         (ix86_setup_frame_addresses): New.
3129         (struct machine_funciton): Add accesses_prev_frame.
3130         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
3131         ix86_frame_pointer_required.
3132         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
3133         (SETUP_FRAME_ADDRESSES): New.
3134         * config/i386/i386-protos.h: Update.
3135         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
3136         from FRAME_POINTER_REQUIRED.
3137         * config/i386/svr3gas.h: Likewise.
3138         * config/i386/sysv3.h: Likewise.
3139         * config/i386/v3gas.h: Likewise.
3140
3141 2001-02-08  Richard Henderson  <rth@redhat.com>
3142
3143         * config/sparc/sparc.c (function_arg_record_value_3): Fix
3144         calculation of the number of integer registers required.
3145         (function_arg_record_value): Likewise.
3146
3147 2001-02-08  Jason Merrill  <jason@redhat.com>
3148
3149         * diagnostic.c (internal_error): Say "confused" after 1 error, not
3150         two.  Print file and line with "confused" message.
3151
3152         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
3153
3154 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3155
3156         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
3157
3158 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
3159
3160         * final.c (cleanup_subreg_operands): The address of a MEM can
3161         contain SUBREGs.
3162
3163         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
3164         for asms, too.
3165
3166 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
3167
3168         * gcc.texi (Incompatibilities): Update documentation of
3169         preprocessing numbers.
3170
3171 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
3172
3173         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
3174
3175 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
3176
3177         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
3178
3179         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
3180         * gcc.c (struct compiler): Add cpp_spec field.
3181         (input_file_compiler): New variable.
3182         (do_spec_1): Allow a particular compiler to handle `%C'
3183         specially.
3184         (main): Store the current compiler in input_file_compiler.
3185         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
3186
3187 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
3188
3189         * cpphash.h (struct spec_nodes): Add n_true and n_false.
3190         * cppinit.c (cpp_create_reader): Initialize them.
3191         (append_include_chain): cxx_aware arg might be unused.
3192         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
3193         keywords and give them their phase 7 meaning.  Pedwarn about
3194         this unless '__bool_true_false_are_defined' is defined.
3195
3196 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
3197
3198         * lcm.c (optimize_mode_switching): Emit mode_set before the
3199         JUMP_INSN of an abnormal edge.
3200
3201 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
3202
3203         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
3204         a scheduling barrier at the end.
3205
3206         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
3207
3208 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
3209
3210         * config/sh/sh.md (reload_outsf): Removed.
3211         (movsf_ie): Introduce constraints for FPUL loads and stores.
3212         (reload_insf): Broaden the output constraint.
3213
3214         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
3215         defined.
3216         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
3217         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
3218
3219 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
3220
3221         * final.c: Revert my previous changes.
3222         * output.h: Make profile_label_no extern.
3223         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
3224         for generating label.
3225
3226 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
3227
3228         * config/i386/djgpp.h: Add comments about standard paths.
3229         (MD_EXEC_PREFIX): Undefine before defining.
3230         (MD_STARTFILE_PREFIX): New.
3231
3232 2001-01-30  Bruce Korb  <bkorb@gnu.org>
3233
3234         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
3235         (load_file): do not rely on load_file_data() to close file pointer
3236         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
3237         fixinc/inclhack.def(irix_limits_const): add test_text
3238
3239 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3240
3241         * cppexp.c (parse_defined): Improve diagnostics for invalid
3242         syntax.
3243
3244 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3245
3246         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
3247
3248 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
3249
3250         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
3251         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
3252         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
3253         (rs6000_output_symbol_ref): New function.
3254         (output_toc): Use VTABLE_NAME_P.
3255
3256 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3257
3258         * print-tree.c (print_node, case PARM_DECL):
3259         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
3260
3261         * stor-layout.c (reference_types_internal): New variable.
3262         (internal_reference_types): New function.
3263         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
3264         * tree.h (internal_reference_types): New declaration.
3265
3266         * cse.c (find_best_addr): Fix typo in computing cost.
3267
3268 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3269
3270         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
3271         and this is the sum of a pointer and a constant, we know the result
3272         did not overflow.
3273         (num_sign_bit_copies, case PLUS): Likewise.
3274         * explow.c (convert_memory_address): Remove opposite SUBREG.
3275         * function.c (instantiate_new_reg): New function (from common code).
3276         (instantiate_virtual_regs_1): Call it.
3277         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
3278         if pointers sign- or zero-extend.
3279         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
3280         If pointers extend unsigned, use inside of SUBREG.
3281         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
3282
3283 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
3284
3285         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
3286         subdir of gcc_gxx_include_dir.
3287         (gcc_gxx_target_include_dir): Remove.
3288
3289 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
3290
3291         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
3292         (dwarf2out_frame_debug_expr): Revise introductory comments to add
3293         a high-level description.
3294
3295 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
3296
3297         * final.c: Move the declaration of profile_label_no to ...
3298         * output.h: ... here.
3299         * function.c (expand_function_start): Call PROFILE_HOOK.
3300         * config/rs6000/aix.h: Define PROFILE_HOOK.
3301         * config/rs6000/rs6000-protos.h: output_profile_hook new.
3302         * config/rs6000/rs6000.c (output_profile_hook): Define.
3303         (output_prolog): Do nothing for ABI_AIX as it is taken care by
3304         output_profile_hook.
3305         tm.texi : Explain new macro PROFILE_HOOK.
3306
3307 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
3308
3309         * extend.texi (Extended Asm): Do not say that semicolon is always
3310         a valid line-breaking character for GNU assemblers.  Use
3311         newline-tab as the most commonly supported syntax.  Use
3312         newline-tab rather than semicolon in multi-insn examples.
3313
3314 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3315
3316         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
3317
3318 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3319             David Edelsohn  <edelsohn@gnu.org>
3320
3321         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
3322         code for AIX, even without flag_pic.
3323
3324 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
3325
3326         * c-typeck.c (common_type): push and pop binding level around
3327         calling common_type on function parameters.
3328
3329 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
3330
3331         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
3332
3333 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3334
3335         * config/mips/mips.c (override_options): Fix typo in last change.
3336         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
3337         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
3338
3339 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
3340
3341         * invoke.texi (-fdump-class-layout): Document.
3342         (-fdump-translation-unit): Use `=' as filename separator.
3343
3344 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
3345
3346         * Makefile.in (s-mlib): Don't build multilibs if
3347         --disable-multilib.
3348         (DRIVER_DEFINES): Adjust accordingly.
3349         (gcc.o): Likewise.
3350         (protoize.o): Likewise.
3351         (unprotoize.o): Likewise.
3352         * configure.in: Recognize --enable-multilib.
3353
3354 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
3355
3356         * Makefile.in (DRIVER_DEFINES): Fix quoting.
3357
3358         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
3359         * configure.in: Remove --enable-libstdcxx_v3 support.
3360         * configure: Regenerated.
3361
3362 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3363
3364         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
3365         Call abort instead of fatal.
3366         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
3367         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
3368         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
3369         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
3370         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
3371         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
3372
3373         * diagnostic.h (set_internal_error_function): Renamed.
3374         * toplev.h (internal_error): Renamed from fatal.
3375         (pfatal_with_name): Deleted.
3376         (fatal_io_error): Now has printf-style arguments.
3377         * diagnostic.c (pfatal_with_name): Deleted.
3378         (fatal_io_error): Rework to have args in printf-style.
3379         (set_internal_error_function): Renamed from set_fatal_function.
3380         (internal_error): Renamed from fatal.
3381         (error_recursion, fancy_abort): Call internal_error instead of fatal.
3382         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
3383         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
3384         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
3385         * flow.c (verify_flow_info): Likewise.
3386         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
3387         * config/mips/mips.c (save_restore_insns): Likewise.
3388
3389         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
3390         * flow.c (verify_flow_info): Likewise.
3391         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
3392         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
3393         (avr_normalize_condition): Likewise.
3394         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
3395         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
3396         (limit_reload_class, double_reg_to_memory): Likewise.
3397         (print_operand_address, emit_1600_code_shift): Likewise.
3398         (gen_tst_reg, gen_compare_reg): Likewise.
3399         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
3400         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
3401         Deleted.
3402         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
3403
3404         * c-parse.in (methoddef): Call fatal_error instead of fatal.
3405         * objc/objc-act.c (build_ivar_chain): Likewise.
3406         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
3407         pfatal_with_name.
3408         * graph.c (clean_graph_dump_file): Likewise.
3409         * profile.c (init_branch_prob): Likewise.
3410         * objc/objc-act.c (objc_init): Likewise.
3411
3412         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
3413         * config/avr/avr.c (avr_override_options): Likewise.
3414         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
3415         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
3416         * config/h8300/h8300.c (h8300_init_once): Likewise.
3417         * config/mips/mips.c (override_options): Likewise.
3418         * config/i386/i386.c (override_options): Likewise, rework.
3419         * config/m68k/m68k.c (override_options): Likewise.
3420
3421         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
3422         instead of fatal.
3423         * config/mips/mips.c (print_operand): Likewise.
3424         * hash.c (hash_allocate): Don't check for failure returns from
3425         obstack functions that can't fail.
3426         (hash_table_init_n, hash_table_init): Likewise; also now return void.
3427         * hash.h (hash_table_init_n, hash_table_init): Now return void.
3428         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
3429         (get_object_reference): Likewise.
3430
3431 2001-02-04  Nick Clifton  <nickc@redhat.com>
3432
3433         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
3434         StrongARM1110, 10TDMI, and 1020T.
3435
3436 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3437
3438         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
3439
3440 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
3441
3442         * config/sh/sh.md (movdf load split): Pass register number to
3443         FP_OR_XD_REGISTER_P.
3444
3445 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
3446
3447         * cppinit.c (BC): New macro.
3448         (builtin_array): Add __GXX_WEAK__.
3449         * cpplib.h (builtin_type): Add BT_WEAK.
3450         * cppmacro.c (builtin_macro): Handle BT_WEAK.
3451         * defaults.h (SUPPORTS_ONE_ONLY): Define.
3452         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
3453
3454 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
3455
3456         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
3457
3458 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3459
3460         * cpphash.h: Rename _ALIGN POOL_ALIGN.
3461         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
3462
3463 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3464
3465         * cpphash.h: Rename ALIGN _ALIGN.
3466         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
3467
3468 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
3469
3470         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
3471         compilation environment.
3472         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
3473         control over location of cygwin includes and libs.
3474
3475 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
3476
3477         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
3478
3479 2001-02-02  lars brinkhoff  <lars@nocrew.org>
3480
3481         * md.texi (Standard Names): remove reference to spur.md.
3482
3483 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
3484
3485         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
3486         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
3487         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
3488         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
3489         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
3490
3491 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3492
3493         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
3494         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
3495         number before reload.
3496         (c4x_adjust_cost): Return zero before reload.
3497         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
3498         split before reload.
3499
3500 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3501
3502         * c4x.c (c4x_hard_regno_rename_ok): New.
3503         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
3504         * c4x.h (HARD_REGNO_RENAME_OK): Define.
3505
3506 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3507
3508         * diagnostic.h: Add missing "extern" in all declarations.
3509
3510 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
3511
3512         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
3513         as for gcc_gxx_include_dir.
3514
3515 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3516
3517         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
3518
3519 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
3520
3521         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
3522         label before alignment to be used as the braf base address.
3523         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
3524         branches.
3525         (casesi_jump_2): Require at least TARGET_SH2.
3526
3527         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
3528         truncation to 32-bit doubles on -m3e and -m4-single-only.
3529
3530 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
3531
3532         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
3533         the default when building a shared object.
3534         (init_spec): Use it.
3535         * testsuite/lib/g++.exp: Include the directory where libgcc
3536         is located to the LD_LIBRARY_PATH list.
3537         * invoke.texi (-shared-libgcc): Document the cases in which
3538         GCC defaults to using the shared libgcc.
3539
3540 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
3541
3542         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
3543         unsigned is wide enough.
3544         (BITS_PER_SI): New.
3545         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
3546         (si_to_float): Likewise.
3547         (float_to_si, float_to_usi): Use BITS_PER_SI.
3548
3549 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
3550
3551         * dwarf2out.c: Added explanation of abbreviations.
3552         (def_cfa_1): Added comments listing DWARF2 instructions.
3553         (cfa_temp_reg): Removed in favor of cfa_temp.
3554         (cfa_temp_value): Removed in favor of cfa_temp.
3555         (cfa_temp): New global variable.
3556         (dwarf2out_frame_debug_expr): Added extensive introductory
3557         comments explaining the function's transformations.  Revised to
3558         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
3559         (dwarf2out_frame_debug): Revised to use cfa_temp.
3560         (output_aranges): Cast as "unsigned" to avoid warning.
3561         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
3562         explain which instructions must be marked.
3563
3564 2001-02-01  Richard Henderson  <rth@redhat.com>
3565
3566         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
3567         new instruction.
3568
3569 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
3570
3571         * config/sh/crt1.asm (main_k): Modified so that start calls
3572         ___setup_argv_and_call_main.
3573
3574 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3575
3576         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
3577         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
3578         and AVOID_LPASTE is cleared on meeting an unescaped newline.
3579         * cppmacro.c (builtin_macro): Set builtin flags here.
3580         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
3581         (replace_args): Clarify intent.
3582         (cpp_get_token): Macro expansion tokens get the saved flags.
3583         Update.
3584         * cppmain.c (scan_buffer): Remove now-redundant print.printed
3585         check.
3586
3587 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
3588
3589         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
3590         2001-Jan-29.
3591
3592 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3593
3594         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
3595         returns Pmode pseudo, but we need ptr_mode.
3596         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
3597         Remove bogus conversions; use HOST_WIDE_INT for size.
3598         Don't use TARGET if wrong mode.
3599
3600         * config/i386/i386.c (ix86_compute_frame_size): Allow
3601         stack_alignment_needed to be non-default even if size is zero.
3602
3603 2001-01-31  Alan Modra <alan@linuxcare.com.au>
3604
3605         * (hppa_init_pic_save): Emit the pic offset table
3606         reg save after last_parm_insn.
3607         * pa.c (hppa_init_pic_save): New function.
3608         * pa.h (hppa_init_pic_save): Declare.
3609         * pa.md (call, call_value, sibcall, sibcall_value): Use
3610         the above instead of duplicated code.
3611
3612         * pa.c (hppa_encode_label): Correct size of alloca buffer
3613         so we don't overrun it.  Correct leading `*' case.
3614         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
3615         need to handle `*@'.
3616         (FUNCTION_NAME_P): Likewise.
3617
3618 2001-01-31  Richard Henderson  <rth@redhat.com>
3619
3620         * config.gcc (alpha-osf5): Use float-i128.h.
3621
3622         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
3623         * config/float-i32.h: Likewise.
3624         * config/float-i64.h: Likewise.
3625         * config/float-sh.h: Likewise.
3626         * config/float-sparc.h: Likewise.
3627
3628 2001-01-31  DJ Delorie  <dj@redhat.com>
3629
3630         * expmed.c (extract_bit_field): allow non-integral modes if we
3631         want to extract a whole register from itself.
3632
3633 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
3634
3635         * c-typeck.c (set_init_index): If first is equal to last, assume as
3636         if it was not a range at all.
3637
3638 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
3639
3640         * config/fp-bit.c: Include tm.h.
3641         (float_to_si): Don't assume SImode is 32-bits wide.
3642         (float_to_usi): Likewise.
3643
3644 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
3645
3646         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
3647         incomplete type.
3648         (typename): Call pending_xref_error after parsing typed_typespecs.
3649         * c-decl.c (lookup_tag): Give error immediately rather than
3650         leaving it pending if the tag of the wrong type is in the same
3651         binding level.
3652         (xref_tag): Don't pedwarn for forward declarations of enum types
3653         here.
3654         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
3655         and enum tags.
3656
3657 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
3658
3659         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
3660
3661 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
3662
3663         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
3664         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
3665
3666 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
3667
3668         * cpphash.h (struct cpp_reader): New saved_flags.
3669         * cppmacro.c (cpp_get_token): Use saved_flags to remember
3670         to avoid a paste after a pasted token.
3671
3672 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
3673
3674         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
3675         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
3676         Wtype_MIN instead of LONG_MIN.
3677
3678 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
3679
3680         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
3681         README file.
3682         * fixinc/fixincl.x: Regenerated.
3683         * fixinc/inclhack.def (irix_limits_const): New definition to
3684         convert "const" to "__const" in limits.h.
3685
3686 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
3687
3688         * fixinc/genfixes (AG): Fix "autogen4" thinko.
3689
3690 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
3691
3692         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
3693         when register dies in the insn.
3694
3695 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
3696
3697         * diagnostic.c (fatal): Fix word wrap.
3698
3699 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
3700
3701         * combine.c (try_combine): Fix SUBREG setting for
3702         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
3703
3704 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3705
3706         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
3707         comparison codes.
3708
3709 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
3710
3711         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
3712         is not NULL.
3713         * toplev.c (decode_W_option): Update warn_larger_than
3714         unconditionally for each processed switch.
3715
3716 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3717
3718         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
3719         to NULL_RTX.
3720         (hppa_expand_prologue): Delete code to save pic offset table register
3721         in the function prologue.
3722         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
3723         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
3724         table register at the beginning of the function after the prologue.
3725
3726 2001-01-29  lars brinkhoff  <lars@nocrew.org>
3727
3728         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
3729
3730 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3731             Jeff Law <law@redhat.com>
3732
3733         * pa.md (return): Revise comment for trivial return.
3734         (return_internal): Non-trivial return pattern for non-PIC code.
3735         (return_internal_pic): Non-trivial return pattern for PIC code.
3736         It uses the PIC register to ensure it is restored after
3737         function calls.
3738         (epilogue): Generate appropriate return for PIC and non-PIC code.
3739
3740 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
3741
3742         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
3743
3744 2001-01-29  DJ Delorie  <dj@redhat.com>
3745
3746         * combine.c (if_then_else_cond): Pass the correct mode to
3747         operand_subword() for constants.
3748
3749 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
3750
3751         * config/i386/cygwin.h: Add w32api to include search.  Search different
3752         directories in a cross-build environment.
3753
3754 2001-11-29  Tim Josling  <tej@melbpc.org.au>
3755
3756         * tree.h (TYPE_STUB_DECL): Add documentation.
3757
3758 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
3759
3760         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
3761         (sdbout_field_types): Likwise.  Fix use of host_integerp.
3762
3763 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
3764
3765         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
3766         cygwin.h.
3767
3768 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
3769
3770         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
3771         to use flag_gnu_linker.
3772
3773 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
3774
3775         * cpplib.c (T_BAD_DIRECTIVE): Remove.
3776         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
3777
3778 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3779
3780         * tree.c, tree.h (build_parse_node): Remove; was identical to
3781         build_nt.
3782         * c-lang.c (start_cdtor), objc/objc-act.c
3783         (build_module_descriptor): Use build_nt instead of
3784         build_parse_node.
3785
3786 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
3787
3788         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
3789         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
3790         not have any upper bits set.
3791
3792 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
3793
3794         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
3795
3796 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3797
3798         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
3799
3800         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
3801
3802         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
3803         (integer_minus_one_node): Define.
3804
3805 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
3806
3807         * Makefile.in (bootstrap2-lean): Fix typo.
3808
3809 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3810
3811         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
3812         : Don't set fe_value.
3813         * cpplib.h (AVOID_LPASTE): New flag.
3814         (struct cpp_hashnode): Remove fe_value.
3815         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
3816         * cppmacro.c (builtin_macro): Don't set flags here.
3817         (replace_args): Set AVOID_LPASTE flag on first token of an
3818         argument, and the token following it.
3819         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
3820         macro expansion, and on the token following it.  Do it for
3821         builtins too.
3822         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
3823
3824 2001-01-27  Richard Henderson  <rth@redhat.com>
3825
3826         * config/alpha/t-ieee: Remove multilibbing.
3827         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
3828
3829 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3830
3831         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
3832
3833         * Makefile.in: Remove all dependencies on defaults.h.
3834         * builtins.c: Don't include defaults.h.
3835         * c-common.c: Likewise.
3836         * c-decl.c: Likewise.
3837         * c-pragma.c: Likewise.
3838         * c-typeck.c: Likewise.
3839         * combine.c: Likewise.
3840         * i386.c: Likewise.
3841         * frame-ia64.c: Likewise.
3842         * cppexp.c: Likewise.
3843         * crtstuff.c: Likewise.
3844         * dbxout.c: Likewise.
3845         * dwarf2out.c: Likewise.
3846         * dwarfout.c: Likewise.
3847         * emit-rtl.c: Likewise.
3848         * except.c: Likewise.
3849         * expr.c: Likewise.
3850         * final.c: Likewise.
3851         * frame-dwarf2.c: Likewise.
3852         * libgcc2.c: Likewise.
3853         * optabs.c: Likewise.
3854         * profile.c: Likewise.
3855         * sdbout.c: Likewise.
3856         * toplev.c: Likewise.
3857         * tradcif.y: Likewise.
3858         * tree.c: Likewise.
3859         * varasm.c: Likewise.
3860
3861 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3862
3863         * builtins.c (expand_builtin_fputs): Use size_one_node when
3864         transforming into fwrite.
3865
3866 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
3867
3868         * extend.texi (Attribute Syntax): New section.
3869
3870 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
3871
3872         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
3873         they didn't need fixing.
3874
3875 2001-01-27  Janis Johnson <janis@us.ibm.com>
3876
3877         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
3878         if appropriate.
3879         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
3880         to remove macro definitions that are duplicated from elfos.h.
3881
3882 2001-01-27  Richard Henderson  <rth@redhat.com>
3883
3884         * config/i386/sco5gas.h: Move ...
3885         * config/usegas.h: ... here.
3886         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
3887
3888 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
3889
3890         * c-typeck.c (struct constructor_stack): Add range_stack member.
3891         (really_start_incremental_init): Clear it.
3892         (push_init_level): Save constructor_range_stack and clear it if
3893         pushing explicit braces.
3894         (pop_init_level): abort if constructor_range_stack is non-zero at
3895         explicit closing brace.  Restore saved constructor_range_stack if
3896         not implicit.
3897
3898 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
3899
3900         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
3901         into register was forced into memory.
3902
3903 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
3904
3905         * Makefile.in: Remove uses of + before $(MAKE).
3906
3907 2001-01-26  Richard Henderson  <rth@redhat.com>
3908
3909         * stmt.c (cost_table): Remove.
3910         (COST_TABLE, cost_table_initialized): New.
3911         (estimate_case_costs): Use the later instead of the former.
3912         (balance_case_nodes): Likewise.
3913
3914 2001-01-26  Richard Henderson  <rth@redhat.com>
3915
3916         * alias.c (objects_must_conflict_p): Read-only slots may not
3917         conflict despite having the same type.
3918
3919 2001-01-27  Michael Hayes  <mhayes@redhat.com>
3920
3921         * loop.c (loop_giv_reduce_benefit): Copy mode size into
3922         int variable.
3923         (check_ext_dependant_givs): Initialise u_start_val and
3924         u_end_val.
3925         (load_mems): Make last_max_reg unsigned.
3926         (try_swap_copy_prop): Use INSN_P and initialise set.
3927
3928 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
3929
3930         * README.AVR : Removed.
3931
3932 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
3933
3934         * pa-64.h (text_section): Remove declaration.
3935
3936         * pa.md (return_internal): Remove mode on PIC register use.
3937
3938 2001-01-25  lars brinkhoff  <lars@nocrew.org>
3939
3940         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
3941         ASM_CLOSE_PAREN): fix typos.
3942
3943 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
3944
3945         * acconfig.h: Define `const' to the empty string if neither
3946         __STDC__ nor __cplusplus is defined.
3947         * config.in: Regenerated.
3948
3949 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
3950
3951         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
3952         * collect2.c (main): Delete importf.  Add ".obj" file extension.
3953         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
3954         (aix_std_libs): Add additional AIX libraries to skip.
3955         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
3956         * config/rs6000/aix51.h: New file.
3957
3958 2001-01-25  Michael Hayes  <mhayes@redhat.com>
3959
3960         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
3961         (loop_insn_emit_before): No longer static.
3962         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
3963         (loop_givs_rescan, load_mems): Likewise.
3964         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
3965         (maybe_eliminate_biv_1):
3966         (move_movables): Replace emit_call_insn_before with
3967         loop_call_insn_hoist.
3968         * loop.h (loop_insn_emit_before): Add.
3969         * unroll.c (copy_loop_body): Replace emit_insn_before with
3970         loop_insn_emit_before.
3971
3972 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
3973
3974         * diagnostic.c (fatal): Request preprocessed source.
3975
3976 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
3977
3978         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
3979         olddecl has argument types and newdecl has none, use the argument
3980         types from olddecl.
3981
3982 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
3983
3984         * dwarf2out.c (prefix_of): New function.  Determine longest common
3985         prefix of the two arguments.  The units are whole path components.
3986         (output_file_names): When adding a new directory find the one entry
3987         with the longest common prefix already in the list.  Artificially
3988         generate entry if there is none for this prefix.
3989         Fix test to check whether the zeroth directory entry is used.
3990
3991 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
3992
3993         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
3994         Changed all callers.  Take it into account when deciding if a
3995         previously loaded value matches.
3996
3997 2001-01-24  Richard Henderson  <rth@redhat.com>
3998
3999         * reload.c (find_reloads_subreg_address): Fail the substitution
4000         if the resulting address is insufficiently aligned.
4001
4002 2001-01-24  DJ Delorie  <dj@redhat.com>
4003
4004         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
4005         check the original operand's mode also.
4006         * simplify-rtx.c (simplify_ternary_operation): Ditto.
4007
4008 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
4009
4010         * c-parse.in (cast_expr): Move compound literals from here ...
4011         (primary): ... to here.  Use standard terminology "compound
4012         literal" instead of "constructor expression".
4013
4014 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
4015
4016         * gcc.1, cpp.1: Regenerate.
4017
4018 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
4019
4020         * calls.c (emit_library_call_value_1): Memory slot for
4021         pass-by-reference argument should have the mode of the argument,
4022         not of the pointer to it.
4023
4024 2001-01-24  Tom Tromey  <tromey@redhat.com>
4025
4026         * gcc.texi (G++ and GCC): Mention gcj manual.
4027         (Standards): Link to section of manual mentioning gcj/Java
4028         compatibility.
4029
4030 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
4031
4032         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
4033         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
4034         * tradcpp.c (main): Add -imacros or -include'd dependencies
4035         for -M*.
4036         * cpp.texi (-M, -MM): Document -M -include behaviour.
4037
4038 2001-01-24  Roger Collins <roger@ProProject.com>
4039
4040         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
4041
4042 2001-01-24  Will Cohen  <wcohen@redhat.com>
4043
4044         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
4045         whether registers are 32 bits or 64 bits in size.
4046
4047 2001-01-24  Ben Elliston  <bje@redhat.com>
4048
4049         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
4050
4051 2001-01-24  Richard Henderson  <rth@redhat.com>
4052
4053         * config/alpha/alpha.md (builtin_longjmp_internal): New.
4054         (builtin_longjmp): Use it instead of emit_indirect_jump.
4055
4056 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4057
4058         * bb-reorder.c (make_reorder_chain_1): Handle case where
4059         jump edge goes to the same block as the fallthru edge.
4060
4061 2001-01-23  Jim Wilson  <wilson@redhat.com>
4062
4063         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
4064         * frame.h (__ia64_personality_v1): Add prototype.
4065         * libgcc2.c (ia64_throw_helper): Change personality declaration to
4066         prototype form.  Add void * cast to first argument to personality
4067         call.
4068         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
4069         (asctoe113): Likewise.
4070         * config/ia64/frame-ia64.c: Include eh-common.h.
4071         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
4072         prototypes.
4073         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
4074         to dump parameter.
4075         (itanium_split_issue): Add prototype.
4076         (gen_nop_type): Ifdef out.
4077         (find_best_packet): Initialize best_packet.
4078         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
4079         result.
4080         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
4081         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
4082         (flushrs): Add explicit stop bit at end.
4083         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
4084         trailing \ to >.
4085
4086 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
4087
4088         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
4089         of EH symbols.
4090         * libgcc2.c (__terminate_func): Make variable static.
4091         (__terminate_set_func): New function to set __terminate_func.
4092         * libgcc2.h (__terminate_func_ptr): New typedef.
4093         (__terminate_set_func): New function.
4094
4095 2001-01-23  Richard Henderson  <rth@redhat.com>
4096
4097         * flow.c (init_propagate_block_info): Don't consider unchanging
4098         memories for dead frame store elimination.
4099
4100 2001-01-23  Richard Henderson  <rth@redhat.com>
4101
4102         * varasm.c (UNIQUE_SECTION): Move default implementation ...
4103         * defaults.h: ... here.
4104
4105 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4106
4107         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
4108
4109 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4110
4111         * c-lex.c (lex_charconst): Fix typo: s/p/str.
4112
4113 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4114
4115         * rs6000.h (rs6000_return_addr): Move prototype from here...
4116         * rs6000-protos.h (rs6000_return_addr): ...to here.
4117         (rs6000_init_expanders): Delete prototype.
4118
4119 2001-01-23  Nick Clifton  <nickc@redhat.com>
4120
4121         * invoke.texi: Replace , with \, inside @gccoptlist macros.
4122         (Spec Files): Document %B and %j and %. and %v3 and %M and
4123         %{S*&T} spec switches.
4124
4125 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4126
4127         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
4128
4129 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
4130             Neil Booth  <neil@daikokuya.demon.co.uk>
4131
4132         * cpperror.c: Merge handlers of PEDWARN and WARNING.
4133         Have -Werror make pedantic warnings errors, like the
4134         rest of GCC.
4135
4136 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
4137
4138         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
4139
4140 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
4141
4142         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
4143         * integrate.c (expand_inline_function): Initialize them.
4144         (subst_constants): If changing COMPARE so that both its arguments
4145         will be VOIDmode and the comparison mode will be lost, note
4146         compare_mode.  Use the recorded compare_mode to optimize
4147         IF_THEN_ELSE.
4148
4149 2001-01-23  Jason Merrill  <jason@redhat.com>
4150
4151         * dwarf2out.c (new_die): Use xcalloc.
4152         (output_die): Abort rather than emit a local reference to offset 0.
4153
4154 2001-01-17  Andrew Haley  <aph@redhat.com>
4155
4156         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
4157         of a saved register; return NULL instead.
4158         (copy_reg): Take a pointer to a source register rather than a
4159         frame_state.
4160         (next_stack_level): Remember the address in the stack frame of all
4161         saved registers.
4162         Use the saved register pointer array as the source of the CFA.
4163         (throw_helper): Rewrite.  Unwind once rather than twice and keep
4164         track of saved registers as we go.
4165
4166 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4167
4168         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
4169         * c4x.c (c4x_legitimize_reload_address): Remove.
4170         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
4171         reload address for ldp(k) insn.
4172
4173 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
4174
4175         * pa.md (return_internal): Add a USE of the PIC register to ensure
4176         it is restored after each call.
4177         (return expander): Corresponding changes.
4178
4179 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4180
4181         * rs6000.h (INIT_EXPANDERS): Delete.
4182         (RETURN_ADDR_RTX): Call rs6000_return_addr().
4183         * rs6000.c (rs6000_override_options): Call *_machine_status from
4184         here...
4185         (rs6000_init_expanders): ...instead of here. Delete.
4186         (rs6000_mark_machine_status): New function.
4187         (rs6000_init_machine_status): Use xcalloc.
4188         (rs6000_return_addr): Generate RTX for the return address.
4189         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
4190         (rs6000_stack_info): Use it.
4191
4192 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
4193
4194         * gthr-win32.h: Include errno.h to get a declaration for
4195         EINVAL and _mingw.h if the target is mingw32.
4196
4197 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
4198
4199         * cpp.texi: Correct typos.
4200
4201 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4202
4203         * explow.c (probe_stack_range): Ensure value passed to
4204         stack_check_libfunc is ptr_mode, not Pmode.
4205
4206 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
4207
4208         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
4209         case, don't use operand_subword to calculate a SUBREG that is
4210         wider than a word.
4211
4212         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
4213
4214 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4215
4216         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
4217         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
4218         valid.  If not replace it by equivalent insns.
4219
4220 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4221
4222         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
4223         contains SYMBOL_REF, LABEL_REF and CONST_INT.
4224         (c4x_U_constraint, symbolic_address_operand): Likewise.
4225         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
4226         memory.
4227         (c4x_r11_set_p, c4x_check_laj_p): New functions.
4228         * c4x-protos.h (c4x_check_laj_p): Add prototype.
4229         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
4230         anulling slot because of silicon bug.
4231         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
4232
4233 2001-01-22  Alan Modra <alan@linuxcare.com.au>
4234
4235         * cppexp.c (parse_charconst):  Change `mask' type to agree
4236         with parse_escape.
4237
4238 2001-01-21  Richard Henderson  <rth@redhat.com>
4239
4240         * config/i386/i386.c (ix86_asm_file_end): Disable putting
4241         pic_label_name in a linkonce section.
4242
4243 2001-01-17  Philipp Thomas  <pthomas@suse.de>
4244
4245         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
4246         found in libintl.
4247         * configure: Regenerate.
4248
4249 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
4250
4251         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
4252         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
4253
4254 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
4255
4256         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
4257         If REVERSE nonzero then condition code in X must be reversed.
4258         (encode_section_info): Optimise if/else.
4259         (avr_function_value): Fix formatting.
4260
4261         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
4262         (difficult_branch): Likewise.
4263         (rvbranch): Likewise.
4264         (difficult_rvbranch): Likewise.
4265
4266         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
4267
4268         * config/avr/libgcc.S: Fix comment.
4269
4270 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
4271
4272         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
4273
4274 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
4275
4276         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
4277
4278 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
4279
4280         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
4281         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
4282         * configure, config.in: Regenerate.
4283         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
4284         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
4285         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
4286         (doprint.o): New rule.
4287
4288 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
4289
4290         * c-typeck.c (digest_init): Handle boolean types as scalars.
4291
4292 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4293
4294         * stmt.c (expand_return): Don't return anything if size is zero.
4295         Delete redundant assignment to BYTES.
4296         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
4297
4298 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
4299
4300         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
4301         the same as the default library function names.
4302         * config/avr/avr.md: Document special characters after '%'.
4303         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
4304         knowing which of the call-used registers are really clobbered.
4305         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
4306         New.  Both quotient and remainder from one libgcc.S call.
4307         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
4308         clobber as few registers as possible.
4309         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
4310
4311 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
4312
4313         * cppmacro.c (funlike_invocation_p): Don't move back up to the
4314         context of the top of the stack.
4315
4316 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
4317
4318         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
4319         (fixup_var_refs_insns): ...here.
4320
4321 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
4322
4323         * function.c (fixup_var_refs_insns): Break up into
4324         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
4325         [loop over entire insn list], and fixup_var_refs_insns_with_hash
4326         [loop over hash table entries].
4327         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
4328         fixup_var_refs_insns_with_hash, to match above changes.
4329
4330 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4331
4332         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
4333         (libgcc.a): Likewise.
4334         (stmp-multilib): Likewise.
4335         (STAGE2_FLAGS_TO_PASS): Likewise.
4336
4337 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
4338
4339         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
4340         temporary if no_new_pseudos.
4341
4342 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4343
4344         * cppinternals.texi: Update.
4345
4346 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
4347
4348         * arm.c (arm_init_builtins): Re-enable builtins.
4349
4350 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4351
4352         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
4353         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
4354         element to be null, and always expect an EXPR_LIST.
4355         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
4356         * sched-deps.c (sched_analyze_1): Likewise.
4357         * sched-rgn.c (check_live_1, update_live_1): Likewise.
4358
4359         * regclass.c (max_set_parallel): New variable.
4360         (reg_scan): Take it into account in computation of max_parallel.
4361         (reg_scan_mark_refs, case SET): Compute it.
4362
4363         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
4364         args are REG.
4365         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
4366         * function.c (assign_parms): Use INTVAL for a CONST_INT.
4367
4368 2001-01-19  Jason Merrill  <jason@redhat.com>
4369
4370         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
4371         for the abstract instance of an inline function.
4372
4373 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
4374                           J"orn Rennecke <amylaar@redhat.com>
4375
4376         * reload1.c (move2add_note_store): Treat all registers directly or
4377         indirectly derived from a base register as members of the same set
4378         of values.
4379         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
4380         of base register into account.
4381
4382 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
4383
4384         * alias.c (find_base_value): Recognize TRUNCATE.
4385         (record_set): In PLUS case, invalidate if other summand is also a
4386         base value.
4387
4388 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4389
4390         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
4391         entry to be EXPR_LIST.
4392         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
4393         be an EXPR_LIST (but not null, which other code doesn't allow).
4394         (note_stores): Properly handle PARALLEL in SET.
4395         Recursively call for top-level PARALLEL.
4396         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
4397         * sched-rgn.c (check_live_1, update_live_1): Likewise.
4398
4399         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
4400
4401 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
4402
4403         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
4404         not pfile->skipping (== 0).
4405
4406 2001-01-17  Nick Clifton  <nickc@redhat.com>
4407
4408         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
4409         machine_status.
4410
4411 2001-01-17  Jim Wilson  <wilson@redhat.com>
4412
4413         * invoke.texi (IA-64 options): Improve.
4414
4415 2001-01-17  Tom Tromey  <tromey@redhat.com>
4416
4417         * invoke.texi (Optimize Options): Use `{}' to around @samp
4418         argument.
4419
4420 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
4421
4422         * invoke.texi (-fno-guess-branch-probability): New option.
4423
4424 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4425
4426         * combine.c (try_combine): Don't set i3_subst_into_i2 for
4427         case of making new double-word constant.
4428         Revert last change: instead just test i3_subst_into_i2.
4429
4430 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
4431
4432         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
4433         Use q constraints instead of r.
4434
4435 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
4436
4437         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
4438         (machine_function): Define.
4439         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
4440         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
4441         pa_free_machine_status): New functions.
4442         (override_options): Set {init,mark,free}_machine_status to above.
4443         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
4444         PIC_OFFSET_TABLE_REGNUM_SAVED.
4445         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
4446         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
4447         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
4448         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
4449         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
4450
4451 2001-01-15  DJ Delorie  <dj@redhat.com>
4452
4453         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
4454         (cpp.1): Ditto.
4455         (gcc.1): Ditto.
4456
4457 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4458
4459         * flow.c (propagate_on_insn): Make trying to delete a prologue
4460         or epilogue insn an ICE, not a warning.  Allow doing this if
4461         the current function returns with stack pointer depressed.
4462
4463         * combine.c (try_combine): If i3_subst_into_i2, properly check for
4464         I3 having more than one SET.
4465
4466 2001-01-16  Jim Wilson  <wilson@redhat.com>
4467
4468         * invoke.texi: Document IA-64 options.
4469
4470         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
4471         (fixup_errata): Delete TARGET_A_STEP use.
4472         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
4473         (TARGET_SWITCHES): Delete -ma-step option.
4474         * config/ia64/ia64.md (all FP patterns): Delete %B0.
4475         (movqicc_astep, movqi_internal_astep, movhicc_astep,
4476         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
4477         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
4478         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
4479         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
4480         Delete.
4481         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
4482         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
4483         cmovsi_internal): Delete ! TARGET_A_STEP check.
4484
4485 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4486
4487         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
4488         possibility to report bugs via postal mail. Change a URL and
4489         merge in a nearly duplicate statement...
4490         (Bug Reporting): ...from here.
4491         (Service): Refer to the Bug Reporting section instead of
4492         duplicating an URL.
4493         (Contributing): Remove trivial explanations concerning snapshots.
4494
4495 2001-01-16  Alan Modra <alan@linuxcare.com.au>
4496
4497         * cppmain.c (general_init): Don't use ANSI prototype.
4498
4499 2001-01-16  Tom Tromey  <tromey@redhat.com>
4500
4501         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
4502
4503 2001-01-16  Richard Henderson  <rth@redhat.com>
4504
4505         * config/i386/i386.h: Fix comment typo.
4506         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
4507         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
4508
4509 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
4510
4511         * gcc.c:  Revert previous -fsyntax-only-related change; move
4512         to cp/g++spec.c.
4513
4514 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
4515
4516         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
4517         inmode after checking GET_CODE (op).
4518
4519 2001-01-16  Richard Henderson  <rth@redhat.com>
4520
4521         * flow.c (struct propagate_block_info): Add mem_set_list_len.
4522         (MAX_MEM_SET_LIST_LEN): New.
4523         (propagate_one_insn): Update mem_set_list_len.
4524         (invalidate_mems_from_autoinc): Likewise.
4525         (invalidate_mems_from_set): Likewise.
4526         (mark_used_regs): Likewise.
4527         (init_propagate_block_info): Likewise.  Stop collecting memories
4528         when we reach MAX_MEM_SET_LIST_LEN.
4529         (mark_set_1): Likewise.
4530
4531 2001-01-16  Richard Henderson  <rth@redhat.com>
4532
4533         * unroll.c (precondition_loop_p): Fail if no iteration
4534         variable found.
4535
4536 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
4537
4538         * gcc.c:  When -fsyntax-only is given, do not complain about
4539         unused libraries.
4540
4541 2001-01-15  Richard Henderson  <rth@redhat.com>
4542
4543         * config/i386/i386.c (asm_output_function_prefix): Remove.
4544         (ix86_asm_file_end): New.
4545         (load_pic_register): Generate pic_label_name into a
4546         staticly allocated buffer.
4547         * config/i386/i386-protos.h: Update.
4548         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
4549         (ASM_FILE_END): New.
4550         * config/i386/i386afe.h: New file.
4551         * config.gcc (i?86-*-elf) [tm_file]: Use it.
4552         (i?86-*-{freebsd,linux*,moss*}): Likewise.
4553         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
4554         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
4555         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
4556         * config/i386/sco5.h (ASM_FILE_END): Likewise.
4557         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
4558
4559 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
4560
4561         * Makefile.in (install-man): Remove explicit dependency on
4562         $(srcdir)/gcc.1.
4563
4564         * configure.in, configure: Revert previous patch requiring perl
4565         5.6.0.
4566
4567 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
4568
4569         * toplev.c (flag_guess_branch_prob): New.
4570         (f_options): Add guess-branch-probability option.
4571         (rest_of_decl_compilation): Only estimate branch probability if
4572         flag set.
4573         (main): set flag_guess_branch_prob.
4574
4575         * flags.h (flag_guess_branch_prob): New.
4576
4577 2001-01-15  DJ Delorie  <dj@redhat.com>
4578
4579         * gcc.texi (Makefile): Add documentation for Makefile targets.
4580
4581 2001-01-15  Philip Blundell  <philb@gnu.org>
4582
4583         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
4584         (is_pic): Delete.
4585         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
4586         (is_pic): Delete declaration.
4587         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
4588         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
4589         * config/arm/arm.md (builtin_setjmp_receiver): New.
4590
4591 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
4592
4593         * arm.c (use_return_insn): Don't try to determine the function type
4594         until after reload has completed.
4595         (arm_output_epilogue): Don't adjust the sp value recovered from the
4596         stack.
4597         (emit_multi_reg_push): Don't record dwarf information for the pc.
4598         * arm.md (eh_epilogue): The function type may have changed, so it
4599         needs to be recalculated.
4600         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
4601         unwind tables on arm/netbsd.
4602
4603 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
4604
4605         * arm.md (cbranchsi4): Correct calculation of branch ranges.
4606         (negated_cbranchsi4): Likewise.
4607
4608 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
4609
4610         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
4611         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
4612         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
4613         pass -mapcs-* options to assembler.
4614         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
4615         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
4616         (ASM_SPEC): Call subtarget_extra_asm_spec.
4617
4618 2001-01-15  Andreas Jaeger  <aj@suse.de>
4619
4620         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
4621         warnings.
4622         (ix86_expand_builtin): Likewise.
4623
4624         * gencodes.c (output_predicate_decls): Make i size_t to avoid
4625         warning about comparison between signed and unsigned.
4626
4627 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
4628
4629         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
4630
4631 2001-01-14  Ralf Baechle <ralf@gnu.org>
4632
4633         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
4634         SUBTARGET_CPP_SPEC apropriatly.
4635
4636 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
4637
4638         * varasm.c (make_decl_rtl): Fix typo in last change.
4639
4640 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
4641
4642         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
4643         linker supports the init_priority C++ attribute.
4644         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
4645         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
4646         linker does not support init_priority C++ attribute.
4647
4648 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
4649
4650         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
4651
4652 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
4653
4654         * c-parse.in (finish_parse): Add comment about cpp_destroy.
4655         * cp/lex.c (finish_parse): Similarly.
4656         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
4657         Return the number of errors encountered.
4658         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
4659         * cppmain.c (main): Don't call cpp_destroy.
4660
4661 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
4662
4663         * configure.in: Require at least perl 5.6.0 to regenerate
4664         manpages.
4665         * configure: Regenerate.
4666
4667 2001-01-14  Richard Henderson  <rth@redhat.com>
4668
4669         * genrecog.c (DT_veclen_ge): New.
4670         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
4671         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
4672         (nodes_identical_1): Handle DT_veclen_ge.
4673         (write_cond, debug_decision_2): Likewise.
4674
4675 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
4676
4677         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
4678         with ...
4679         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
4680
4681 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
4682
4683         * cppmain.c (do_preprocessing): New function; most of the old
4684         main.
4685         (main): Call it to do most of the work.
4686         (cb): Move from global scope to set_callbacks ().
4687         (setup_callbacks): Get the callback pointer.
4688         (general_init, printer_init): Clean up code and comments.
4689
4690 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
4691
4692         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
4693         compiling PIC.
4694
4695 2001-01-14  Kazu Hirata  <kazu@hxi.com>
4696
4697         * config/h8300/h8300.c (get_shift_alg): Update comments.
4698
4699 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4700
4701         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
4702         (alloc_page, ggc_alloc): Add casts to remove warnings.
4703
4704 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
4705
4706         * combine.c (simplify_comparison): Don't change `code' when
4707         can't reverse comparison.
4708
4709 2001-01-14  Richard Henderson  <rth@redhat.com>
4710
4711         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
4712         update all call sites.  Return true for all non-label constants.
4713
4714 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
4715
4716         * i386.c (ix86_expand_compare): Add bypass_test and second_test
4717         parameters.
4718         (ix86_expand_branch): Update.
4719         (ix86_expand_setcc): Update to handle multiple test conditions.
4720         (expand_int_movcc): Likewise.
4721         (expand_fp_movcc): Likewise.
4722         * i386-protos.h (ix86_expand_compare): New.
4723         * i386.md (andqi_?_slp, orqi_?_slp): New.
4724         (conditional trap expander): Update call to ix86_expand_compare.
4725
4726 2001-01-14  Richard Henderson  <rth@redhat.com>
4727
4728         * config/vax/vax.md: Use nonimmediate_operand instead of
4729         general_operand in destinations.
4730
4731         * config/vax/vax.md (indirect_jump): Use register_operand.
4732
4733         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
4734         * config/vax/vax.md (call_pop): Turn into an expander.
4735         (call_value_pop): Likewise.
4736         (call, call_value): New.
4737
4738 2001-01-14  Andreas Jaeger  <aj@suse.de>
4739
4740         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
4741         variables.
4742         (ix86_fp_compare_mode): Add unused attribute.
4743         (ix86_expand_fp_movcc): Remove unused variable.
4744         (ix86_expand_builtin): Make fcode unsigned.
4745
4746         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
4747         (expand_expr): Add cast to avoid signed warning.
4748         (store_field): Likewise.
4749         (store_constructor_field): Likewise.
4750         (store_constructor): Likewise.
4751         (store_expr): Likewise.
4752         (clear_storage): Likewise.
4753         (emit_group_store): Likewise.
4754         (emit_group_load): Likewise.
4755
4756 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
4757
4758         * c-common.c: Move format checking code to ...
4759         * c-format.c: ... here.  New file.  Reorder some functions and
4760         declarations.
4761         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
4762         New functions.
4763         * c-common.h (decl_handle_format_attribute,
4764         decl_handle_format_arg_attribute): Declare.
4765         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
4766         (c-common.o): Adjust dependencies.
4767         (c-format.o): New list of dependencies.
4768
4769 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
4770
4771         * unroll.c (loop_iterations): If we cannot prove iteration variable
4772         is set once in each iteration, punt.
4773
4774 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
4775
4776         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
4777         (*strlenhi): Remove clobber (which was buggy) of output address.
4778
4779 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
4780
4781         * Makefile.in (generated-manpages): Add gcc.1
4782         ($(srcdir)/gcc.1): New target.
4783         (maintainer-clean): Delete $(srcdir)/gcc.1.
4784         * gcc.texi: Add macros @gccoptlist and @gol.
4785         * invoke.texi: Include option summary in manpage.  Mark up option
4786         summary with @gccoptlist and @gol.  Use @r in one place where
4787         appropriate.
4788         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
4789         * gcc.1: Generate from invoke.texi.
4790
4791 2001-01-13  Richard Henderson  <rth@redhat.com>
4792
4793         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
4794         (struct page_entry): Add group member.
4795         (struct page_group): New.
4796         (struct globals): Add page_groups member.
4797         (alloc_anon): Only define for using mmap; remove valloc call.
4798         (page_group_index): New.
4799         (set_page_group_in_use): New.
4800         (clear_page_group_in_use): New.
4801         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
4802         (free_page, release_pages): Likewise.
4803         * configure.in (with-gc): Default to ggc-page always.
4804
4805 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
4806
4807         * reload1.c (replace_pseudos_in_call_usage): Use
4808         reg_equiv_constant and reg_equiv_address, and don't try
4809         regno_reg_rtx first.
4810
4811 2001-01-13  Richard Henderson  <rth@redhat.com>
4812
4813         * ggc-page.c (alloc_page): Round up allocation size to one page.
4814         Set e->order on extra pages.
4815
4816 2001-01-13  Richard Henderson  <rth@redhat.com>
4817
4818         * genrecog.c (nodes_identical): Expand commentary.
4819         (write_switch): Watch out for identical nodes.
4820
4821 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
4822
4823         * cppfiles.c (_cpp_fake_include): New function.
4824         * cpphash.h (_cpp_fake_include): New.
4825         * cpplib.c (do_line): Call _cpp_fake_include when entering
4826         header files in preprocessed input.
4827         * cppmain.c (cb_pragma_implementation): Remove handling.
4828         (setup_callbacks): Don't register pragmas.
4829
4830 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
4831
4832         * extend.texi: Udate for CPP.
4833
4834 2001-01-13  Andreas Jaeger  <aj@suse.de>
4835
4836         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
4837
4838         * regmove.c: Add prototype for replace_in_call_usage.
4839
4840 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
4841
4842         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
4843         struct cpp_chunk, struct htab, struct toklist,
4844         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
4845         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
4846         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
4847         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
4848         (struct macro_args): Delete.
4849         * cpphash.h: See above.
4850
4851 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
4852
4853         * cppmain.c (struct printer): Remove no_line_dirs.
4854         (options, cb): New.
4855         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
4856         : Use options rather than CPP_OPTION.
4857         (setup_callbacks): Use cb rather than pfile->cb.
4858         (main): No need to check for a buffer.  Use cpp_errors.
4859         (printer_init): Don't set no_line_dirs.
4860         (maybe_print_line): Use options not no_line_dirs.
4861         (cb_file_change): Don't call print_line if -P.
4862
4863 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
4864
4865         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
4866         callbacks.
4867         * c-parse.in (finish_parse): Use cpp_errors.
4868         (__yylex): Use return value of cpp_pop_buffer.
4869         * cp/lex.c (finish_parse): Use cpp_errors.
4870         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
4871
4872 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
4873
4874         * README.AVR: URLs corrected.
4875
4876 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4877
4878         * c-decl.c (start_function): Don't warn if old prototype is builtin
4879         that's not in C's namespace.
4880         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
4881         (_bb): Add prototype for ctime.
4882         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
4883
4884 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
4885
4886         * i386.c (ix86_fp_comparison_arithmetics_cost,
4887         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
4888         ix86_fp_comparison_cost): New functions.
4889         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
4890         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
4891         two-branch sequences; make static.
4892         (ix86_use_fcomi_compare): Do decision according to the costs.
4893         (split_fp_branch): New.
4894         * i386.md (compare-and-branch patterns): Use split_fp_branch.
4895         * i386-protos.h (ix86_expand_fp_compare): Remove
4896         (ix86_split_fp_branch): Declare.
4897
4898         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
4899         and ix86_comparison_operator.
4900
4901         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
4902         to make it cheaper.
4903
4904         * i386.c (put_condition_code): Output properly the unordered/ordered
4905         compares in fp case.
4906         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
4907
4908         * tm.texi (REVERSE_CONDITION): Document.
4909         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
4910         in -ffast-math mode.
4911         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
4912
4913 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
4914
4915         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
4916
4917         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
4918         optimized away.
4919
4920         * config/sh/sh.c (mova_p): Fix test for mova_const.
4921
4922 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
4923
4924         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
4925         cpp_get_options rather than dereferencing pfile and using
4926         CPP_OPTION.
4927         * scan-decls.c (scan_decls): Use return value of
4928         cpp_pop_buffer rather than CPP_BUFFER.
4929
4930 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
4931
4932         * cppinit.c (cpp_handle_option): help_only is now part of the
4933         cpp_options structure.
4934         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
4935         cpp_set_callbacks): New functions.
4936         * cpplib.h (cpp_callbacks): Break out as a named structure.
4937         (cpp_options): Move help_only here from cpp_reader.
4938         (CPP_FATAL_ERRORS): Update to use cpp_errors.
4939         (cpp_errors, cpp_get_options, cpp_get_callbacks,
4940         cpp_set_callbacks): New prototypes.
4941         * cppmain.c (main): Update for help_only.
4942
4943 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
4944
4945         * Makefile.in (info, maintainer-clean, install-info, uninstall):
4946         Also build and remove and install and uninstall c-tree.info and
4947         cppinternals.info.
4948         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
4949         ($(srcdir)/cppinternals.info): New target.
4950         * c-tree.texi: Change file name used when makeinfo used without -o
4951         from ir.info to c-tree.info.  Add info directory entry.
4952         * cppinternals.texi: Add info directory entry.
4953         * .cvsignore: Update.
4954
4955 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
4956
4957         * c-typeck.c (store_init_value): Don't require constant initializer
4958         elements with -pedantic -std=c99.
4959         (digest_init): Change error about non-constant initializer elements
4960         into pedwarn.
4961         (constructor_range_end): Remove.
4962         (constructor_incremental, designator_depth,
4963         designator_errorneous): New variables.
4964         (struct constructor_stack): Remove range_end, add incremental.
4965         (struct constructor_range_stack, constructor_range_stack): New.
4966         (struct initializer_stack): Add constructor_range_stack.
4967         (finish_init): Set it.
4968         (start_init): Likewise.  require_constant_elements for non-static
4969         trees only if not flag_isoc99.
4970         (really_start_incremental_init): Remove constructor_range_end, add
4971         constructor_incremental.
4972         (pop_init_level): Likewise.
4973         (push_init_level): Likewise.  If implicit and the subobject had some
4974         value set already, preinitialize the level with it.
4975         Warn about missing braces only if not pushing due to designators.
4976         (set_designator, push_range_stack): New functions.
4977         (set_init_label): Use them.
4978         (set_init_index): Likewise.  Remove constructor_range_end.
4979         Error if designator index is outside of array bounds.
4980         (add_pending_init): Compare values of purpose index trees, not the
4981         trees themselves.  Allow overwriting of already initialized element.
4982         Issue a warning if it had side-effects.
4983         (set_nonincremental_init, set_nonincremental_init_from_string): New
4984         functions.
4985         (pending_init_member): Rename to...
4986         (find_init_member): ...this function.  Call set_nonincremental_init
4987         if necessary.  Compare values of purpose index trees, not the trees
4988         themselves.  Return the actual value, not just non-zero if something
4989         is found.
4990         (output_init_element): Remove checks for duplicates.
4991         If field has zero size, only check the initializer for correctness.
4992         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
4993         if constructor_incremental is zero.  Change error about initializers
4994         not computable at load time into pedwarn.
4995         (output_pending_init_elements): Compare bit positions, not
4996         FIELD_DECLs to take into account zero-sized fields.
4997         (process_init_element): Use constructor_range_stack to fill all
4998         ranges in the designator lists from current level up.
4999         * extend.texi: Update documentation for labeled elements.
5000
5001 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
5002
5003         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
5004         to function usage for arguments passed by reference.  Optimize
5005         callee-copied arguments.
5006         * regmove.c (replace_in_call_usage): New function.
5007         (fixup_match_1): Call it.
5008         * cse.c (cse_insn): Canonicalize registers in function usage.
5009         * reload1.c (replace_pseudos_in_call_usage): New function.
5010         (reload): Call it.
5011
5012         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
5013         right version.
5014
5015 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
5016
5017         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
5018         not XEXP (tmp, 0).
5019
5020 2001-01-12  DJ Delorie  <dj@redhat.com>
5021
5022         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
5023         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
5024         targets.
5025
5026 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5027
5028         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
5029         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
5030         -std options alongside references to -ansi.  Update some
5031         documentation for C99.
5032         * cpp.1: Regenerate.
5033
5034 2001-01-12  Andreas Jaeger  <aj@suse.de>
5035
5036         * haifa-sched.c (restore_line_notes): Remove argument block B
5037         since it's unused.
5038         * sched-ebb.c (schedule_ebb): Change caller.
5039         * sched-rgn.c (schedule_region): Likewise.
5040         * sched-int.h (restore_line_notes): Adjust prototype.
5041
5042         * loop.h: Remove wrong declaration of doloop_condition_get.
5043
5044 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
5045
5046         * extend.texi:  Move C++-extension-related node from the C section
5047         into the C++ section.
5048
5049 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5050
5051         * extend.texi: Refer to an array of pointers to functions instead
5052         of one of functions.
5053
5054 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
5055                               Jan Hubicka  <jh@suse.cz>
5056
5057         * combine.c (reversed_comparison): Fix typo in last patch.
5058         Check X for NULL.
5059         (combine_reversed_comparison_code): Make static to follow
5060         prototype declaration.
5061
5062 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
5063
5064         * install.texi:  Remove misplaced duplicate entry.
5065
5066 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
5067
5068         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
5069
5070 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
5071
5072         * final.c: (leaf_function_p): Fix typo.
5073
5074 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
5075
5076         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
5077         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
5078         which you have.
5079         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
5080         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
5081         mmap_anon, and valloc is available.
5082         * ggc-page.c: Restructure ifdef logic to match new autoconf
5083         spec.  Don't throw away the test page in init_ggc.
5084
5085         * configure, config.in: Regenerate.
5086
5087 2001-01-12  Michael Hayes  <mhayes@redhat.com>
5088
5089         * loop.h (total_biv_increment): Constify iv_class pointer.
5090         (struct induction): Replace `mem_mode' with `mem' rtx.
5091         * unroll.c (total_biv_increment): Constify iv_class pointer.
5092         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
5093         (find_mem_givs, combine_givs_p): Likewise.
5094         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
5095
5096 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
5097
5098         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
5099         LastError.
5100         (__gthread_getspecific): Ditto.
5101
5102 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
5103
5104         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
5105         put_condition_code): Convert fp comparison codes to integer
5106         before handling.
5107         (ix86_expand_fp_compare): Postnote the fp comparison code converison
5108         to final.
5109
5110         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
5111         * i386-protos.h (no_comparison_operator): Kill.
5112
5113         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
5114
5115         * combine.c (REVERSIBLE_CC_MODE): Remove.
5116         (reversible_comparison_p): Remove.
5117         (combine_reversed_comparison_code): New.
5118         (reversed_comparison): New.
5119         (combine_simplify_rtx): Use
5120         combine_reversed_comparison_code/reversed_comparison instead
5121         of reversible_comparison_p.
5122         (simplify_if_then_else): Likewise.
5123         (simplify_set): Likewise.
5124         (simplify_logical): Likewise.
5125         (if_then_else_cond): Likewise.
5126         (known_cond): Likewise.
5127         (simplify_comparison): Likewise.
5128
5129 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
5130
5131         * builtins.c (std_expand_builtin_va_start): Handle varargs when
5132         sizeof (int) is larger than sizeof(__word__).
5133
5134 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5135
5136         * cppinit.c (do_includes): Fix typo.
5137
5138 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5139
5140         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
5141         in S_REGS does not occur because not all sources are possible
5142         when a S_REGS is a destination (sometimes needs a clobber).
5143         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
5144         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
5145         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
5146         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
5147         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
5148         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
5149         (lshrdi_const1, lshrsi3_const16): Likewise.
5150         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
5151         (*movhi_68hc12, *movqi_68hc12): Likewise.
5152         (movstrictqi): Make sure reloading in D_REGS as a destination
5153         does not happen.
5154
5155 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5156
5157         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
5158
5159 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5160
5161         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
5162         -D, -U and -A, and don't initialize the builtins.
5163         (do_includes): Error if -include or -imacros with -fpreprocessed.
5164         * cppmain.c (cb_define, cb_undef): Unconditionally process
5165         the callback.
5166         * tradcpp.c (main): Fix typo.
5167
5168 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
5169
5170         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
5171         (read_name_map): Use IS_ABSOLUTE_PATH.
5172         * tradcpp.c (get_filename): Likewise.
5173
5174 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5175
5176         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
5177         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
5178         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
5179         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
5180         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
5181         (cmphi_z_used): Don't use '@' for the output.
5182         (tstqi_z_used): Likewise.
5183         (cmpqi_z_used): Likewise.
5184         (one_cmplsi2): Likewise.
5185
5186 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
5187
5188         * config/sh/sh.c (barrier_align): Recognize branch around far
5189         branch and redundant insn.
5190
5191 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5192
5193         * invoke.texi: Restore documentation of the drivers' switches -MD
5194         and -MMD.
5195
5196 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
5197
5198         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
5199
5200         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
5201         check-objc//%): Support parallel testing of multilibs.
5202         (TESTSUITEDIR): Set to testsuite by default, but override for
5203         parallel testing.
5204         (check-gcc, check-g++, check-g77, check-objc): Enter
5205         $(TESTSUITEDIR).
5206
5207 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
5208
5209         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
5210         * sched-deps.c (deps_may_trap_p): Likewise.
5211         * basic-block.h: Remove a comment.
5212         * flow.c (PROP_POSTRELOAD): Remove.
5213         (update_life_info): Don't add it to prop_flags.
5214         (mark_set_1): Lose the code that was enabled by it.
5215
5216 2001-01-11  Michael Hayes  <mhayes@redhat.com>
5217
5218         * flow.c (flow_call_edges_add): New.
5219         * basic_block.h (flow_call_edges_add): New.
5220
5221 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
5222
5223         * reload1.c (move2add_note_store): Update reg_set_luid even if
5224         base reg remains the same.
5225
5226 2001-01-10  Nick Clifton  <nickc@redhat.com>
5227
5228         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
5229         machine_function structure to zero.
5230         Add prototypes for machine_status functions.
5231
5232 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
5233
5234         * c-common.h (CTI_VOID_LIST): Remove.
5235         (void_list_node): Likewise.
5236         * tree.h (TI_VOID_LIST_NODE): New enumeral.
5237         (void_list_node): New macro.
5238         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
5239         * config/i386/i386.c (ix86_init_builtins): Likewise.
5240         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
5241
5242 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
5243
5244         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
5245         * cppinit.c (cpp_start_read): Update comment, remove unneeded
5246         if statement.
5247         * tradcpp.c: Include mkdeps.h.
5248         (deps, print_deps_phony_targets, deps_append, output_deps,
5249         init_dependency_output, output_deps): New.
5250         (deps_buffer, deps_allocated_size, deps_size, deps_column,
5251         deps_output): Delete.
5252         (print_deps_missing_files): Rename deps_missing_files.
5253         (inhibit_output): Make global.
5254         (main): Delete inhibit_output, deps_stream, deps_target.
5255         Use mkdeps functionality in the same way as cpplib.  Remove
5256         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
5257         -M and -MM.  Remove old handling of deps via deps_out, and
5258         old reading of environment variables.
5259         (get_filename): Update to use deps_add_dep.
5260
5261 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
5262
5263         * output.h (make_function_rtl): Remove prototype.
5264         (make_decl_rtl): Likewise.
5265         * varasm.c (make_function_rtl): Remove.
5266         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
5267         than from a third parameter.
5268         * tree.h (make_decl_rtl): Remove last parameter.
5269         * c-decl.c (builtin_function): Remove last argument in call to
5270         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
5271         (start_function): Likewise.
5272         * except.c (call_get_eh_context): Likewise.
5273         * expr.c (emit_block_move): Likewise.
5274         (clear_storage): Likewise.
5275         * profile.c (output_func_start_profiler): Likewise.
5276         * toplev.c (rest_of_decl_compilation): Likewise.
5277         * objc/objc-act.c (create_builtin_decl): Likewise.
5278         (synth_module_prologue): Likewise.
5279         (generate_static_reference): Likewise.
5280         (build_selector_reference_decl): Likewise.
5281         (build_class_reference_decl): Likewise.
5282         (build_objc_string_decl): Likewise.
5283         (build_protocol_reference): Likewise.
5284
5285 2001-01-10  Richard Henderson  <rth@redhat.com>
5286
5287         * hwint.h: Revert yesterday's change.
5288
5289 2001-01-10  Nick Clifton  <nickc@redhat.com>
5290
5291         * function.h (save_machine_status): Delete.
5292         (restore_machine_status): Delete.
5293         Amend comment describing {init|mark|free}_machine_status.
5294
5295         * function.c (save_machine_status): Delete.
5296         (restore_machine_status): Delete.
5297         Amend comment describing {init|mark|free}_machine_status.
5298         (push_function_context_to): Remove invocation of
5299         save_machine_status.
5300         (pop_function_context_from): Remove invocation of
5301         restore_machine_status.
5302
5303         * emit-rtl.c (init_emit_once): Amend comment describing
5304         {init|mark|free}_machine_status.
5305
5306         * tm.texi (Per-Function Data): New node.  Describe the
5307         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
5308         function pointers.
5309
5310 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
5311
5312         * cppinit.c (OPT_g): Remove.
5313         (cpp_handle_option): Update for removed -g3.
5314         (print_help): Update.
5315         * cpplib.h (struct cpp_options): Remove debug_output.
5316         * cppmain.c (setup_callbacks, cb_define): Update.
5317         * gcc.c (cpp_options): Translate -g3 to -dD.
5318
5319 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
5320
5321         * config/i960/i960.md: Change modifier to + on the zero_extract
5322         pattern after the (rotate -2 reg) canonicalization pattern.
5323
5324 2001-01-10  Richard Henderson  <rth@redhat.com>
5325
5326         * config/alpha/alpha.c (alpha_free_machine_status): New.
5327         (override_options): Install it.
5328         (alpha_mark_machine_status): Verify machine non-null.
5329         * config/i386/i386.c (ix86_free_machine_status): New.
5330         (override_options): Install it.
5331         (ix86_init_machine_status): Use xcalloc.
5332         (ix86_mark_machine_status): Verify machine non-null.
5333         * config/ia64/ia64.c (ia64_free_machine_status): New.
5334         (ia64_override_options): Install it.
5335         (ia64_mark_machine_status): Verify machine non-null.
5336
5337 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
5338
5339         * function.c (instantiate_virtual_regs): Instantiate virtual
5340         registers found in CALL_INSN_FUNCTION_USAGE.
5341
5342 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
5343
5344         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
5345         equivalent to -ansi in disabling -Di386.
5346
5347 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
5348
5349         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
5350         new functions.
5351         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
5352
5353 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
5354
5355         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
5356
5357 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
5358
5359         * invoke.texi: Document that -fcond-mismatch isn't supported for
5360         C++.
5361
5362 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
5363
5364         * gcc.texi: Define macro gcctabopt.
5365         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
5366         @command, @env and @option in some places where appropriate.  Use
5367         @gcctabopt where appropriate.  Put URLs and email addresses inside
5368         @w.
5369
5370 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
5371
5372         * gcc.c (cpp_options): Set MD file name from output
5373         filename, if specified.
5374         (suffix_subst): New static variable.
5375         (do_spec): Clear it.
5376         (do_spec_1, case '.'): Handle new `%.suffix' spec.
5377         Clear it.
5378         (give_switch): Handle suffix_subst.
5379
5380 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
5381
5382         * invoke.texi:  Fix another typo.
5383
5384 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
5385
5386         * invoke.texi:  Fix typo.
5387
5388 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
5389
5390         * c-lang.c (lang_hooks): Update.
5391         (lang_decode_option): Remove.
5392         (lang_init_options): Rename c_init_options.
5393         * toplev.c (main): Use lang_hooks for lang_init_options
5394         and lang_decode_option.
5395         * toplev.h (lang_hooks): Add 2 new hooks.
5396         * tree.h: Remove lang_init_options and lang_decode_option.
5397         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
5398         * cp/decl2.c: Similarly.
5399         * cp/lex.c (lang_init_options): Rename cxx_init_options.
5400         (lang_hooks): Update.
5401         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
5402         for consistency.
5403         (lang_init_options): Rename ffe_init_options.
5404         (lang_hooks): Update.
5405         (lang_decode_option): Remove.
5406         * java/lang.c (lang_init_options): Rename java_init_options.
5407         (lang_decode_option): Rename java_decode_option.
5408         (lang_hooks): Update.
5409         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
5410         (lang_decode_option): Rename objc_decode_option.
5411         (lang_hooks): Update.
5412
5413 2001-01-09  Nick Clifton  <nickc@redhat.com>
5414
5415         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
5416         (d30v_return_addr_rtx): Delete.
5417         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
5418         cfun->machine structure.
5419         (struct machine_function): Move to d30v.h
5420         (d30v_save_machine_status): Delete.
5421         (d30v_restore_machine_status): Delete.
5422         (d30v_init_machine_status): New Function.
5423         (d30v_mark_machine_status): New Function.
5424         (d30v_free_machine_status): New Function.
5425         (d30v_init_expanders): Use new functions.
5426         (d30v_return_addr): Use ra_rtx field in cfun->machine.
5427         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
5428         d30v_return_addr_rtx.
5429
5430         * config/d30v/d30v.h (struct_machine): Move here.
5431         Add eh_epilogue_sp_ofs field.
5432
5433         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
5434         field in cfun->machine structure.
5435
5436 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5437
5438         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
5439         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
5440         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
5441
5442 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
5443
5444         * objc/lang-options.h: Remove bogus reference to
5445         Java trademark.
5446
5447 2001-01-09  Kazu Hirata  <kazu@hxi.com>
5448
5449         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
5450         return the result.
5451
5452 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
5453
5454         * reload.c (find_reloads_address): Check for eliminable registers
5455         when substituting a constant expression for a pseudo.
5456
5457 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
5458
5459         * c-common.c (enum format_type): Add format_type_error.
5460         (decode_format_type): New function.
5461         (decl_attributes): Use it.
5462         (format_kind_info): Adjust comment.
5463
5464 2001-01-09  David O'Brien  <obrien@BSDi.com>
5465
5466         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
5467         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
5468         files in tm_file.
5469         * config/i386/gnu.h: Don't include required platform specific .h files,
5470         tm.h will do it instead.
5471         * config/i386/i386elf.h: Likewise.
5472         * config/i386/linux.h: Likewise.
5473         * config/i386/moss.h: Likewise.
5474         * config/mips/gnu.h: Likewise.
5475
5476 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5477
5478         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
5479         (rs6000-ibm-aix3.[01]*): Likewise.
5480         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
5481         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
5482         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
5483         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
5484         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
5485         (powerpc-*-eabiaix*): Likewise.
5486         (powerpc-*-eabisim*): Likewise.
5487         (powerpc-*-elf*): Likewise.
5488         (powerpc-*-eabi*): Likewise.
5489         (powerpc-*-rtems*): Likewise.
5490         (powerpc-*-linux*libc1): Likewise.
5491         (powerpc-*-linux*): Likewise.
5492         (powerpc-wrs-vxworks*): Likewise.
5493         (powerpcle-wrs-vxworks*): Likewise.
5494         (powerpcle-*-sysv*): Likewise.
5495         (powerpcle-*-elf*): Likewise.
5496         (powerpcle-*-eabisim*): Likewise.
5497         (powerpcle-*-eabi*): Likewise.
5498         (powerpcle-*-solaris2*): Likewise.
5499         * config/rs6000/aix31.h: Delete includes.
5500         * config/rs6000/aix3newas.h: Likewise.
5501         * config/rs6000/aix41.h: Likewise.
5502         * config/rs6000/aix43.h: Likewise.
5503         * config/rs6000/beos.h: Likewise.
5504         * config/rs6000/rtems.h: Likewise.
5505         * config/rs6000/sysv4.h: Likewise.
5506
5507 2001-01-09  Kazu Hirata  <kazu@hxi.com>
5508
5509         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
5510         Change an argument mode of machine_mode to shift_mode of
5511         shift_mode.  Remove an extra error check.
5512         (emit_a_shift): Adopt to the new calling prototype of
5513         get_shift_alg.
5514         (function_prologue): Fix code for a monitor
5515         function.  Support H8/S.
5516         (function_epilogue): Do not output pop for a monitor function.
5517
5518 2001-01-09  Nick Clifton  <nickc@redhat.com>
5519
5520         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
5521         (setup_incoming_varargs): Use sysv_varargs_p field of the
5522         cfun->machine structure.
5523         (struct machine_function): Move to rs6000.h
5524         (rs6000_save_machine_status): Delete.
5525         (rs6000_restore_machine_status): Delete.
5526         (rs6000_init_machine_status): New Function.
5527         (rs6000_free_machine_status): New Function.
5528         (rs6000_init_expanders): Use new functions.
5529
5530         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
5531         export.
5532         (struct machine_function): Move here.
5533
5534         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
5535         sysv_varargs_p field of the cfun->machine structure.
5536
5537         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
5538         Remove prototype.
5539         (rs6000_restore_machine_status): Remove prototype.
5540
5541 2001-01-09  Richard Henderson  <rth@redhat.com>
5542
5543         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
5544         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
5545         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
5546         (sched_analyze_2, sched_analyze_insn): Likewise.
5547         (sched_analyze, init_deps): Likewise.
5548         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
5549         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
5550         (compute_block_backward_dependences): Update propagate_deps call.
5551
5552 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
5553
5554         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
5555
5556 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5557
5558         * cppinit.c (OPT_MD, OPT_MMD): Restore.
5559         (cpp_handle_option): Handle them.
5560         (cpp_post_options): Ensure one of -M or -MM is specified with
5561         any other -M? option.
5562         (init_dependency_output): Suppress output with -MG.
5563
5564 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5565
5566         * cpp.texi: Update.
5567         * invoke.texi: Update.
5568
5569 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
5570
5571         * sh.md (reload_outsf): Generate recognizable patterns for
5572         TARGET_SH3E.
5573
5574 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5575
5576         * c-lang.c (lang_hooks): Update.
5577         (lang_init): Rename c_init.
5578         (lang_finish): Remove.
5579         * toplev.c (compile_file): Use lang_hooks for lang_init ()
5580         and lang_finish ().
5581         * toplev.h (lang_hooks): Add init () and finish ().
5582         * tree.h (lang_init, lang_finish): Remove.
5583         * cp/tree.h (lang_init, lang_finish): Remove.
5584         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
5585         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
5586         lang_hooks): New.
5587         (lang_init, lang_finish): Remove.
5588         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
5589         (lang_hooks): Update.
5590         * java/lang.c (lang_init): Rename java_init.
5591         (lang_finish): Remove.
5592         (lang_hooks): Update.
5593         * objc/objc-act.c (lang_init): Rename objc_init.
5594         (lang_finish): Remove.
5595         (lang_hoooks): Update.
5596
5597 20001-01-09  Graham Stott  <grahams@redhat.com>
5598
5599         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
5600         after `ptr` is initialised.
5601
5602 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
5603
5604         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
5605         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
5606         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
5607         stack adjusts, instead of r3.
5608
5609 2001-01-09  Michael Hayes  <mhayes@redhat.com>
5610
5611         * flow.c (flow_loop_scan): Break out of ...
5612         (flow_loops_find) ... here.
5613         * basic-block.h (flow_loop_scan): New.
5614         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
5615         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
5616
5617 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
5618
5619         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
5620         macro_buffer_len.
5621         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
5622         realloc()ing macro_buffer.
5623
5624         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
5625         if it's wider than long and the target's long is wider than the
5626         host's.
5627
5628 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
5629
5630         Remove support for using UWIN as a host machine.
5631         * configure.in: Issue an error message.
5632         * configure: Regenerated.
5633         * config.gcc: Remove xm_* UWIN configury.
5634         * config/i386/xm-uwin.h: Remove.
5635
5636 2001-01-08  Nick Clifton  <nickc@redhat.com>
5637
5638         * config/v850/v850.c (ra_rtx): Delete.
5639         (v850_save_machine_status): Delete.
5640         (v850_restore_machine_status): Delete.
5641         (v850_init_machine_status): New function.
5642         (v850_mark_machine_status): New function.
5643         (v850_free_machine_status): New function.
5644         (v850_return_addr): Use ra_rtx field in machine structure.
5645         (v850_init_expanders): Use new functions.
5646
5647         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
5648         * config/v850/v850.c: Change arguments to v850_output+* functions
5649         to take a const char *, to avoid compile time warning.
5650         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
5651         (USER_LABEL_PREFIX): Redefine.
5652
5653 2000-01-08  Jim Wilson  <wilson@redhat.com>
5654
5655         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
5656         1 to unsigned HOST_WIDE_INT before left shift.
5657
5658 2001-01-08  Nick Clifton  <nickc@redhat.com>
5659
5660         * config/arm/arm.c (arm_mark_machine_status): Check to see if
5661         the machine structure has been allocated.
5662         (arm_free_machine_status): New function: Free the machine
5663         specific function structure.
5664
5665 2001-01-08  Richard Henderson  <rth@redhat.com>
5666
5667         * jump.c (simplejump_p): Revert last change.
5668
5669 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5670
5671         * cppinit.c (init): Rename init_library.
5672         (cpp_create_reader): Update.
5673         * gcc.c (cpp_options): If -o given, use it as the target of
5674         any -M options.
5675
5676 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
5677
5678         * arm.c (arm_arch5e): New variable.
5679         (all_cores): XScale is a 5TE device.
5680         (arm_override_options): Set arm_arch5e.
5681         (arm_init_builtins): __builtin_prefetch is in arch5e.
5682         * arm.h (arm_arch5e): Declare it.
5683
5684         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
5685
5686         * arm.md (define_constants): Add defines for UNSPEC and
5687         UNSPEC_VOLATILE insns.  Update all users.
5688         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
5689         * arm.c (multi_register_push, note_invalid_constants)
5690         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
5691         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
5692         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
5693
5694 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
5695
5696         * jump.c (jump_optimize_1): Use reversed_comparison_code
5697         instead of can_reverse_comparison_p.
5698         (jump_back_p): Likewise.
5699         (invert_exp_1): Likewise.
5700         (thread_jumps): Likewise.
5701         * simplify-rtx.c (simplify_unary_operation): Likewise.
5702         (simplify_ternary_operation): Likewise.
5703         * cse.c (find_comparison_args): Convert to use
5704         can_reverse_comparison_p.
5705         (record_jump_equiv): Likewise.
5706
5707 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
5708
5709         * arm.h (HARD_REGNO_RENAME_OK): Delete.
5710         (EPILOGUE_USES): Define.
5711         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
5712         automatically stack the LR if it isn't live.
5713
5714 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
5715
5716         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
5717         properly.
5718
5719 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
5720
5721         * ggc-page.c (max_alignment): New structure.
5722         (MAX_ALIGNMENT): New macro.
5723         (init_ggc): Use it to round up the sizes in the
5724         extra_order_size_table.
5725
5726 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5727
5728         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
5729         after reload.
5730
5731 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5732
5733         * builtins.def (BUILT_IN_FPRINTF): New entry.
5734
5735         * c-common.c (c_expand_builtin_fprintf): New function.
5736         (init_function_format_info): Handle __builtin_fprintf.
5737         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
5738         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
5739
5740         * c-decl.c (duplicate_decls): Adjust comment.
5741
5742         * extend.texi (fprintf): Document new builtin.
5743
5744 2001-01-07  Richard Henderson  <rth@redhat.com>
5745
5746         * jump.c (simplejump_p): Recognize any single_set jump
5747         of the proper form.
5748
5749 2001-01-07  Richard Henderson  <rth@redhat.com>
5750
5751         * configure.in (slibdir): Accept an --with-slibdir option.
5752         Use "test" not "[" in configure.  Default to $(libdir).
5753
5754         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
5755         fix typo in rm -f.
5756         * config/t-aix43 (SHLIB_INSTALL): Likewise.
5757         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
5758         (SHLIB_LINK): Create links for the soname.
5759         * config/mips/t-iris6: Likewise.
5760         * config/sparc/t-slibgcc: Likewise.
5761         * config/sparc/t-slibgcc-sld: Likewise.
5762
5763 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
5764
5765         * config/i386/i386.c (constant_call_address_operand): Accept
5766         (const (plus (symbol_ref) (const_int))).
5767         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
5768         constant_call_address_operand.
5769
5770 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5771
5772         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
5773         and LONG_LONG_TYPE_SIZE > 32.
5774
5775 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5776
5777         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
5778         the previous change.
5779
5780 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
5781
5782         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
5783         New.
5784         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
5785         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
5786         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
5787         Declare.
5788
5789 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5790
5791         * fix-header.c (read_scan_file): s/pfile/scan_in/.
5792
5793 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5794
5795         * c-lang.c (c_post_options): Call cpp_post_options.
5796         * objc/objc-act.c (objc_post_options): Similarly.
5797         * cppmain.c (main): Similarly.
5798         * fix-header.c (read_scan_file): Similarly.
5799         * cppinit.c (cpp_start_read): Move option consistency checks
5800         to cpp_post_options.  Don't call init_dependency_output.
5801         If needed, add default target and main file dependency.
5802         (OPT_MD, OPT_MMD): Remove.
5803         (OPT_MF): New.
5804         (cpp_handle_option): Update for OPT_* changes.
5805         (cpp_post_options): New.
5806         (init_dependency_output): Command line -MF overrides environment
5807         variables.  Don't set default target etc.  Suppress output
5808         if dependencies are going to stdout.
5809         (print_help): Update.
5810         * cpplib.h (cpp_post_options): New.
5811         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
5812
5813 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
5814
5815         * jump.c (comparison_dominates_p): Support unordered compares.
5816
5817 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
5818
5819         * simplify-rtx.c (simplify_relational_operation): Always simplify
5820         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
5821         and UNGE.
5822
5823 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
5824
5825         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
5826         (nonzero_bits): Likewise.
5827         (simplify_comparison): Likewise.
5828         (num_sign_bit_copies): Likewise; return more sane value depending
5829         on STORE_FLAG_VALUE.
5830         (known_cond): Do not assume EQ to be always true for equivalent
5831         operands.
5832
5833 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
5834
5835         * cse.c (fold_rtx): Handle unordered comparisons.
5836
5837 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
5838
5839         * rtlanal.c (set_of_1): New static function.
5840         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
5841          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
5842          reg_set_last_last_regno): Remove.
5843         (set_of): New global function.
5844         (set_of_data): New structure.
5845         (reg_set_p, reg_set_last): Revamp for set_of.
5846         * rtl.h (set_of): New.
5847
5848 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5849
5850         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
5851         * extend.texi: Document _Exit builtin.
5852
5853 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5854
5855         * (initialize, initialize_builtins,
5856         initialize_dependency_output, initialize_standard_includes):
5857         Rename s/initialize/init. Update.
5858         (init_dependency_output): Move to after
5859         cpp_handle_options, the correct location temporally at least.
5860         (opt_comp): Move next to init (), its caller.  Fix prototype.
5861         (init): Make "initialized" local scope.
5862         (cpp_create_reader): Always call init ().
5863         (cpp_start_read): Update.
5864         (output_deps): New function, broken out of cpp_finish.
5865         (cpp_finish): Break out output_deps.
5866
5867 2001-01-07  Richard Henderson  <rth@redhat.com>
5868
5869         * collect2.c (COFF specific stuff): Revert 12-06 patch
5870         to prototype system functions.
5871
5872 2001-01-07  Michael Hayes  <mhayes@redhat.com>
5873
5874         * hard-reg-set.h: Add multiple include guard.
5875         * basic-block.h (struct loop): Add `sink' field.
5876         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
5877         (emit_iv_add_mult): Delete.
5878         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
5879         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
5880         (unroll_loop): Remove end_insert_before argument.
5881         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
5882         (maybe_eliminate_biv_1): Likewise.
5883         (emit_iv_add_mult): Delete.
5884         (gen_add_mult, loop_regs_update): New.
5885         (loop_insn_emit_after, loop_insn_emit_before): New.
5886         (loop_insn_sink, loop_insn_sink_or_swim): New.
5887         (emit_iv_add_mult): Delete.
5888         (scan_loop): Set loop->sink.
5889         (loop_givs_reduce): Use loop_insn_sink and its ilk.
5890         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
5891         (maybe_eliminate_biv_1): Likewise.
5892         (maybe_eliminate_biv_1): Add basic block argument.
5893         * unroll.c (unroll_loop): Remove end_insert_before argument.
5894         (find_splittable_regs): Likewise.
5895         (find_splittable_regs): Use loop_insn_sink and its ilk.
5896         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
5897
5898 2001-01-07  Michael Hayes  <mhayes@redhat.com>
5899
5900         * loop.h (loop_insn_hoist): New prototype.
5901         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
5902         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
5903         (check_dbra_loop, load_mems): Likewise.
5904         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
5905         (find_splittable_givs): Likewise.
5906
5907 2001-01-07  Michael Hayes  <mhayes@redhat.com>
5908
5909         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
5910
5911 2001-01-07  Richard Henderson  <rth@redhat.com>
5912
5913         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
5914
5915 2001-01-07  Richard Henderson  <rth@redhat.com>
5916
5917         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
5918         NO_SHARED_LIBGCC_MULTILIB as required for the target.
5919         * gcc.c (init_spec): Massage the existing libgcc_spec into a
5920         variant that handles a shared libgcc.
5921         (process_command): Always validate -{static,shared}-libgcc.
5922         (do_spec_1): New 'M' case.
5923         * invoke.text (Link Options): Document -{static,shared}-libgcc.
5924
5925 2001-01-07  Richard Henderson  <rth@redhat.com>
5926
5927         * Makefile.in (slibdir): New variable.
5928         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
5929         (installdirs): Create slibdir.
5930         (install-libgcc, install-multilib): Defer to libgcc.mk.
5931         * configure.in (slibdir): Substitute.
5932         * mklibgcc.in (install): New target.
5933
5934         * config/t-linux (SHLIB_LINK): Create links for the soname.
5935         (SHLIB_INSTALL): New.
5936         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
5937         * config/mips/t-iris6 (SHLIB_INSTALL): New.
5938         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
5939         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
5940         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
5941
5942 2001-01-07  Richard Henderson  <rth@redhat.com>
5943
5944         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
5945         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
5946         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
5947
5948 2001-01-07  Michael Hayes  <mhayes@redhat.com>
5949
5950         * loop.c (count_loop_regs_set): Delete.
5951         (load_mems_and_recount_loop_regs_set): Delete.
5952         (loop_regs_scan): Merge common code from count_loop_regs_set,
5953         scan_loop, and load_mems_and_recount_loop_regs_set.
5954         (scan_loop): Call load_mems directly and loop_regs_scan
5955         again if new registers created.
5956
5957 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5958
5959         * toplev.c (main): Call the front-end specific post_options
5960         hook if one is given.
5961         * toplev.h (struct_lang_hooks, lang_hooks): New.
5962         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
5963         for the C front end.
5964         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
5965         lang_hooks for the C++ front end.
5966         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
5967         lang_hooks for the ObjC front end.
5968         * f/com.c (lang_hooks): Hooks for the Fortran front end.
5969         * java/lang.c (lang_hooks): Hooks for the Java front end.
5970
5971 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5972
5973         * c-lex.c (init_c_lex): Request #define / #undef callbacks
5974         for verbose DWARF[2] debugging.
5975         (cb_define, cb_undef): The new callbacks.
5976         * toplev.h (debug_define, debug_undef): Make const correct.
5977         * toplev.c (debug_define, debug_undef): Similarly.  Do not
5978         perform the verbosity tests here anymore.
5979
5980 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
5981
5982         * reload.c (subst_reloads): Take INSN argument.  When
5983         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
5984         * reload.h (subst_reloads): Adjust prototype.
5985         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
5986         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
5987         present in JUMP_INSNs and copy them to JUMP_LABEL.
5988         * flow.c (find_label_refs, find_basic_blocks_1): Skip
5989         JUMP_INSNs and insns with REG_LABELs that are followed by
5990         JUMP_INSNs with the same REG_LABEL.
5991         * sched-rgn.c (is_cfg_nonregular): Likewise.
5992         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
5993         note is available.
5994         * unroll.c (unroll_loop): Look for REG_LABEL notes in
5995         JUMP_INSNs too.
5996         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
5997
5998 2001-01-06  Richard Henderson  <rth@redhat.com>
5999
6000         * loop.c (scan_loop): Use xcalloc for the regs array.
6001         (load_mems_and_recount_loop_regs_set): Zero the new memory
6002         received from xrealloc.
6003
6004 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6005
6006         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
6007
6008 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
6009
6010         * integrate.c (copy_rtx_and_substitute): When copying
6011         an ignored return value, strip REG_FUNCTION_VALUE_P.
6012
6013 2001-01-06  Michael Hayes  <mhayes@redhat.com>
6014
6015         * loop.c (debug_biv, debug_giv): New.
6016         (loop_biv_dump): Break out from ...
6017         (record_biv): ... here.
6018         (loop_giv_dump): Break out from ...
6019         (record_giv): ... here.
6020         (loop_bivs_check): Use print_simple_rtl.
6021         * unroll.c (loop_iterations): Use print_simple_rtl.
6022
6023 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6024
6025         * pa.md (return, return_internal): Modify patterns to prevent regrename
6026         mucking with the return pointer.
6027
6028 2001-01-05  Richard Henderson  <rth@redhat.com>
6029
6030         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
6031
6032 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
6033
6034         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
6035         version supplied by Matteo Frigo.
6036
6037 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6038
6039         * cpp.texi: Update for -MQ.
6040         * cppinit.c (cpp_create_reader): Always create pfile->deps.
6041         (cpp_cleanup): Always free pfile->deps.
6042         (initialize_dependency_output): Don't create pfile->deps.
6043         (cpp_handle_option): Similarly.
6044         (OPT_MQ): New.
6045         * gcc.c (cpp_options): Handle -MQ.
6046         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
6047         * mkdeps.c (base_name): Remove.
6048         (deps_init): Don't allocate vector space until it's needed.
6049         (deps_free): Only free vectors if allocated.
6050         (deps_add_target, deps_add_dep): Update for initial allocation.
6051         (deps_add_default_target): Don't strip to the base_name.
6052
6053 2001-01-05  DJ Delorie <dj@redhat.com>
6054
6055         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
6056         (INIT_EXPANDERS): Define.
6057
6058         * config/v850/v850.c (struct machine_function): Define.
6059         (v850_save_machine_status): New function.
6060         (v850_restore_machine_status): New function.
6061         (v850_return_addr): New function.
6062         (v850_init_expanders): New function.
6063
6064         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
6065         and v850_init_expanders.
6066
6067 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
6068
6069         * cpplib.h (struct cpp_reader): Add help_only field.
6070         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
6071         (cpp_handle_option): Set pfile->help_only if we see -h,
6072         --help, -target-help, or --version.  Print version string but
6073         do not set help_only if we see -v or -version.  Make text
6074         printed by -v match that printed by (-)-version.
6075
6076         * cppmain.c (main): Exit after option parsing if
6077         pfile->help_only is true.
6078
6079         * toplev.c (independent_decode_option): Call print_version,
6080         then exit, if we see --version (but not -version).
6081         (print_version): Split lengthy message into two lines.
6082
6083 2001-01-05  Nick Clifton  <nickc@redhat.com>
6084
6085         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
6086         temporary string for initialisation before calling ggc_alloc_string.
6087
6088 2001-01-06  Michael Hayes  <mhayes@redhat.com>
6089
6090         * rtl.h (print_simple_rtl): New.
6091         * print-rtl.c (print_simple_rtl): New.
6092         (flag_simple): New.
6093         (print_rtx): Disable printing of flags and modes, etc.,
6094         if `flag_simple` nonzero.
6095
6096 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
6097
6098         * function.c (fixup_var_refs): Use push_to_full_sequence where
6099         possible.
6100
6101 2001-01-05  Michael Meissner  <meissner@redhat.com>
6102
6103         * flags.h (flag_reorder_blocks): Add declaration.
6104         (flag_rename_block): Ditto.
6105
6106 2001-01-05  DJ Delorie  <dj@redhat.com>
6107
6108         * function.c (reorder_blocks): Make sure the flags are all reset
6109         before using them to mark blocks, else a second invocation will
6110         corrupt the block chain.
6111         (reorder_blocks_0): New, resets the flags.
6112
6113 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
6114
6115         * cse.c (find_comparison_args): Stop if the argument is known to
6116         be constant.
6117
6118 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
6119
6120         * config/sh/sh.md (movdf): When splitting load into pair of
6121         registers, don't clobber the register used in the address too
6122         early.
6123
6124 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
6125
6126         * varasm.c (mark_constant_pool): Improve initial comments.
6127         (mark_constants): Move marking of constants to mark_constant.
6128         (mark_constant): New function to recursively mark all constants
6129         referred to by a constant.
6130
6131 2001-01-05  Catherine Moore  <clm@redhat.com>
6132
6133         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
6134
6135 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
6136
6137         * cp/lang-options.h:  Bring comment in line with reality.
6138         * f/lang-options.h:  Likewise.
6139         * java/lang-options.h:  Likewise.
6140         * objc/lang-options.h:  Likewise.
6141         * ch/lang-options.h:  Likewise.
6142         * f/g77.texi:  And update the manual.
6143
6144 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
6145             Denis Chertykov  <denisc@overta.ru>
6146
6147         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
6148         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
6149         * config/avr/avr.md (all peepholes that request a scratch register):
6150         Call it, FAIL the peephole if not safe (in interrupt functions).
6151
6152 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
6153
6154         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
6155
6156 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
6157
6158         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
6159         Define.
6160         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
6161         BUILT_IN_CREAL and BUILT_IN_CIMAG.
6162         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
6163         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
6164         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
6165         BUILT_IN_CIMAG.
6166         * extend.texi: Document these builtins.
6167
6168 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
6169
6170         * c-common.c (lang_get_alias_set): Say we know nothing of
6171         VECTOR_TYPE aliasing.
6172
6173         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
6174
6175 2001-01-05  Bruce Korb  <bkorb@gnu.org>
6176
6177         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
6178         their x* equivalent versions for atexit-less systems
6179         * fixinc/fixincl.c(main): do not return from main() on atexit-less
6180         systems (or any other system any more).
6181
6182 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
6183
6184         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
6185         output operands.  Use arm_hard_register_operand for operand 4.
6186         (stmsi_postinc): Similarly.
6187         (ldmsi): Use arm_hard_register_operand for opernand 2.
6188         (stmsi): Similarly.
6189         * arm.c (arm_hard_register_operand): New function.
6190         * arm-protos.h (arm_hard_register_operand): Prototype it.
6191
6192         * arm.h (HARD_REGNO_RENAME_OK): Define.
6193
6194 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
6195
6196         * simplify-rtx.c (cfc_args): add "unordered" field.
6197         (check_fold_consts): Set unordered field.
6198         (simplify_relational_operation): Simplify the unordered
6199         comparisons.
6200
6201         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
6202         is valid.
6203
6204         * emit-rtl.c (try_split): Fix code to mark labels.
6205         * jump.c (mark_jump_label): Make global.
6206         * rtl.h (mark_jump_label): Declare.
6207
6208         * predict.c (estimate_probability): Handle unordred comparisons.
6209
6210 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6211
6212         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
6213         * cppinit.c (initialize_dependency_output):  Update.
6214         (cpp_finish): Output dummy targets for -MP.
6215         (OPT_MP): New.
6216         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
6217         * cpplib.h (struct cpp_options): Add deps_phony_targets.
6218         * gcc.c (cpp_options): Update to handle -MP.
6219         * mkdeps.c (deps_add_target, deps_add_default_target): Update
6220         to quote only the default target.
6221         (deps_phony_targets): Insert a preceding newline.  Rename from
6222         deps_dummy_targets for consistency.
6223         * mkdeps.h: Update
6224
6225 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
6226
6227         * calls.c (emit_library_call_value_1): Support
6228         INIT_CUMULATIVE_LIBCALL_ARGS.
6229         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
6230
6231 2001-01-04  Richard Henderson  <rth@redhat.com>
6232
6233         * c-decl.c (finish_struct): Detect flexible array members
6234         used in an inappropriate context.
6235         * c-typeck.c (really_start_incremental_init): Special case
6236         constructor_max_index for zero length arrays.
6237         (pop_init_level): Allow initialization of flexible array
6238         members.  Deprecate initialization of zero length arrays.
6239         Don't issue missing initializer warning for flexible array
6240         members or zero length arrays.
6241         (process_init_element): Don't dereference null DECL_SIZE.
6242         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
6243         Don't abort for empty constructors.  Use size_binop
6244         (output_constructor): Add commentary regarding zero length
6245         array futures.  Abort if we try to initialize an array of
6246         unspecified length with a non-empty constructor in the middle
6247         of a structure.
6248
6249         * extend.texi (Zero Length): Update and clarify documentation
6250         on static initialization.
6251
6252 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6253
6254         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
6255         with more than 32767 words of local storage.
6256
6257 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6258
6259         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
6260         for 'abs', 'labs', and 'fabs'.
6261         (c4x_expand_builtin): Likewise.
6262         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
6263
6264 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
6265
6266         * config/sh/sh.md (prget, prset): New insn types.
6267         (return delay slot): Dont' allow prset.
6268         (call, sfunc delay slot): Don't allow prget.
6269         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
6270         for prset and prget.
6271
6272 2001-01-05  Michael Hayes  <mhayes@redhat.com>
6273
6274         * loop.h (struct loop_reg): New.
6275         (struct loop_regs): Change to use array of `struct loop_reg'.
6276         * loop.c: Replace assortment of varrays with single regs array.
6277         (count_one_set): Delete may_not_move array argument
6278         and use regs array instead.  All caller's changed.
6279         (count_loop_regs_set): Delete may_not_move and single_usage
6280         arguments and use regs array instead.  All caller's changed.
6281         (find_single_use_in_loop): Replace usage array argument with pointer
6282         to regs structure.  All caller's changed.
6283         (loop_optimize): Delete `moved_once' array.
6284
6285 2001-01-05  Michael Hayes  <mhayes@redhat.com>
6286
6287         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
6288         Use it instead of loop_info->has_call for scanning loop mems.
6289         (check_dbra_loop): Replace loop_info->has_call test with
6290         loop_info->has_nonconst_call.
6291
6292 2000-01-04  Matthew Hiller  <hiller@redhat.com>
6293
6294         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
6295         for TARGET_SH3E.
6296
6297 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6298
6299         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
6300         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
6301
6302 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6303
6304         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
6305         (flag_short_double, flag_short_wchar): Define.
6306         (c_common_nodes_and_builtins): Create many tree nodes shared
6307         between C and C++ here instead of in cp/decl.c and ...
6308         * c-decl.c (init_decl_processing): ... here.
6309         (SIZE_TYPE, WCHAR_TYPE): Don't define.
6310         (flag_short_double, flag_short_wchar): Don't define.
6311         (record_builtin_type): New function.
6312         (build_void_list_node): New function.
6313         * c-common.h (flag_short_double, flag_short_wchar,
6314         record_builtin_type, build_void_list_node): Declare.
6315
6316 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
6317
6318         * integrate.c (expand_inline_function): Don't put a virtual
6319         register into the reg map.
6320
6321         * function.c (fixup_var_refs_1): If force_operand didn't put
6322         the address into the target, move it there.
6323
6324 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
6325
6326         Special-case tree_decl/tree_list allocations.
6327         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
6328         (OBJECT_SIZE): New macro.
6329         (NUM_EXTRA_ORDER): Likewise.
6330         (extra_order_size_table): New variable.
6331         (NUM_ORDERS): New macro.
6332         (objects_per_page_table): New variable.
6333         (object_size_table): New variable.
6334         (G.pages): Use NUM_ORDERS to bound the array.
6335         (G.page_tails): Likewise.
6336         (DIV_ROUND_UP): Remove.
6337         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
6338         (alloc_page): Use OBJECT_SIZE.
6339         (size_lookup): Don't make it const.
6340         (ggc_alloc): Use OBJECT_SIZE.
6341         (ggc_set_mark): Likewise.
6342         (ggc_get_size): Likewise.
6343         (init_ggc): Set up the object_size_table, objects_per_page_table,
6344         and adjust size_lookup.
6345         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
6346         (ggc_pop_context): Use NUM_ORDERS.
6347         (clear_marks): Likewise.
6348         (sweep_pages): Likewise.
6349         (poison_pages): Likewise.
6350         (ggc_print_statistics): Use OBJECT_SIZE.
6351
6352 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6353
6354         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
6355         Only call array_size_for_constructor if last field and array type
6356         with no upper bound.
6357
6358 2001-01-04  Philip Blundell  <philb@gnu.org>
6359
6360         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
6361         from bit 31 downwards, if this requires no more insns.
6362         (count_insns_for_constant): New helper function for above.
6363
6364 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
6365
6366         * gencodes.c (output_predicate_decls): Remove empty initializer.
6367
6368 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
6369
6370         * tree.c (copy_node): Remove documentation about obstacks.
6371         (buidl1): Check that nobody tries to build 2-argument nodes this
6372         way.
6373
6374 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6375
6376         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
6377         fp_high_losum_p.
6378
6379         * gencodes.c (output_predicate_decls): Fill empty initializer
6380         braces.
6381
6382 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
6383
6384         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
6385         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
6386         or -MM.
6387         (do_include): Handle missing headers like cpp0.
6388         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
6389         paths with first include pathname.  Don't strcat to uninitialized
6390         string.
6391
6392 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
6393
6394         * regrename.c (regrename_optimize): Don't rename from frame pointer
6395         if frame_pointer_needed.
6396         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
6397         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
6398         (ia64_reorg): Use it instead of scheduling if ! optimize.
6399         (errata_emit_nops): Properly call asm_noperands.
6400         (ia64_sched_reorder): Finish cycle if we see an asm.
6401         (ia64_variable_issue): Clear scheduling state after asms.
6402
6403 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
6404
6405         * cpp.texi: Update for -MT.
6406         * cppinit.c (initialize_dependency_output): Add a default
6407         target if none has been given already.
6408         (no_tgt, OPT_MT): New.
6409         (cpp_handle_option): Handle -MT.  Update -M etc.
6410         * cpplib.h (struct cpp_options): Remove deps_target.
6411         * gcc.c (cpp_options): Handle -MT.
6412         * mkdeps.c (struct deps): Move from mkdeps.h.
6413         (deps_calc_target): Rename deps_add_default_target.  Add a
6414         default target if none has been specified already.
6415         * mkdeps.h (struct deps): Move to mkdeps.c.
6416         (deps_calc_target): Rename deps_add_default_target.
6417
6418 2000-01-03  Richard Henderson  <rth@redhat.com>
6419
6420         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
6421         Remove dead code.
6422         * c-typeck.c (push_init_level): Move checks for flexible array
6423         members and zero length arrays ...
6424         (pop_init_level): ... here.  Silently discard empty initializations.
6425         Remove dead code.
6426         * varasm.c (output_constructor): Update for sizeof change to
6427         zero-length arrays.
6428
6429         * extend.texi (Zero Length): Clarify semantics.
6430
6431 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
6432
6433         * configure.in (tm.h): Include isns-codes.h last.
6434         * configure: Rebuilt.
6435
6436 2001-01-03  Richard Henderson  <rth@redhat.com>
6437
6438         * config/alpha/alpha.md (addvsi3, addvdi3): New.
6439         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
6440
6441 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6442
6443         * tradcpp.c (main): Make sure finclude() is called with a valid
6444         indepth value while handling -include.
6445
6446 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
6447
6448         * gencodes.c (output_predicate_decls): New function.
6449         (main): Call it.
6450         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
6451         even if it is not the first time machmode.h is #included.
6452         * config/sh/sh.c (fpul_operand): Declare MODE argument.
6453         * tm.texi (PREDICATE_CODES): Document predicate declarations.
6454         * gcc.texi (Copyright): Added 2001.
6455
6456 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6457
6458         * c-common.c (c_common_lang_init): New function.  Warn if format
6459         warning options which only have effects when used with -Wformat
6460         are used without -Wformat.
6461         * c-common.h (c_common_lang_init): Declare.
6462         * c-lang.c (lang_init): Call c_common_lang_init.
6463         * objc/objc-act.c (lang_init): Call c_common_lang_init.
6464
6465 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6466
6467         * configure.in: Check for the mktemp command.
6468         * configure: Regenerate.
6469         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
6470         $TEMP.  Create temporary files with mktemp, if available at
6471         configure time; otherwise use set -C.  Remove temporary files
6472         before exit.
6473
6474 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6475
6476         * configure.in: Require at least texinfo 4.0.  Check for whether
6477         Pod::Man is sufficiently recent to regenerate GCC manpages.
6478         * configure:  Regenerate.
6479         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
6480         on #!.
6481         (GENERATED_MANPAGES): Define.
6482         (generated-manpages): New target.  Depend on cpp.1 as well as
6483         gcov.1.
6484         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
6485         configure to generated-manpages or empty) rather than on the
6486         manpages directly.  Remove execute permission from installed
6487         gcov.1 as well as cpp.1.
6488         * cpp.1, gcov.1: Regenerate.
6489
6490 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6491
6492         * builtins.c (expand_builtin_strncmp): Use host_integerp and
6493         tree_low_cst.  Allow using cmpstrsi in more cases.
6494
6495 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6496
6497         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
6498         sized types.
6499
6500 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
6501
6502         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
6503         * Makefile.in (HOST_CFLAGS): Mention build-make.
6504
6505 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6506
6507         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
6508         as JUMP_INSN.
6509
6510 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
6511
6512         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
6513         a REG rtx.
6514
6515         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
6516         callers changed.
6517
6518         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
6519         reg_base_value and reg_known_value arrays.
6520         (init_alias_analysis): Add more cases to detect known values.
6521         * sched-deps.c (deps_may_trap_p): New function.
6522         (sched_analyze_2): Use it.
6523
6524 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
6525
6526         * combine.c (simplify_shift_const): Even if we're sign-extracting,
6527         don't discard an ASHIFTRT if we're shifting in a wider mode.
6528
6529 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6530
6531         * toplev.c (rest_of_compilation): Don't print basic block information
6532         when CFG isn't up to date.
6533
6534 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
6535
6536         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
6537         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
6538         (UNALIGNED_SHORT_ASM_OP): Define.
6539         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
6540
6541 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
6542
6543         * fold-const.c (fold_convert): Fix typo.
6544
6545 2001-01-02  Richard Henderson  <rth@redhat.com>
6546
6547         * c-common.h (ASM_INPUT_P): New.
6548         * c-parse.in (asm): Set it when needed.
6549         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
6550         existance of an operand.
6551
6552 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
6553
6554         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
6555         (dwarf2out_frame_debug_expr): Likewise.
6556         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
6557
6558 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
6559
6560         * i386.c (ix86_split_to_parts): Return number of part required;
6561         handle TFmodes.
6562         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
6563         TFmodes.
6564         (ix86_split_long_move): Use number of part returned
6565         by ix86_split_to_parts
6566         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
6567         New macros.
6568         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
6569         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
6570         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
6571         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
6572         (ALIGN_MODE_128): Add TFmode.
6573         (IS_STACK_MODE): Likewise.
6574         (HARD_REGNO_NREGS): TFmode needs 3 registers.
6575         (HARD_REGNO_OK): Support TFmodes.
6576         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
6577         * i386.md (scheduler definitions): Use memory operand to determine
6578         fst/fld instructions; use mode attribute to determine real mode of
6579         the instruction.
6580         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
6581         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
6582
6583 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
6584
6585         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
6586
6587 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
6588
6589         * expr.c (store_constructor_field): Update ALIGN before calling
6590         store_constructor.
6591
6592 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
6593
6594         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
6595         host_integerp.
6596
6597 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
6598
6599         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
6600         incomplete type.
6601
6602 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
6603
6604         * c-decl.c (start_function): Don't warn on third parameter to main.
6605
6606 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6607
6608         * tsystem.h: Define HAVE_DECL_GETOPT.
6609
6610 2001-01-02  Philip Blundell  <pb@futuretv.com>
6611
6612         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
6613         of input operand.
6614
6615 2001-01-02  Richard Henderson  <rth@redhat.com>
6616
6617         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
6618
6619 2001-01-02  Andreas Jaeger  <aj@suse.de>
6620
6621         * c-decl.c (c_decode_option): Remove support of
6622         -Wmissing-noreturn.
6623
6624         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
6625         (W_options): Add -Wmissing-noreturn here.
6626
6627         * flow.c: Define lang_missing_noreturn_ok_p.
6628         (check_function_return_warnings): Use it.
6629
6630         * c-common.h: Declare lang_missing_noreturn_ok_p.
6631
6632         * c-lang.c (c_missing_noreturn_ok_p): New function.
6633         (lang_init): Set lang_missing_noreturn_ok_p.
6634
6635         * invoke.texi (Warning Options): Document this.
6636
6637 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
6638
6639         * extend.texi (C++ Extensions):  New node for C++ attributes;
6640         describe init_priority and com_interface.
6641         * invoke.texi:  Remove -finit-priority as it now has zero effect.
6642         * install.texi:  Fix xref syntax.
6643         * md.texi:  Likewise.
6644
6645 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6646
6647         * config.gcc (sparc64-wrs-vxworks*): New case.
6648         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
6649
6650         * config/sparc/sparc.c (sparc_override_options): Do support different
6651         pointer and architecture size.
6652         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
6653         (POINTERS_EXTEND_UNSIGNED): Define.
6654         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
6655         (FUNCTION_MODE): Define to be Pmode.
6656         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
6657
6658         * function.c (expand_function_end): Properly handle DECL_RESULT
6659         and copy when ptr_mode != Pmode.
6660         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
6661
6662 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6663
6664         * c-common.c (c_common_nodes_and_builtins): Set prototype
6665         parameters for __builtin_fputs, __builtin_fputc and
6666         __builtin_fwrite.  Don't declare plain fputc as a builtin.
6667
6668 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6669
6670         * loop.c (add_label_notes): Increment the label usage count when
6671         a note is added to an insn which refers to a CODE_LABEL.
6672         * gcse.c (add_label_notes): Likewise.
6673
6674 2001-01-01  Andreas Jaeger  <aj@suse.de>
6675
6676         * loop.c (scan_loop): Use xmalloc to allocate movables.
6677
6678 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
6679
6680         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
6681         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
6682         * reload1.c (REGISTER_MOVE_COST): Likewise.
6683         * regclass.c (REGISTER_MOVE_COST): Likewise.
6684         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
6685         dimension.  Adjust all users.
6686         (init_reg_sets_1): Iterate on all modes.
6687         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
6688         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
6689         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
6690         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
6691         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
6692         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
6693         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
6694         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
6695         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
6696         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
6697         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
6698         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
6699         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
6700         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
6701         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
6702         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
6703         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
6704         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
6705         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
6706         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
6707         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
6708         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
6709         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
6710         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
6711         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
6712         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
6713         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
6714
6715 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
6716
6717         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
6718         arg VARIES_P.  Call it with extra arg.
6719         (true_dependence): Likewise.
6720         * rtl.h (rtx_addr_can_trap_p): Declare.
6721         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
6722         prototypes.
6723         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
6724         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
6725         pic offset table register if it's zero.  All callers changed.
6726         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
6727
6728 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6729
6730         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
6731         STRING_POOL_ADDRESS_P.
6732
6733         * config/sparc/sparc.c (input_operand): Properly test for short op.
6734
6735         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
6736         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
6737         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
6738         * config/sparc/elf.h: No longer include sol2.h.
6739         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
6740         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
6741
6742         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
6743
6744 2001-01-01  Michael Hayes  <mhayes@redhat.com>
6745
6746         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
6747         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
6748         (record_initial): Likewise.
6749         * unroll.c (copy_loop_body, loop_iterations): Likewise.
6750         (remap_split_bivs): Likewise.
6751
6752 2001-01-01  Michael Hayes  <mhayes@redhat.com>
6753
6754         * loop.c (loop_ivs_free): New function.
6755         (strength_reduce): Break out from...
6756
6757 2001-01-01  Michael Hayes  <mhayes@redhat.com>
6758
6759         * loop.h (struct iv): New.
6760         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
6761         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
6762         'reg_biv_class' fields with 'regs' and 'n_regs'.
6763         (struct ivs): Rename 'loop_iv_list' field to 'list'.
6764         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
6765         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
6766
6767 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
6768
6769         * resource.c (mark_referenced_resources): Abort() before
6770         attempting to mark a pseudo register.
6771         (mark_set_resources): Likewise.
6772
6773 2001-01-01  Michael Hayes  <mhayes@redhat.com>
6774
6775         * loop.h (REG_IV_CLASS): New accessor macro.
6776         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
6777         * unroll.c (REG_IV_CLASS): Likewise.
6778
6779 See ChangeLog.4 for earlier changes.