OSDN Git Service

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