OSDN Git Service

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