OSDN Git Service

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