OSDN Git Service

* toplev.c (rest_of_compilation): Revert previous patch.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
2
3         * toplev.c (rest_of_compilation): Revert previous patch.
4         * final.c (shorten_branches): Likewise.
5
6 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7
8         * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
9         Remove.
10
11 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
12
13         * doc/install-old.texi: Remove more obsolete documentation.
14
15 Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
16
17         * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
18
19 Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
20
21         * toplev.c (rest_of_compilation): Call split_all_insns
22         before reg-stack and shorten-branches. Do shorten-branches
23         after reg-stack.
24         * final.c (shorten_branches): Remove insn splitting code.
25
26 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
27
28         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
29         * configure: Rebuilt.
30
31 2001-06-07  Andreas Jaeger  <aj@suse.de>
32
33         * emit-rtl.c (operand_subword): Remove unused variable.
34
35 Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
36
37         * i386.md (floatdi?f): Avoid usinf of SSE instructions
38         if TARGET_64BIT is false.
39         (floatdi?f_i386_only): New insn.
40         (floatdi?f_i386): Disable for !TARGET_64BIT.
41
42         * (min?f, max?f splitters): Handle case where
43         operands are cross-matched.
44
45         * i386.h (HI_REGISTER_NAMES): Remove redundant definition
46         (MMX_REGISTER_NAMES): Kill.
47         (PRINT_OPERAND): Fix comment.
48         (PRINT_REG): Likewise.
49         * i386.c (print_reg): Kill support for 'm' CODE; simplify.
50         (print_operand): Update comment; kill 'm'.
51
52         * i386.c (x86_branch_hints): New global variable
53         (print_operand): Support outputting of branch prediction hints.
54         * i386.md (conditional jump patterns): Add branch prediction hints
55         to the template.
56         * i386.h (x86_branch_hints): Declare
57         (TARGET_BRANCH_PREDICTION_HINTS): New macro.
58         (PRINT_OPERAND_FUNCT_VALID_P): New.
59         * final.c (final_forward_branch_p): New function.
60
61 2001-06-06  Richard Henderson  <rth@redhat.com>
62
63         * flow.c (mark_used_reg): Clean up looping over multiple hard
64         registers.  Do conditional life bits across multiple hard regs.
65
66 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
67
68         * reload1.c (reload): Revert Schmidt's change so all USEs are not
69         deleted during reload.
70
71 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
72
73         * c-semantics.c (genrtl_scope_stmt): Write out nested inline
74         functions here, instead of ...
75         * c-decl.c (c_expand_body): ... here.
76
77 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
78
79         * config.gcc, config/sparc/bsd.h:  Do not directly include
80         sparc/sparc.h.  Instead do it via tm_file.
81
82 2001-06-05  Richard Henderson  <rth@redhat.com>
83
84         * dwarf2.h (DW_EH_PE_aligned): New.
85         * dwarf2asm.c (eh_data_format_name): Name it.
86         (dw2_asm_output_encoded_addr_rtx): Align for it.
87         * dwarf2out.c (output_call_frame_info): Handle it for personality
88         routine and LSDA pointers.
89
90         * unwind-pe.h (DW_EH_PE_aligned): New.
91         (base_of_encoded_value): Handle it.
92         (read_encoded_value_with_base): Likewise.
93         * unwind-dw2-fde.c (base_from_object): Likewise.
94         (get_cie_encoding): Likewise.
95
96         * config/alpha/elf.h: Remove ecoff commentary.
97         * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
98
99 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
100
101         * config.gcc, config/i386/bsd386.h:  Do not directly include
102         i386/386bsd.h.  Instead do it via tm_file.
103
104 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
105
106         * elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
107         way svr4.h does.
108
109 2001-06-05  Pascal Obry  <obry@act-europe.fr>
110
111         * configure.in: Quote $enable_win32_registry in case the value has
112         spaces in it.
113         * configure: Ditto.
114
115 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
116
117         * print-rtl.c (xspaces): Remove.
118         (print_rtx): Use printf field-width, rather than xpsaces, to
119         indent.
120         * toplev.c (main): Disable sibling-call optimization if we are
121         handling exceptions.
122         
123 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
124
125         * reload1.c (reload): Delete all USEs generated during reload.
126
127 2001-06-05  scott snyder  <snyder@fnal.gov>
128
129         * gccbug.in:  Fix typo.
130
131 2001-06-05  Andreas Jaeger  <aj@suse.de>
132
133         * builtins.def: Fix definition of __builtin_cosf, it uses float as
134         parameter and return value.
135
136 2001-06-04  Anthony Green  <green@redhat.com>
137
138         * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
139         machine.  This is now done in sparc.h.
140
141 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
142
143         Correct CVS resurrection of invoke.texi.
144         * doc/invoke.texi: Document new tree dump flags.
145
146 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
147
148         * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
149         for casting an aggregate to its own type.  Fixes PR c/2735.
150
151 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
152
153         * doc/texinfo.tex: Update to version 2001-05-24.08.
154
155 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
156
157         * c-common.h (flag_dump_translation_unit): Remove.
158         (enum tree_dump_index): Define.
159         (TDF_ADDRESS, TDF_SLIM): New #defines.
160         (dump_node_to_file): Remove.
161         (dump_node): Make extern. Add flags.
162         (dump_flag, dump_enabled_p, dump_begin, dump_end,
163         dump_switch_p): Prototype.
164         * c-common.c (flag_dump_translation_unit): Remove.
165         * c-decl.c (c_decode_option): Remove -fdump-translation-unit
166         logic. Use dump_switch_p.
167         * c-dump.h (struct dump_info): Add node and user fields.
168         (dump_pointer): Declare.
169         * c-dump.c (dump_node): Make extern. Add flags.
170         (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
171         (dump_new_line, dump_maybe_newline): Use them.
172         (dump_pointer): New function.
173         (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
174         chain or function's body. Dump address, if TDF_ADDRESS set.
175         (dump_flag): Define.
176         (dump_node_to_file): Remove.
177         (struct dump_file_info): New struct.
178         (dump_files): New array.
179         (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
180         * c-lang.c (finish_file): Adjust dumping.
181         * toplev.h (dump_base_name): Make extern.
182         * invoke.texi: Document new flags.
183
184 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
185
186         * c-tree.h (lang_decl): Add pending_sizes fields.
187         * c-decl.c (store_parm_decls): Save pending_sizes away for nested
188         functions.
189         (c_expand_body): Expand them.
190         (lang_mark_tree): Mark lang_decl:pending_sizes.
191         * function.c (expand_pending_sizes): New function, broken out
192         from ...
193         (expand_function_start): ... here.
194         * tree.h (expand_pending_sizes): Declare it.
195
196 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
197
198         * doc/install.texi: Update FreeBSD information.  Generalize
199         and update information for alpha-based platforms using ELF.
200
201 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
202
203         * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
204         (store_parm_decls): Likewise.
205         * c-typeck.c (convert_arguments): Likewise.
206
207 2001-06-04  Richard Henderson  <rth@redhat.com>
208
209         * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
210         optimization if current_function_calls_setjmp.
211
212 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
213
214         * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
215         wide strings.
216
217 Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
218
219         * simplify-rtx.c (simplify_subreg): Fix combining of
220         paradoxical subregs.
221
222 Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
223
224         * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
225         (no_labels_between_p): Short circuit case beg==end.
226
227 Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
228
229         * rtlanal.c (operand_preference): Fix preference for objects.
230
231 Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
232
233         * gcse.c (handle_avail_expr): Be prepared to handle single_set
234         parallels.
235
236 Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
237
238         * combine.c (if_then_else_cond): Use simplify_subreg instead
239         of operand_subword.
240         * integreate.c (sub_constants): Likewise.
241
242 Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
243
244         * emit-rtl.c (constant_subword): Deprecate; remove most of code
245         and use simplify_gen_subreg.
246
247 Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
248
249         * sibcall.c (skip_copy_to_return_value): recognize the situation
250         when the called function's return value is copied into an
251         intermediate pseudo, and then into the calling functions return
252         value register.
253
254 Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
255
256         * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
257         check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
258         in case register wasn't OK previously, accept it now; allow
259         subregs of frame pointer if reload completed and frame pointer
260         is not needed.
261
262         * combine.c (sombine_simplify_rtx): Fix comment;
263         use subreg_lowpart_offset instead of subreg_lowpart_p
264         (gen_lowpart_for_combine): Use subreg_lowpart_offset.
265         * rtl.h (subreg_lowpart_parts_p): Kill.
266         (subreg_lowpart_offset, subreg_highpart_offset): Declare.
267         * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
268         * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
269         (gen_lowpart_common): Likewise.
270         (subreg_lowpart_p): Likewise.
271         (subreg_lowpart_parts_p): Kill.
272         (subreg_lowpart_offset, subreg_highpart_offset): New function.
273
274         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
275         to simplify SUBREG and REG.
276         (gen_highpart): Use simplify_gen_subreg for all simplifications.
277
278         * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
279         CONCAT specially.
280
281         * rtlanal.c (replace_regs):  Use simplify_gen_subreg
282
283 Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
284
285         * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
286         (ARRAY_RANGE_REF): Added description.
287
288         * tree.def (ARRAY_RANGE_REF): New code.
289         * alias.c (handled_component_p, can_address_p): Handle it.
290         * dwarf2out.c (loc_descriptor_from_tree): Likewise.
291         * explow.c (set_mem_attributes): Likewise.
292         * expr.c (expand_assignment, get_inner_reference): Likewise.
293         (expand_expr, expand_expr_unaligned, do_jump): Likewise.
294         * fold-const.c (operand_equal_p): Likewise.
295         * tree.c (staticp, stabilize_reference): Likewise.
296         * varasm.c (decode_addr_const): Likewise.
297
298 Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
299
300         * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
301         (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
302
303 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
304
305         * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
306         mark_constant_pool_use before output_addr_const.
307         (struct pool_node): New field wend.
308         (add_constant): Note a sequence of constants that are referenced
309         by a given label.
310         (pool_window_label, pool_window_last): New variables.
311         (dump_table): Emit a unspec_volatile representing the end of a
312         sequence of constants.
313         (mark_constant_pool_use): New function.
314         * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
315         (consttable_2): Add the second operand which flags whether
316         this consttable entry was used or not.
317         (consttable_4, consttable_8, consttable_sf, consttable_df):
318         Likewise.
319         (consttable_window_end): New insn.
320
321 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
322
323         * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
324         Reformat according to coding standards.
325
326         Warning removal.
327         * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
328         (shl_and_kind): Cast wide constant.
329         (gen_far_branch): Define as static, as in declaration.
330         (barrier_align): Compute cache-line length as unsigned.  Add
331         parentheses in initial credit computation.
332         (rounded_frame_size): Add parentheses.
333         (permanent_obstack): Remove declaration.  Include ggc.h for
334         declaration of ggc_add_root_rtx().
335         (get_free_reg): Removed declaration of unused variable reg.
336         (legitimize_pic_address): Mark mode argument as unused.
337
338 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
339
340         * config/sh/sh.c (output_branch): Support for insn with lenght
341         attr 12 & 16 which represents cond branches outside +-4096 range.
342
343 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
344
345         * config/sh/lib1funcs.asm (ic_invalidate): Align the
346         cache-mirroring sequence.  Add nops.
347
348 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
349
350         * doc/install-old.texi: Remove more old installation
351         documentation.
352         * doc/install.texi: Add relevant parts here.
353
354 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
355
356         * doc/install.texi2html: New script.
357
358 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
359
360         * doc/install.texi: Update AIX information again.
361
362 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
363
364         * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
365         installation documentation.
366         * doc/install.texi: Move it to here.
367
368 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
369
370         * doc/install.texi: Clean up Texinfo markup.
371
372 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
373
374         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
375         to just after title page.
376
377 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
378
379         * doc/install-old.texi: Remove documentation of some configuration
380         options.
381         * doc/install.texi: Add relevant parts of this documentation here.
382
383 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
384
385         * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
386         Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
387
388 Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
389
390         * i386.md (all uses of ext_register_operand): Make sure they are
391         VOIDmode; replace all uses outside zero_extend.
392         (and?i splitters): Use ext_register_operands.
393         (test?i peep2): Remove ignored constraints.
394         * i386.c (ext_register_operand): Check that operand is
395         eighter pseudo or hard or 'Q' register.
396
397 Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
398
399         * tree.h (struct record_layout_info_s): New field unpadded_align.
400         (set_lang_adjust_rli): New declaration.
401         * stor-layout.c (layout_decl): If DECL is packed, but at alignment
402         it would have if not packed, do not downgrade DECL_ALIGN.
403         (lang_adjust_rli, set_lang_adjust_rli): New.
404         (start_record_layout): Initialize new field unpadded_align.
405         (debug_rli): Display it.
406         (place_union_field, place_field): Set it.
407         (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
408
409         * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
410         mean that; use proper names instead.
411         Print DECL_NO_STATIC_CHAIN.
412
413         * except.c (expand_builtin_frob_return_addr): Add missing call
414         to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
415         (expand_builtin_eh_return): Likewise.
416         (expand_eh_return): Clean up ptr_mode != Pmode cases.
417
418 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
419
420         * doc/invoke.texi: Remove references to papers about sequence points
421         to readings.html, refer to that page.
422
423 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
424
425         * README: Update references to installation instructions.
426
427 2001-06-01  Laurent Guerby  <guerby@acm.org>
428             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
429
430         * doc/install.texi: Define srcdir when sources come from CVS.
431         Significantly improve markup.  Wrap overly long lines
432
433 2001-06-01  DJ Delorie  <dj@redhat.com>
434
435         * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
436         extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi, objc.texi,
437         rtl.texi, tm.texi, texinfo.tex: Move to doc subdirectory.
438         * install.texi: Move to doc/install-old.texi.
439         * gcc.texi: Move to doc, refer to install-old.texi.
440         * Makefile.in: Reflect move of docs to doc/.
441         * f/Make-lang.in: Ditto.
442         * java/Make-lang.in: Ditto.
443         * doc/.cvsignore: New.
444
445 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
446
447         * invoke.texi: use two spaces between command options, eliminate
448         some 'overfull hboxes'
449
450 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
451
452         * Makefile.in (s-mlib): Make backtick-commands always succeed.
453         (DRIVER_DEFINES): Ditto.
454
455 2001-05-31  Richard Henderson  <rth@redhat.com>
456
457         * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
458         also link against libgcc.a.
459
460 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
461
462         * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
463         * config/mips/mips.c (mips_output_ascii): New function.
464         * config/mips/mips-protos.h (mips_output_ascii): Prototype.
465
466         * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
467
468 Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
469
470         * flow.c (set_block_for_new_insns): Remove bogus shortcut.
471         * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
472
473 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
474
475         * install.texi (Configuration): Add html links for --with-gnu-as &
476         --with-gnu-ld and refer to them from hppa & SCO triplets.
477         (Specific): Link back to with-gnu-ld for all ELF platfoms.
478         (Specific): Reword AVR binutils recommendation.
479
480 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
481
482         * ggc-page.c (size_lookup): Increase minimum allocation size
483         to eight bytes.
484         (ggc_print_statistics): Report size of each bin in bytes, not
485         as its order; there is no longer a direct relationship.
486
487 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
488
489         * extend.texi: Fix formating of examples, eliminate some
490         'overfull hboxes'.
491         * gcc.texi: Eliminate some 'overfull hboxes'.
492         * invoke.texi: Use two spaces between command options, eliminate
493         some 'overfull hboxes'.
494
495 2001-05-30  Richard Henderson  <rth@redhat.com>
496
497         * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
498
499 2001-05-30  Tom Tromey  <tromey@redhat.com>
500
501         * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
502         use it in the new association.
503
504 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
505             John David Anglin  <dave@hiauly1.hia.nrc.ca>
506
507         * gthr-posix.h (__gthread_active_ptr): Cast function pointer
508         to target type to allow ISO C++ compiler to accept it.
509         * gthr-dce.h (__gthread_active_ptr): Likewise.
510         * gthr-solaris.h (__gthread_active_ptr): Likewise.
511
512 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
513
514         * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
515         so that we do accept comments in preprocessed input.
516
517 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
518
519         * cpphash.c (alloc_node): Cast allocated pointer.
520
521 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
522
523         * invoke.texi (Option Summary): Remove -isystem-c++ from options.
524
525 2001-05-29  Stan Shebs  <shebs@apple.com>
526
527         * gcc.texi: Add links for information about Objective-C.
528
529 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
530
531         * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
532         /bin/sed fails on [^\"]).
533         (configargs.h): Likewise.
534
535 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
536
537         * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
538
539 2001-05-28  Stan Shebs  <shebs@apple.com>
540
541         * objc/objc.gperf: Remove, no longer used.
542
543 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
544
545         * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
546         gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
547         Remove trailing whitespace.
548
549 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
550
551         * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
552         became http://freeware.sgi.com/.
553
554 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
555
556         * local-alloc.c (update_equiv_regs): Don't eliminate constant
557         expressions at -O0.
558
559 2001-05-27  Stan Shebs  <shebs@apple.com>
560
561         * objc/objc-act.c: Add/fix various comments.
562         (init_selector): Remove, no longer used.
563         (build_msg_pool_reference): Ditto.
564         (objc_debug): Ditto.
565
566 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
567
568         * c-decl.c (init_decl_processing):
569          Don't call start_identifier_warnings.
570         * flags.h (warn_id_clash, id_clash_len): Remove.
571         * stringpool.c: Don't include flags.h.
572         (scan_for_clashes, do_identifier_warnings,
573         start_identifier_warnings): Remove.
574         * toplev.c (warn_id_clash, id_clash_len): Remove.
575         (display_help): Don't document -Wid-clash.
576         (decode_W_option): Print warning on -Wid-clash.
577         * tree.h (start_identifier_warnings): Remove.
578         * invoke.texi: Remove documentation of -Wid-clash.
579
580 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
581
582         * fixinc/fixtests.c: Declare entries in ENV_TABLE.
583
584 2001-05-27  Bruce Korb  <bkorb@gnu.org>
585
586         * fixinc/check.tpl(HACK) add and use a Scheme variable
587         (has no test text): error out if no "test_text" is defined
588         * fixinc/fixincl.tpl: likewise
589         (FIXIDX): make it an enumeration so we minimize diffs
590         * fixinc/inclhack.def: re-alphabetize and add sort instructions
591         * fixinc/fixincl.x: regenerate
592         * fixinc/tests/base/stdio.h: test output got moved due to
593         the alphabetizing
594         * README-fixinc: rewrite (mostly)
595
596 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
597
598         * cpplib.c (run_directive): Set pfile->directive.
599
600 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
601
602         * c-tree.texi: Reformat the manual as a single chapter now
603         included by gcc.texi.
604         * gcc.texi: Include c-tree.texi. Merge all indexes.
605         * Makefile.in (dvi): Add generation for the cppinternals
606         documentation. Added dependencies on fdl.texi and c-tree.texi
607         where appropriate.  Use TEXI2DVI instead of custom tex calls.
608         (info): Added dependencies on fdl.texi and c-tree.texi where
609         appropriate.  Remove the target c-tree.info.
610
611 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
612
613         * combine.c (try_combine): Fix typo in comment.
614         * expr.c (expand_expr): Likewise.
615         * config/i370/i370.md (untyped_call): Likewise.
616
617 2001-05-26  Bruce Korb  <bkorb@gnu.org>
618
619         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
620         when fixincl is operating in test mode
621         * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
622         (AAB_ultrix_limits): remove redundant text
623         (AAB_ultrix_memory): ditto
624         (AAB_ultrix_string): ditto
625         (djgpp_wchar_h): fix the test text
626         (irix_stdio_va_list): add test text
627         (irix_limits_const): add a testing output file (limits.h is overwritten)
628         (strict_ansi_not_ctd): put limits.h second in list for same reason
629         (solaris27_mutex_init): test text needed selection text, too
630
631         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
632         when fixincl is operating in test mode
633
634 2001-05-26  Philip Blundell  <philb@gnu.org>
635
636         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
637         * config/i960/i960-protos.h: Likewise.
638         * config/i370/i370-protos.h: Likewise.
639         * config/h8300/h8300-protos.h: Likewise,
640         * config/sh/sh-protos.h: Likewise.
641         * config/v850/v850-protos.h: Likewise.
642
643 2001-05-26  Philip Blundell  <philb@gnu.org>
644
645         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
646
647 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
648
649         * toplev.c (debug_args, f_options, W_options): Mark
650         descriptions for translation.
651         (display_help): Translate descriptions on output.
652
653         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
654         objc/lang-options.h: Mark descriptions for translation.
655
656         * aclocal.m4: Quote final argument of patsubst.  Use
657         3-argument form of AC_DEFINE.  Restore quotes to [] while
658         using AC_FD_CC.
659         * configure.in: Remove unnecessary changequote calls.
660         * configure, config.in: Regenerate.
661
662 2001-05-25  Sam TH  <sam@uchicago.edu>
663
664         * basic-block.h: Fix header include guards.
665         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
666         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
667         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
668         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
669         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
670         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
671         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
672         varray.h version.h: Likewise.
673         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
674         config/arm/arm.h config/c4x/c4x-protos.h
675         config/h8300/h8300-protos.h config/h8300/h8300.h
676         config/i370/i370-protos.h config/i370/i370.h
677         config/i960/i960-protos.h config/mcore/mcore.h
678         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
679         config/v850/v850-protos.h config/v850/v850.h: Likewise.
680         * fixinc/fixlib.h fixinc/server.h: Likewise.
681
682 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
683
684         * config/arc/initfini.c (.init): Fix typo.
685
686 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
687
688         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
689
690 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
691
692         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
693
694 2001-05-25  Richard Henderson  <rth@redhat.com>
695
696         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
697
698 2001-05-25  Richard Henderson  <rth@redhat.com>
699
700         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
701         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
702         (sparc*-*-solaris2): Likewise.
703         * config/t-linux: Remove shared libgcc macros.
704         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
705         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
706
707 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
708
709         * config.gcc (*-*-freebsd*): Report bad configuration.
710
711 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
712
713         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
714
715         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
716         any prefix.
717         (ASM_OUTPUT_LABELREF): Delete.
718
719 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
720
721         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
722         strict_ansi_only): Don't run if stdc_0_in_system_headers.
723         * fixinc/fixincl.x: Regenerate.
724         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
725         (FIX_TEST_TABLE): Declare it.
726         * fixinc/fixlib.h: Include config.h.
727
728 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
729
730         * fixinc/inclhack.def (alpha___assert): Change char * args to
731         const char * on Tru64 UNIX to avoid excessive warnings from
732         assert.h.
733         * fixinc/fixincl.x: Regenerate.
734
735 2001-05-25  Geoff Keating  <geoffk@redhat.com>
736
737         * dbxout.c (dbxout_symbol): Invert previous patch, which was
738         outputting a tag only for variable-size records.
739
740 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
741
742         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
743         instead of rtx_equal_p for early clobber test.
744
745 2001-05-26  Mark Mitchell <mark@codesourcery.com>
746
747         * builtins.def: Encode additional information, such as names and
748         types, here.
749         * builtin-types.def: New file.
750         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
751         (built_in_decls): Likewise.  Don't explicitly initialize global
752         data to NULL.
753         (expand_builtin_mathfn): Handle float and long double variants of
754         math builtins.
755         (expand_builtin): Likewise.
756         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
757         (expand_tree_builtin): Handle long, long long, float, and long
758         double variants of math functions.
759         * c-common.h (c_tree_index): Remove some unused nodes.
760         (void_ftype): Remove.
761         (void_type_ptr): Likewise.
762         (int_ftype_int): Likewise.
763         (ptr_ftype_sizetype): Likewise.
764         * c-decl.c (init_decl_processing): Remove creation of DWARF
765         builtins.
766         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
767         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
768         * Makefile.in (c-common.o): Depend on builtin-types.def.
769
770 2001-05-25  Dale Johannesen  <dalej@apple.com>
771
772         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
773
774 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
775
776         * c-parse.in (notype_initdcl): Remove redundant line.
777
778 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
779
780         * aclocal.m4: Fixed typo.
781         (gcc_AC_HEADER_STDBOOL): Define.
782         (gcc_AC_C__BOOL): Define.
783         * configure.in: Use them.
784         (AC_CHECK_HEADERS): Remove stdbool.h
785         * configure, config.in: Regenerate.
786
787 2001-05-25  Richard Henderson  <rth@redhat.com>
788
789         * function.c (expand_function_start): Don't abort on PARALLEL
790         returns from hard_function_value.
791
792 2001-05-25  Richard Henderson  <rth@redhat.com>
793
794         * config/i386/i386.md: Revert previous change.  Do not apply
795         the peephole if the components do not die after the sequence.
796
797 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
798
799         * c-parse.in (array_declarator): New.  Handle C99 constructs.
800         Don't restrict [*] declarators to C only.
801         (after_type_declarator, parm_declarator_starttypename,
802         parm_declarator_nostarttypename, notype_declarator,
803         direct_absdcl1): Use it.
804         * c-decl.c (build_array_declarator, set_array_declarator_type):
805         New functions.  Warn that [*] isn't properly implemented; pedwarn
806         for [*] outside C99 mode if pedantic rather than giving a hard
807         error.
808         (grokdeclarator): Handle static and type qualifiers in parameter
809         array declarators.
810         * c-tree.h (build_array_declarator, set_array_declarator_type):
811         Declare.
812         * extend.texi (Attribute Syntax): Document attributes in parameter
813         array declarators.
814
815 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
816
817         * config/i386/i386.md: Make sure cmpstr peepholes do not
818         affect liveness information.
819
820 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
821
822         * c-typeck.c (digest_init): Issue error messages about
823         invalid constants, not warnings.
824
825 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
826
827         * invoke.texi (-fno-builtin): Document that this is always on
828         in C++.
829
830 2001-05-24  Philip Blundell  <philb@gnu.org>
831
832         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
833         required.
834
835 2001-05-24  Philip Blundell  <philb@gnu.org>
836
837         * config/arm/arm.c (output_return_instruction): Correctly handle
838         interworking and interrupt functions.
839
840 2001-05-24  Philip Blundell  <philb@gnu.org>
841
842         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
843         -m{no-}sched-prolog.  Fix typos and improve formatting.
844
845 2001-05-24  Philip Blundell  <philb@gnu.org>
846
847         * invoke.texi (ARM Options): Improve wording slightly.  Add
848         documentation for more options, including those for Thumb mode.
849         Don't mention options that don't exist or are unimplemented.
850         (Thumb Options): Delete; merged into above section.
851
852 2001-05-24  Geoff Keating  <geoffk@redhat.com>
853
854         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
855         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
856
857 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
858
859         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
860         fix hard register simplification.
861
862 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
863
864         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
865         of just copying CPP_CPU_SPEC.
866
867 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
868
869         * i386.c (incdec_operand): Accept only 1 and -1.
870
871 2001-05-23  Kelley Cook  <kelley.cook@home.com>
872
873         * Makefile.in: Move many of the *_H definitions eariler in the
874         file, so that rules in t-* files that use them for
875         dependencies will work in a parallel build.
876         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
877
878 2001-05-23  Richard Henderson <rth@redhat.com>
879
880         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
881
882 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
883
884         * cpp.texi: Update for handling of charconsts.
885         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
886         diagnostics.  Skip to the end if the UCS is too short.
887         (cpp_interpret_charconst): Long charconsts issue a warning
888         not an error.
889
890 2001-05-23  Richard Henderson  <rth@redhat.com>
891
892         * doc/install.texi (alpha-linux): Require binutils 2.11.
893
894 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
895
896         * c-lex.c (read_escape, read_ucs): Delete.
897         (lex_string): Use cpp_parse_escape.
898         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
899         if not C++ or not C99.  Warn if traditional.
900         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
901         unsigned.  Warn for out-of-range escape sequences here.
902         Update to use maybe_read_ucs.
903         (cpp_interpret_charconst):  Don't warn here.
904         * cpplib.h (cpp_parse_escape): New exported function.
905
906 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
907
908         * extend.texi (Attribute Syntax): Clarify application of
909         attributes to parameters declared as functions or arrays.
910
911 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
912
913         * dbxout.c (dbxout_type_methods): Do still group methods by name.
914
915 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
916
917         * diagnostic.c (vnotice): Kill.
918         (fnotice): Call vfprintf directly.
919         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
920         verbatim, set_diagnostic_context): Rename string argument to
921         indicate that it is run through gettext.
922         (vbuild_message_string, build_message_string, output_do_printf):
923         Rename string argument to indicate that it is NOT run through
924         gettext.
925         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
926         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
927         Run msgid argument through gettext.
928         (default_print_error_function): Run constant strings through
929         gettext when nothing else will.
930         (fatal_error, internal_error, error_recursion): Use fnotice.
931         Present complete sentences to gettext.
932
933 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
934
935         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
936
937 2001-05-23  Richard Henderson  <rth@redhat.com>
938
939         * function.c (expand_function_start): Always use a pseudo
940         for the function result value.
941
942 2001-05-22  Richard Henderson  <rth@redhat.com>
943
944         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
945         section pointer alignment.
946
947         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
948
949         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
950         of __USER_LABEL_PREFIX__.
951
952 2001-05-22  Richard Henderson  <rth@redhat.com>
953
954         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
955         (__deregister_frame_info_bases): New.
956         * unwind-dw2-fde.h: Declare it.
957         * libgcc-std.ver: Export it.
958         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
959         called __register_frame_info_bases.
960
961 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
962
963         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
964         instead of #elif (which is OK for this case but not in general).
965
966 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
967
968         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
969         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
970         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
971         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
972         "r2" to the assembly file. Only issue allocs with non-zero parameters.
973
974 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
975             David O'Brien  <obrien@freebsd.org>
976
977         * config/freebsd.h (LIB_SPEC): Key the exact setting to
978         configure-time options and target version of FreeBSD.  Set-up
979         to match architectural change in threading support.  Correctly
980         report when -pthread option is not supported by configure-time
981         options.
982         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
983         and extend to encode target version number in run-time setting
984         of __FreeBSD__ macro to match the system compiler.
985         (CPP_PREDEFINES): Likewise.
986         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
987
988         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
989         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
990
991 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
992             David O'Brien  <obrien@freebsd.org>
993
994         * config.gcc (the unlabeled system switch statement): Add
995         generic configuration section to handle *-*-freebsd*.  Also,
996         to match the system compiler, default to threading support (it
997         may be disabled with the standard --disable-threads
998         configuration-time switch).
999         (i[34567]86-*-freebsd* in machine-specific section): Use it.
1000         (alpha*-*-freebsd* in machine-specific section): Likewise.
1001
1002         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
1003         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
1004         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
1005         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
1006         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
1007
1008 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1009             David O'Brien  <obrien@freebsd.org>
1010
1011         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
1012         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
1013         -pthread instead setting macro.
1014
1015 2001-05-22  Richard Henderson  <rth@redhat.com>
1016
1017         * crtstuff.c (__register_frame_info_bases): Declare.
1018         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
1019         (__do_global_dtors_aux, __do_global_dtors): Streamline.
1020
1021         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1022         (CRT_GET_RFIB_DATA): New.
1023         * config/i386/sysv4.h: Likewise.
1024         * config/i386/sco5.h: Likewise.
1025         (ASM_PREFERRED_EH_DATA_FORMAT): New.
1026
1027 2001-05-22  Richard Henderson  <rth@redhat.com>
1028
1029         * rtl.c (read_string): Break out from ...
1030         (read_rtx): ... here.
1031
1032 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1033
1034         * doc/install.texi (Specific): Remove a bogus and duplicate part
1035         copied from the end of the document.
1036
1037 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
1038
1039         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
1040
1041 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1042
1043         * install.texi: Remove obsolete information on SunOS as well as
1044         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
1045         (Installing GNU CC on the Sun): Remove section.
1046
1047 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
1048
1049         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
1050         keep errno unchanged on success.
1051
1052 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
1053
1054         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
1055         once for hexadecimal floats, whether or not they contain a decimal
1056         point.  Don't let the setting of pedantic otherwise affect the
1057         parsing of hexadecimal floats.
1058
1059 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1060
1061         * README.ACORN: Remove obsolete file.
1062
1063 2001-05-22  Jan Hubicka  <jh@suse.cz>
1064
1065         * combine.c (gen_binary): Use swap_commutative_operands_p
1066         (simplify_comparison): Likewise.
1067         * expmed.c (emit_store_flag): Likewise.
1068         * expr.c (compare_from_rtx): Likewise.
1069         (do_compare_rtx_and_jump): Likewise.
1070         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
1071         if not emitting a branch and operands want swapping.
1072
1073 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1074
1075         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
1076         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
1077         (maybe_get_identifier): Update.
1078         * tree.h (make_identifier): Delete.
1079
1080 2001-05-21  Richard Henderson  <rth@redhat.com>
1081
1082         * combine.c (subst): Do not substitute for a register as
1083         a destination subreg/strict_low_part/zero_extract.
1084
1085         * combine.c (simplify_comparison): Update op1 after constant
1086         extension.
1087         * recog.c (const_int_operand): Accept only constants valid
1088         for the given mode.
1089         * genrecog.c: Update comments wrt const_int_operand.
1090
1091         * emit-rtl.c (init_emit_once): Zero unused memory in a
1092         CONST_DOUBLE.
1093
1094 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1095
1096         * tree.h (type_num_arguments): Declare it.
1097         * tree.c (type_num_arguments): New function.
1098
1099 2001-05-21  Richard Henderson  <rth@redhat.com>
1100
1101         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
1102         conditional ifdef.
1103
1104 2001-05-21  Geoff Keating  <geoffk@redhat.com>
1105
1106         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
1107         (maxsf3+1): Delete.
1108         (minsf3): Use rs6000_emit_minmax.
1109         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
1110         rs6000_emit_minmax.
1111         (movsfcc): Use rs6000_emit_cmove.
1112         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
1113         Don't generate emit_fselsfsf4.
1114         (fseldfsf4): Likewise.
1115         (maxdf3): Use rs6000_emit_minmax.
1116         (maxdf3+1): Delete.
1117         (mindf3): Use rs6000_emit_minmax.
1118         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
1119         rs6000_emit_minmax.
1120         (movdfcc): Use rs6000_emit_cmove.
1121         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
1122         Don't generate emit_fselsfsf4.
1123         (fselsfdf4): Likewise.
1124         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
1125         (min_max_operator): New predicate.
1126         (rs6000_emit_cmove): New function.
1127         (rs6000_emit_minmax): New function.
1128         * config/rs6000/rs6000-protos.h: Prototype new functions.
1129         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
1130         and min_max_operator.
1131
1132         * config/rs6000/rs6000.c (output_cbranch): Handle all
1133         conditional types in the switch statement.
1134
1135 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1136
1137         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
1138         non-register variables.
1139         * extend.texi: Document that asm-specifications do not make sense
1140         for non-static local variables.
1141
1142 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
1143
1144         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
1145         (dbxout_type_fields): Lose minimal_debug support.
1146         (dbxout_type_methods, dbxout_type): Likewise.
1147
1148 2001-05-17  Andrew Haley  <aph@redhat.com>
1149
1150         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1151
1152 2001-05-21  Richard Henderson  <rth@redhat.com>
1153
1154         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
1155         Update all users.
1156
1157 2001-05-20  Richard Henderson  <rth@redhat.com>
1158
1159         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1160         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
1161         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
1162         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1163         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
1164         Likewise.
1165         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1166         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
1167         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
1168         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1169         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1170         DEBUG_PUBNAMES_SECTION): Rename as above.
1171         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1172
1173 2001-05-20  Richard Henderson  <rth@redhat.com>
1174
1175         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
1176         operands unless the operation is commutative.
1177
1178 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1179
1180         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
1181         cases.
1182
1183 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
1184
1185         * extend.texi: Clarify documentation of extensions included in ISO
1186         C99.  Prefer C99 terminology and syntax to old GNU terminology and
1187         syntax.  Add more index entries.  Document mixed declarations and
1188         code as an extension in C89 mode.  Warn about future changes to
1189         semantics of inline functions.  Fixes PR other/930.
1190
1191 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1192
1193         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
1194         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1195         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
1196         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1197
1198         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
1199
1200 2001-05-20  Richard Henderson  <rth@redhat.com>
1201
1202         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
1203         to be output before a branch.
1204
1205 2001-05-20  Richard Henderson  <rth@redhat.com>
1206
1207         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
1208
1209 2001-05-20  Richard Henderson  <rth@redhat.com>
1210
1211         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
1212         (ASM_DOUBLE): Remove.
1213         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
1214         * config/i386/sun386.h: Likewise.
1215
1216         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
1217         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
1218
1219         * config/i386/cygwin.h (INT_ASM_OP): Remove.
1220         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
1221         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
1222         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
1223
1224         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
1225         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
1226         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
1227         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
1228         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
1229         * config/i386/win32.h: Likewise.
1230
1231 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1232
1233         * invoke.texi: Add more options to summary list.
1234
1235 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1236
1237         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
1238         used.  Fixes PR c/2291.
1239         * gcc.1: Regenerate.
1240
1241 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1242
1243         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
1244         the -fpic and -fPIC options, clear flag_pic.
1245
1246 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1247
1248         * hashtable.c (calc_hash): Fix HASHSTEP definition.
1249         * stringpool.c (make_identifier): No statistics here anymore.
1250         * objc-act.c (steup_string_decl): Remove redundant check.
1251
1252 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1253
1254         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
1255         cpplib.o, cpphash.o, fix-header): Update.
1256         (hashtable.o): New target.
1257         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
1258         struct c_common_identifier here.
1259         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
1260         * c-lex.c (c_lex): Update.
1261         * c-pragma.h: Update.
1262         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
1263         Delete rid_code.
1264         (C_RID_CODE): Delete.
1265         * cpphash.c: Rewrite to use hashtable.c.
1266         * cpphash.h: Update include guards.
1267         (struct cpp_reader): Remove hashtab.
1268         hash_ob and buffer_ob are no longer pointers.  Add hash_table
1269         and our_hashtable.
1270         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
1271         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
1272         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
1273         * cppinit.c (cpp_create_reader): Update.
1274         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
1275         (cpp_interpret_charconst): Eliminate warning.
1276         * cpplib.c (do_pragma, do_endif, push_conditional,
1277         cpp_push_buffer, cpp_pop_buffer): Update.
1278         (_cpp_init_stacks): Rename cpp_init_directives.
1279         (_cpp_cleanup_stacks): Remove.
1280         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
1281         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
1282          cpp_forall_identifiers, cpp_create_reader): Update.
1283         (C_RID_CODE, cpp_make_node): New.
1284         (c_common_identifier): New identifier node for C front ends.
1285         * cppmain.c (main): Update.
1286         * fix-header.c (read_scan_file): Update.
1287         * flags.h (id_clash_len): Make unsigned.
1288         * ggc.h (ggc_mark_nonnull_tree): New.
1289         * hashtable.c: New.
1290         * hashtable.h: New.
1291         * stringpool.c: Update comments and copyright.  Update to use
1292         hashtable.c.
1293         * toplev.c (approx_sqrt): Move to hashtable.c.
1294         (id_clash_len): Make unsigned.
1295         * toplev.h (ident_hash): New.
1296         * tree.c (gcc_obstack_init): Move to hashtable.c.
1297         * tree.h: Include hashtable.h.
1298         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
1299         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
1300         (struct tree_identifier): Update.
1301         (make_identifier): New.
1302 cp:
1303         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
1304         (C_RID_CODE): Remove.
1305         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
1306         (init_parse): Don't do it here.
1307 objc:
1308         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
1309
1310 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
1311
1312         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
1313         as ncessary.
1314         (expand_eh_return): Convert between word_mode and Pmode.
1315         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
1316         are the same size.
1317         (execute_stack_op): Likewise.
1318         (execute_cfa_program): Likewise.
1319         (uw_frame_state_for): Likewise.
1320         (uw_update_context_1): Likewise.
1321         * unwind.inc (_Unwind_Reason_Code): Likewise.
1322         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
1323         (EH_RETURN_STACKADJ_RTX): Likewise.
1324         * config/mips/mips.c (compute_frame_size): Make space for saving
1325         EH return registers.
1326         (mips_expand_epilogue): Handle EH stack adjustments.
1327         * config/mips/mips.md (eh_return): New pattern.
1328         (eh_set_lr_si): Likewise.
1329         (eh_set_lr_di): Likewise.
1330         Add splitter to perform EH return after reload.
1331
1332 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1333
1334         * jump.c (mark_jump_label): Tidy previous change.
1335
1336 2001-05-19  Bruce Korb  <bkorb@gnu.org>
1337
1338         * fixinc/genfixes: no need for two warnings
1339         * fixinc/Makefile.in: open stdin for those building with a closed one.
1340
1341 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1342
1343         * jump.c (jump_optimize_1): Tidy.
1344         (mark_jump_label): When changing the label in a LABEL_REF, change
1345         update any REG_EQUAL notes as well.
1346
1347 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
1348
1349         * c-parse.in (parm_declarator): Split into
1350         parm_declarator_starttypename and parm_declarator_nostarttypename.
1351         (parm_declarator_starttypename, parm_declarator_nostarttypename):
1352         New.  Allow parenthesised sub-declarators which don't begin with a
1353         TYPENAME.  Fixes PR c/166.
1354
1355 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1356
1357         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
1358         macro.
1359         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
1360         Document it.
1361         * toplev.c (main): If the target does not allow profiling without
1362         a frame pointer, issue an error message.
1363         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
1364         Define it to false.
1365
1366 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1367
1368         * recog.c (general_operand): Modify last change to allow it if reload
1369         has completed.
1370
1371 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
1372
1373         * recog.c (general_operand): Prohibit nonzero subreg bytes on
1374         subregs containing mem.
1375
1376 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
1377
1378         * regrename.c (regrename_optimize): frame pointer register can
1379         use a few hardregs.
1380
1381 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
1382
1383         * README.DWARF: Move into dwarfout.c.
1384
1385 2001-05-18  Dale Johannesen  <dalej@apple.com>
1386
1387         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
1388         specific misuse of r0 as a reload address.
1389
1390 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
1391
1392         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
1393         suceeded.
1394
1395 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1396
1397         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
1398         (add_to_sequence): Make that decision type.
1399         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
1400         (write_switch, write_cond, debug_decision_2): Likewise.
1401
1402         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
1403         for INTEGER_TYPE.
1404         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
1405         variable size.
1406
1407 2001-05-18  Stan Shebs  <shebs@apple.com>
1408
1409         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
1410         * configure: Regenerate.
1411
1412 2001-05-18  Per Bothner  <per@bothner.com>
1413
1414         Changes needed for java/jvspec.c
1415         * gcc.h (n_infiles, outfiles):  Add declarations.
1416         * gcc.c (n_infiles, outfiles):  Mske no longer static.
1417
1418 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
1419
1420         * config/pa/som.h (EXCEPTION_SECTION): Define.
1421
1422 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
1423
1424         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
1425         list.
1426         Add have_location_lists, a variable to determine whether we need a
1427         .debug_loc section or not.
1428         (enum dw_val_class): Add dw_val_class_loc_list.
1429         (dw_val_struct): Add val_loc_list.
1430         (dw_loc_list_struct): New structure, represents location lists.
1431         (new_loc_list): New function, return a new location list, given
1432         the range and location expression.
1433         (add_loc_descr_to_loc_list): New function, add a location
1434         expression to a location list, given the expression and range.
1435         (output_loc_list): New function, output a location list.
1436         (gen_internal_sym): Modified to take symbol prefix, so we can
1437         reuse it for location list symbols.
1438         (add_AT_loc_list): New function, add a location list to a DIE at
1439         the named attribute.
1440         (AT_loc_list): New function, return the location list reference
1441         for a given attribute, if it's a location list.
1442         (print_die): Handle dw_val_class_loc_list.
1443         (size_of_die): Ditto.
1444         (value_format): Ditto.
1445         (output_die): Ditto.
1446         (output_location_lists): New function, output all of the location
1447         lists for a DIE and it's children.
1448         (dwarf2out_finish): Call output_location_lists if we have location
1449         lists.
1450
1451
1452 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
1453
1454         * gcse.c (try_replace_reg): First try global replace, later try to
1455         simplify the expression.
1456
1457         * gcse.c (find_used_regs): Change calling convention; work via
1458         note_uses.
1459         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
1460
1461 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
1462
1463         Revert
1464         2001-02-09  Nick Clifton  <nickc@redhat.com>
1465         * config/arm/arm.md: Change output constraint on post inc
1466         load/store multiple patterns to be a read/write constraint.
1467
1468 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
1469
1470         * basic-block.h (struct basic_block_def): Add documentation about
1471         what a basic block is, and what the various fields are used for.
1472         * flow.c (calculate_globlal_regs_live): Add documentation about
1473         how the algorithm works, and how we know that it will terminate.
1474         Check that the the inductive assumption that guarantees
1475         termination actually holds.
1476         (mark_used_regs): Treat conditionally set registers as used.
1477         (debug_regset): Add comment.
1478         * rtl.texi (cond_exec): Add documentation.
1479
1480         * function.c (expand_function_start): Avoid creating BLKmode
1481         pseudos.
1482
1483 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
1484
1485         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
1486         DIE, even if it has no children.
1487         (dwarf2out_finish): Always output the line-number table, even if
1488         it has no content.
1489
1490 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
1491
1492         * rs6000.md (movsfcc,movdfcc): Remove NE case.
1493
1494 2001-05-17  Bruce Korb <bkorb@gnu.org>
1495
1496         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
1497         * fixinc/genfixes: emit a warning if AutoGen is out of date
1498
1499 2001-05-17  Brendan Conoboy <blc@cygnus.com>
1500             Bruce Korb <bkorb@gnu.org>
1501
1502         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
1503         found in fixinc directory.  Facilitates binary distributions.
1504
1505 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
1506
1507         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
1508         COMPLEX_TYPE.
1509
1510 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
1511
1512         * dwarf2out.c (modified_type_die): Equate qualified type to die.
1513
1514 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1515
1516         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
1517         (simplify_subreg): Handle complex types represented as CONCAT.
1518
1519         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
1520         * rtl.h (swap_commutative_operands_p): Declare.
1521         * rtlanal.c (swap_commutative_operands_p): New.
1522         (operand_preference): New static function.
1523
1524         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
1525         (gen_binary): Likewise.
1526         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
1527         * simplify-rtx.c (simplify_gen_binary,
1528         simplify_gen_relational): Likewise.
1529
1530 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
1531
1532         * cse.c (fold_rtx): Use simplify_subreg.
1533
1534         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
1535         (simplify_gen_subreg): New.
1536         (simplify_rtx): Use simplify_subreg.
1537         * rtl.h (simplify_gen_subreg): Declare.
1538
1539 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
1540
1541         * doc/install.texi: Update Solaris information.
1542
1543         * except.h (protect_cleanup_actions): Remove it.
1544         (lang_protect_cleanup_actions): Declare it.
1545         * except.c (protect_cleanup_actions): Remove it.
1546         (lang_protect_cleanup_actions): New variable.
1547         (init_eh): Don't make protect_cleanup_actions a GC root.
1548         (expand_eh_region_and_cleanup): Call
1549         lang_protect_cleanup_actions.
1550         (output_function_exception_table): Remove unused `align'
1551         variable.
1552         * varasm.c (assemble_external): Abort if we have not yet
1553         opened the assembly output file.
1554
1555 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
1556
1557         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
1558         for eh_personality_libfunc.
1559
1560 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
1561
1562         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
1563         when calling simplify_subreg.  This is needed to allow replacing
1564         of expression of one mode by expression of different mode.
1565
1566 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
1567
1568         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
1569
1570 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
1571
1572         * expr.c (protect_from_queue): Protect against subsequent calls to
1573         emit_queue.
1574         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
1575         too clever.
1576
1577 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
1578
1579         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
1580
1581 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1582
1583         * gccbug.in (CATEGORIES): Add "bootstrap".
1584
1585 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
1586
1587         * simplify-rtx.c (simplify_subreg): Break out from ...
1588         * combine.c (combine_splify_rtx) ... here and ...
1589         * recog.c (validate_replace_rtx_1): ... here;
1590         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
1591         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
1592         (subreg_lowpart_p): ... here.
1593
1594 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
1595
1596         * stmt.c (expand_asm_operands): For inout operands, make sure
1597         the substitution of '=' for '+' makes it into the rtl.
1598
1599         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
1600         (reload_as_needed): Call update_eliminable_offsets a bit later.
1601
1602 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1603
1604         * gcc.texi (gccbug): Refer to the web pages for detailed information
1605         on GNATS.
1606
1607 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
1608
1609         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
1610
1611         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
1612         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
1613         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
1614         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
1615         * cross-make: Don't set LIBGCC1.
1616         * mklibgcc.in: Delete all code for building from libgcc1.c.
1617         Always honor LIB1ASMFUNCS if set.
1618
1619         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
1620         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
1621         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
1622         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
1623         config/i386/uwin.asm, config/m68hc11/larith.asm,
1624         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
1625         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
1626         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
1627         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
1628         Delete or update references to libgcc1 in commentary.
1629
1630         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
1631         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
1632         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
1633         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
1634         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
1635         config/arm/t-semi, config/arm/t-strongarm-coff,
1636         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
1637         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
1638         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
1639         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
1640         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
1641         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
1642         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
1643         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
1644         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
1645         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
1646         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
1647         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
1648         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
1649         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
1650         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
1651         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
1652         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
1653         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
1654         config/mips/t-ultrix, config/mn10200/t-mn10200,
1655         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
1656         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
1657         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
1658         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
1659         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
1660         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
1661         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
1662         config/sparc/t-sparclite, config/sparc/t-splet,
1663         config/sparc/t-sunos41, config/sparc/t-vxsparc,
1664         config/sparc/t-vxsparc64, config/v850/t-v850:
1665         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
1666
1667         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
1668         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
1669         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
1670         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
1671         nongcc_SI_type, nongcc_word_type, or perform_*
1672         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
1673
1674         * config/i386/386bsd.h, config/i386/beos-elf.h,
1675         config/i386/linux-aout.h, config/i386/linux-oldld.h,
1676         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
1677         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
1678         Don't include i386/perform.h.
1679
1680         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
1681         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
1682         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
1683         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
1684         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
1685         config/vax/t-openbsd, config/vax/t-vax: Delete.
1686
1687         * config.gcc: Remove references to deleted files.
1688         (arm-semi-aof): Use arm/t-semi for tmake_file.
1689
1690         * gcc.texi, install.texi, invoke.texi, tm.texi:
1691         Delete or rewrite text which is no longer relevant now that
1692         libgcc1 no longer exists.
1693
1694         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
1695         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
1696
1697 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
1698         Bruce Korb <bkorb@gnu.org>
1699
1700         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
1701         initializer
1702
1703 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
1704
1705         * i386.md: Add two peepholes to clean up code generated by
1706         cmpstr* expanders.
1707
1708 2001-05-16  Richard Henderson  <rth@redhat.com>
1709
1710         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
1711         variants of non-absolute encodings.
1712
1713         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1714
1715         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
1716         __register_frame_info_table_bases): Export.
1717
1718 2001-05-16  Richard Henderson  <rth@redhat.com>
1719
1720         * except.c (eh_data_format_name): Move to ...
1721         * dwarf2asm.c: ... here.  Use designated initializers if available.
1722         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
1723         * dwarf2asm.h: Update declarations.
1724         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
1725         ASM_PREFERRED_EH_DATA_FORMAT.
1726         (output_call_frame_info): Likewise.  Use 'L' augmentation for
1727         the LSDA encoding.
1728
1729         * unwind-dw2-fde.h (struct fde_vector): New.
1730         (struct old_object): Rename from struct object.
1731         (struct object): New.
1732         (__register_frame_info_bases): Declare.
1733         (__register_frame_info_table_bases): Declare.
1734         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
1735         * unwind-dw2-fde.c (objects): Remove.
1736         (unseen_objects, seen_objects): New.
1737         (__register_frame_info_bases): New.
1738         (__register_frame_info): Use it.
1739         (__register_frame_info_table_bases): New.
1740         (__register_frame_info_table): Use it.
1741         (__deregister_frame_info): Rewrite for changed object struct.
1742         (base_from_object, get_cie_encoding, get_fde_encoding): New.
1743         (fde_unencoded_compare): Rename from fde_compare; uninline.
1744         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
1745         (start_fde_sort): Adjust for new definition of fde_vector.
1746         (fde_insert): Likewise.
1747         (end_fde_sort): Likewise.  Select comparison function based
1748         on properties of the object.
1749         (fde_split): Take object and fde_compare_t arguments.
1750         (frame_heapsort, fde_merge): Likewise.
1751         (classify_object_over_fdes): Rename from count_fdes.  Handle
1752         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
1753         for the object.
1754         (add_fdes): Handle encoded pointers.
1755         (init_object): Rename from frame_init.  Update for new struct object.
1756         (linear_search_fdes): Rename from search_fdes.  Handle encoded
1757         pointers.
1758         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
1759         (binary_search_single_encoding_fdes): New.
1760         (binary_search_mixed_encoding_fdes): New.
1761         (search_object): New.
1762         (_Unwind_Find_FDE): Update for new struct object.  Fill in
1763         the dwarf_eh_bases.
1764         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
1765         iterating over EH data.
1766         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
1767         fde_encoding, lsda_encoding.
1768         (read_uleb128, read_sleb128): Remove.
1769         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
1770         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
1771         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
1772         pointers.
1773         * unwind-pe.h: Add "struct" to _Unwind_Context references.
1774
1775 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1776
1777         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
1778         * cpphash.c (_cpp_lookup_with_hash): Similarly.
1779         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
1780         cpp_spell_token, cpp_output_token): Similarly.
1781         * cpplib.c (lex_macro_node, do_undef, do_pragma,
1782         do_pragma_poison, parse_assertion, do_assert): Similarly.
1783         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
1784         save_parameter, _cpp_create_definition, check_trad_stringification,
1785         cpp_macro_definition): Similarly.
1786         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
1787         * c-lex.c (cb_undef, c_lex): Similarly.
1788         * fix-header.c (recognized_function): Similarly.
1789         * cpplib.h (NODE_LEN, NODE_NAME): New.
1790         (cpp_hashnode): Rename length len.
1791
1792 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
1793
1794         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
1795         GPRs.
1796
1797 2001-05-16  Andreas Jaeger  <aj@suse.de>
1798
1799         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
1800
1801         * toplev.c: Include dwarf2asm.h for prototype of
1802         dw2_output_indirect_constants.
1803
1804 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1805
1806         * stmt.c (expand_asm_operands): Be able to offload addressof
1807         expression to memory. (PR optimization/185)
1808
1809 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1810
1811         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
1812         applying distributive law.
1813
1814 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1815
1816         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
1817
1818         * gthr-dce.h (UNUSED): Attribute unused macro.
1819         (__gthread_key_dtor): Make arguments UNUSED.
1820         (__gthread_key_delete): Revise for compatibility with DRAFT4
1821         implementation.
1822
1823 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
1824
1825         * doc/install.texi: Update AIX information.
1826         * README.RS6000: Remove obsolete file.
1827
1828 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
1829             Nathan Sidwell  <nathan@codesourcery.com>
1830
1831         * gcc.c (give_switch): Don't write before start of string.
1832         Always append suffix.
1833
1834 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
1835
1836         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
1837         after stage3.
1838
1839 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1840
1841         * README.ALTOS: Remove obsolete file.
1842
1843 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1844
1845         * c-lex.h (save_and_forget_protocol_qualifiers,
1846         forget_protocol_qualifiers, remember_protocol_qualifiers):
1847         Remove deleted functions' prototypes.
1848
1849 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1850
1851         * c-parse.in (methodtype): New production.
1852         (methoddef, methodproto): Collapse separate '-' and '+'
1853         handlers into 1.
1854
1855 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1856
1857         * c-common.h (RID_FIRST_PQ): New.
1858         * c-parse.in (objc_pq_context): New.
1859         (objc parser): Set objc_pq_context rather than calling
1860         remember_protocol_qualifiers and forget_protocol_qualifiers.
1861         Don't call save_and_forget_protocol_qualifiers.
1862         (yylexname): Handle objc protocol qualifiers here.
1863         * stringpool.c (struct str_header): Replace with sp_hashnode.
1864         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
1865         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
1866         Allocate an IDENTIFIER_NODE for each identifier.
1867         (FORALL_STRINGS, set_identifier): Delete.
1868         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
1869         (ggc_alloc_string): Use an obstack.
1870         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
1871         * tree.h: Update comments.
1872         (set_identifier): Delete.
1873         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
1874         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
1875         remember_protocol_qualifiers): Delete.
1876
1877 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
1878
1879         * flow.c (life_analysis): After life analysis is complete, do
1880         an optional scan over insns looking for REG_LABEL notes that
1881         reference a deleted label.
1882         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
1883         before peeking at LABEL_NUSES.
1884
1885 2001-05-15  Richard Henderson  <rth@redhat.com>
1886
1887         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
1888         (_Unwind_GetTextRelBase): New.
1889
1890 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
1891
1892         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
1893
1894 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
1895
1896         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
1897         so that CHOOSE_SECTION gets used.
1898
1899         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
1900         TARGET_RELOCATABLE like flag_pic for now.
1901
1902 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
1903
1904         * rs6000.md (movdi splitter): Sign extend more efficiently.
1905         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
1906         to "long long" valid on 32-bit and 64-bit hosts.
1907         (logical_operand): Cast trunc_int_for_mode return value.
1908         (rs6000_emit_move): Shift macro to encapsulate variable.
1909         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
1910         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
1911         plus_constant requires signed argument.
1912
1913 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
1914
1915         * gthr-posix.h: Make additional pthread-* functions weak.
1916
1917 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
1918
1919         * recog.c (apply_change_group): Avoid unneeded validating.
1920
1921 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
1922
1923         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
1924         (num_insns_constant): CONST_INT can be 64-bits.
1925
1926 2001-05-14  Stan Shebs  <shebs@apple.com>
1927
1928         * config/darwin.h (LIB_SPEC): Just use -lSystem.
1929         (LIBGCC_SPEC): Don't define.
1930
1931 2001-05-14  Richard Henderson  <rth@redhat.com>
1932
1933         * configure.in (gcc_cv_as_eh_frame): New test.
1934         * config.in, configure: Rebuild.
1935         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
1936
1937 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
1938
1939         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
1940         extended precision divide.
1941
1942 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
1943
1944         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
1945         for RETURNS as well.
1946
1947 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
1948
1949         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
1950         (CPP_CPU??_SIZE_TYPE): New.
1951         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
1952         (CPP_CPU_SPEC): ... here; support choosing of CPU.
1953         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
1954         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
1955         compiler.
1956         * i386.c (override_options): Add sorry about not suported modes.
1957
1958 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
1959
1960         * config/pa/som.h (NM_FLAGS): Remove.
1961         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
1962         (ASM_OUTPUT_SECTION_NAME): Remove.
1963         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
1964
1965 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
1966
1967         * regrename.c (regrename_optimize): Do not rename registers to
1968         leaf registers.
1969
1970 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
1971
1972         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
1973         contain MEMs.  Remove useless distinction about clobbering
1974         registers.
1975
1976 2001-05-13  Geoff Keating  <geoffk@redhat.com>
1977
1978         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
1979         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
1980         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
1981         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1982         (EXCEPTION_SECTION): Define.
1983
1984 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
1985
1986         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
1987         binary backward compat only.
1988         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
1989         in LIB2FUNCS.  Pass it to mklibgcc.
1990         * mklibgcc.in: Handle LIB2FUNCS_ST.
1991
1992         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
1993
1994 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
1995
1996         * tm.texi (THREAD_MODEL_SPEC): Document it.
1997         * gcc.c (main): Use it.
1998         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
1999         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
2000
2001 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2002
2003         * rtl.h (SYMBOL_REF_WEAK): New macro.
2004         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
2005         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
2006         * rtl.texi (SYMBOL_REF_WEAK): Document it.
2007         * gcc.texi: Remove wrong description.
2008
2009 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
2010
2011         * Makefile.in (STAMP): New macro.
2012         Replace all uses of `touch' with $(STAMP).
2013         * fixinc/Makefile.in: Likewise.
2014
2015 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2016
2017         * configure.in: ldopen is never in -lexc, so don't test for it.
2018         Add test for exc_resume in -lexc for Ada.
2019         * configure: Regenerated.
2020
2021 2001-05-12  Richard Henderson  <rth@redhat.com>
2022
2023         * dwarf2asm.c (size_of_encoded_value): New function.
2024         * dwarf2asm.h: Declare it.
2025         * except.c (output_function_exception_table): Align the TType
2026         array only as wide as the encoding.
2027
2028 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
2029
2030         * extend.texi: Document #pragma GCC java_exceptions.
2031
2032 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2033
2034         * c-parse.in (bison parser, init_reswords): Remove uses of
2035         doing_objc_thang.
2036         * c-tree.h (doing_objc_thang): Remove.
2037
2038 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2039
2040         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
2041         about files not ending in newlines.
2042
2043 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2044
2045         * dwarfout.c (dwarfout_init): Add cast.
2046         * sched-deps.c (sched_analyze_insn): Remove unused vars.
2047         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
2048 cp:
2049         * method.c (build_mangled_C99_name): Remove unused prototype.
2050
2051 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2052
2053         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
2054
2055 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2056
2057         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2058         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
2059
2060 2001-05-11  Richard Henderson  <rth@redhat.com>
2061
2062         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2063         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
2064         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
2065         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
2066         (dw2_output_indirect_constants): Prototype.
2067         * dwarf2out.c (dwarf2out_begin_prologue): Generate
2068         current_function_func_begin_label if we'll need it for EH.  Exit
2069         early for IA64_UNWIND_INFO.
2070         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
2071         (eh_data_format_name): Update for indirect references.
2072         (output_function_exception_table): Care for IA64_UNWIND_INFO.
2073         Handle ASM_PREFERRED_EH_DATA_FORMAT.
2074         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
2075         define HAVE_eh_return etc.
2076         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
2077         (final_end_function): Don't call output_function_exception_table.
2078         * toplev.c (compile_file): Call dw2_output_indirect_constants.
2079         (rest_of_compilation): Invoke output_function_exception_table
2080         for ia64 before assemble_end_function.
2081         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
2082         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
2083
2084         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
2085         * unwind.h: Declare them.
2086         * libgcc-std.ver: Export them.
2087         * unwind-pe.h: New file.
2088
2089         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2090
2091         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
2092         instead of "fde".
2093         (find_fde_for_dso): Extract DT_PLTGOT.
2094         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
2095         the segment and gp as well.
2096         * config/ia64/frame-ia64.c: Remove file.
2097         * config/ia64/frame-ia64.h: Remove file.
2098         * config/ia64/unwind-ia64.c: New file.
2099         * config/ia64/unwind-ia64.h: New file.
2100         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
2101         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
2102         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
2103         (ASM_PREFERRED_EH_DATA_FORMAT): New.
2104         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2105         (IA64_UNWIND_INFO): Re-enable.
2106         (HANDLER_SECTION): Remove.
2107         (EH_RETURN_DATA_REGNO): New.
2108         * config/ia64/ia64.md (exception_receiver): Remove.
2109         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
2110         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
2111
2112 2001-05-11  Richard Henderson  <rth@redhat.com>
2113
2114         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
2115         calls and jumps to be bundled together.
2116         (ia64_reorg): Emit a break after a noreturn call that ends
2117         a function.
2118         * config/ia64/ia64.md (break_f): New.
2119
2120 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2121
2122         * c-lex.c (lex_charconst): Convert into a simple wrapper
2123         around cpp_interpret_charconst, to which most of the code
2124         body is moved.
2125         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
2126         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
2127         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
2128         (lex): Use cpp_interpret_charconst.
2129         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
2130         hex_digit_value): New functions.
2131         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
2132         * cpplib.h (cpp_interpret_charconst): New prototype.
2133         * Makefile.in: Update.
2134
2135 2001-05-12  Dean Wakerley  <dean@wakerley.com>
2136
2137         * doc/install.texi: New file. Converted to texinfo from the HTML
2138         documentation in wwwdocs/htdocs/install.
2139
2140 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
2141
2142         * gcse.c (insert_insn_end_bb): Do not search for assignments to
2143         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2144
2145         * toplev.c (compile_file): Move comment for opening output
2146         file to just before the code that opens the output file.
2147
2148 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
2149
2150         * regmove.c (regmove_optimize): Suppress the optimization for
2151         unchanging destination register.  Add comment above function.
2152
2153 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
2154
2155         * Makefile.in: Exterminate all references to assert.h.
2156         * cross-make: Likewise.
2157         * assert.h: Delete.
2158         * configure.in: Correct commentary.
2159         * configure: Regenerate.
2160
2161         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
2162         Remove __eprintf.
2163
2164         * config/t-freebsd, config/t-linux, config/t-linux-aout,
2165         config/t-netbsd, config/t-rtems, config/x-linux,
2166         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
2167         No need to override INSTALL_ASSERT_H.
2168
2169         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
2170         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
2171         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
2172
2173 2001-05-11  Graham Stott  <grahams@redhat.com>
2174
2175         * combine.c (simplify_comparison): Fix typo.
2176
2177 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2178
2179         * loop.h (struct movables): Remove `num'.
2180         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
2181         Adjust call to strength_reduce.
2182         (num_unmoved_movables): New function.
2183         (move_movables): Don't set movables->num.
2184         (strength_reduce): Compute the number of instructions in the loop
2185         here, rather than in the caller.
2186         (check_dbra_loop): Always clear reversible_mem_store if there
2187         are any memory sets.
2188         (loop_regs_scan): Don't count instructions here.
2189         (count_insn_in_loop): New function.
2190
2191 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2192
2193         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
2194
2195 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2196
2197         * c-common.c (finish_label_expr): New function, lifted from
2198         from cp/semantics.c.
2199         * c-common.h (finish_label_expr, lookup_label): New prototypes.
2200         * c-parse.in: Move 3 blocks of parser code into new functions.
2201         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
2202         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
2203         (lookup_label): Remove.
2204
2205 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
2206
2207         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
2208         FLOAT_BIT_ORDER_MISMATCH.
2209
2210 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2211
2212         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
2213         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
2214
2215 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2216
2217         * expr.c (emit_group_load): extract_bit_field requires a REG or
2218         MEM as an argument.
2219
2220 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
2221
2222         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
2223         a computed jump into an unconditional jump.
2224         In second hunk of code for collapsing computed and conditional jumps
2225         into unconditional jumps, reemit the jump in additional cases.
2226
2227         * jump.c (jump_optimize_1): Do not wrap the new jump target
2228         inside a LABEL_REF; gen_jump will do that automatically.
2229
2230 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
2231
2232         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
2233         contents for a SYMBOL_REF in case of floating point constants.
2234
2235 2001-05-10  DJ Delorie  <dj@redhat.com>
2236
2237         * c-common.c (combine_strings): Widen strings in a
2238         host-endian-independent way.
2239
2240 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2241
2242         * c-parse.in: Remove many shift/reduce conflicts.  Update
2243         %expect values.
2244         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2245         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2246         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2247         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2248         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2249         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2250         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2251         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
2252         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
2253         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
2254         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
2255         typespec_reserved_nonattr, typespec_reserved_attr,
2256         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
2257         structsp_nonattr, components_notype, component_notype_declarator,
2258         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
2259         firstparm, setspecs_fp): New
2260         (typed_declspecs, reserved_declspecs, typed_typespecs,
2261         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
2262         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
2263         declmods_no_prefix_attr, nonempty_type_quals, structsp,
2264         type_quals): Remove.  Users updated.
2265         (initdecls, notype_initdecls, after_type_declarator,
2266         parm_declarator, notype_declarator, absdcl1, components, ivars):
2267         Don't allow attributes at the start of a declarator; include them
2268         in the production containing the declarator instead.  Always
2269         require type specifiers before trying to redeclare a typedef name.
2270         (typename): Allow for attributes but warn that they are ignored.
2271         (parmlist, firstparm, setspecs_fp): Include attributes in
2272         parmlist; suck them off the parser stack in firstparm using
2273         setspecs_fp.
2274
2275 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
2276
2277         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
2278         to determine if a block has an unconditional jump at its end.
2279
2280         * jump.c (jump_optimize_1): When converting a conditional jump
2281         to an unconditional jump, build the jump using gen_jump instead
2282         of just modify operands in-place.
2283
2284 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
2285
2286         * cppinit.c (cpp_post_options): Shut off macro expansion if
2287         -fpreprocessed.
2288         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
2289         IN_I directives only if the # is in column 1 and the directive
2290         name begins in column 2.
2291         * cppmain.c (scan_buffer): Insert a space between # and an
2292         identifier, when that identifier is a directive name.
2293
2294         * tradcpp.c (struct file_buf): Add a pointer to the next entry
2295         in the header search path.
2296         (enum node_type): Add T_INCLUDE_NEXT.
2297         (directive_table): Add entry for include_next.
2298         (do_include_next): New function.
2299         (process_include): New routine, broken out of do_include.
2300         (finclude): Insert 'nhd' argument, to be copied into
2301         next_header_dir of the new buffer.
2302         (main): Adjust to match.
2303         * gsyslimits.h, limity.h: Un-indent #include_next.
2304
2305 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2306
2307         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
2308         inclusion as a chapter of the GCC manual.
2309         * gcc.texi: Include objc.texi.
2310         * fdl.texi: Use @unnumberedsec for the addendum.
2311         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
2312
2313 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2314
2315         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
2316
2317 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
2318
2319         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
2320         handling of two-address insns.
2321
2322 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
2323
2324         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
2325         ../binutils/nm-new instead of ../binutils/nm.
2326
2327 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
2328
2329         * i386.md (movdi splitter): Fix the splitting condition
2330         (float_extenddftf splitter): Fix mode.
2331
2332 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
2333
2334         * genrecog.c (write_switch): Avoid outputting of switch for
2335         types wider than int.
2336
2337 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
2338
2339         * reload1.c (copy_eh_notes): New function.
2340         (emit_input_reload_insns): Call it.
2341         (emit_output_reload_insns): Call it.
2342
2343 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
2344
2345         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
2346         Delete stanzas.
2347         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
2348         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
2349
2350         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
2351
2352 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2353
2354         * pa.md (interspace_jump): Revise comment.
2355         (builtin_longjmp): Block initial setup insns from delay slot of
2356         interspace branch.
2357         (builtin_setjmp_receiver): New expander to save and restore PIC
2358         register.
2359
2360         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
2361
2362 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
2363
2364         * toplev.c (compile_file): Set up the output file before we call
2365         the various initializers for the compiler.
2366
2367         * except.c (sjlj_mark_call_sites): Do not search for assignments to
2368         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2369
2370         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
2371         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
2372
2373 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
2374
2375         * Makefile.in (tradcpp0): Correct typo in dependency list.
2376
2377 2001-05-06  Geoff Keating  <geoffk@redhat.com>
2378
2379         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
2380         the link register if we're not going to use it.
2381
2382         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
2383         (output_function_profiler): Likewise.
2384
2385 2001-05-07  Alan Modra  <amodra@one.net.au>
2386
2387         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
2388
2389 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
2390
2391         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
2392         zero-extend it.  Make abs_inc unsigned.
2393
2394         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
2395         widest mode in narrowing and widening operations.
2396
2397         * config/mips/mips.md: Sign extend CONST_INTs.
2398
2399 2001-05-06  Andreas Jaeger  <aj@suse.de>
2400
2401         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
2402         (i386 Options): Document -momit-leaf-frame-pointer.
2403
2404 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2405
2406         * c-typeck.c (internal_build_compound_expr): Check for
2407         array to pointer conversion just once.
2408
2409 2001-05-05  Richard Henderson  <rth@redhat.com>
2410
2411         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
2412
2413 2001-05-05  Richard Henderson  <rth@redhat.com>
2414
2415         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
2416         to the parent of the fixup region.
2417
2418 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
2419
2420         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
2421         "inline" keyword.
2422         * cpp.texi (__NO_INLINE): Document it.
2423
2424 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2425
2426         * cppfiles.c (struct include_file): New member err_no.
2427         (find_or_create_entry): Set it.
2428         (open_file): Don't set fds to -2.  Instead, use err_no to
2429         remember previous errors, if any.
2430
2431 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2432
2433         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
2434         between X and Y by using sequences of xgdx and xgdy.
2435
2436 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2437
2438         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
2439         of '!' for the 'D' alternative ('!' is too strong).
2440         ("*logicalsi3_silshl16"): Likewise.
2441         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
2442         ("movstrictsi"): Remove spurious '+'.
2443         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
2444         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
2445         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
2446         a reload to them.
2447
2448 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
2449
2450         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
2451
2452 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
2453
2454         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
2455         into -a.
2456
2457 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2458
2459         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
2460         TARGET_POWERPC64.
2461
2462 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2463
2464         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
2465         soft register, use ror instead of rol.
2466
2467 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2468
2469         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
2470         into account pre/post increment decrement for 68HC12.
2471         Fix other problems in replacement and fix call to reg_mentioned_p.
2472
2473 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2474
2475         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
2476         Put the soft registers in bss for 68HC12.
2477         (L_regs_d3_4): New for _.d3 and _.d4.
2478         (L_regs_d5_6): Likewise.
2479         (L_regs_d1_2): Likewise.
2480         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
2481
2482 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2483
2484         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
2485         to the pre-processor when -fshort-double is specified.
2486         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
2487
2488 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2489
2490         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
2491         (__mulsi3): Rewrite for 68HC12.
2492         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
2493         Mark 'x' constraint with earlyclobber to prevent a
2494         RELOAD_FOR_OTHER_ADDRESS to go in it.
2495         (mulhi3_m68hc12): New pattern.
2496         (mulhi3_m68hc11): Rename of mulhi3.
2497         (mulhi3): New expand for 68HC12 optimisation.
2498         (umulhisi3, mulhisi3): New patterns for 68HC12.
2499
2500 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2501
2502         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
2503         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
2504         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
2505
2506 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2507
2508         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
2509         constants cheap after reload.
2510         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
2511         are cheap.
2512         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
2513         so that gcc prefers a shift by 16.
2514         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
2515
2516 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
2517
2518         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
2519
2520 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2521
2522         * alpha.h: NULL_PTR -> NULL.
2523         * arm.c: Likewise.
2524         * arm.h: Likewise.
2525         * avr.h: Likewise.
2526         * c4x.c: Likewise.
2527         * c4x.h: Likewise.
2528         * i386.c: Likewise.
2529         * i386.md: Likewise.
2530         * i860.c: Likewise.
2531         * ia64.c: Likewise.
2532         * m68hc11.h: Likewise.
2533         * rs6000.h: Likewise.
2534         * sh.c: Likewise.
2535         * sh.h: Likewise.
2536         * sparc.h: Likewise.
2537         * v850.c: Likewise.
2538
2539         * expr.c: Likewise.
2540         * final.c: Likewise.
2541         * gcc.c: Likewise.
2542         * recog.c: Likewise.
2543
2544 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2545
2546         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
2547         `bool' parameter to `int'.
2548
2549         * hash.c (hash_lookup): Likewise.
2550
2551         * hash.h (hash_lookup): Likewise.
2552
2553         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
2554
2555 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
2556
2557         * i386.c (x86_initialize_trampoline): Fix mode of constant.
2558
2559 2001-05-03  Geoff Keating  <geoffk@redhat.com>
2560
2561         * invoke.texi (i386 Options): Delete references to -malign-jumps,
2562         -malign-loops, -malign-functions.
2563         * i386.c (ix86_align_funcs): Delete.
2564         (ix86_align_loops): Delete.
2565         (ix86_align_jumps): Delete.
2566         (override_options): Mark -malign-* as obsolete.  Emulate their
2567         behaviour with the -falign-* options.  Default -falign-* from
2568         the processor table.
2569         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
2570         patch of Wed May 2 13:09:36 2001.
2571         (LOOP_ALIGN): Delete.
2572         (LOOP_ALIGN_MAX_SKIP): Delete.
2573         (LABEL_ALIGN_AFTER_BARRIER): Delete.
2574         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
2575
2576 2001-05-04  Andreas Jaeger  <aj@suse.de>
2577
2578         * except.h: Add prototype declaration for
2579         expand_builtin_init_dwarf_reg_sizes.
2580
2581 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
2582
2583         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
2584
2585 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2586
2587         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
2588         instruction.
2589         ("bitcmpqi2"): New pattern for bit-extract and test.
2590         ("bitcmphi"): New pattern for bitb/bita instructions.
2591
2592 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2593
2594         * gccbug.in: Use a temporary directory when the mktemp command is
2595         not available.
2596
2597 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2598
2599         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
2600         instead of _.d1.
2601         (INITIALIZE_TRAMPOLINE): Call it.
2602         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
2603         (TRAMPOLINE_TEMPLATE): Remove.
2604         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
2605         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
2606         Declare.
2607
2608 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
2609
2610         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
2611         and crtendS.o with PIC.
2612
2613 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2614
2615         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
2616         negative numbers.
2617         (___subdi3, ___adddi3): Use x instead of y as index register.
2618         (__init_bss_section, __map_data_section): Optimize for 68HC12.
2619         (__memset, __memcpy): Likewise.
2620         (regs): Put the soft registers in bss for 68HC12.
2621         (abort): Use trap to abort for 68hc12.
2622         (__mulhi3, __mulhi32): Use emul for 68hc12.
2623         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
2624
2625 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2626
2627         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
2628         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
2629         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
2630         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
2631         Set 68HC12 min offset to -65536.
2632         (print_operand): Put parenthesis arround the operand if it refers
2633         to a symbol having the same name as a register.
2634         (m68hc11_z_replacement): When z register is replaced by its
2635         equivalent soft register, force the insn to be re-recognized.
2636         (m68hc11_check_z_replacement): Fix the test when destination is
2637         the index register and z dies in the insn.
2638         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
2639
2640 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2641
2642         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
2643         costs according to processor variant.
2644         (m68hc11_shift_cost): New function to compute shift costs.
2645         (m68hc11_rtx_costs): Define costs according to processor variant.
2646         (m6811_cost): Costs for 68HC11.
2647         (m6812_cost): Costs for 68HC12.
2648         (COSTS_N_INSNS): Remove.
2649
2650         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
2651         (DEFAULT_RTX_COSTS): Remove.
2652         (CONST_COSTS): Define costs according to OUTER_CODE.
2653         (processor_costs): New struct to define costs.
2654         (m68hc11_cost): Pointer to current costs.
2655
2656 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2657
2658         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
2659         and use m68hc11_notice_keep_cc when using leax/leay.
2660         (addhi3 split): Reject split if the insn is handled by
2661         leax/leay above.
2662         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
2663         push must be handled in a special way if the source operand uses
2664         sp as index register.
2665         (m68hc11_notice_keep_cc): New function.
2666         (m68hc11_gen_movhi): Use it when an insn changes a register but
2667         not the flags.
2668         (m68hc11_gen_movqi): Fix move for 68HC12.
2669         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
2670
2671 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2672
2673         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
2674         and don't pass operands[0] to emit_library_call_value.
2675
2676 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2677
2678         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
2679         (zero_extendsi split): Simplify and use (zero_extendhi).
2680         (*addhi3): Remove 'w' constraint since stack pointer is handled
2681         by (addhi3_sp).
2682         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
2683         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
2684         (*ashrhi3_const): Fix shift by 7.
2685         (*lshrsi3_const16): Fix template.
2686         (call, call_value): Fix constraint and predicate.
2687
2688 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2689
2690         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
2691         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
2692         (CC_REGNUM): Likewise.
2693         (*unnamed splits): Use above constants instead of hard coded numbers.
2694         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
2695         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
2696         (*return_16bit, *unnamed peepholes): Likewise.
2697
2698 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
2699
2700         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
2701         rs6000/rs6000.h twice.
2702
2703 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
2704
2705         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
2706         (CPP_SPEC): Conditionally define MSDOS and GO32.
2707         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
2708         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
2709         ignored.
2710         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
2711
2712 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
2713
2714         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
2715
2716 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
2717
2718         * integrate.h (struct inline_remap): Add leaf_reg_map table.
2719         * integrate.c (expand_inline_function): Use xcalloc to allocate
2720         memory.
2721         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
2722         registers.
2723
2724 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
2725
2726         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
2727         if it is not set.
2728
2729 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
2730
2731         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
2732         linker if -mrelax is given.
2733         (TARGET_SWITCHES): Document -mrelax.
2734
2735         Re-installed 2001-01-09's patch:
2736         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
2737         if it's wider than long and the target's long is wider than the
2738         host's.
2739
2740 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
2741
2742         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
2743         directly include rs6000/rs6000.h.  Instead do it in tm.h.
2744
2745 2001-05-02  Stan Shebs  <shebs@apple.com>
2746
2747         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
2748         NSConstantString for NeXT-style runtimes.
2749         (STRING_OBJECT_GLOBAL_NAME): New macro.
2750         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
2751         OCTI_STRING_CLASS_DECL.
2752         (constant_string_global_id): New macro.
2753         (string_class_decl): Ditto.
2754         (setup_string_decl): New function.
2755         (build_objc_string_object): Use it to build a NeXT runtime
2756         compatible string initializer.
2757
2758 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
2759
2760         * tradcpp.c (do_define): Make sure we don't walk past limit.
2761
2762 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2763
2764         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
2765         offsets if not REG_OK_STRICT.
2766
2767         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
2768         (INT_REG_OK_FOR_INDEX_P): Likewise.
2769         (INT_REG_OK_FOR_BASE_P): Likewise.
2770         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
2771         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
2772         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
2773         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
2774         REG_OK_FOR_BASE_P. Take an additional parameter.
2775         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
2776         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
2777         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
2778         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
2779         rs6000_legitimate_address() and use it.
2780         * config/rs6000/rs6000.c: Update all callers.
2781         (rs6000_legitimate_address): New function.
2782
2783 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
2784
2785         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
2786         special_constant conditional blocks together.
2787
2788 2001-05-02  Dale Johannesen  <dalej@apple.com>
2789
2790         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
2791         parameter.
2792         (STRICT_ARGUMENT_NAMING): Define.
2793         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
2794         function_arg_partial_nregs, setup_incoming_varargs): Remove
2795         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
2796         is defined.
2797
2798 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2799
2800         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
2801
2802         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
2803         for replacement.
2804
2805         * expr.c (store_field): Do nothing except elaborate side-effects if
2806         zero-bit field.
2807
2808 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2809
2810         * c-lex.c: NULL_PTR -> NULL.
2811         * cse.c: Likewise.
2812         * emit-rtl.c: Likewise.
2813         * gcse.c: Likewise.
2814         * genpeep.c: Likewise.
2815         * jump.c: Likewise.
2816         * mips-tdump.c: Likewise.
2817         * reload1.c: Likewise.
2818         * rtlanal.c: Likewise.
2819         * stmt.c: Likewise.
2820         * stor-layout.c: Likewise.
2821         * toplev.c: Likewise.
2822
2823 2001-05-01  Per Bothner  <per@bothner.com>
2824
2825         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
2826         call do_pending_stack_adjust before emiting label.
2827
2828 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
2829
2830         * extend.texi: Fix typo.
2831
2832 2001-05-01  Stan Shebs  <shebs@apple.com>
2833
2834         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
2835         of UOBJC_MODULES_decl.
2836         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
2837         (generate_descriptor_table): Ditto.
2838         (generate_protocols): Ditto.
2839         (generate_protocol_list): Ditto.
2840         (generate_classref_translation_entry): Ditto.
2841
2842 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
2843
2844         * invoke.texi (Optimize Options): Add documentation for `--param
2845         max-delay-slot-insn-search' and `--param
2846         max-delay-slot-live-search' and reorder --param section.
2847         * params.def: Modify initial comment.
2848         * params.h (param_info): Add `help' member.
2849         * toplev.c (lang_independent_params): Include `help' description.
2850         (display_help): Print --param parameters.
2851
2852 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
2853
2854         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
2855         Remove references to deleted files.
2856         (*-*-openbsd): No need to override xmake_file.
2857         (*-*-sysv4): Treat like *-*-sysv.
2858
2859         * configure.in: Probe for ldopen in various places, and set up
2860         collect2 to be linked with them if found.
2861         Don't dink with Windows registry stuff unless $host_os is a
2862         Win32 os name.  Check to see if we need -ladvapi32.
2863         * configure: Regenerate.
2864
2865         * Makefile: Get rid of CLIB and HOST_CLIB.
2866         Substitute in COLLECT2_LIBS and link collect2 against its contents.
2867         * build-make: Get rid of HOST_CLIB.
2868
2869         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
2870         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
2871         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
2872         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
2873         config/rs6000/x-rs6000: Delete.
2874
2875         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
2876         Don't set CLIB.
2877
2878         24 x-host fragments remain, 0 x-cpu, 3 top level.
2879
2880 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
2881
2882         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
2883         * configure: Regenerate.
2884
2885 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
2886
2887         * Makefile.in (install-headers): Remove redundant dependency.
2888
2889 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
2890
2891         * c-tree.texi (USING_STMT): Document.
2892
2893 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2894
2895         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
2896         * c-common.c: Likewise.
2897         * c-decl.c: Likewise.
2898         * combine.c: Likewise.
2899         * rs6000.c: Likewise.
2900         * except.c: Likewise.
2901         * explow.c: Likewise.
2902         * expr.c: Likewise.
2903         * fold-const.c: Likewise.
2904         * function.c: Likewise.
2905         * gcc.c: Likewise.
2906         * gcse.c: Likewise.
2907         * integrate.c: Likewise.
2908         * loop.c: Likewise.
2909         * objc/objc-act.c: Likewise.
2910         * recog.c: Likewise.
2911         * reg-stack.c: Likewise.
2912         * reload.c: Likewise.
2913         * reload1.c: Likewise.
2914         * simplify-rtx.c: Likewise.
2915         * stmt.c: Likewise.
2916         * varasm.c: Likewise.
2917
2918 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
2919
2920         * diagnostic.def: New file.
2921         * diagnostic.h (diagnostic_t): New enum.
2922         * Makefile.in (diagnostic.o): Depend on diagnostic.def
2923
2924 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
2925
2926         * tsystem.h: Test only POSIX for availability of string.h
2927         and time.h.
2928         * config.gcc (all systems): If USG appeared in xm_defines,
2929         change it to POSIX.  If both USG and POSIX appeared, just
2930         delete USG. Remove unnecessary quotes around xm_defines
2931         settings.
2932         (m68k-crds-unos*): Don't #define unos - tested nowhere.
2933         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
2934         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
2935         powerpc-*-linux*): No need to set xm_defines - handled by
2936         global settings for *-*-linux*.
2937
2938 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
2939
2940         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
2941         Always include gstab.h, not system stab.h.  Don't provide
2942         default definitions of N_CATCH or N_OPT.  Always use the
2943         gstab.h variant of STAB_CODE_TYPE.
2944         * final.c: Don't include stab.h/gstab.h at all, or provide
2945         defaults for N_SLINE and N_SOL.
2946
2947         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
2948         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
2949         available.
2950         * sdbout.c: Always include gsyms.h instead of system syms.h.
2951
2952         * configure.in: No need to check for stab.h.
2953         * configure, config.in: Regenerate.
2954         * Makefile.in (final.o): Don't depend on gstab.h.
2955
2956 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
2957             Richard Henderson  <rth@redhat.com>
2958
2959         * extend.texi: Improve documentation of volatile asms.
2960
2961 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
2962
2963         * c-tree.texi: Fix thinko.
2964         * gcc.texi: Likewise.
2965
2966 2001-04-30  Richard Henderson  <rth@redhat.com>
2967
2968         * c-common.c (c_promoting_integer_type_p): New function, from the
2969         corpse of old macro.  Properly promote too-small enumerations and
2970         booleans.  Adjust all callers.
2971         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
2972         (c_promoting_integer_type_p): Declare.
2973         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
2974         * c-typeck.c: Likewise.
2975         (default_conversion): Remove now redundant boolean check.
2976
2977 2001-04-30  Jan Hubicka  <jh@suse.cz>
2978             Richard Henderson  <rth@redhat.com>
2979
2980         * regmove.c (try_apply_stack_adjustment): Remove now redundant
2981         sanity checks.
2982         (combine_stack_adjustments_for_block): Don't combine stack
2983         allocation followed by deallocations.  Handle grow-up stacks.
2984
2985 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
2986
2987         * fdl.texi: New file.
2988         * c-tree.texi: Use the GFDL.
2989         * gcc.texi: Likewise.
2990
2991 2001-04-30  Stan Shebs  <shebs@apple.com>
2992
2993         * invoke.texi: Add a section documenting Objective-C options.
2994
2995 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
2996
2997         * emit-rtl.c (try_split):  Copy EH notes to sequence.
2998
2999 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3000
3001         * regmove.c (record_stack_memrefs): Catch all references to the
3002         stack pointer.
3003
3004 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
3005
3006         * Makefile.in (stmp-fixinc): quote shell assignment values
3007
3008 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3009
3010         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
3011
3012         * gcc.c: Likewise.
3013
3014         * prefix.c: Likewise.
3015
3016 2001-04-28  Stan Shebs  <shebs@apple.com>
3017
3018         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
3019         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
3020         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
3021         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
3022
3023         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
3024         (NEXT_OBJC_RUNTIME): Define.
3025
3026 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
3027
3028         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
3029         * simplify-rtx.c (simplify_gen_relational): Likewise.
3030
3031         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
3032
3033         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
3034         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
3035
3036         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
3037         registers in SSE case; fix handling of the immediates.
3038         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
3039         operands to be in regsiters before reload.
3040         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
3041         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
3042         (abstf,absxf,negtf,negxf splitters): Compute
3043         properly the regnum for x86_64.
3044         (avsdf2_if_rex64): New.
3045
3046 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
3047
3048         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
3049         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
3050         into the constant pool.
3051         * jump.c (jump_optimize_1): Remove barrier successors after all
3052         the LABEL_NUSES counds have been computed.
3053         (delete_barrier_successors): When deleting a tablejump insn, also
3054         delete the jump table it uses.
3055         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
3056         label into memory.
3057
3058 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
3059
3060         * pa.c (FRP): Remove erroneous white space in macro definition.
3061
3062 2001-04-28  Andreas Jaeger  <aj@suse.de>
3063
3064         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
3065         appropriate.
3066         * extend.texi: Likewise.
3067         * tm.texi: Likewise.
3068
3069 2001-04-28  Andreas Jaeger  <aj@suse.de>
3070
3071         * md.texi: Use XX-bit instead of XXbit or XX bit where
3072         appropriate.
3073
3074 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
3075
3076         * gcc.c (process_command): Allow -l lib in addition to -llib
3077         for POSIX compliance. This fixes PR c/2347.
3078
3079         * invoke.texi: Update section on Link Options accordingly.
3080
3081 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
3082
3083         * function.c (purge_addressof_1): Remove the duplicate
3084         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
3085         blocks together.
3086
3087 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
3088
3089         * except.c (expand_eh_region_start): Don't start a new block.
3090         (expand_eh_region_end): Don't end a block.
3091         * stmt.c (expand_end_bindings): Don't end EH blocks.
3092         (expand_decl_cleanup): Starting an EH region won't change the block.
3093         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
3094         (is_eh_region): Lose.
3095         * tree.h: Adjust.
3096
3097 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
3098
3099         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
3100
3101         * collect2.c (main): Add `-L' case to remove duplicate entries.
3102         (is_in_args): New function to check for a duplicate argument.
3103         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
3104         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
3105         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
3106         Define to be nonzero.
3107
3108 2001-04-27  Andreas Jaeger  <aj@suse.de>
3109             Richard Henderson  <rth@redhat.com>
3110
3111         * md.texi (Machine Constraints): Document additional i386
3112         constraints and fix description of "A".
3113
3114 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
3115
3116         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
3117
3118 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
3119
3120         * except.c (get_exception_filter): word_mode, not Pmode.
3121
3122 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
3123
3124         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
3125         common to other movsf patterns.  Move up so that in future
3126         people who change the other patterns will change it too.
3127         (movsf_lo_sum): Allow even for soft-float; add appropriate
3128         constraints.
3129         (movsf_high): Likewise.
3130         (movsf_high+1): Allow even for soft-float.
3131
3132         * function.c (expand_function_end): Always clobber the
3133         return registers, even if there is no return label.
3134
3135 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
3136
3137         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
3138
3139 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
3140
3141         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
3142         (pushqi2_rex64, pushhi2_rex64): Add.
3143
3144 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
3145
3146         * except.c (expand_eh_region_end_cleanup): Force pending stack
3147         adjust before emitting label that branches around cleanup code.
3148
3149 2001-04-26  H.J. Lu  (hjl@gnu.org)
3150
3151         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
3152
3153         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
3154         define.
3155         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
3156         (ASM_OUTPUT_SECTION_NAME): Likewise.
3157         (ASM_WEAKEN_LABEL): Likewise.
3158         (UNIQUE_SECTION): Likewise.
3159         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3160         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3161         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
3162         (ASM_OUTPUT_SECTION_NAME): Likewise.
3163         (ASM_WEAKEN_LABEL): Likewise.
3164         (UNIQUE_SECTION): Likewise.
3165         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3166         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3167         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
3168         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
3169         (ASM_FILE_START): Likewise.
3170         (ASM_OUTPUT_SOURCE_LINE): Likewise.
3171         (ASM_DECLARE_OBJECT_NAME): Likewise.
3172         (ASM_FILE_END): Likewise.
3173         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3174         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
3175         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3176         (ASM_OUTPUT_CASE_LABEL): Likewise.
3177         (ASM_OUTPUT_SKIP): Likewise.
3178         (ASM_OUTPUT_ASCII): Likewise.
3179         (ASM_OUTPUT_IDENT): Likewise.
3180         (READONLY_DATA_SECTION): Likewise.
3181         (EXTRA_SECTIONS): Likewise.
3182         (EXTRA_SECTION_FUNCTIONS): Likewise.
3183         (SELECT_RTX_SECTION): Likewise.
3184         (SELECT_SECTION): Likewise.
3185
3186         * config/mips/linux.h (INVOKE__main): Undefine.
3187         (CTOR_LIST_BEGIN): Likewise.
3188         (CTOR_LIST_END): Likewise.
3189         (DTOR_LIST_BEGIN): Likewise.
3190         (DTOR_LIST_END): Likewise.
3191         (SET_ASM_OP): Defined it to ".dummy".
3192         (ASM_OUTPUT_DEF): Defined.
3193         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
3194
3195 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
3196
3197         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
3198         assembler supports .p2align.
3199
3200 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
3201
3202         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
3203
3204 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3205
3206         * integrate.c (expand_inline_function): Check for error_mark_node
3207         in actual argument.
3208
3209 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3210
3211         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
3212         -m386 and -m486.
3213
3214 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
3215
3216         * configure.in (configargs.h): Define thread_model.
3217         * configure: Rebuilt.
3218         * gcc.c (main): Print it with -v.
3219
3220 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3221
3222         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
3223         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
3224         * gcc.1: Regenerate.
3225
3226 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3227
3228         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
3229         is_redundant_typedef): Use static inline instead of inline static.
3230
3231 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
3232
3233         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
3234         this directory is always searched.
3235
3236 2001-04-25  Richard Henderson  <rth@redhat.com>
3237
3238         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
3239         of registers to restore along non eh_return path.
3240
3241 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3242
3243         * c-format.c (check_format_info_recurse): Handle
3244         PLUS_EXPR for format string.
3245
3246 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3247
3248         * config/ia64/ia64.h (CC1_SPEC): Define.
3249         * config/ia64/linux.h (CC1_SPEC): Define.
3250
3251 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
3252
3253         * emit-rtl.c (constant_subword): Also do sign extension in
3254         BITS_PER_WORD == 16 case.
3255
3256 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
3257
3258         * loop.c (try_swap_copy_prop): Go back to checking insn.
3259
3260 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3261
3262         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
3263         if check_mode is non-zero.
3264
3265 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3266
3267         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
3268         out and comparison sequence has been detected, put result into
3269         proper temporary pseudo.
3270
3271 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3272
3273         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
3274         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
3275         * libgcc2.c: Remove __dummy and __builtin_saveregs.
3276         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
3277         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
3278         for future reference.
3279
3280 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
3281
3282         * except.c (reachable_handlers): Step out one level from a RESX.
3283
3284         * except.c (struct eh_region): Rename 'last' to 'resume'.
3285         (mark_eh_region, duplicate_eh_region_1): Adjust.
3286         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
3287         (build_post_landing_pads): Likewise.
3288         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
3289         (expand_eh_region_end_must_not_throw): Likewise.
3290         (connect_post_landing_pads): Thread (only) regions with non-deleted
3291         resume insns.
3292
3293         * except.c (expand_eh_region_end_cleanup): Save the EH return data
3294         registers around the cleanup.
3295         (get_exception_filter): New fn.
3296         (finish_eh_generation): Use it.
3297
3298 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
3299
3300         * c-semantics.c (add_scope_stmt): Don't call
3301         current_scope_stmt_stack multiple times.
3302
3303 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3304             Nathan Sidwell <nathan@codesourcery.com>
3305
3306         Lazy __FUNCTION__ generation.
3307         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
3308         RID_C99_FUNCTION_NAME): New _RIDs.
3309         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
3310         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
3311         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
3312         global tree slots.
3313         (function_id_node, pretty_function_id_node, func_id_node): Remove.
3314         (c99_function_name_decl_node, function_name_decl_node,
3315         pretty_function_name_decl_node, saved_function_name_decls):
3316         Declare.
3317         (struct language_function): Remove x_function_name_declared_p.
3318         (make_fname_decl): Remove a parameter.
3319         (declare_function_names): Remove prototype.
3320         (start_fname_decls, finish_fname_decls): Prototype.
3321         (fname_as_string): Likewise.
3322         (fname_string, fname_decl): Likewise.
3323         * c-common.c (make_fname_decl): Adjust.
3324         (struct fname_var_t): New struct.
3325         (fname_vars): New static array.
3326         (declare_function_name): Remove.
3327         (start_fname_decls, finish_fname_decls): New functions.
3328         (fname_as_string): New function from remnants of
3329         declare_function_name.
3330         (fname_string, fname_decl): New functions.
3331
3332         * c-decl.c (c_function_name_declared_p): Remove.
3333         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
3334         don't call declare_function_name. Call start_fname_decls.
3335         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
3336         clobber the line number. Call finish_decl.
3337         (start_function): Call start_fname_decls.
3338         (finish_function): Call finish_fname_decls.
3339         Remove c_function_name_declared_p.
3340         (push_c_function_context): Don't push c_function_name_declared_p.
3341         (pop_c_function_context): Don't pop c_function_name_declared_p.
3342         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
3343         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
3344         (program): Call finish_fname_decls for C.
3345         (primary): Add VAR_FUNC_NAME.
3346         (reswords): Add slots for __FUNCTION__ et al.
3347         (rid_to_yy): Add mappings for __FUNCTION__ et al.
3348         (yylexname): If it's a STRING_FUNC_NAME generate the function name
3349         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
3350         * c-semantics.c (prune_unused_decls): Remove.
3351         (finish_stmt_tree): Don't call prune_unused_decls.
3352         (genrtl_decl_stmt): Don't prune unused decls here.
3353
3354 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
3355
3356         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
3357         constant pool, use the pool's SYMBOL_REF instead.
3358
3359         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
3360         v850e.
3361
3362 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3363
3364         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
3365         passing nested NOP_EXPRs to fold.
3366
3367 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
3368
3369         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
3370
3371 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
3372
3373         * loop.c (loop_delete_insns): Add prototype.
3374
3375 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
3376
3377         * configure.in:  Remove ENABLE_STD_NAMESPACE.
3378         * config.in:  Regenerated.
3379         * configure:  Regenerated.
3380
3381 2001-04-22  Stan Shebs  <shebs@apple.com>
3382
3383         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
3384         into xm_defines.
3385         * config/rs6000/xm-darwin.h: Remove file.
3386
3387 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3388
3389         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
3390         (write_c_file_stat): Likewise.
3391
3392         * dbxout.c (dbxout_init): Likewise.
3393
3394         * profile.c (output_func_start_profiler): Likewise.
3395
3396 2001-04-22  Philipp Thomas  <pthomas@suse.de>
3397
3398         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
3399         require it instead of the CVS version.
3400         * cpperror.c (v_message): Put a blank before the macro
3401         body to not confuse exgettext.
3402
3403 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
3404
3405         * flow.c (proagate_one_insn): Remove useless assignment.
3406         * jump.c (delete_insn): Tidy.
3407         * loop.c (try_copy_prop): When deleting an instruction with a
3408         REG_RETVAL note, delete the entire libcall sequence.
3409         (loop_delete_insns): New function.
3410         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
3411         we're not substituting into them yet.
3412
3413 2001-04-21  Kazu Hirata  <kazu@hxi.com>
3414
3415         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
3416
3417         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
3418         Fix a comment typo.
3419         * config/i960/i960.c (signed_arith_operand): Likewise.
3420
3421         * calls.c (expand_call): Fix a comment typo.
3422
3423 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
3424
3425         * configure.in: Probe for times, clock, struct tms, and clock_t.
3426         * configure, config.in: Regenerate.
3427         * timevar.c: Replace ifdef forest in get_time with (relatively)
3428         straightforward series of checks based on autoconf's probes.
3429
3430 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
3431
3432         * config/pa/som.h (NM_FLAGS): Define.
3433
3434 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
3435
3436         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
3437         function.
3438         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
3439         * ia64.c (nop_cycles_until): New function.
3440         (prev_cycle, prev_first, last_issued): New static variables.
3441         (ia64_sched_reorder): Additional arg for clock.
3442         On final scheduling pass, emit extra NOPs as needed.
3443         Set prev_first and prev_cycle.
3444         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
3445         (ia64_variable_issue): Set last_issued.
3446
3447 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
3448
3449         * config/i386/i386.c (ix86_expand_int_movcc,
3450         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
3451
3452 2001-04-20  Geoff Keating  <geoffk@redhat.com>
3453
3454         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
3455         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
3456         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
3457         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
3458         ctrdi_internal6): In the short-branch case, this insn is only 4
3459         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
3460
3461 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
3462
3463         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
3464         "=u" is used together with "st" resp. "st(1)" clobber.
3465
3466 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
3467
3468         * gcse.c (gcse_main): Fix comment typo.
3469         (delete_null_pointer_check): Likewise.
3470         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
3471         * cse.c (cse_insn): Likewise.
3472         * function.c (fixup_var_refs_insns_with_hash): The sequence is
3473         toplevel.
3474
3475 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
3476
3477         * toplev.c: Excise all code for the undocumented -dm option.
3478         (float_signal): Call signal just once, unconditionally.
3479
3480 2001-04-19  Geoff Keating  <geoffk@redhat.com>
3481
3482         * fold-const.c (fold): Use first_rtl_op rather than
3483         TREE_CODE_LENGTH when looping over parameters of a tree.
3484         Correct strange grouping in test for evaluated SAVE_EXPR.
3485
3486 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
3487
3488         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
3489         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
3490
3491         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
3492         name at 32 total characters.
3493         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
3494         functions in named sections -- data items can still go into unique
3495         sections, but they have normal names (ie $LIT$ and $DATA$).
3496
3497         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
3498         INIT_PRIORITY.
3499
3500 2001-04-19 DJ Delorie  <dj@redhat.com>
3501
3502         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
3503         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
3504         * config/i386/cygwin.h: Likewise.
3505         * config/i386/mingw32.h: Likewise.
3506         * config/vax/vms.h: Likewise.
3507         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
3508
3509         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
3510         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
3511         * config/i386/xm-cygwin.h: Likewise.
3512         * config/i386/xm-djgpp.h: Likewise.
3513         * config/i386/xm-mingw32.h: Likewise.
3514         * config/vax/xm-vms.h: Likewise.
3515
3516         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
3517         instead of OBJECT_SUFFIX.
3518         * collect2.c (find_a_file): Look for files matching the extension
3519         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
3520         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
3521         TARGET_EXECUTABLE_SUFFIX.
3522         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
3523         (make_relative_prefix): Likewise.
3524         (convert_filename): Use TARGET_ suffixes throughout.  Remove
3525         NO_AUTO_EXE_SUFFIX.
3526         (process_command): Likewise.
3527         (do_spec_1): Likewise.
3528         * java/lang.c (init_parse): Likewise.
3529
3530         * gcc.texi : Document four new options matching the pattern
3531         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
3532         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
3533         documentation for NO_AUTO_EXE_SUFFIX.
3534
3535 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
3536
3537         * toplev.h (struct lang_hooks): Allow decode_option to indicate
3538         that language-independent processing should not be done.
3539         * toplev.c (main): Adjust accordingly.
3540
3541         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
3542         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
3543
3544         * mips.md (reload_outputdi): Require that operand0 be a
3545         general_operand.
3546
3547 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
3548
3549         * invoke.texi (-Wshadow): Clarify.
3550
3551 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
3552
3553         * loop.c (load_mems): Examine all the instructions in the loop
3554         before concluding that all jumps branch to the first instruction
3555         after the loop.
3556
3557 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
3558
3559         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
3560
3561 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
3562
3563         * cpp.texi (-Wwhite-space): Remove.
3564         (-Wall): -Wall does not imply -Wwhite-space.
3565
3566 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
3567
3568         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
3569         use it instead of blindly generating a .stabs.
3570         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
3571         in the right place.
3572         * xcoffout.c: Don't bother defining default for N_CATCH.
3573         (UNKNOWN_STAB): Use internal_error.
3574         (stab_to_sclass): Remove now-unnecessary aborts.
3575         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
3576
3577 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
3578
3579         * jump.c (mark_all_labels): Canonicalize the tail recursion
3580         label attached to CALL_PLACEHOLDER insns.
3581
3582 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3583
3584         * output.h (dump_flow_info, free_basic_block_vars,
3585         which_alternative): Delete redundant prototypes.
3586
3587         * rtl.h (bss_section): Likewise.
3588
3589 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
3590
3591         * dbxout.c (N_OPT): Define if not available from <stab.h>
3592
3593 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3594
3595         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
3596         libraries and native K&R compilers.
3597
3598 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3599
3600         * c-typeck.c (convert_arguments): Don't check for width changes
3601         with -Wtraditional.
3602
3603         * invoke.texi (-Wtraditional): Update documentation.
3604
3605 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
3606
3607         * toplev.c (output_lang_identify): Delete.
3608         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
3609         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
3610         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
3611         after calling ASM_FILE_END.
3612
3613         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
3614         Instead, unconditionally emit an N_OPT stab with string equal
3615         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
3616
3617         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
3618
3619         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
3620         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
3621         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
3622         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
3623         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
3624         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
3625         config/i370/i370.h, config/i386/beos-elf.h,
3626         config/i386/osf1elf.h, config/i386/osfrose.h,
3627         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
3628         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
3629         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
3630         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
3631         config/mips/iris6.h, config/mips/osfrose.h,
3632         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
3633         config/sparc/sp64-elf.h:
3634         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
3635         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
3636
3637         * config/elfos.h, config/freebsd.h, config/linux.h,
3638         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
3639         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
3640         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
3641         of ASM_FILE_START which merely emit a .version directive.  Delete
3642         definitions of ASM_FILE_END which merely emit an .ident directive.
3643
3644         * config/avr/avr.h, config/vax/vax.h: Delete definition of
3645         ASM_IDENTIFY_GCC and move part of its logic into
3646         ASM_FILE_START.
3647
3648         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
3649         config/sparc/linux-aout.h: Don't emit .version directive in
3650         ASM_FILE_START.
3651
3652         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
3653         (output_file_start): Correct comment.
3654
3655         * config/i386/osfrose.h: Don't emit trailing .ident directive.
3656         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
3657         to match gdb.
3658         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
3659         * config/rs6000/aix.h: Correct comment.
3660
3661         * config/i386/i386afe.h: Delete.
3662         * config.gcc: Remove references to i386afe.h.
3663
3664         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
3665         other macros deleted by this patch were undocumented.
3666
3667 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
3668
3669         * pa.md (reload_outdi): Operand 0 must be a non hard register.
3670
3671         * pa.c (secondary_reload_class): SAR<->FP copies require a
3672         secondary register.
3673
3674         * install.texi (mips-mips-bsd): Update list of functions
3675         required to include memmove.
3676         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
3677         used functions to include memmove.
3678
3679 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
3680
3681         * i386.md (sqrtdf2): SFmode should be DFmode.
3682
3683 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
3684
3685         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
3686         (find_moveable_store): Likewise.
3687
3688 2001-04-15  Jim Wilson  <wilson@redhat.com>
3689
3690         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
3691
3692 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
3693
3694         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
3695         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
3696
3697 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
3698
3699         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
3700         first alternative.
3701
3702 2001-04-14  Alan Modra  <amodra@one.net.au>
3703
3704         * pa.c (force_mode): New function.
3705         (emit_move_sequence): Use it instead of generating new rtx_REGs.
3706
3707 2001-04-13  Jim Wilson  <wilson@redhat.com>
3708
3709         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
3710         (first_instruction): New static variable.
3711         (rtx_needs_barrier): Return 1 for alloc.
3712         (init_insn_group_barriers): Set first_instruction.
3713         (rws_sum): Delete duplicate definition.
3714         (group_barrier_needed_p): Return 0 when first_instruction true.
3715         (safe_group_barrier_needed_p): Save and restore first_instruction
3716         around group_barrier_needed_p call.
3717
3718 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
3719
3720         * expr.h (enum libfunc_index): Add LTI_memmove.
3721         (memmove_libfunc): Define macro.
3722         * optabs.c (init_optabs): Initialize memmove_libfunc.
3723         * expr.c (expand_assignment): Use memmove_libfunc instead of
3724         memcpy_libfunc.
3725
3726 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
3727
3728         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
3729         fp mode addresses.
3730
3731 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3732
3733         * Makefile.in (reg-stack.o): Depend on reload.h.
3734         (insn-attrtab.o): Depend on flags.h.
3735
3736         * genattrtab (main): Include flags.h in insn-attrtab.c.
3737
3738         * reg-stack.c: Include reload.h.
3739
3740         * sparc.h (flag_pic): Delete redundant declaration.
3741
3742         * output.h (flag_pic): Likewise.
3743
3744         * tree.h (pedantic): Likewise.
3745
3746 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3747
3748         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
3749
3750         * jump.c, regmove.c, toplev.c: Include reload.h.
3751
3752         * reload.h (reload_cse_regs): Declare.
3753
3754         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
3755         reload_cse_regs, init_reload, mark_home_live, reload,
3756         init_caller_save): Delete redundant prototypes.
3757
3758 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3759
3760         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
3761
3762         * regclass.c, ssa.c: Include expr.h.
3763
3764         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
3765         gen_move_insn): Delete redundant declarations.
3766
3767 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3768
3769         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
3770         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
3771         MAKEINFO and MAKEINFOFLAGS too.
3772         (stage4_build): Correctly order -B flags.
3773
3774 2001-04-13  Alan Modra  <amodra@one.net.au>
3775
3776         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
3777         PIC_OFFSET_TABLE_SAVE_RTX.
3778         (zdepi_cint_p): Describe zdepi insn.
3779         Formatting and white space fixes throughout file.
3780
3781         * pa.c (uint32_operand): Don't use long constant >= 2^32.
3782         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
3783         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
3784         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
3785         (output_64bit_and): Use plain `int's for shift counts.
3786         (output_64bit_ior): Likewise.
3787         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
3788         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
3789         `N', and simplify.
3790
3791         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
3792         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
3793         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
3794         NEW_HP_ASSEMBLER into one.  Kill warnings.
3795
3796         * pa-gas.h: Delete file.
3797         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
3798         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
3799         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
3800         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
3801
3802         * config/pa/mill32.S: New file.
3803         * config/pa/mill64.S: New file.
3804         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
3805         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
3806         * config/pa/t-linux64: New file.
3807         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
3808         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
3809         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
3810
3811         * elfos.h (SELECT_SECTION): Undef before defining.
3812         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
3813         (LIB_SPEC): Remove -lmilli.
3814         (DBX_REGISTER_NUMBER): Remove.
3815         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
3816         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
3817         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
3818         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
3819         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
3820         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
3821         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
3822         TARGET_GAS): Define.
3823         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
3824         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
3825         regs if we don't have a prototype.
3826         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
3827         * pa.h (TARGET_ELF32): Default to 0 if undefined.
3828         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
3829         EH_RETURN_HANDLER_RTX): Define.
3830         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
3831         (DWARF_FRAME_REGNUM): Define.
3832         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
3833         * pa32-linux.h: New file.
3834         * pa64-linux.h: New file.
3835
3836         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
3837         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
3838         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
3839         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
3840         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
3841         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
3842         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
3843         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
3844         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
3845         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
3846         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
3847         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
3848         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
3849         * pa64-hpux.h: New file.
3850         (ASM_FILE_START): Correct typo.
3851         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
3852         * config.gcc: Modify for above.
3853
3854 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
3855
3856         * jump.c (jump_optimize_1): Don't delete dead stores here.
3857         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
3858         prior to running jump optimize before cse2.
3859
3860 2001-04-12  Richard Henderson  <rth@redhat.com>
3861
3862         * Makefile.in (regmove.o): Depend on except.h.
3863         * regmove.c: Include it.
3864
3865 2001-04-12  Stan Shebs  <shebs@apple.com>
3866
3867         * objc/objc-act.c: Remove all code ifdefed with the never-used
3868         macro OBJC_INT_SELECTORS.
3869         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
3870         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
3871
3872 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
3873
3874         * config/pa/quadlib.c: Add prototypes.
3875
3876 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3877
3878         * bitmap.h (debug_bitmap): Delete redundant prototype.
3879
3880         * rtl.h (get_frame_size): Likewise.
3881
3882 2001-04-12  Jim Wilson  <wilson@redhat.com>
3883
3884         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
3885         to just emit an fnorm.
3886
3887 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3888
3889         * c-common.h (truthvalue_conversion, type_for_mode,
3890         type_for_size): Delete redundant declarations.
3891
3892         * c-lex.h (is_class_name): Likewise.
3893
3894         * c-tree.h (pedantic, convert, getdecls, gettags,
3895         global_bindings_p, init_decl_processing, insert_block,
3896         maybe_build_cleanup, poplevel, print_lang_decl,
3897         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
3898         set_block, incomplete_type_error, build_function_call,
3899         lvalue_or_else, mark_addressable): Likewise.
3900
3901         * expr.h (expand_tree_builtin): Likewise.
3902
3903 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
3904
3905         * invoke.texi: Document --param max-gcse-memory.
3906
3907 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3908
3909         * configure.in (errno): Check for declaration.
3910         * configure, config.in: Regenerated.
3911
3912         * system.h (errno): Only declare if not already done.
3913
3914 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
3915
3916         * recog.c (general_operand, immediate_operand,
3917         nonmemory_operand): Require CONST_INTs to be sign-extended
3918         values for their modes.
3919
3920 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
3921
3922         * expmed.c (store_bit_field): Truncate CONST_INTs.
3923         (expand_mult_highpart, expand_divmod): Likewise.
3924         * expr.c (convert_modes, store_field): Likewise.
3925         * integrate.c (expand_inline_function): Use promote_mode() to
3926         determine whether to convert_modes() an argument as signed
3927         or unsigned.
3928         * optabs.c (expand_binop): Get CONST_INT operands
3929         sign-extended for their appropriate modes.
3930         * stmt.c (emit_case_nodes): Convert node values to the
3931         appropriate mode.
3932         (expand_end_case): Convert minval and range to the appropriate
3933         mode.
3934         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
3935         the iteration variable.
3936         * varasm.c (immed_double_const): Don't require words to be
3937         narrower than host wide ints to properly sign-extend
3938         CONST_INTs.
3939
3940 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
3941
3942         * sh.md (builtin_setjmp_receiver): New expander.
3943
3944 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
3945
3946         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
3947         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
3948         for generating CONST_INT and CONST_DOUBLE.
3949
3950 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
3951
3952         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
3953         already sign-extended.
3954         (rs6000_emit_prologue): Make register iterator signed.
3955         (rs6000_emit_epilogue): Likewise.
3956         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
3957         and low.
3958         (movsf split, movdf split): Sign-extend CONST_INTs.
3959         (movdi splits): Likewise.
3960
3961 2001-04-12  Kelley Cook <kelley.cook@home.com>
3962
3963         * config-lang.in (lang_dirs): Add in zlib.
3964
3965 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
3966
3967         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
3968         operands that make it to RTL.
3969
3970 2001-04-11  Stan Shebs  <shebs@apple.com>
3971
3972         Add Darwin (Mac OS X kernel) native support.
3973         * config.gcc (powerpc-*-darwin*): Add native bits.
3974         * config/darwin.c: New file, generic Darwin support functions.
3975         * config/darwin.h: New file, generic Darwin definitions.
3976         * config/darwin-protos.h: New file, generic Darwin prototypes.
3977         * rs6000/darwin.h: New file, Darwin for PowerPC.
3978         * rs6000/t-darwin: New file, Darwin makefile fragment.
3979         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
3980         (TARGET_MACHO): Ditto.
3981         (rs6000_abi): Add ABI_DARWIN.
3982         (RS6000_REG_SAVE): Add ABI_DARWIN case.
3983         (RS6000_SAVE_AREA): Ditto.
3984         (FP_ARG_MAX_REG): Ditto.
3985         (RETURN_ADDRESS_OFFSET): Ditto.
3986         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
3987         cases.
3988         (rs6000_emit_move): Add ABI_DARWIN cases.
3989         (print_operand): Ditto.
3990         (first_reg_to_save): Ditto.
3991         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
3992         (debug_stack_info): Ditto.
3993         (rs6000_emit_prologue): Ditto.
3994         (rs6000_emit_epilogue): Ditto.
3995         (output_profiler_hook): Ditto.
3996         (output_function_profiler): Ditto.
3997         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
3998         (output_mi_thunk): Add TARGET_MACHO case.
3999         (add_compiler_stub): Ditto.
4000         (output_compiler_stub): Ditto.
4001         (no_previous_def): Ditto.
4002         (output_call): Ditto.
4003         (machopic_output_stub): Ditto.
4004         (rs6000_machopic_legitimize_pic_address): Ditto.
4005         (toc_section): Ditto.
4006         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
4007         (macho_high): Ditto.
4008         (macho_low): Ditto.
4009         (movsi_low): Ditto.
4010         (load_macho_picbase): Ditto.
4011         (call): Add TARGET_MACHO case to modify function.
4012         (call_value): Ditto.
4013         (call_nonlocal_sysv): Add ABI_DARWIN case.
4014         (call_value_nonlocal_sysv): Ditto.
4015         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
4016         Add prototype.
4017         (machopic_output_stub): Ditto.
4018         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
4019
4020 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4021
4022         * dwarf2out.c (modified_type_die): Don't create new types here.
4023         * tree.h (get_qualified_type): New function.
4024         (build_qualified_type): Adjust comment.
4025         * tree.c (get_qualified_type): New function.
4026         (build_qualified_type): Use it.
4027
4028 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4029
4030         * cpp.texi (-Wtraditional): Update description.
4031
4032         * invoke.texi (-Wtraditional): Likewise.
4033
4034 2001-04-11  Jim Wilson  <wilson@redhat.com>
4035
4036         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
4037         requires more than 64 bits of alignment.
4038
4039 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4040
4041         * cpplib.c (do_line): Sanity check iff enable checking.
4042
4043 2001-04-11  Richard Henderson  <rth@redhat.com>
4044
4045         * Makefile.in (insn-recog.o): Depend on toplev.h.
4046         (insn-emit.o, doloop.o): Likewise.
4047         * genrecog.c, genemit.c: Include toplev.h in generated file.
4048         * doloop.c: Include toplev.h.
4049
4050 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4051
4052         * Makefile.in (gcse.o): Depend on params.h.
4053         * gcse.c: Include params.h.
4054         (gcse_main): Don't do GCSE if doing so will take inordinate
4055         amounts of memory.
4056         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
4057         * params.h (MAX_GCSE_MEMORY): New macro.
4058
4059 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4060
4061         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
4062
4063         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
4064
4065 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4066
4067         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
4068
4069         * real.h (ereal_atof, real_value_truncate, target_isnan,
4070         target_isinf, target_negative, assemble_real, debug_real): Delete
4071         redundant prototypes.
4072
4073         * Makefile.in (ifcvt.o): Depend on toplev.h.
4074
4075         * c-semantics.c: Include expr.h.
4076
4077         * ifcvt.c: Include toplev.h.
4078
4079         * expr.h (rtx_equal_p): Delete prototype.
4080
4081         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
4082         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
4083         eliminate_constant_term, expand_complex_abs, find_single_use,
4084         make_tree, init_expr_once, init_optabs, supports_one_only):
4085         Likewise.
4086
4087         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
4088         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
4089         expand_assignment, store_expr, emit_line_note_after,
4090         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
4091
4092         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
4093
4094         * sparc-protos.h: Delete redundant prototypes.
4095
4096 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
4097
4098         * reload.c (push_reload): Add condition missed in SUBREG byte
4099         offset patch.
4100
4101 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4102
4103         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
4104
4105 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
4106
4107         * i386.md (floatsisf_sse): Fix output template
4108         * i386.c (ix86_expand_fp_movcc)
4109
4110         * reg-stack.c (emit_pop_insn): Handle complex modes.
4111         (move_for_stack_reg): Emit proper move mode.
4112         (subst_stack_regs_pat): Handle complex modes.
4113
4114 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
4115
4116         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
4117
4118 2001-04-10  Richard Henderson  <rth@redhat.com>
4119
4120         * libgcc2.h (__terminate_func_ptr): Remove typedef.
4121         (__pure_virtual, __terminate, __terminate_set_func,
4122         __default_terminate, __throw_type_match, __empty,
4123         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
4124         __eh_rtime_match, __unwinding_cleanup, __rethrow,
4125         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
4126         Remove prototypes of deleted functions.
4127
4128 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4129
4130         * c-typeck.c (convert_arguments): -Wtraditional now activates
4131         -Wconversion warnings, except for changes in signed-ness.
4132         Detect complex<->int & int<->complex conversions as well.
4133
4134         * invoke.texi (-Wtraditional): Document it.
4135
4136 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4137
4138         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
4139         * flow.c (set_block_for_new_insns): Remove needless cast and
4140         properly check for unset block number.
4141
4142 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
4143
4144         * function.c (purge_single_hard_subreg_set): Only check REGNO if
4145         the subreg was a hard register. Pseudos are left as subregs.
4146
4147 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4148
4149         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
4150         (LIB2ADD_ST): New macro, pass it to mklibgcc.
4151         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
4152         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
4153         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
4154
4155 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
4156
4157         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
4158
4159 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4160
4161         * output.h (set_block_num): Missed it earlier, remove deprecated
4162         prototype.
4163
4164 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4165
4166         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
4167         (load_killed_in_block_p): Change bb parameter from int to basic_block.
4168         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
4169         (handle_rd_kill_set): Change bb parameter from int to basic_block.
4170         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
4171         (expr_killed_p): Change bb parameter from int to basic_block, pass
4172         basic_blocks instead of ints as parameters.
4173         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
4174         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
4175         from int to basic_block, pass basic_blocks instead of ints as parms.
4176         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
4177         parameter from int to basic_block, pass basic_blocks instead of ints.
4178         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
4179         (insert_insn_end_bb): Change bb parameter from int to basic_block,
4180         pass basic_blocks instead of ints.
4181         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
4182         basic_blocks instead of ints as parameters.
4183         (pre_delete): Pass basic_blocks instead of ints as parameters.
4184         (hoist_expr_reaches_here_p): Change bb parameter from int to
4185         basic_block, pass basic_blocks instead of ints.
4186         (hoist_code): Pass basic_blocks instead of ints as parameters.
4187         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
4188         Change bb parameter from int to basic_block.
4189         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
4190         (insert_insn_start_bb): Change bb parameter from int to basic_block,
4191         pass basic_blocks instead of ints.
4192         (insert_store): Pass basic_blocks instead of ints as parameters.
4193         (replace_store_insn, delete_store): Change bb parameter from int to
4194         basic_block, pass basic_blocks instead of ints.
4195         (store_motion): Pass basic_blocks instead of ints as parameters.
4196
4197 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4198
4199         * basic-block.h (set_new_block_for_insns): New Prototype.
4200         (set_block_num): Delete prototype.
4201         * flow.c (set_block_num): Remove obsolete function.
4202         (set_block_for_new_insns): Set BB for single or multiple insns.
4203         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
4204         (process_insn_end_bb): Use set_block_for_new_insns or
4205         set_block_for_insn instead of set_block_num.
4206         (pre_insert_copy_insn): Use set_block_for_new_insns.
4207         (update_ld_motion_stores): Use set_block_for_new_insns.
4208         (insert_insn_start_bb): Use set_block_for_new_insns.
4209         (replace_store_insn): Use set_block_for_new_insns.
4210
4211 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4212             Jeff Law  <law@redhat.com>
4213
4214         * alias.c (get_addr): Externalize.
4215         (canon_true_dependence): New function. Behaves like true_dependance
4216         except it already assumes a MEM has been canonicalized.
4217         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
4218         * gcse.c (struct ls_expr): Add load/store expressions structure.
4219         (modify_mem_list, canon_modify_mem_list): New variable.
4220         (gcse_main): Initialize & finalize alias analysis. Use enhanced
4221         load motion and store motion if requested.
4222         (alloc_gcse_mem): Allocate space for modify_mem_list array.
4223         (free_gcse_mem): Free the modify_mem_list array.
4224         (oprs_unchanged_p): Use load_killed_in_block_p.
4225         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
4226         (mems_conflict_for_gcse_p): New function.  Don't kill loads
4227         with stores to themselves if its in the load/store expression list.
4228         (load_killed_in_block_p): New function.
4229         (canon_list_insert): New Function.
4230         (record_last_mem_set_info): Keep a list of all instructions which
4231         can modify memory for each basic block.
4232         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
4233         (oprs_not_set_p): Use load_killed_in_block_p.
4234         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
4235         (expr_killed_p): Use load_killed_in_block_p.
4236         (compute_transp): Do not pessimize memory references.
4237         (pre_edge_insert): Update stores for a load motion expression.
4238         (one_pre_gcse_pass): Check loads/stores for extra load motion.
4239         (ldst_entry): Find or create a ldst_expr structure.
4240         (free_ldst_entry): Free memory for an individual item.
4241         (free_ldst_mems): Free entire load/store expression list.
4242         (print_ldst_list): Print debug info.
4243         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
4244         (enumerate_ldsts): Assign integer values to each entry in list.
4245         (first_ls_expr): First expression in the list.
4246         (next_ls_expr): Next expression in the list.
4247         (simple_mem): Check if expression qualifies for ld/st expression list.
4248         (invalidate_any_buried_refs): Remove from expression list if its
4249         used in some other way we dont understand.
4250         (compute_ld_motion_mems): Find all potential enhanced load motion
4251         expression.
4252         (trim_ld_motion_mems): Remove any expressions which are invalid.
4253         (update_ld_motion_stores): Copy store values to registers for loads
4254         which have been moved.
4255         (regvec, st_antloc, num_store): New global statics.
4256         (reg_set_info): Marks registers as set.
4257         (store_ops_ok): Verfies registers expressions are valid in a block.
4258         (find_moveable_store): Look for moveable stores in a pattern.
4259         (compute_store_table): Find stores in a function worth moving, maybe.
4260         (load_kills_store): Check dependance of a load and store.
4261         (find_loads): Find any loads in a pattern.
4262         (store_killed_in_insn): Check if a store is killed in an insn.
4263         (store_killed_after): Check is store killed after an insn in a block.
4264         (store_killed_before): Check is store killed before an insn in a block.
4265         (build_store_vectors): Generate the antic and avail vectors.
4266         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
4267         (insert_store): Add a store to an edge.
4268         (replace_store_insn): Replace a store with a SET insn.
4269         (delete_store): Delete a store insn.
4270         (free_store_memory): Free memory.
4271         (store_motion): Perform store motion.
4272         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
4273         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
4274         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
4275         (f_options): Add gcse-lm and gcse-sm.
4276
4277 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
4278
4279         * i386.c (expand_fp_movcc): Fix condition reversal code.
4280
4281         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
4282         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
4283         (CLASS_MAX_NREGS): Use it.
4284
4285         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
4286         handle properly complex values.
4287         (CLASS_MAX_NREGS): Likewise; update comment.
4288
4289 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
4290
4291         * ia64.c (ia64_flag_schedule_insns2): New variable.
4292         (ia64_override_options): Initialize it.  Clear
4293         flag_schedule_insns_after_reload.
4294         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
4295
4296 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
4297
4298         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
4299         Do not require source to match destination anymore;
4300         Add abort to the nontrivial cases that should be handled by split.
4301         (fix_trunc?fdi): Add SSE case for x86_64.
4302         (floatdi?f): Likewise.
4303         (floatdi?f_sse): New.
4304         (fix_trunc?fdi_sse): New.
4305
4306 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
4307
4308         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
4309         (DEBUG_ARANGES_END_LABEL): Ditto.
4310         (dwarfout_init): Generate length and version fields at the start
4311         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
4312         after the length field.
4313         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
4314         the .debug_aranges info.
4315
4316 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
4317
4318         * i386.c (call, call_value): Make sure that resulting call_insn
4319         does have proper second operand.
4320
4321 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
4322
4323         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
4324         function.  Remove include of sys/cygwin.h.
4325
4326 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
4327
4328         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
4329         (CPP_SPEC): Always search */include/w32api for header files.
4330         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
4331         (LINK_SPEC): Add "cyg" to the library search prefixes.
4332
4333 2001-04-08  Philip Blundell  <philb@gnu.org>
4334
4335         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
4336
4337 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4338
4339         * cpperror.c (print_location): Don't special case <stdin>.
4340         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
4341         WARNING, but we don't check if we're in system headers.
4342         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
4343         * cpplib.c (do_warning): Warn in system headers.
4344
4345 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
4346
4347         * mbchar.c: Include config.h first.
4348
4349 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
4350
4351         * config.gcc: Set default for xmake_file at top, not bottom.
4352         Change places that set xmake_file to "none" to set to the
4353         empty string instead, or remove them entirely if there is no
4354         default xmake_file for this cpu_type.  Remove references to
4355         deleted files.
4356
4357         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
4358         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
4359         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
4360         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
4361         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
4362         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
4363         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
4364         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
4365         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
4366         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
4367         Delete.
4368
4369         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
4370         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
4371         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
4372         config/mips/x-sysv, config/rs6000/x-aix31:
4373         Just set CLIB to -lld or -lmld, as appropriate.
4374
4375         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
4376         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
4377         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
4378         config/mips/x-iris, config/pa/x-pa:
4379         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
4380         OTHER_FIXINCLUDES_DIRS.
4381
4382         * config/i386/x-djgpp: Don't set LN or LN_S.
4383         * config/m88k/x-dolph: Don't define __m88k__.
4384         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
4385         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
4386         * config/i860/fx2800.h: No need to #undef SVR4.
4387
4388         38 x-host fragments remain, 2 x-cpu.
4389
4390 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4391
4392         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
4393
4394 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4395
4396         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
4397
4398 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4399
4400         * configure.in: Add check for lstat.
4401         * configure, config.in: Regenerate.
4402         * cppinit.c (append_include_chain): Make empty path ".".
4403         * cpplib.c (do_line): Don't simplify #line paths.
4404         * cppfiles.c (remove_component_p): New function.
4405         (find_or_create_entry): Acknowledge stat () errors during
4406         path simplification.
4407         (handle_missing_header): Don't simplify paths.
4408         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
4409         the empty path untouched.  Don't leave a trailing '/'.
4410
4411 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
4412
4413         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
4414         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
4415
4416 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4417
4418         * cppfiles.c (open_file): Fail directories silently, but
4419         with an errno of NOENT set.
4420         (read_include_file): Move the common exit code to the sole
4421         caller.  Return an int indicating success or failure.  Let
4422         open_file handle directories.
4423         (stack_include_file): If read_include_file fails,
4424         push a "null" buffer.
4425
4426 2001-04-05  DJ Delorie  <dj@redhat.com>
4427
4428         * function.h (virtuals_instantiated): Declare.
4429         * function.c: (virtuals_instantiated): Make global.
4430         * calls.c (emit_library_call_value_1): Use
4431         virtual_outgoing_args_rtx only if it hasn't been instantiated.
4432         Otherwise, use the stack pointer directly.
4433
4434 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
4435
4436         * i386.c (x86_initialize_trampoline): New global function.
4437         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
4438         (INITIALIZE_TRAMPOLINE): Move offline.
4439         * i386-protos.h (x86_initialize_trampoline): Declare.
4440
4441 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
4442
4443         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
4444         (lea_0): Rename to lea_1.
4445         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
4446         (lea_general_?): Allow SImodes on TARGET_64BIT
4447         (lea_general_?_zext): New patterns.
4448         (call_1, call_1_rex64): Fix.
4449
4450 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
4451
4452         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
4453
4454 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
4455
4456         * i386.c (function_arg): Return constm1_rtx for last argument.
4457         (ix86_expand_prologue): Update gen_call calls.
4458         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
4459         * i386.md (call_pop): Likewise.
4460         (call): Second operand is VOIDmode.
4461         (call_0): Likewise; Support 64bits.
4462         (call_exp): New expander.
4463         (call_1): Get to the sync.
4464         (call_1_exp): New pattern.
4465         (call_value): Support 64bit.
4466         (call_value_exp): New pattern.
4467         (untyped_call): Update gen_call call.
4468         (call_value_pop): Disable for 64bit.
4469         (call_value_0_rex64): New pattern.
4470         (call_value_1_rex64): Likewise.
4471
4472 2001-04-05  Bo Thorsen  <bo@suse.de>
4473
4474         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
4475
4476 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
4477
4478         * i386.md (*andsi_1+3): If used after reload, make sure the operand
4479         satisfies ANY_QI_REG_P.
4480
4481 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
4482
4483         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
4484         ASM_OPERAND.
4485
4486         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
4487         change.
4488
4489 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
4490
4491         * config.gcc: Remove default for xm_file.  Clean up local
4492         machine type handling.  Remove settings of xm_file to
4493         something that doesn't exist.  In the big switch, set xm_file,
4494         don't append to it (the value before the big switch is always
4495         null).  Don't force build_xm_file or host_xm_file to have a value.
4496         * configure.in: Remove default for xm_file.  Do not special
4497         case $cpu/xm-$cpu.h not existing.
4498         * configure: Regenerate.
4499
4500 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
4501
4502         * simplify-rtx.c (simplify_binary_operation): Check for overflow
4503         when folding integer division and modulo operations.
4504
4505 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
4506
4507         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
4508         instead of DWARF2_ADDR_SIZE for EH addresses.
4509         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
4510         EH addresses.
4511
4512 2001-04-04  Richard Henderson  <rth@redhat.com>
4513
4514         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
4515         * config/ia64/t-glibc (LIB2ADDEH): Disable.
4516         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
4517
4518 2001-04-04  Richard Henderson  <rth@redhat.com>
4519
4520         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
4521         * configure: Rebuilt.
4522
4523 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
4524
4525         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
4526         push insns to delete to it instead of deleting them.
4527         (delete_null_pointer_checks): Delete insns from delete_list after
4528         all delete_null_pointer_checks_1 passes are done.
4529
4530 2001-04-04  Richard Henderson  <rth@redhat.com>
4531
4532         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
4533         * configure: Rebuilt.
4534
4535 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
4536
4537         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
4538         * config/romp/xm-romp.h: Delete.
4539
4540 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
4541
4542         * sched-deps.c (sched_analyze_insn): Partially revert March 27
4543         change.
4544
4545 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4546
4547         * emit-rtl.c (mark_label_nuses) Increment the label uses for
4548         all labels present in rtx.
4549         (try_split) Call new function for all split insns.
4550
4551 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
4552
4553         * recog.c (validate_replace_rtx_1): Instead of aborting just make
4554         sure the change won't be validated.
4555
4556 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
4557
4558         * rtl.h (set_noop_p): Declare.
4559         * flow.c (set_noop_p): Move from here ...
4560         * rtlanal.c (set_noop_p): ... to here and enhance.
4561         * cse.c (delete_trivially_dead_insns): Use it.
4562         * gcse.c (hash_scan_set): Likewise.
4563         * jump.c (delete_noop_moves): Likewise.
4564         * recog.c (split_all_insns): Likewise.
4565
4566 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
4567
4568         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
4569         stack pointer via a LO_SUM.  Ditto for setting a temp register
4570         used to save to the stack.  Set cfa_temp when setting fp, and
4571         allow matches to cfa_temp in addition to cfa_store when saving
4572         regs.  Handle POST_INC and LO_SUM register stores.  Document the
4573         changes and errors in rule 12 doco.
4574
4575         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
4576         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
4577         (load_reg): Move closer to epilogue code.
4578         (DO_FRAME_NOTES): Define to control the following..
4579         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
4580         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
4581         notes as necessary.
4582         (hppa_expand_epilogue): Likewise.
4583
4584 2001-04-03  Richard Henderson  <rth@redhat.com>
4585
4586         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
4587         * configure: Rebuild.
4588
4589 2001-04-03  Richard Henderson  <rth@redhat.com>
4590
4591         * rtl.h (LCT_THROW): New.
4592         * calls.c (emit_library_call_value_1): Handle it.
4593         * except.c (connect_post_landing_pads): Use it.
4594
4595 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
4596
4597         * gansidecl.h: Delete file.
4598         * configure.in: Change all refs to gansidecl.h to use
4599         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
4600         lives.
4601         * configure: Regenerate.
4602
4603         * Makefile.in (intl.o): Don't depend on gansidecl.h.
4604         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
4605         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
4606         Don't include gansidecl.h.
4607         * intl.c, main.c, version.c, fixinc/fixlib.h,
4608         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
4609         gansidecl.h.
4610
4611 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
4612
4613         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
4614         Update for 64bit.
4615
4616 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
4617
4618         * config/i386/xm-beos.h, config/i386/xm-isc.h,
4619         config/i386/xm-next.h, config/i386/xm-sco.h,
4620         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
4621         config/m88k/xm-m88k.h: Delete.
4622
4623         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
4624         * config/romp/xm-romp.h: Don't define bcopy.
4625         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
4626         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
4627
4628         * config.gcc: Remove references to deleted files.
4629
4630         14 xm-host.h remain, 1 xm-cpu.h.
4631
4632 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
4633             David S. Miller  <davem@pierdol.cobaltmicro.com>
4634             Andrew MacLeod  <amacleod@redhat.com>
4635
4636         Use byte offsets in SUBREGs instead of words.
4637
4638         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
4639         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
4640         to pass new argument.
4641         (add_stored_regs): Use subreg_regno_offset function.
4642         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
4643         into account.
4644         (precompute_arguments): Use gen_lowpart_SUBREG.
4645         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
4646         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
4647         (simplify_set): Rework to use SUBREG_BYTE.
4648         (expand_field_assignment): Use SUBREG_BYTE.
4649         (make_extraction): Use SUBREG_BYTE.
4650         (if_then_else_cond): Use SUBREG_BYTE.
4651         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
4652         (gen_lowpart_for_combine): Compute full byte offset.
4653         * cse.c (mention_regs): Use SUBREG_BYTE.
4654         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
4655         (canon_hash): Use SUBREG_BYTE.
4656         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
4657         (gen_lowpart_if_possible): Formatting.
4658         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
4659         correctly.
4660         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4661         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4662         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4663         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4664         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4665         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4666         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
4667         certain invariants about SUBREGs the compiler creates.
4668         (gen_lowpart_SUBREG): New function.
4669         (subreg_hard_regno): New function to get the final register number.
4670         (gen_lowpart_common): Use SUBREG_BYTE.
4671         (gen_imagpart): Spacing nits.
4672         (subreg_realpart_p): Use SUBREG_BYTE.
4673         (gen_highpart): Use SUBREG_BYTE.
4674         (subreg_lowpart_p): Always compute endian corrected goal offset,
4675         even at the byte level, then compare against that.
4676         (constant_subword): New function, pulled out all constant cases
4677         from operand_subword and changed second argument name to offset.
4678         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
4679         and call constant_subword to do the work.  Return const0_rtx if
4680         looking for a word outside of OP.
4681         (operand_subword_force): Change second arg name to offset.
4682         * expmed.c (store_bit_field): Use SUBREG_BYTE.
4683         (store_split_bit_field): Use SUBREG_BYTE.
4684         (extract_bit_field): Use SUBREG_BYTE.
4685         (extract_split_bit_field): Use SUBREG_BYTE.
4686         (expand_shift): Use SUBREG_BYTE.
4687         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
4688         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
4689         * flow.c (set_noop_p): Use SUBREG_BYTE.
4690         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
4691         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
4692         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
4693         correction code.
4694         (optimize_bit_field): Use SUBREG_BYTE.
4695         (purge_addressof_1): Use SUBREG_BYTE.
4696         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
4697         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
4698         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
4699         * gengenrtl.c (special_rtx): Add SUBREG.
4700         * global.c (mark_reg_store): Use SUBREG_BYTE.
4701         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
4702         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
4703         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
4704         final byte offset is congruent to subreg's mode size.
4705         (subst_constants): Use SUBREG_BYTE.
4706         (mark_stores): Use subreg_regno_offset function.
4707         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
4708         function and SUBREG_BYTE.
4709         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
4710         (reg_is_born): Use subreg_hard_regno.
4711         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
4712         endian correction code.  Don't combine subregs unless resulting
4713         offset aligns with type.  Fix subreg constant extraction for DImode.
4714         Simplify SUBREG of VOIDmode CONST_DOUBLE.
4715         (general_operand): Remove dead mode_altering_drug code.
4716         (indirect_operand): Use SUBREG_BYTE.
4717         (constrain_operands): Use subreg_regno_offset function.
4718         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
4719         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
4720         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
4721         * regs.h (REG_SIZE): Allow target to override.
4722         (REGMODE_NATURAL_SIZE): New macro which target can override.
4723         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
4724         on the entire subreg rtx.
4725         (push_reload): Use SUBREG_BYTE in comments and code.
4726         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
4727         for hard registers inside subregs.
4728         (operands_match_p): Use subreg_regno_offset.
4729         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
4730         containing hard regs.
4731         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
4732         corrections when fixing up MEM subregs.
4733         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
4734         subreg_regno_offset where appropriate.
4735         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
4736         byte endian corrections when fixing up MEM subregs.
4737         (subst_reloads): When combining two subregs, make sure final
4738         offset is congruent to subreg's mode size.
4739         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
4740         (refers_to_regno_for_reload_p): Use subreg_regno.
4741         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
4742         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
4743         correction code for memory subreg fixups.
4744         (forget_old_reload_1): Use subreg_regno_offset.
4745         (choose_reload_regs): Use subreg_regno.
4746         (emit_input_reload_insns): Use SUBREG_BYTE.
4747         (reload_combine_note_store): Use subreg_regno_offset.
4748         (move2add_note_store): Use subreg_regno_offset.
4749         * resource.c (update_live_status, mark_referenced_resources): Use
4750         subreg_regno function.
4751         (mark_set_resources): Use subreg_regno function.
4752         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
4753         (subreg_regno_offset, subreg_regno): Define prototypes.
4754         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
4755         (gen_lowpart_SUBREG): Add prototype.
4756         * rtl.texi (subreg): Update to reflect new byte offset representation.
4757         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
4758         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
4759         (reg_overlap_mentioned_p): Use subreg_regno.
4760         (replace_regs); Make sure final offset of combined subreg is
4761         congruent to size of subreg's mode.
4762         (subreg_regno_offset): New function.
4763         (subreg_regno): New function.
4764         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
4765         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
4766         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
4767         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
4768         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
4769         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
4770         (a29k_get_reloaded_address): Use SUBREG_BYTE.
4771         (print_operand): Use SUBREG_BYTE.
4772         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
4773         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
4774         (arm_reload_out_hi): Use SUBREG_BYTE.
4775         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
4776         instead of SUBREG_WORD.
4777         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
4778         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
4779         SUBREG creation to use byte offset.
4780         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
4781         inverted load insns): Fix explicit rtl subregs to use byte
4782         offsets.
4783         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
4784         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
4785         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
4786         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
4787         to use byte offsets.
4788         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
4789         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
4790         offsets, also make sure it is congruent to SUBREG's mode size.
4791         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
4792         unnamed ldob insn): Generate SUBREGs with byte offset.
4793         (zero_extendqihi2): SUBREG's are byte offsets.
4794         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
4795         (m68hc11_gen_highpart): Use SUBREG_BYTE.
4796         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
4797         zero-extendqisi2): Generate SUBREGs with byte offset.
4798         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
4799         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
4800         subregs in rtl to use byte offsets.
4801         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
4802         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
4803         (mips_move_2words): Use subreg_regno_offset.
4804         (mips_secondary_reload_class): Use subreg_regno_offset.
4805         * config/mips/mips.md (DImode plus, minus, move, and logical op
4806         splits): Fixup explicit subregs in rtl to use byte offsets.
4807         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
4808         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
4809         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
4810         rtl to use byte offsets.
4811         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
4812         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
4813         subregs to use byte offsets.
4814         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
4815         Fixup explicit subregs in rtl to use byte offsets.
4816         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
4817         and remove byte endian correction code.
4818         * config/sh/sh.c (output_movedouble): Use subreg_regno.
4819         (gen_ashift_hi): Use SUBREG_BYTE.
4820         (regs_used): Use subreg_regno_offset.
4821         (machine_dependent_reorg): Use subreg_regno_offset.
4822         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
4823         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
4824         (movdf_i4): Subregs are byte offsets now.
4825         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
4826         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
4827         (REGMODE_NATURAL_SIZE): Override.
4828         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
4829         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
4830         with byte offsets.
4831         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
4832         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
4833         extendqidi2): Generate SUBREGs with byte offsets, also make sure
4834         it is congruent to SUBREG's mode size.
4835         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
4836         offsets.
4837         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
4838         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
4839         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
4840         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
4841         * config/v850/v850.c (print_operand, output_move_double): Use
4842         subreg_regno function.
4843
4844 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
4845
4846         * configure.in (target_subdir): Use target_alias, not target.
4847         * configure: Rebuilt.
4848
4849         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
4850         other way round.
4851         * config/sh/crti.asm: Fix typos in comments.
4852
4853 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
4854
4855         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
4856         TARGET_FAST_INDIRECT_CALLS.
4857         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
4858         -fPIC.  Don't warn.
4859         (return_addr_rtx): Short circuit export stub matching when
4860         TARGET_NO_SPACE_REGS.
4861         (output_millicode_call): For out of range calls, make -fPIC
4862         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
4863         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
4864         * pa.md: Modify length attr calculation of all millicode insns to
4865         match above.
4866
4867 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
4868
4869         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
4870         Require at least 2.11 in the version test.  Specifically check
4871         for and reject GAS version 2.10.90.
4872         * configure: regenerate.
4873
4874 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
4875
4876         * pa.c (override_options): Remove PIC profiling warning.
4877         (hp_profile_labelno): Delete.
4878         (hp_profile_label_rtx): Delete.
4879         (hp_profile_label_name): Delete.
4880         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
4881         (output_function_prologue): Remove profiling code and all tests on
4882         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
4883         merge_sp_adjust_with_store can work for PIC and profiling.
4884         (hppa_expand_epilogue): Remove profile_flag test.
4885         (hppa_can_use_return_insn_p): Likewise.
4886         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
4887         cater for PROFILE_HOOK.
4888         (hppa_profile_hook): New function.
4889         * pa.h (FUNCTION_PROFILER): Now does nothing.
4890         (PROFILE_HOOK): Define.
4891         (hppa_profile_hook): Declare.
4892         (PROFILE_BEFORE_PROLOGUE): Delete.
4893         (ASM_OUTPUT_REG_PUSH): Delete.
4894         (ASM_OUTPUT_REG_POP): Delete.
4895         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
4896         r24.  Accept function name operand, and use this and a locally
4897         generated label to calculate pc-rel offset to func start.
4898
4899 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4900
4901         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
4902         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
4903         $(SYSTEM_H).
4904
4905 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
4906
4907         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
4908         LO_SUM cases to where they belong.
4909
4910 2001-04-02  Richard Henderson  <rth@redhat.com>
4911
4912         * except.h (lang_eh_type_covers): Mark extern.
4913         (lang_eh_runtime_type): Likewise.
4914
4915 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
4916
4917         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
4918         gengenrtl.c:  Wrap generated header in multiple-include guard.
4919         Improve error checking.
4920
4921 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4922
4923         * configure.in: Don't check for putenv.
4924         * configure: Regenerate.
4925         * gcc.c (putenv): Don't define.
4926         * vax/xm-vms.h: Handle putenv.
4927
4928 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
4929
4930         * ifcvt.c (noce_emit_move_insn): New.
4931         (noce_try_store_flag, noce_try_store_flag_constants,
4932         noce_try_store_flag_inc, noce_try_store_flag_mask,
4933         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
4934         noce_try_abs): Use it.
4935         (noce_process_if_block): Likewise.
4936         For STRICT_LOW_PART, take mode from its SUBREG.
4937
4938 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
4939
4940         * fold-const.c (fold): Before optimizing unsigned comparison with
4941         0x7fffffffU, make sure arg0 is integral type.
4942
4943 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4944
4945         * c-tree.texi: Document representation of wide strings.
4946
4947 2001-04-01  Richard Henderson  <rth@redhat.com>
4948
4949         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
4950
4951 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
4952
4953         * i386.md: remove obsoleted comments.
4954         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
4955         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
4956         fix output template.
4957
4958 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
4959
4960         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
4961
4962 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
4963
4964         * loop.c (load_mems): When generating a load from a pseudo, update
4965         REGNO_LAST_UID.
4966
4967 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
4968
4969         * i386.c (ix86_split_long_move): Use change address to compensate
4970         stack pointer change in push instruction.
4971
4972 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
4973
4974         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
4975         instead of rtx_equal_p; fix the output template.
4976
4977 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
4978
4979         * i386.c (ix86_expand_setcc): Support 64bit.
4980         (ix86_expand_int_movcc): Likewise.
4981         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
4982         New patterns.
4983
4984         * i386.md (allocate_stack_worker): Turn to expander.
4985         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
4986
4987         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
4988
4989 2001-03-29  Richard Henderson  <rth@redhat.com>
4990
4991         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
4992
4993 2001-03-28  Matthew Hiller  <hiller@redhat.com>
4994
4995         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
4996         output template.
4997
4998         * MAINTAINERS: Added self.
4999
5000 2001-03-28  Richard Henderson  <rth@redhat.com>
5001
5002         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
5003         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
5004
5005 2001-03-28  Jim Wilson  <wilson@redhat.com>
5006
5007         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
5008         operand_subword.
5009
5010 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5011
5012         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
5013
5014         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
5015         `error'.
5016
5017         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
5018
5019 2001-03-28  DJ Delorie  <dj@redhat.com>
5020
5021         * Makefile.in (stage1_build): Revert CFLAGS patch.
5022
5023 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
5024
5025         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
5026         when multiplier or multiplicand is zero.
5027
5028 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
5029
5030         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
5031
5032         * config/ia64/ia64.c (update_set_flags): New function, broken out of
5033         rtx_needs_barrier.
5034         (set_src_needs_barrier): Likewise.
5035         (rtx_needs_barrier): For SET case, use these two functions.  Rework
5036         PARALLEL case to handle all inputs before all outputs.
5037         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
5038         saw a label and no stop bit since then.
5039         (maybe_rotate, process_epilogue): Add prototypes.
5040
5041 2001-03-28  Richard Henderson  <rth@redhat.com>
5042
5043         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
5044         not TARGET_TOC for special toc restore handling.
5045         * config/rs6000/rs6000.md (eh_return): Likewise.
5046
5047 2001-03-28  Richard Henderson  <rth@redhat.com>
5048
5049         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
5050         current_function_calls_eh_return.
5051         (output_function_epilogue): Handle eh_return.
5052         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
5053         (EH_RETURN_DATA_REGNO): New.
5054         (EH_RETURN_STACKADJ_RTX): New.
5055         (EH_RETURN_HANDLER_RTX): New.
5056         * config/sparc/sparc.md (call/short branch peepholes): Check
5057         can_throw_internal instead of in_same_eh_region.
5058
5059         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
5060         for eh_return data registers.
5061         (rs6000_emit_prologue): Save eh_return data registers.
5062         (rs6000_emit_epilogue): Force inline restores if eh_return.
5063         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
5064         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
5065         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
5066         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
5067         the target uses one.
5068         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
5069         (return_eh_si, return_eh_di): Remove.
5070         (eh_return): New, from corpse of eh_epilogue.
5071         (eh_set_lr_si, eh_set_lr_di): New.
5072
5073         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
5074         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
5075         True for pic register if current_function_calls_eh_return.
5076         (ix86_expand_epilogue): Change "emit_return" argument into "style".
5077         Handle eh_return requirements.
5078         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
5079         (EH_RETURN_STACKADJ_RTX): New.
5080         * config/i386/i386.md (exception_receiver): Remove.
5081         (eh_return, eh_return_1): New.
5082         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5083
5084         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
5085         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
5086         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
5087         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
5088         (EH_RETURN_DATA_REGNO): New.
5089         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
5090         * config/alpha/alpha.md (eh_epilogue): Remove.
5091         (exception_receiver): Use $26 for ldgp input.
5092         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5093
5094 2001-03-28  Richard Henderson  <rth@redhat.com>
5095
5096         * except.c: Rewrite entirely for IA-64 ABI exception handling.
5097         * except.h: Likewise.
5098
5099         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
5100         (LIB2ADDEHDEP): New.
5101         (LIB2FUNCS_EH): Remove.
5102         (LIB2ADD): Remove LIB2ADDEH.
5103         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
5104         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
5105         (crt{begin,end}[S].o): Likewise.
5106         (except.o): Update includes.
5107         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
5108         (libgcc2_c_dep): Use LIB2ADDEHDEP.
5109
5110         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
5111         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
5112         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
5113         * builtins.c (expand_builtin): Implement it.
5114         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
5115         * c-common.c (c_common_nodes_and_builtins): Declare it.
5116         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
5117         * calls.c (libfunc_nothrow): Remove.
5118         (emit_library_call_value_1): Don't call it.
5119         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
5120         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
5121         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
5122         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
5123         (current_funcdef_number): Globalize.
5124         (output_call_frame_info): Emit frame data if an lsda is needed.
5125         Generate augmentation for personality routine.  Don't play with
5126         difference symbols.
5127         (dwarf2out_begin_prologue): Record funcdef_number.
5128         * dwarf2out.h (current_funcdef_number): Declare.
5129         * expr.c (expand_expr): Update for except.h name changes.
5130         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
5131         * expr.h (LTI_throw, LTI_rethrow): Remove.
5132         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
5133         (LTI_eh_rtime_match): Remove.
5134         (LTI_unwind_resume, LTI_eh_personality): Add.
5135         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
5136         * final.c (final): Don't call check_exception_handler_labels,
5137         init_insn_eh_region, or free_insn_eh_region.
5138         (final_scan_insn): Always emit debug labels for
5139         NOTE_INSN_EH_REGION notes.
5140         * flags.h (flag_new_exceptions): Remove.
5141         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
5142         (record_active_eh_regions): Remove.
5143         (count_basic_blocks): Check all instructions for REG_EH_REGION.
5144         Use can_throw_internal.
5145         (find_basic_blocks_1): Likewise.
5146         (move_stray_eh_region_notes): Remove.
5147         (find_label_refs): No eh_return_stub_label.
5148         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
5149         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
5150         changes.
5151         (delete_unreachable_blocks): Don't track deleted handlers.
5152         (flow_delete_block): Use maybe_remove_eh_handler.
5153         (delete_eh_regions): Remove.
5154         (merge_blocks): Don't check for eh region match.
5155         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
5156         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
5157         (init_propagate_block_info): Disable dead frame store optimization
5158         when current_function_calls_eh_return.
5159         (dump_bb): Don't print eh_beg, eh_end.
5160         * function.c (fixup_var_refs): No catch_clauses.
5161         (expand_function_end): Likewise.  Call expand_eh_return before
5162         the return register use.  Call sjlj_emit_function_exit_after.
5163         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
5164         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
5165         * ifcvt.c (dead_or_predicable): Remove eh region check.
5166         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
5167         Don't check for EH vs parameters.
5168         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
5169         (expand_inline_function): Call duplicate_eh_regions.
5170         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
5171         (copy_insn_notes): Remap REG_EH_REGION notes.
5172         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
5173         * integrate.h (struct inline_remap): Add local_return_label.
5174         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
5175         check_exception_handler_labels, nor exception_optimize.
5176         (find_cross_jump): No EH region check.
5177         * optabs.c (init_optabs): Update for changed eh libfuncs.
5178         * rtl.def (RESX): New.
5179         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
5180         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
5181         checks.  Update for except.h name changes.
5182         (expand_cleanups): Likewise.
5183         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
5184         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
5185         (compile_file): Call init_eh before init_optabs.  Don't
5186         output_exception_table here.
5187         (rest_of_compilation): Call convert_from_eh_region_ranges,
5188         convert_to_eh_region_ranges, output_function_exception_table.
5189         Don't emit_eh_context.
5190         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
5191         (EXC_PTR_EXPR): New.
5192
5193         * md.texi (eh_epilogue): Remove.
5194         (eh_return): Document.
5195         * tm.texi (EH_RETURN_DATA_REGNO): Document.
5196         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
5197
5198         * eh-common.h: Remove file.
5199         * frame-dwarf2.c, frame.c, frame.h: Remove files.
5200         * libgcc2.c (L_eh): Remove.
5201
5202         * unwind-dw2-fde.c: New file, largely copied from frame.c.
5203         * unwind-dw2-fde.h: New file.
5204         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
5205         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
5206         * libgcc-std.ver: Update for eh symbols.
5207
5208 2001-03-27  Richard Henderson  <rth@redhat.com>
5209
5210         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
5211         reduce false positives.
5212         (regmove_optimize): Disable if flag_non_call_exceptions.
5213
5214         * stmt.c (expand_return): Remove always true predicate.
5215         (expand_decl_cleanup_no_eh): Remove dead code.
5216
5217         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
5218         barrier code.  Add a scheduling barrier if a non-call insn
5219         can throw internally.
5220
5221         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
5222         Auto-inc addresses trap only if their base register does.
5223
5224         * except.c (can_throw_internal): Rename from can_throw.
5225         * except.h, resource.c: Update references.
5226
5227         * integrate.c (copy_insn_list): Use returnjump_p.
5228         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
5229
5230         * function.h (struct function): Move all boolean valued fields
5231         to single bit fields at the end of the struct.
5232
5233         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
5234         jump.c, toplev.c:
5235         Rename asynchronous_exceptions to flag_non_call_exceptions.
5236
5237         * gthr-single.h (UNUSED): New.  Distinguish between how C
5238         and C++ mark unused function arguments.  Use throughout.
5239
5240         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
5241         value to target configuration header.
5242         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
5243         * config.in, configure: Rebuild.
5244         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
5245         configuration and target defines.
5246         (exceptions_via_longjmp): Remove.
5247         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
5248         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
5249
5250         * except.h (flag_non_call_exceptions): Move ...
5251         * flags.h: ... here.
5252
5253         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
5254         exceptions, put the note on the trapping instruction.
5255
5256         * flags.h (flag_new_exceptions): Remove.
5257         * toplev.c: Don't set it.
5258         * final.c: Don't check it.
5259         * except.c: Provide stub definition.
5260
5261         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
5262         (calculate_global_regs_live): Kill call-clobbered registers
5263         across exception edges.
5264         * reg-stack.c (convert_regs_1): Kill the entire target stack
5265         across non-call exception edges.
5266
5267         * flow.c (cleanup_cfg): Take no argument.
5268         * output.h, sibcall.c, toplev.c: Update all calls.
5269
5270 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5271
5272         * configure.in: Don't check for bcopy.
5273         * configure, config.in: Regenerate.
5274
5275         * system.h: Don't define or prototype bcopy, instead poison it.
5276
5277 2001-03-27  Richard Henderson  <rth@redhat.com>
5278
5279         * function.c (expand_function_start): Set DECL_REGISTER on
5280         a pseudo used for DECL_RESULT.
5281
5282         * rtl.h (LCT_NORETURN): New.
5283         * calls.c (emit_library_call_value_1): Handle it.
5284
5285 2001-03-27  Stan Shebs  <shebs@apple.com>
5286
5287         * objc/objc-act.c (objc_init): Use dump_base_name.
5288         (gen_declaration): Clear the buffer arg.
5289         (gen_declaration_1): New function, body of gen_declaration.
5290         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
5291         (gen_method_decl): Ditto, plus always clear buffer arg.
5292         (error_with_ivar): Simplify.
5293         (warn_with_method): Ditto.
5294         (build_message_expr): Don't clear buffers.
5295         (dump_interface): Ditto.
5296         (objc_debug): Ditto.
5297         (build_keyword_selector): Clear the buffer by only zeroing
5298         the first element.
5299         (objc_implementation_context): Declare.
5300         (start_class): Warn about missing @end.
5301         (finish_objc): Ditto.
5302
5303 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5304
5305         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
5306
5307 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5308
5309         * Makefile.in (SYSTEM_H): Define.
5310         Depend on $(SYSTEM_H), not system.h.
5311
5312         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
5313
5314 2001-03-27  Jim Wilson  <wilson@redhat.com>
5315
5316         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
5317         IA64_UNWIND_EMIT.
5318         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
5319         (process_epilogue): New static function.
5320         (process_set): Call process_epilogue instead of emitting .restore
5321         directly.
5322         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
5323
5324         * flow.c (struct reg_cond_life_info): New fields orig_condition
5325         and stores.
5326         (init_propagate_block_info): Set new fields.
5327         (mark_regno_cond_dead): Set and use new fields.
5328         (flush_reg_cond_reg_1): Likewise.
5329         (and_reg_cond, case AND): Check for redundant AND conditions.
5330         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
5331         Set new fields.
5332
5333 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5334
5335         * cppmacro.c (stringify_arg): Null terminate strings.
5336
5337 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
5338
5339         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
5340         inclusion style.  xm-m68hc11.h no longer exists.
5341         * config/m68hc11/xm-m68hc11.h: Delete file.
5342         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
5343
5344         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
5345         Don't define GCC_VERSION, N_, or PARAMS; don't include
5346         gansidecl.h or stdio.h.  Define inhibit_libc here.
5347         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
5348         Delete code conditioned on #if GCC_VERSION == 2095.
5349
5350         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
5351         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
5352         Delete code conditioned on #if GCC_VERSION == 2095.
5353
5354 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5355
5356         * system.h: Include symcat.h.
5357         (STRINGIFY): Don't define.
5358
5359         * configure.in: Adjust comment.
5360
5361         * builtins.c: Use STRINGX, not STRINGIFY.
5362         * gencheck.c: Likewise.
5363         * gengenrtl.c: Likewise.
5364         * protoize.c: Likewise.
5365
5366         * cpplex.c: Don't include symcat.h.
5367         * cpplib.c: Likewise.
5368
5369         * gansidecl.h (HAVE_STRINGIZE): Don't define.
5370
5371 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
5372
5373         * c-typeck.c (digest_init): Fold init expression.
5374
5375 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5376
5377         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
5378
5379 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
5380
5381         * except.c (eh_regs): Save results of build_pointer_type to a temp
5382         as FUNCTION_VALUE macro may evaluate its args multiple times.
5383
5384 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
5385
5386         * c-common.h (DECL_NUM_STMTS): New macro.
5387         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
5388         DECL_FRAME_SIZE.
5389         (pushdecl): Likewise.
5390         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
5391         * integrate.c (expand_inline_function): Don't check
5392         DECL_FRAME_SIZE.
5393         * print-tree.c (print_node): Don't print it.
5394         * toplev.c (rest_of_compilation): Don't try to inline when
5395         flag_no_inline is on.
5396         * tree.h (DECL_FRAME_SIZE): Remove.
5397         (tree_decl): Adjust accordingly.
5398
5399 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5400
5401         * combine.c (try_combine): Use memcpy, not bcopy.
5402
5403         * genattrtab.c (expand_units): Likewise.
5404
5405 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
5406
5407         * i386.md (push mem DI peep2): New.
5408         (mov 0, mov -1 peep2): Handle 64bit.
5409         (lea to arithmetics peep2): Handle 64bit leas.
5410         (rsp arithmetics to push/pop peep2s): New.
5411
5412         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
5413
5414 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
5415
5416         * i386.c (struct machine_function): Add save_varrargs_registers.
5417         (ix86_save_varrargs_registers): New macro.
5418         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
5419         (ix86_expand_prologue): Likewise.
5420         (ix86_emit_epilogue_esp_adjustement): Likewise.
5421         (ix86_expand_epilogue): Likewise.
5422         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
5423         (pro_epilogue_adjust_stack_1): New insn.
5424         (pro_epilogue_adjust_stack_rex64): Likewise.
5425         * i386.h (MASK_NO_RED_ZONE): New constant.
5426         (TARGET_RED_ZONE): New macro.
5427         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
5428         (RED_ZONE_SIZE): New constant.
5429         (RED_ZONE_RESERVE): New constant.
5430
5431 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5432
5433         * toplev.c (set_float_handler): Use memcpy, not bcopy.
5434
5435 2001-03-25  Kazu Hirata  <kazu@hxi.com>
5436
5437         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
5438         space.
5439         (modqi3): Likewise.
5440         (umodhi3): Likewise.
5441         (modhi3): Likewise.
5442
5443 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5444
5445         * mkconfig.sh (DEFINES): Handle entries with '='.
5446
5447         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
5448         Set xm_defines to MACRO=value instead.
5449
5450         * i370/xm-mvs.h: Delete.
5451
5452         * ns32k/xm-pc532-min.h: Likewise.
5453
5454 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
5455
5456         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
5457         shiftdi_operand;
5458         use ix86_expand_binary_operator
5459         (?sh??i_?): Disable for 64bit.
5460         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
5461         * i386.c (shiftdi_operand): New predicate.
5462
5463         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
5464         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
5465         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
5466         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
5467         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
5468         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
5469         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
5470         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
5471         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
5472         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
5473         (rotldi3, rotrdi3): New expanders.
5474
5475 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
5476
5477         * i386.md (movstrsi): Move offline.
5478         (movstrdi): New.
5479         (strmovdi_rex64): New.
5480         (strmov?i): Accept 64bit.
5481         (strmov?i_rex64): New.
5482         (strmov?i_rex_1): New.
5483         (strmov?i_1): Disable for 64bit.
5484         (rep_mov?i_rex64): New.
5485         (rep_mov?i): Disable for 64bit.
5486         (clrstrsi): Move offline.
5487         (strset?i_rex64): New.
5488         (strset?i: Accept 64bit.
5489         (rep_stos?i): Disable for 64bit.
5490         (rep_stos?i_rex64): New.
5491         (strset?i_rex_1): New.
5492         (strset?i_1): Disable for 64bit.
5493         (cmpstrsi): Accept 64bit.
5494         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
5495         (cmpstrqi_nz_rex_1): New.
5496         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
5497         (strlensi): Move offline.
5498         (strlendi): New.
5499         (strlenqi_1): Disable for 64bit; fix constraints.
5500         (strlenqi_rex_1): New.
5501         * i386.c (ix86_adjust_counter): New static function.
5502         (ix86_zero_extend_to_Pmode): Likewise.
5503         (ix86_expand_aligntest): Likweise.
5504         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
5505         (ix86_expand_movstr): New global function.
5506         (ix86_expand_clrstr): New global function.
5507         (ix86_expand_strlen): New global function.
5508         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
5509         ix86_expand_strlen): Declare.
5510         (ix86_expand_strlensi_unroll_1): Delete.
5511
5512 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
5513
5514         * i386.md (cmpdi): Fix operand predicates.
5515         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
5516          cmpdi_1_insn_rex64): New patterns.
5517         (adddi3): Turn to expander.
5518         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
5519         (addsi3_carry_zext): New pattern.
5520         (adddi_?_rex64): New patterns and splitters.
5521         (addsi_?_zext): New patterns.
5522         (subsi3_carry_zext): New pattern.
5523         (subdi_?_rex64): New patterns and splitters.
5524         (iorsi_?_zext): New patterns.
5525         (iordi_?_rex64): New patterns and splitters.
5526         (iorsi_?_zext): New patterns.
5527         (iorsi_?_zext_imm): New patterns.
5528         (xorsi_?_zext): New patterns.
5529         (xordi_?_rex64): New patterns and splitters.
5530         (xorsi_?_zext): New patterns.
5531         (negdi*): New patterns.
5532         (one_cmpldi*): Likewise.
5533         (one_cmplsi*_zext, negsi*_zext): Likewise.
5534         (testqi_ext_3_rex64): New pattern.
5535
5536 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
5537
5538         * i386-protos.h (ix86_split_long_move): Return void.
5539         * i386.c (ix86_split_to_parts): Handle 64bit target.
5540         (ix86_split_long_move): Likewise.
5541         * i386.md (all calls to ix86_split_long_move): Update.
5542
5543 2001-03-23  Richard Henderson  <rth@redhat.com>
5544
5545         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
5546         to avoid shadowing arguments.
5547
5548 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
5549
5550         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
5551         to variable names where DECL_NAME is different from
5552         DECL_ASSEMBLER_NAME.
5553
5554 2001-03-23  Jim Wilson  <wilson@redhat.com>
5555
5556         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
5557         (assemble_alias): Call make_decl_rtl.
5558
5559 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
5560
5561         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
5562
5563 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
5564
5565         * extend.texi: Document the "java_interface" attribute.
5566
5567 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
5568
5569         * mkconfig.sh: Use a subshell with redirected stdout,
5570         instead of closing stdout and confusing commands that run
5571         afterward.  Throw away output of cmp.
5572
5573 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
5574
5575         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
5576
5577 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
5578
5579         * i386.md (zero_extendsidi2_32): Break out from ...
5580         (zero_extendsidi2): ... here ; turn to expander.
5581         (zero_extendsidi2_rex64): New.
5582         (extendsidi2_32): Break out from ...
5583         (extendsidi2): ... here ; turn to expander.
5584         (extendsidi2_rex64): New.
5585         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
5586         (trunc?f?f splitters): Add 64bit versions.
5587
5588 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
5589
5590         * i386.md (pushsi, pushsi2_prologue): Disable.
5591         (pushsi2_rex64): New.
5592         (movabs?i_1_rex64, movabs?i_2_rex64): New.
5593         (movqi_ext_1): Disable for 64bit.
5594         (movqi_ext_1_rex64): New.
5595         (pushdi2_rex64): New pattern, peep2s and splitter.
5596         (pushdi2_prologue_rex64): New pattern.
5597         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
5598         Likewise.
5599         (movdi splitters): Disable for 64bit.
5600         (movdi_1_rex64): New pattern, peep2s and splitters.
5601         (swapdi): New pattern.
5602         (pushsf): Disable for 64bit.
5603         (pushsf_rex64): New pattern and splitter.
5604         (pushdf_nointeger): Disable for 64bit.
5605         (pushdf_integer): Handle the 64bit case.
5606         (pushtf): Likewise; update splitters.
5607
5608 2001-03-22  Richard Henderson  <rth@redhat.com>
5609
5610         * mkconfig.sh: Include insn-flags.h.
5611         * Makefile.in (CONFIG_H): Include insn-flags.h.
5612         (lots of objects): Remove insn-codes.h and insn-flags.h.
5613
5614         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
5615         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
5616         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
5617         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
5618         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
5619         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
5620         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
5621         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
5622         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
5623         v850/v850.c, vax/vax.c:
5624         Don't include insn-flags.h.
5625
5626         * diagnostic.c, expr.h, reload.c, toplev.c:
5627         Don't include insn-codes.h.
5628
5629         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
5630         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
5631         c4x/c4x.c, i960/i960.c, mips/mips.c:
5632         Don't include insn-codes.h or insn-flags.h.
5633
5634         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
5635         or insn-flags.h in the generated code.
5636         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
5637         (main): Forward declare struct rtx_def.
5638
5639 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
5640
5641         * invoke.texi (-ffast-math): Remove duplicate line about
5642         __FAST_MATH__.
5643
5644         * gcc.texi: Remove more obsolete documentation of bugs and
5645         installation problems.
5646
5647 2001-03-21  Kazu Hirata  <kazu@hxi.com>
5648
5649         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
5650         into two parts.
5651
5652 2001-03-20  Jason Merrill  <jason@redhat.com>
5653
5654         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
5655         not '.' or '$'.
5656         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
5657         * varasm.c (CHKR_PREFIX): Likewise.
5658
5659 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5660
5661         * gcse.c (hash_scan_set): An expression is not anticipatible if it
5662         is part of a multi-SET insn.
5663
5664         * cse.c (find_comparison_args): Remove previous change.
5665         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
5666         REG_EQUAL notes.
5667
5668         * config/i386/i386.md (conditional_trap): Remove warning.
5669
5670         * recog.c (push_operand): Fix error in last change that caused
5671         undefined symbol on many targets.
5672
5673         * sdbout.c: #include ggc.h.
5674         (sdbout_init): Move to end of file.
5675         Call ggc_add_tree_root for anonymous_types.
5676         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
5677         (sdbout_one_type): Use DECL_NAME for field name.
5678         * Makefile.in (sdbout.o): Show includes ggc.h.
5679
5680 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
5681
5682         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
5683         (override_options): Use properlimits for preferred_stack_boundary.
5684         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
5685         on x86_64.
5686         (ext_register_operand): Accept DImode.
5687         (load_pic_register): Abort on 64bit.
5688         (gen_push): Use Pmode instead of SImode.
5689         (ix86_save_reg): Pic reg is never used on 64bit.
5690         (ix86_expand_prologue): Likewise.
5691         (ix86_emit_save_regs): Use Pmode instead of SImode.
5692         (legitimate_address_p): Check displacement for 64bit.
5693         (print_operand): Avoid outputting of (%rip) on 64bit.
5694         (print_operand_address): Output (%rip) where possible.
5695         (split_di): Abort on 64bit registers.
5696         (ix86_expand_branch): DImode comparison is simple for x86_64.
5697         (memory_address_length): Recognize memory addresses formed using
5698         PRE/POST modify.
5699         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
5700         for x86_64.
5701         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
5702
5703 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
5704
5705         * recog.c (push_operand): Recognize new format of push instructions.
5706
5707 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
5708
5709         * i386.md (pushqi1): New.
5710         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
5711         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
5712         x86_64_immediate_operand, x86_64_immediate_operand,
5713         x86_64_zext_immediate_operand): Declare.
5714         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
5715         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
5716         x86_64_immediate_operand, x86_64_immediate_operand,
5717         x86_64_zext_immediate_operand): define.
5718         * i386.h (PREDICATE_CODES): Add new predicates.
5719
5720 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
5721
5722         * i386.md (pophi1, popqi1, pushqi1): Remove.
5723
5724         * expr.c (emit_single_push_insn): New function.
5725         (move_by_pieces): Accept NULL as destination for push instructions.
5726         (gen_push_operand): Kill.
5727         (emit_push_insn): Pass NULL when pushing; avoid updating of
5728         stack_pointer_delta.
5729         * expr.h (gen_push_operand): Kill.
5730
5731 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5732
5733         * rtl.texi (COMPARE): Clarify documentation and reference section
5734         on comparisons.
5735
5736 2001-03-20  Stan Shebs  <shebs@apple.com>
5737
5738         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
5739         (get_object_reference): Ditto.
5740         (error_with_ivar): Use error_with_file_and_line.
5741         (warn_with_method): Use warning_with_file_and_line.
5742
5743 2001-03-20  Tom Tromey  <tromey@redhat.com>
5744
5745         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
5746
5747 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
5748
5749         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
5750         variables that are TREE_PUBLIC, even if not TREE_STATIC.
5751
5752 2001-03-20  DJ Delorie  <dj@redhat.com>
5753
5754         * Makefile.in (install-libgcc): Pass complete list of variables.
5755         (install-multilib): Ditto.
5756
5757 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
5758
5759         * config/i386/cygwin.h: Declare ctor_section, dtor_section
5760         drectve_section, switch_to_section.
5761
5762         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
5763         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
5764         i386_pe_mark_dllimport.
5765
5766 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
5767
5768         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
5769         functions i386_pe_*.
5770
5771         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
5772         i386_pe_* functions with char * arguments.
5773
5774 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
5775
5776         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
5777         and store.
5778         (movsi_ie): Introduce fpul store.
5779
5780 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
5781
5782         * Makefile.in (OBJS): Remove hashtab.o.
5783
5784 2001-03-19  Stan Shebs  <shebs@apple.com>
5785
5786         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
5787         * c-lang.c (maybe_objc_method_name): Ditto.
5788         * c-tree.h (maybe_objc_method_name): Remove decl.
5789
5790 2001-03-19  Tom Tromey  <tromey@redhat.com>
5791
5792         * gcc.c (init_gcc_specs): Fix comment.
5793
5794 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
5795
5796         Compute DECL_ASSEMBLER_NAME lazily.
5797         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
5798         (DECL_ASSEMBLER_NAME_SET_P): New macro.
5799         (SET_DECL_ASSEMBLER_NAME): Likewise.
5800         (COPY_DECL_ASSEMBLER_NAME): Likewise.
5801         (set_decl_assembler_name): Declare.
5802         (lang_set_decl_assembler_name): Likewise.
5803         * tree.c (lang_set_decl_assembler_name): New variab.e
5804         (set_decl_assembler_name): New function.
5805         (init_obstacks): Set lang_set_decl_assembler_name.
5806         (build_decl): Don't set DECL_ASSEMBLER_NAME.
5807         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
5808         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
5809         where it's not necessary.
5810         (builtin_function): Likewise.
5811         (finish_decl): Likewise.
5812         * dbxout.c (dbxout_type_methods): Likewise.
5813         * ggc-common.c (ggc_mark_trees): Likewise.
5814         * profile.c (output_func_start_profiler): Likewise.
5815         * varasm.c (make_decl_rtl): Likewise.
5816
5817         * cse.c (find_comparison_args): Update documentation.  Fix
5818         mishandling of COMPARE operations.
5819
5820         * tree.def (ABS_EXPR): Add documentation.
5821         * fold-const.c (fold): Improve folding of ABS_EXPRs.
5822
5823 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
5824
5825         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
5826
5827 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
5828
5829         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
5830         Remove ia32 linux PIC kludge and move it...
5831         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
5832
5833 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
5834
5835         * i386.md (absdf2 expander): Fix 64bit case.
5836
5837 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
5838
5839         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
5840
5841 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
5842
5843         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
5844
5845 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5846
5847         * README.X11: Remove obsolete file.
5848
5849 2001-03-18  Anthony Green  <green@redhat.com>
5850
5851         * config/pj/pj.h: Remove some trailing commas.
5852         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
5853
5854 2001-03-18  Richard Henderson  <rth@redhat.com>
5855
5856         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
5857         * calls.c: ... here.
5858         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
5859         defaults for them here.
5860
5861 2001-03-17  Anthony Green  <green@redhat.com>
5862
5863         * config/pj/lib1funcs.S: Fix broken comment.
5864         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
5865         labels with '.'.
5866
5867 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
5868
5869         * gcc.texi: Remove obsolete information relating to build and
5870         installation problems with enquire or the Pyramid C compiler.
5871
5872 2001-03-17  Richard Henderson  <rth@redhat.com>
5873
5874         * dwarf2out.c (queue_reg_save): New.
5875         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
5876         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
5877         dwarf2out_reg_save.
5878         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
5879         (cfa, cfa_store, cfa_temp): Make static.
5880         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
5881
5882 2001-03-17  Richard Henderson  <rth@redhat.com>
5883
5884         * integrate.h (struct inline_remap): Add local_return_label.
5885         * integrate.c (expand_inline_function): Initialize it and emit
5886         it after copy_insn_notes.
5887         (copy_insn_list): Don't store local_return_label here.
5888         (copy_insn_notes): New function split out from copy_insn_list.
5889
5890 2001-03-17  Richard Henderson  <rth@redhat.com>
5891
5892         * dwarf2out.c (lookup_filename): Emit .file if the assembler
5893         is generating .debug_line.
5894         (dwarf2out_init): Add main_input_filename to the file table first.
5895         * configure.in (as_dwarf2_debug_line): Test with file number 1
5896         instead of file number 0.
5897
5898 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5899
5900         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
5901         (gen_rtx_combine): Deleted; all references changed as appropriate.
5902         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
5903
5904         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
5905
5906 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
5907
5908         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
5909         variable.
5910
5911 2001-03-16  Jim Wilson  <wilson@redhat.com>
5912
5913         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
5914         then set it to LOC_REG (79) instead of aborting.
5915
5916 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
5917
5918         * gccbug.in:  Remove high priority.
5919
5920 2001-03-16  Richard Henerson  <rth@redhat.com>
5921
5922         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
5923         output with a space instead of deleting it.
5924         * configure: Regenerate.
5925
5926 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
5927
5928         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
5929         handles the gory details of converting an object file into
5930         something that's safe to grep.
5931         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
5932         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
5933         newlines at either end of the string we're looking for.
5934         Make 'checking ...' message less stilted.
5935         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
5936         ARM in-memory layout and its hypothetical converse.  Don't
5937         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
5938         HOST_WORDS_BIG_ENDIAN.
5939
5940         * configure.in: Adjust for renamed macro.  Move
5941         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
5942         * configure, config.in: Regenerate.
5943
5944 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
5945
5946         * fixinc/Makefile.in: Set SHELL.
5947
5948 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
5949
5950         * fixinc/fixincl.c (fix_with_system): Quote file names before
5951         passing them to shell.
5952
5953 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
5954
5955         * Makefile.in: Use fix-header$(build_exeext) instead
5956         of fix-header.
5957
5958 2001-03-16  Richard Henderson  <rth@redhat.com>
5959
5960         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
5961         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
5962         (size_of_line_prolog): Remove.
5963         (output_line_info): Compute prologue size via label difference.
5964         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
5965
5966         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
5967         assembler error when redefining file numbers.
5968         * config.in, configure: Rebuild.
5969
5970         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
5971         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
5972         (dw2_asm_output_delta_uleb128): Likewise.
5973         (dw2_asm_output_delta_sleb128): Similarly.
5974         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
5975
5976 2001-03-16  Michael Meissner  <meissner@redhat.com>
5977
5978         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
5979         warnings.
5980         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
5981         warnings.
5982         (BITMASK_LOWER16): Replacement for 0x0000ffff.
5983
5984         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
5985         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
5986         being unsigned in ISO C and signed in traditional.
5987         (expand_prologue): Ditto.
5988         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
5989
5990         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
5991         warnings.
5992         (divsi3,divdi3): Ditto.
5993         (modsi3,moddi3): Ditto.
5994         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
5995         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
5996         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
5997         warnings.
5998
5999 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6000
6001         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
6002         SSE based conditional moves on LTGT/UNEQ conditions;
6003         Canonicalize EQ to NE.
6004         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
6005         (sse_mov?fcc_ne): New.
6006
6007         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
6008
6009 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6010
6011         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
6012         register may be dead.
6013
6014 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
6015
6016         * Makefile.in (hash.o): Depend on CONFIG_H.
6017
6018 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6019
6020         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
6021
6022 2001-03-15  Richard Henderson  <rth@redhat.com>
6023
6024         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
6025         (ASM_OUTPUT_DWARF_PCREL): New.
6026         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
6027
6028 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6029
6030         * cppfiles.c (stack_include_file): Use MAX of sysp.
6031
6032 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
6033
6034         * config.gcc (ia64*-*-hpux*): New case.
6035         * config/ia64/hpux.h: New file for HP-UX support.
6036         * config/ia64/t-hpux: New file for HP-UX support.
6037
6038 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
6039
6040         * fixinc/inclhack.def (irix_stdio_va_list): New.
6041         * fixinc/fixincl.x: Rebuilt.
6042
6043 2001-03-15  Richard Henderson  <rth@redhat.com>
6044
6045         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
6046         if provided by the target.
6047         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
6048         (dw2_asm_output_addr): New.
6049         * dwarf2asm.h (dw2_asm_output_addr): Declare.
6050         * dwarf2out.c (output_cfi): Use it for program addresses.
6051         (output_call_frame_info, output_die): Likewise.
6052         (output_aranges, output_line_info): Likewise.
6053
6054 2001-03-15  Bruce Korb  <bkorb@gnu.org>
6055
6056         * gcc.c(main): make more rigorous
6057         * collect2.c(main): guard against ignoring SIGCHLD
6058         * protoize.c(main): ditto
6059         * gcc/fixinc/fixincl.c(initialize): ditto
6060
6061 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6062
6063         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
6064         (sdbout_parms): Likewise.
6065
6066 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
6067
6068         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
6069         "widen" a destination that is already wider than a word.  Also do
6070         not widen if LOAD_EXTEND_OP is NIL for the given mode.
6071
6072 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6073
6074         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
6075
6076 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
6077
6078         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
6079
6080 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
6081
6082         * i960.h (i960_maxbitalignment,
6083         i960_last_maxbitalignment): Declare.
6084         * i960.c (i960_maxbitalignment,
6085         i960_last_maxbitalignment): Make global.
6086         (process_pragma): Delete.
6087         (i960_pr_align, i960_pr_noalign): Move from here ...
6088         * i960-c.c: ... to this new file.
6089         * t-960bare (i960-c.o): New rule.
6090         * t-vxworks960 (i960-c.o): Likewise.
6091         * config.gcc (i960-*-*): Define c_target_objs and
6092         cxx_target_objs.
6093
6094 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6095
6096         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
6097         without adding in rtx code and mode.
6098
6099         * alias.c (init_alias_analysis): Don't use any rtx whose value
6100         varies as a known value.
6101         Delete a superfluous test.
6102
6103         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
6104         ia64_sched_reorder.
6105         (ia64_sched_reorder): Call maybe_rotate; also rotate after
6106         scheduling a stop bit.
6107         (ia64_emit_nops): Correctly handle ASMs.
6108
6109 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6110
6111         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
6112
6113 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6114
6115         * cpp.texi: Update documentation for -include and -imacros.
6116         * cppfiles.c (struct include_file): Remove "defined" memeber.
6117         (find_or_create_entry): Make a copy of the file name, and
6118         simplify it.
6119         (open_file): Update to ensure we use the simplified filename.
6120         (stack_include_file): Don't set search_from.
6121         (cpp_included): Don't simplify the path name here.
6122         (find_include_file): New prototype.  Call search_from to
6123         get the start of the "" include chain.  Don't simplify the
6124         filenames here.
6125         (_cpp_execute_include): New prototype.  Move diagnostics to
6126         do_include_common.  Update.
6127         (_cpp_pop_file_buffer): Don't set defined.
6128         (search_from): New prototype.  Use the preprocessor's cwd
6129         for files included from the command line.
6130         (read_name_map): Don't simplify the pathname here.
6131         * cpphash.h (enum include_type): New.
6132         (struct buffer): Delete search from.  New search_cached.
6133         (_cpp_execute_include): Update prototype.
6134         * cppinit.c (do_includes): Use _cpp_execute_include.
6135         * cpplib.c (do_include_common): New function.
6136         (do_include, do_include_next, do_import): Use it.
6137
6138 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6139
6140         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
6141         contents of the RTL, to determine the name of the object.
6142
6143 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6144
6145         * tree.h (DECL_RTL): Allocate RTL lazily.
6146         (SET_DECL_RTL): New macro.
6147         (DECL_RTL_SET_P): Likewise.
6148         (COPY_DECL_RTL): Likewise.
6149         (DECL_RTL_IF_SET): Likewise.
6150         * varasm.c (make_decl_rtl): Add assertions about the kind of
6151         declaration we are processing.
6152         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
6153         (start_decl): Likewise.
6154         (finish_decl): Likewise.
6155         * c-semantics.c (emit_local_var): Likewise.
6156         * calls.c (expand_call): Likewise.
6157         * dbxout.c (dbxout_symbol): Likewise.
6158         * emit-rtl.c (unshare_all_rtl): Likewise.
6159         (unshare_all_decls): Likewise.
6160         (reset_used_decls): Likewise.
6161         * expr.c (store_constructor): Likewise.
6162         (safe_from_p): Likewise.
6163         (expand_expr): Likewise.
6164         * function.c (put_var_into_stack): Likewise.
6165         (instantiate_decls_1): Likewise.
6166         (assign_parms): Likewise.
6167         (expand_function_start): Likewise.
6168         (expand_function_end): Likewise.
6169         * ggc-common.c (gcc_mark_trees): Likewise.
6170         * integrate.c (function_cannot_inline_p): Likewise.
6171         (copy_decl_for_inlining): Likewise.
6172         (expand_inline_function): Likewise.
6173         (integrate_parm_decls): Likewise.
6174         (integrate_decl_tree): Likewise.
6175         * print-tree.c (print_node): Likewise.
6176         * reg-stack.c (stack_result): Likewise.
6177         * stmt.c (label_rtx): Likewise.
6178         (expand_return): Likewise.
6179         (expand_decl): Likewise.
6180         (expand_decl_cleanup): Likewise.
6181         (expand_anon_union_decl): Likewise.
6182         * toplev.c (check_global_declarations): Likewise.
6183         (rest_of_decl_compilation): Likewise.
6184         * tree.c (simple_cst_equal): Likewise.
6185         * objc/objc-act.c (generate_static_references): Likewise.
6186
6187 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
6188
6189         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
6190         gcc_AC_C_FLOAT_FORMAT): New macros.
6191         * configure.in: Add AC_PROG_CPP after CC tests;
6192         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
6193         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
6194         * configure, config.in: Regenerate.
6195
6196         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
6197         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
6198         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
6199         config/i370/xm-linux.h, config/i370/xm-oe.h,
6200         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
6201         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
6202         config/pa/xm-linux.h, config/pa/xm-pa.h,
6203         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
6204         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
6205         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
6206         config/we32k/xm-we32k.h: Delete.
6207
6208         * config/i370/xm-mvs.h, config/m88k/m88k.h,
6209         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
6210         config/vax/xm-vms.h: Don't define any of:
6211         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
6212
6213         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
6214
6215         * config.gcc: Remove references to deleted files.
6216         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
6217         FATAL_EXIT_CODE, which is the same between oe and mvs).
6218
6219 2001-03-14  DJ Delorie  <dj@redhat.com>
6220             Vladimir Makarov  <vmakarov@redhat.com>
6221
6222         * config/i960/i960.c (i960_function_prologue): Compute size of
6223         frame according to number of registers actually saved there.
6224
6225 2001-03-14  Richard Henderson  <rth@redhat.com>
6226
6227         * expr.c (emit_move_insn_1): Fix else if around #endif.
6228
6229 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
6230                               Vojtech Pavlik
6231
6232         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
6233         constraints.
6234
6235 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
6236
6237         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
6238         (override_options): Parse cmodel string.
6239         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
6240         * i386.h (TARGET_OPTIONS): Add "cmodel".
6241         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
6242         (enum cmodel): New.
6243         (ix86_cmodel_string, ix86_cmodel): Declare.
6244
6245 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6246
6247         Spot by Matt Kraai:
6248         * i386.h (GENERAL_REG_P): Add missing REG_P.
6249
6250 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
6251
6252         * configure.in: Use $gcc_cv_as instead of $as.
6253         * configure: Regenerated.
6254
6255 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6256
6257         * cppfiles.c (stack_include_file): Only increase the include
6258         count if we actually process the file properly, as opposed
6259         to treating it as length zero.  Only call read_include_file
6260         if not DO_NOT_REREAD.  Handle the -H include file output
6261         here.
6262         (read_include_file): Remove now redundant DO_NOT_REREAD check.
6263         (cpp_included, find_include_file): Simplify pathnames after
6264         remapping them.  If remapping, don't use the remapped file
6265         name's buffer as our scratch buffer.
6266         (cpp_pop_file_buffer): Replace the multiple include macro
6267         only if it isn't yet set.
6268         (read_name_map): Simplify remapped names when reading in.
6269         (remap_filename): Move code to code path that uses it.
6270         (_cpp_simplify_pathname): Return the input pointer.
6271         * cpphash.h (_cpp_simplify_pathname): Update prototype.
6272
6273 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6274
6275         * expr.c (expand_expr): Revove bogus conditional.
6276
6277 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
6278
6279         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
6280
6281 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
6282
6283         * reg-stack.c (stack_result): Unconditionally use
6284         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
6285
6286 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6287
6288         * expr.c (emit_move_insn_1):  Split push of complex value when
6289         no suitable push instruction exist.
6290
6291         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
6292         instead of QI_REG_P.
6293
6294 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6295
6296         * alias.c (handled_component_p, can_address_p): New functions.
6297         (get_alias_set): Use them.
6298
6299 2001-03-13  Jim Wilson  <wilson@redhat.com>
6300
6301         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
6302         from 80 in try_locals code.
6303         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
6304
6305 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
6306
6307         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
6308         gcc_AC_C_LONG_LONG): New.
6309         * configure.in: Use them.  Probe the size of short, int, long,
6310         and long long/__int64 if we have them.  Move all the AC_C_*
6311         checks together, except gcc_AC_C_CHAR_BIT which has to go
6312         after AC_CHECK_HEADERS(limits.h).
6313         Take hwint.h out of host_xm_file and build_xm_file.
6314
6315         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
6316         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
6317         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
6318         Move the HOST_WIDEST_INT setup logic here from system.h.
6319         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
6320         defined.
6321         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
6322         is now handled by hwint.h.
6323
6324         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
6325         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
6326         config/ia64/xm-ia64.h: Don't define any of:
6327         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
6328         HOST_BITS_PER_LONGLONG.
6329
6330         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
6331         config/h8300/xm-h8300.h, config/mips/iris6.h,
6332         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
6333         config/sparc/xm-sp64.h: Delete.
6334         * config.gcc: Remove references to deleted files.
6335
6336         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
6337         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
6338         * config/i370/xm-linux.h: Clarify floating-point situation in
6339         a comment.
6340
6341 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6342
6343         * cppfiles.c (NO_INCLUDE_PATH): New macro.
6344         (find_include_file): Decide here which part of the include
6345         chain to start the search.  Complain about an empty include
6346         chain in all cases apart from an abolsute file name.
6347         (_cpp_execute_include): Don't choose the search chain here.
6348         Don't call handle_missing_include in the case of an empty
6349         include chain.
6350         (_cpp_compare_file_date): Don't choose the search chain here.
6351         * cpplib.c (do_include_next): Move the in-main-file diagnostic
6352         here from _cpp_execute_include.  Behave like #include if
6353         we're in the main file.
6354
6355 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6356
6357         * system.h (malloc, realloc, calloc, strdup): Only poison these
6358         tokens when IN_GCC is defined.
6359
6360 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
6361
6362         * i386.md (abs?f expander): Support SSE case.
6363         (abd?f_if): Add new "USE"; add splitters.
6364
6365 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6366
6367         * cpp.texi (poison): Explain the macro expansion exception.
6368
6369 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
6370
6371         * expr.c (store_expr): Add dont_store_target.  If temp is already in
6372         target before copying to reg, don't store it into target again.
6373
6374 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6375
6376         * cppinternals.texi: Update for file handling.
6377
6378 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
6379
6380         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
6381         2001-02-24 which broke building the Java library.
6382         * function.c (identify_blocks): Likewise.
6383         (all_blocks): Likewise.
6384         * integrate.c (integrate_decl_tree): Likewise.
6385         * print-tree.c (print_node): Likewise.
6386         * tree.h (BLOCK_NUMBER): Likewise.
6387         (struct tree_block): Likewise.
6388
6389 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
6390
6391         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
6392         __WCHAR_TYPE__ definition.
6393         (WCHAR_TYPE_SIZE): #undef before #define.
6394
6395 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6396
6397         * cppfiles.c: Update comments.
6398         (destroy_include_file_node): Rename destroy_node.
6399         (find_or_create_entry): New function.
6400         (open_file, _cpp_fake_include): Use it.
6401         (handle_missing_header): New function, broken out of
6402         _cpp_execute include.  Don't segfault if there is no
6403         system or quoted path.
6404         (_cpp_execute_include): Use handle_missing_header.
6405
6406 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
6407
6408         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
6409         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
6410
6411 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6412
6413         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
6414         unless anti_dependence says they are.
6415         * alias.c (objects_must_conflict): If neither has a type specified,
6416         they must conflict.
6417
6418 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6419             David Billinghurst <David.Billinghurst@riotinto.com>
6420
6421         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
6422
6423 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
6424
6425         * i386.md (trunctfdf2_2): Rename missnamed pattern.
6426         (*_one_bit): Remove type on the match_operand in attributes.
6427
6428 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
6429
6430         * i386.c: Commit forgotten hunk in previous patch.
6431         (regclass_map): Add extended registers.
6432         (dbx_register_map): Add missing frame register.
6433
6434 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
6435
6436         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
6437
6438         * i386.md (x86_sahf_1): Disable for 64bit.
6439         (popsi*, pophi*): Likewise.
6440         (pushqi, pushhi): Likewise.
6441         (movdi, pushdi): Likewise.
6442         (zero extend DImode splitter): Likewise.
6443         (adddi, minusdi splitter): Likewise.
6444         (umulsidi): Likewise.
6445         (umulsi): New.
6446         (mulsidi): Disable for 64bit
6447         (lshift:DI/ashift:DI): Disable for 64bit.
6448         (loop patterns): Likewise.
6449         (call_pop, call_value_pop expanders and patterns): Likewise.
6450         (prologue_get_pc): Likewise.
6451         (leave): Likewise.
6452         (fcmovDI pattern and splitter): Likewise.
6453         (movdfcc_1_rex64): New.
6454
6455 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
6456
6457         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
6458         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
6459         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
6460         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
6461         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
6462         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
6463         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
6464         (PUSH_ROUNDING): x86_64 rounds to 64bits.
6465         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
6466         (REGPARM_MAX): Set to 6 for x86_64.
6467         (SSE_REGPARM_MAX): Set to 16 for x86_64.
6468         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
6469         registers.
6470
6471         * (patterns that does use upper halves): Update constraints
6472         'q' to 'Q' and 'r' to 'R'.
6473         (cmpqi_ext_1): Disable for 64bit.
6474         (cmpqi_ext_3_insn): Likewise.
6475         (movqi_extzv_1): Likewsie.
6476         (addqi_ext_1): Liekwsie
6477         (testqi_ext_1): Liekwsie
6478         (andqi_ext_1): Liekwsie
6479         (xorqi_ext_1): Liekwsie
6480         (cmpqi_ext_1_rex64): New.
6481         (cmpqi_ext_3_insn_rex64): Likewise.
6482         (movqi_extzv_1_rex64): Likewsie.
6483         (addqi_ext_1_rex64): Liekwsie
6484         (testqi_ext_1_rex64): Liekwsie
6485         (andqi_ext_1_rex64): Liekwsie
6486         (xorqi_ext_1_rex64): Liekwsie
6487
6488 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6489
6490         * configure.in: Move check for unsigned enumerated bitfields
6491         to macro in aclocal.m4.  Disable it for now.
6492         * configure, config.in: Regenerate.
6493         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
6494         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
6495         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
6496         kind above its first use.
6497
6498         * config/xm-interix.h, config/alpha/xm-alpha.h,
6499         config/i370/xm-linux.h, config/i386/xm-beos.h,
6500         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
6501         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
6502         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
6503         Don't define ONLY_INT_FIELDS under any circumstances.
6504
6505         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
6506
6507         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
6508         config/sparc/xm-sysv4.h: Delete - now identical with some
6509         other xm header.
6510         * config.gcc (hppa targets): Replace xm-pahpux.h and
6511         xm-papro.h with implicit xm-pa.h.
6512         (sparc targets): Replace xm-sysv4.h with implicit or explicit
6513         xm-sparc.h.
6514
6515 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
6516
6517         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
6518         before reload_cse_noop_set_p.
6519
6520 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6521
6522         * config.gcc: Where xm-host.h used to include another
6523         xm-host.h, list the nested header directly in xm_file.  Remove
6524         references to deleted files.  Can now use sparc/xm-sp64.h for
6525         sparcv9-*-solaris*.
6526
6527         * config/xm-linux.h, config/arm/xm-linux.h,
6528         config/i386/xm-dos.h, config/i386/xm-gnu.h,
6529         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
6530         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
6531         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
6532         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
6533         Delete.
6534
6535         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
6536         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
6537         bother to wrap #undef in #ifdef.
6538         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
6539         Don't include xm-linux.h.
6540         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
6541
6542         * configure.in: Wrap regexps using [] in changequote block.
6543         Use expr : not echo | grep.  Simplify regexps.
6544         * configure: Regenerate.
6545
6546         56 xm-files remain, 22 xm-arch.
6547
6548 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6549
6550         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
6551         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
6552         (local_index, local_rindex): Delete, use strchr/strrchr instead.
6553         (copy_object): Fix format specifier vs argument mismatch.
6554
6555         * mips-tdump.c: Make local functions static.
6556         (rindex): Don't #undef.
6557         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
6558         (fatal, fancy_abort): Delete.
6559         (read_seek): Avoid signed/unsigned compare.
6560
6561 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6562
6563         * combine.c (try_combine): Fix error in change to try original
6564         register.
6565         (gen_rtx_combine): Do same as gen_rtx for now.
6566
6567 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6568
6569         * configure.in: AC_SUBST xm_defines.
6570         * configure: Regenerate.
6571         * Makefile.in: Set DEFINES=$(xm_defines) when building
6572         tconfig.h.
6573
6574 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6575
6576         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
6577         (cpp_included, find_include_file): Update.
6578         (_cpp_compare_file_date): Make else unconditional.
6579
6580 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
6581
6582         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
6583
6584 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
6585
6586         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
6587         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
6588
6589 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
6590
6591         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
6592         if it's a record type.
6593
6594 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
6595
6596         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
6597         mingw includes slightly.
6598
6599 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6600
6601         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
6602         #undef token before poisoning it.
6603
6604 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6605
6606         * alpha.c (check_float_value): Use memcpy, not bcopy.
6607
6608         * m32r.c (m32r_sched_reorder): Likewise.
6609
6610         * vax.c (check_float_value): Likewise.
6611
6612 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
6613
6614         * toplev.c (file_name_nondirectory): Remove.
6615         * toplev.h: Similarly.
6616         * dwarf2out.c (compute_section_prefix): Use lbasename instead
6617         of file_name_nondirectory.
6618
6619 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6620
6621         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
6622         * mips-tfile.c: Don't #undef rindex; not used.
6623
6624 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
6625
6626         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
6627         (dbx64_register_map): Declare.
6628         (RETURN_ADDR_RTX): Fix for 64bit.
6629         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
6630         (INCOMING_FRAME_SP_OFFSET): Set to 8.
6631         * i386.c (dbx64_register_map): New global array.
6632         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
6633         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
6634         for 64bits.
6635
6636 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
6637
6638         * cppfiles.c (search_from): Use lbasename.
6639         * mkdeps.c (deps_add_default_target): Use lbasename.
6640
6641 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6642
6643         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
6644         xcalloc in lieu of malloc, realloc & calloc.
6645
6646         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
6647
6648         * gengenrtl.c (xmalloc): Likewise.
6649
6650         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
6651         really_call_* memory allocation routines.
6652
6653         * stmt.c (check_for_full_enumeration_handling): Use
6654         really_call_calloc, not calloc.
6655
6656         * system.h (really_call_malloc, really_call_calloc,
6657         really_call_realloc): Define.
6658         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
6659
6660 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
6661
6662         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
6663
6664 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
6665
6666         * configure: Rebuilt.
6667         * configure.in: Only use `lang_requires' for languages athat are
6668         actually enabled.
6669
6670 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
6671
6672         * invoke.texi: Fix typo.
6673         * gcc.1: Regenerate.
6674
6675 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
6676
6677         * configure.in: Prune nonexistent files from build_xm_file,
6678         xm_file, and host_xm_file lists.  Warn unless they're
6679         $cpu/xm-$cpu.h.
6680         Don't generate *config.h here.
6681         AC_SUBST all variables needed to generate *config.h.
6682         * configure: Regenerate.
6683         * mkconfig.sh: New helper script, from code removed from
6684         configure.in.
6685         * Makefile.in: Zap all MALLOC variables - no longer used
6686         anywhere, and malloc.c doesn't exist.
6687         Substitute in variables needed to generate *config.h.
6688         Stop lying about the dependencies contained in CONFIG_H and
6689         GCONFIG_H.
6690         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
6691         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
6692         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
6693         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
6694         $(TM_P_H), etc. as appropriate.
6695
6696         * config.gcc: Zap references to deleted files.
6697         * ggc-none.c: Don't include rtl.h or tm_p.h.
6698
6699         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
6700         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
6701         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
6702         config/i386/xm-linux.h, config/i386/xm-linux.h,
6703         config/i386/xm-next.h, config/i386/xm-openbsd.h,
6704         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
6705         Don't include i386/xm-i386.h.
6706
6707         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
6708         config/i386/xm-i386.h, config/i860/xm-i860.h,
6709         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
6710         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
6711         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
6712         Delete (empty except comments, #includes of other deleted
6713         files, and macros used nowhere).
6714
6715 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
6716
6717         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
6718         independent on TARGET_FLAGS.
6719
6720 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
6721
6722         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
6723
6724         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
6725         extended ones.
6726         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
6727         TARGET_64BIT.
6728         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
6729         LAST_REX_SSE_REG): define.
6730         (enum reg_class): Add 'LEGACY_REGS'
6731         (REG_CLASS_CONTENTS): Likewise; add extended registers.
6732         (SSE_REGNO_P): Recognize extended registers.
6733         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
6734         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
6735         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
6736         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
6737         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
6738          REG_OK_FOR_STRREG_P): Remove.
6739         (HI_REGISTER_NAMES): Add extended registers.
6740         (ADDITIONAL_REGISTER_NAMES): Likewise.
6741         (QI_REGISTER_NAMES): Add 8bit extended registers.
6742         (DEBUG_REG): Support extended registers.
6743         * i386.c (regclass_map): Add extended registers.
6744         (dbx_register-map): Likewise.
6745         (svr4_dbx_register_map): Likewise.
6746         (print_reg): Support extended registers.
6747         (print_operand): Support 64bit operands.
6748
6749 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
6750
6751         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
6752         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
6753          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
6754          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
6755         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
6756          STACK_BOUNDARY): Set properly for 64bits.
6757         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
6758         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
6759         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
6760         (MOVE_MAX): Set to 16.
6761         (MOVE_MAX_PIECES): 8 for 64bit.
6762         (Pmode): Set to SImode.
6763
6764 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
6765
6766         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
6767
6768 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
6769
6770         * i386.h (mask_64bit): New constant.
6771         (target_64bit): New macro.
6772         (target_options): Add '64'/'32'
6773         (target_default): Define.
6774         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
6775         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
6776         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
6777
6778 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
6779
6780         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
6781
6782 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
6783
6784         * rtlanal.c (rtx_varies_p): Check operand 0 of a
6785         LO_SUM unless for_alias is set.
6786
6787 2001-03-08  Stan Shebs  <shebs@apple.com>
6788
6789         * objc/objc-act.c: Fix old typos in comments, add comments for
6790         various functions.
6791         (hash_init): Fix file name in error message.
6792         (hash_enter): Ditto.
6793         (hash_add_attr): Ditto.
6794         (continue_class): Ditto.
6795
6796 2001-03-08  Bruce Korb  <bkorb@gnu.org>
6797
6798         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
6799         wait4() can receive the signal.
6800
6801 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6802
6803         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
6804         entities.
6805         * fixinc/fixincl.x: Regenerate.
6806
6807 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6808
6809         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
6810         on Tru64 UNIX.
6811         * fixinc/fixincl.x: Regenerate.
6812
6813 2001-03-08  Richard Henderson  <rth@redhat.com>
6814
6815         * configure.in (HAVE_AS_LEB128): New assembler check.
6816         * configure, config.in: Rebuilt.
6817
6818 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
6819
6820         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
6821         TFmode too.
6822
6823 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6824
6825         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
6826         references to the MAXPATHLEN macro.
6827
6828         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
6829         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
6830         the POSIX macro.
6831
6832         * config/i386/xm-gnu.h, config/xm-gnu.h,
6833         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
6834         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
6835         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
6836         and/or unused files.
6837
6838         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
6839         doing so in various xm-*.h files.
6840
6841 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6842
6843         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
6844
6845 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
6846
6847         * configure.in (enable_shared): Support per-package shared-library
6848         enabling.
6849         * configure: Rebuilt.
6850
6851 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
6852
6853         * rs6000.md (cr logic): Add original POWER mnemonic alternative
6854         for crnot.  Set operands[5] in splitter.
6855
6856 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6857
6858         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
6859         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
6860         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
6861         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
6862         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
6863         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
6864         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
6865         to the USG macro.
6866
6867         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
6868         config/i370/xm-i370.h, config/i386/xm-dgux.h,
6869         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
6870         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
6871         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
6872         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
6873         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
6874         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
6875         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
6876         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
6877         Delete unused and/or empty files.
6878
6879         * config.gcc: Define USG in xm_defines as appropriate.  Define
6880         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
6881         macro.  Remove deleted xm-* files from $xm_files variable.
6882
6883 2001-03-07  Tom Tromey  <tromey@redhat.com>
6884
6885         * configure: Rebuilt.
6886         * configure.in: Allow config-lang.in to set `lang_requires' to list
6887         of other required languages.
6888
6889 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
6890
6891         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
6892         after its emitted.
6893         (output_prologue): Use xmalloc not oballoc.
6894         (output_epilog): Free a29k_first_epilogue_insn when finished.
6895         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
6896
6897 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
6898
6899         * builtins.c (expand_builtin_mathfn): Check
6900         flag_unsafe_math_optimizations, not flag_fast_math.
6901         (expand_builtin): Likewise
6902         * combine.c (combine_simplify_rtx): Likewise.
6903         (simplify_if_then_else): Likewise.
6904         * cse.c (fold_rtx): Likewise.
6905         * flags.h: Remove flag_fast_math.  Add
6906         flag_unsafe_math_optimizations and flag_trapping_math.
6907         * fold-const.c (negate_expr): Check
6908         flag_unsafe_math_optimizations, not flag_fast_math.
6909         (invert_truthvalue): Likewise.
6910         (fold): Likewise.  Before associating operands, check that
6911         code == MULT_EXPR, not code != MULT_EXPR.
6912         * ifcvt.c (noce_try_minmax): Check
6913         flag_unsafe_math_optimizations, not flag_fast_math.
6914         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
6915         * invoke.texi: Document -funsafe-math-optimizations and
6916         -fno-trapping-math.  Change documentation for -ffast-math.
6917         * jump.c (reversed_comparison_code_parts): Likewise.
6918         (rtx_equal_for_thread_p): Likewise.
6919         * optabs.c (emit_conditional_move): Likewise.
6920         * simplify-rtx.c (simplify_binary_operation): Likewise.
6921         (simplify_relational_operation): Likewise.
6922         (simplify_ternary_operation): Likewise.
6923         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
6924         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
6925         Add trapping-math and unsafe-math-optimizations entries to f_options.
6926         (set_fast_math_flags): New, sets flags for -ffast-math.
6927         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
6928         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
6929         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
6930
6931         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
6932         (alpha_emit_conditional_move): Initialize local_fast_math to
6933         flag_unsafe_math_optimizations, not flat_fast_math.
6934         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
6935         instead of setting flag_fast_math to 1.
6936         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
6937         not flag_fast_math.
6938         * config/i386/i386.c (override_options): Likewise
6939         * config/i386/i386.md: Likewise.
6940         * config/m68k/m68k.md: Likewise.
6941         * config/mips/mips.md: Likewise.
6942         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
6943         (rs6000_generate_compare): Likewise.
6944
6945 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
6946
6947         * Makefile.in: Set RANLIB to @RANLIB@.
6948         Remove RANLIB_TEST.
6949
6950 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
6951
6952         * fixinc/inclhack.def (djgpp_wchar_h): New test.
6953         * fixinc/fixincl.x: Regenerated.
6954
6955 2001-03-07  Richard Henderson  <rth@redhat.com>
6956
6957         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
6958
6959 2001-03-07  Richard Henderson  <rth@redhat.com>
6960
6961         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
6962         of block notes and exception handling notes.
6963
6964         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
6965         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
6966         (compile_file): ... here.
6967
6968 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6969
6970         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
6971
6972         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
6973         config.h now.  Include libiberty.h to handle alloca.
6974
6975 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
6976
6977         * c-parse.in (yylexname): New function, split out of _yylex.
6978         (objc_rid_sans_at): New table.
6979         (init_reswords): Initialize it.
6980         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
6981         retrieving the next token and checking it for significance as
6982         an ObjC keyword or string constant.
6983
6984         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
6985         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
6986
6987         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
6988         to CPP_OSTRING.
6989
6990 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
6991
6992         * config/m68k/m68k.c (const_uint32_operand): Accept any
6993         const_int on a 32-bit host.
6994
6995 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
6996
6997         * objc/objc-act.c (init_objc): Set save_lang_status,
6998         restore_lang_status, and mark_lang_status.
6999
7000 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
7001
7002         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
7003
7004 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7005
7006         * cppinternals.texi: Update.
7007
7008 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7009
7010         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7011         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
7012         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
7013         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
7014         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
7015         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7016         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
7017         config/i386/xm-i386.h, config/i860/xm-i860.h,
7018         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7019         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
7020         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7021         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7022         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7023         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7024         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
7025         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
7026         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
7027         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7028         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7029         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
7030         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
7031         match the defaults provided in hwint.h.
7032
7033         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7034         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
7035
7036         * config.gcc (xm_file): Don't set to files which are deleted.
7037
7038         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
7039         guard this file against these macros being undefined.
7040
7041 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7042
7043         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
7044         and DECL_DEFER_OUTPUT on the decl we create, before calling
7045         rest_of_decl_compilation.
7046
7047 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7048
7049         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
7050         AC_FUNC_ALLOCA.
7051         * configure, config.in: Regenerate.
7052         * config.gcc: Remove references to deleted files.
7053
7054         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
7055         genrecog.c, rtl.c: Do not use alloca anywhere.
7056
7057         * Makefile.in, build-make, system.h, config/x-interix,
7058         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
7059         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
7060         config/arc/xm-arc.h, config/arm/xm-arm.h,
7061         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7062         config/h8300/xm-h8300.h, config/i370/x-oe,
7063         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
7064         config/i386/x-ncr3000, config/i386/x-sco5,
7065         config/i386/xm-dgux.h, config/i860/x-sysv4,
7066         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
7067         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
7068         config/m68k/x-hp320g, config/m69k/x-mot3300,
7069         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
7070         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
7071         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
7072         config/m88k/x-sysv4, config/m88k/x-tekXD88,
7073         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7074         config/mips/x-iris, config/mips/x-iris3,
7075         config/mips/x-sni-svr4, config/mips/x-sysv,
7076         config/mips/xm-iris6.h, config/mips/xm-mips.h,
7077         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
7078         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
7079         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7080         config/pa/xm-papro.h, config/romp/xm-romp.h,
7081         config/rs6000/x-aix31, config/rs6000/x-aix41,
7082         config/rs6000/x-beos, config/rs6000/x-lynx,
7083         config/rs6000/x-mach, config/rs6000/x-rs6000,
7084         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
7085         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7086         config/sparc/x-sysv4, config/sparc/xm-linux.h,
7087         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
7088         config/vax/xm-vms.h: Eradicate all references to alloca and
7089         related stuff.
7090
7091         * config/xm-alloca.h, config/clipper/x-clix,
7092         config/i386/xm-sysv4.h, config/i860/x-fx2800,
7093         config/i860/x-sysv3, config/m88k/x-sysv3,
7094         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
7095         (contained only alloca related hacks).
7096
7097         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
7098         USE_C_ALLOCA.
7099
7100 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
7101
7102         * invoke.texi: Document __FAST_MATH__.
7103
7104 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7105
7106         * crtstuff.c: Restore include of auto-host.h.
7107
7108 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
7109
7110         Put main() in a separate file, so that the language
7111         front-end can use a different main().
7112
7113         * main.c: New.
7114         * toplev.c: (main): Rename as toplev_main.
7115         * toplev.h: Declare toplev_main.
7116         * Makefile.in (OBJS): add toplev.o.
7117           (BACKEND): remove toplev.o, add main.o.
7118
7119 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7120
7121         * cppfiles.c (search_from): Special case the empty string.
7122
7123 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7124
7125         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
7126         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
7127         strlen or strcpy; we already know the length.
7128         (_cpp_compare_file_date): Similarly.
7129         * cpphash.h (struct cpp_reader): Delete done_initialising.
7130         (CPP_PREV_BUFFER): Delete.
7131         * cppinit.c (cpp_start_read): Don't set done_initialising.
7132         * cpplex.c (parse_string): Guarantee null-termination.
7133         (_cpp_equiv_toklists): Remove.
7134         * cpplib.c (glue_header_name): Null-terminate.
7135         (do_line): Don't leak memory.
7136         * cpplib.h (BT_WEAK): Delete.
7137         * cppmain.c (cb_ident): Strings are now null-terminated.
7138
7139 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
7140
7141         * gcc.c (convert_filename): Append executable suffix
7142         if NO_AUTO_EXE_SUFFIX is not defined.
7143         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
7144         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
7145
7146 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
7147
7148         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
7149         * c-parse.gperf, c-gperf.h: Delete.
7150         (c-gperf.h was accidently re-added to the CVS repo in the rev
7151         1.16 commit by tromey)
7152
7153 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7154
7155         * cpplex.c (_cpp_lex_token): Don't warn about directives in
7156         macro arguments when looking for the '('.
7157         * cppmacro.c (funlike_invocation_p): Set parsing_args to
7158         2 when really parsing arguments; 1 when looking for '('.
7159         Always restore the lexer position.
7160
7161 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7162
7163         * longlong.h (umul_ppmm): Don't use a multiline string.
7164
7165 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7166
7167         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
7168         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
7169         t_bool in declaration because pcc can't combine volatile with typedef
7170         types.
7171
7172 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7173
7174         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
7175         until when it is really needed.
7176         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
7177         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
7178         * i386.md (float?i?f splitter): Don't force source operand to memory
7179         for SSE.
7180         (sse_movdfcc): Fix constraint.
7181         (sse_movdfcc splitter): Handle properly the second alternative.
7182
7183 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7184
7185         * cpplex.c (parse_string): Unconditionally pedwarn.
7186
7187 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7188
7189         * cpp.texi: Update.
7190         * cppexp.c (parse_number): Update.
7191         * cpplex.c (parse_string): Pedwarn if multiline string does not
7192         result from a system header's macro.
7193         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
7194         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
7195         for function-like macros too.
7196         * c-lex.c (lex_number): Update.
7197
7198 2001-03-03  Richard Henderson  <rth@redhat.com>
7199
7200         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
7201
7202 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
7203
7204         * combine.c (try_combine): If split with mode-changed scratch
7205         register didn't work, try the original mode.
7206
7207 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
7208
7209         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
7210         * config/c4x/c4x.h: Likewise.
7211         * stor-layout.c (compute_record_mode): Likewise.
7212         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
7213
7214 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
7215
7216         * configure.in: Kill tm.h.  Include the files in the $tm_file
7217         list in all three of config.h, hconfig.h, tconfig.h, after the
7218         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
7219         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
7220         * configure: Regenerate.
7221         * Makefile.in (clean): Don't delete tm.h.
7222
7223         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
7224         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
7225         those are not defined, set SEC and FEC to 0 and 1.
7226         * gcc.texi: Update to match.
7227
7228         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
7229         * config/fp-bit.c, config/m68k/aux-crt2.asm,
7230         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
7231         Include tconfig.h, not tm.h.
7232
7233         * config/xm-lynx.h, config/xm-std32.h,
7234         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7235         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
7236         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
7237         config/clipper/xm-clix.h, config/convex/xm-convex.h,
7238         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7239         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
7240         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
7241         config/i386/xm-i386.h, config/i860/xm-i860.h,
7242         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7243         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
7244         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7245         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7246         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7247         config/pa/xm-linux.h, config/pa/xm-pa.h,
7248         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7249         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
7250         config/pj/xm-pj.h, config/romp/xm-romp.h,
7251         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
7252         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7253         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7254         config/v850/xm-v850.h, config/vax/xm-vax.h,
7255         config/we32k/xm-we32k.h:
7256         Don't include tm.h.
7257         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
7258
7259         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
7260         config/i370/xm-oe.h: Don't include tm.h.  Don't define
7261         SUCCESS_EXIT_CODE.
7262         * config/vax/xm-vms.h: Don't include tm.h.
7263
7264         * config/xm-lynx.h, config/avr/xm-avr.h,
7265         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
7266         Delete; made empty by above changes.
7267         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7268         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
7269         Don't include config/xm-lynx.h or tm.h.
7270
7271         * config/xm-gnu.h: Don't include fcntl.h.
7272         * config/sparc/xm-lynx.h: Don't include sys/types.h and
7273         sys/wait.h.
7274         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
7275
7276 2001-03-02  Richard Henderson  <rth@redhat.com>
7277
7278         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
7279         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
7280
7281 2001-03-02  Richard Henderson  <rth@redhat.com>
7282
7283         * Makefile.in (OBJS): Add dwarf2asm.o.
7284         * dwarf2asm.c, dwarf2asm.h: New files.
7285         * dwarf2out.c (*): Use them.
7286         (size_of_uleb128, size_of_sleb128): Remove.
7287         (output_uleb128, output_sleb128): Remove.
7288         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
7289         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
7290         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
7291         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
7292         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
7293         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
7294         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
7295         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
7296         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
7297         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7298         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
7299         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
7300         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
7301         (dwarf2out_frame_debug): Remove unused variables.
7302         (output_loc_operands): Don't abort on 8 byte constants if
7303         host integers are wide enough.
7304         (output_symbolic_ref): Remove.
7305         (size_of_die): Don't assume 4 byte host integers.
7306         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
7307         and end labels.
7308         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
7309         something stupid with HOST_WIDE_INT to long truncation.
7310         [CONST_DOUBLE]: Likewise.
7311
7312         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
7313         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7314         * config/arm/unknown-elf.h: Likewise.
7315         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
7316         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
7317         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
7318         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
7319         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
7320         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
7321         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
7322         (ASM_OUTPUT_DWARF_OFFSET): Remove.
7323         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
7324         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7325         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
7326         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
7327
7328 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7329
7330         * cselib.c (hash_rtx): Cast enums to unsigned int.
7331
7332 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7333
7334         * print-rtl.c (print_rtx): Cast enums to int for comparison.
7335         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
7336         shifts.
7337         * c-format.c (C_STD_VER): Cast to int for comparisons.
7338         (check_function_format): Cast various enums to int for &.
7339         (maybe_read_dollar_number): Likewise.
7340         (check_format_info): Likewise.
7341         (check_format_info_main): Likewise.
7342         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
7343         (safe_from_p): Likewise.
7344         * varasm.c (const_hash): Cast enum to int for %.
7345         * emit-rtl.c (init_emit_once): Use int loop variable to work around
7346         pcc enum problems with < and ++ operators.
7347         * regclass.c (init_reg_sets_1): Cast enums for comparison.
7348         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
7349         (regclass_init): Change enum class to int to iterate over reg_classes.
7350         * genrecog.c (merge_trees): Cast enums for comparison.
7351         * rtl.h (GET_CODE): Cast to enum rtx_code.
7352         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
7353         (GET_MODE): Cast to enum machine_mode.
7354         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
7355         (GET_NOTE_INSN_NAME): Cast enum to int.
7356         * tree.h (TREE_CODE): Cast to enum tree_code.
7357         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
7358         * timevar.c (timevar_print): Change loop variable id from enum to
7359         unsigned int.
7360         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
7361         * config/i386/i386.md: Use PUT_MODE for mode assignment.
7362         * toplev.c (compile_file): Cast enum DFI to int.
7363         (decode_d_option): Likewise.
7364
7365 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
7366
7367         * cppinit.c (append_include_chain): Mark "after" include file name list
7368         as a system directory.
7369         * cpp.texi: Document new behavior.
7370
7371 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
7372
7373         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
7374
7375 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7376
7377         * cppfiles.c (struct include_file): Update.
7378         (stack_include_file): Use search_from.
7379         (cpp_included, find_include_file): Update.
7380         (cpp_execute_include): Update.  ptr->name may not be
7381         null terminated.  Use the new search_from member variable
7382         of cpp_buffer.
7383         (_cpp_compare_file_date): Similarly.
7384         (search_from): New function, similiar to actual_directory.
7385         (actual_directory): Delete.
7386         (remap_filename): Update.  loc->name may not be null terminated.
7387         (struct file_name_list): Rename search_path.  Update.
7388         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
7389         search_from and dir.
7390         (struct cpp_reader): Remove actual_dirs.
7391         * cppinit.c (struct cpp_pending): Update for renamed objects.
7392         (append_include_chain, remove_dup_dir, remove_dup_dirs,
7393         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
7394         * cpplib.h (struct cpp_options): Similarly.
7395
7396 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7397
7398         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
7399         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
7400         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
7401         config/clipper/xm-clix.h, config/convex/xm-convex.h,
7402         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7403         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
7404         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7405         config/i370/xm-linux.h, config/i370/xm-mvs.h,
7406         config/i370/xm-oe.h, config/i386/xm-aix.h,
7407         config/i386/xm-i386.h, config/i386/xm-osf.h,
7408         config/i860/xm-i860.h, config/i960/xm-i960.h,
7409         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
7410         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
7411         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
7412         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
7413         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
7414         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7415         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
7416         config/pj/xm-pj.h, config/romp/xm-romp.h,
7417         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
7418         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7419         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7420         config/v850/xm-v850.h, config/vax/xm-vax.h,
7421         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
7422         Do not define TRUE or FALSE.
7423
7424         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
7425         empty by above change.
7426         * config.gcc: Remove references to these files.
7427
7428         * configure.in: Detect stdbool.h.
7429         * configure, config.in: Regenerate.
7430         * system.h: Include stddef.h here if available.
7431         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
7432         Then set up a sensible boolean type at the very end.
7433
7434         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
7435         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
7436
7437         * hash.h: Delete 'boolean' typedef and related #undefs.
7438
7439         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
7440         all uses of 'boolean' with 'bool'.
7441
7442 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7443
7444         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
7445         * cppexp.c (lex): Cast enums for comparison.
7446         * cppinit.c (parse_option): Cast enum for comparison.
7447         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
7448         (cpp_output_token): Likewise.
7449         (cpp_can_paste): Cast enums for comparsion and plus/minus.
7450         (cpp_avoid_paste): Cast enums for minus and comparison.
7451
7452 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7453
7454         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
7455         field to all array elements.
7456
7457 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7458
7459         * cpphash.h (struct cpp_reader): Add print_version field.
7460         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
7461         just set print_version and other flags as appropriate.
7462         (cpp_post_options): Print version here if print_version is set.
7463
7464         * toplev.c (exit_after_options): New flag.
7465         (independent_decode_option): Don't exit here; just set
7466         exit_after_options.
7467         (main): Exit after calling lang_hooks.post_options if
7468         exit_after_options is true.
7469
7470         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
7471         (merge_include_chains): Adjust comment to match code.
7472
7473 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7474
7475         * stringpool.c (set_identifier): New function.
7476         * tree.h: Prototype it.
7477
7478         * c-parse.in: Kill D_YES. If compiled for objc, call
7479         save_and_forget_protocol_qualifiers from init_reswords.
7480         * objc/objc-act.c (remember_protocol_qualifiers,
7481         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
7482         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
7483         vice versa.
7484         (save_and_forget_protocol_qualifiers): New function.
7485         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
7486
7487 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
7488
7489         * c-semantics.c (prune_unused_decls): Return error_mark_node
7490         instead of (tree) 1 to stop traversing the tree chain.
7491
7492 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
7493
7494         Fix a problem introduced by Kenner's Feb 18 change.
7495         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
7496         flag_cse_skip_blocks only temporarily, not for ever.
7497
7498 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
7499
7500         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
7501         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
7502
7503         * pa.c (emit_move_sequence): Verify operand0 is a hard register
7504         before determining its register class.
7505
7506 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
7507
7508         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
7509         from reg 4 if current_function_calls_setjmp.
7510         (gen_nop_type): New function.
7511         (ia64_emit_nops): New function.
7512         (ia64_reorg): Call it.
7513         (ia64_sched_reorder): Move code that rotates bundles up a bit.
7514
7515         * reload1.c (eliminate_regs_in_insn): Restrict the special case
7516         code not to try to optimize adds with anything but a REG destination.
7517
7518         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
7519         (INSN_PRIORITY_KNOWN): New accessor macro.
7520         * haifa-sched.c (priority): Use it instead of testing priority against
7521         zero.
7522
7523 2001-02-28  DJ Delorie  <dj@redhat.com>
7524
7525         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
7526         since that doesn't work the way gcc wants on a generic m68k.
7527
7528 2001-02-28  Richard Henderson  <rth@redhat.com>
7529
7530         * caller-save.c (save_call_clobbered_regs): Fix typo in
7531         comparison last change.
7532
7533 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
7534
7535         * i386.c (pentium4_cost): New.
7536         (m_PENT4): New macro.
7537         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
7538         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
7539         x86_integer_DFmode_moves, x86_partial_reg_dependency,
7540         x86_memory_mismatch_stall): Add Pentium4
7541         (x86_use_q_reg, x86_use_any_reg): Kill.
7542         (override_options): Add pentium4.
7543         (incdec_operand): Return 0 for pentium4.
7544         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
7545         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
7546         (TARGET_PENTIUM4): Define.
7547         (enum processor_type): Add PROCESSOR_PENTIUM4.
7548         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
7549         * i386.md (attribute "cpu"): Add pentium4.
7550         * invoke.texi (march): Add pentium4.
7551
7552 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7553
7554         * i386.md (sse_mov?fcc*): New patterns and splitters.
7555         * i386.c (ix86_expand_movcc): Work post-reload; recognize
7556         the SSE based conditional moves.
7557
7558 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
7559
7560         * i386.md (attribute mode): Add "TI".
7561         (movsf_1): Add pxor support; remove constant propagation splitter.
7562         (movdf_integer): Likewise.
7563         (movdf_nointeger): Likewise.
7564         (movxf constant prop splitter): Handle all modes; update for SSE.
7565         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
7566         * i386.c (standard_80387_constant_p): Rewrite.
7567         (standard_sse_constant_p): New.
7568         * i386-protos.h (standard_sse_constant_p): New.
7569
7570 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
7571
7572         * i386.md (sse_setccsf, sse_setccdf): New.
7573         (sse_cmp* patterns): Use '%D' instead of outputtting condition
7574         flag directly.
7575         * i386.c (sse_comparison_operator): Accept the supported unordered
7576         comparses; be ready for fast_math.
7577         (print_operand): Support 'D'.
7578
7579 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
7580
7581         * jump.c (reversed_comparison_code): Kill.
7582
7583 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
7584
7585         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
7586         for STACK_REGS
7587
7588 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
7589
7590         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
7591         add missing '%' in constraints.
7592
7593 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
7594
7595         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
7596         for HOST_BITS_PER_WIDE_INT == 32 too.
7597
7598 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
7599
7600         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
7601         NREGS.
7602         (insert_save, insert_restore): New parameter save_mode.
7603         (init_caller_save): Update initialization of reg_save_code
7604         and reg_restore_code.
7605         (save_call_clobbered_regs):  Compute save_modes and update calls to
7606         reg_save_code and reg_restore_code.
7607         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
7608         of spill; update use of reg_restore_code.
7609         (insert_save):  Likewise.
7610         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
7611         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
7612         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
7613
7614 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
7615
7616         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
7617         noce_try_store_flag_inc, noce_try_store_flag_mask,
7618         noce_try_cmove_arith):
7619         Use reversed_comparison_code instead of reverse_comparison and
7620         can_reverse_comparison_p.
7621
7622 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
7623
7624         * jump.c (reversed_comparison_code_parts): Allow reversal of
7625         unordered compares in -ffast-math mode; reverse ordered compares
7626         for FP even w/o -ffast-math.
7627
7628 2001-02-27  Richard Henderson  <rth@redhat.com>
7629
7630         * print-rtl.c (print_rtx) [i]: Don't print field five on
7631         NOTEs other than NOTE_INSN_DELETED_LABEL.
7632
7633 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
7634
7635         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
7636         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
7637
7638 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
7639
7640         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
7641         even if walk_subtrees is 0.
7642         * c-semantics.c (prune_unused_decls): Return a non-null value to
7643         stop traversing the tree chain.
7644
7645 2001-02-27  DJ Delorie  <dj@redhat.com>
7646
7647         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
7648         register, *then* define it as the new CFA.
7649
7650 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
7651
7652         * pa.c (override_options): Promote -fpic to -fPIC.
7653         (legitimize_pic_address): Simplify due to removal of
7654         small PIC as a code generation option.
7655         (secondary_reload_class): Similarly.
7656         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
7657         (PRINT_OPERAND_ADDRESS): Similarly.
7658         * pa.md (various patterns): Similarly.
7659         (small pic lo_sum pattern): Remove.
7660
7661 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7662                               Fergus Henderson
7663
7664         * md.texi (min, max): Document
7665
7666 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
7667
7668         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
7669         TARGET_PARTIAL_REG_DEPENDENCY.
7670         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
7671
7672 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
7673
7674         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
7675
7676 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
7677
7678         * mips.c (mips_make_temp_file): Fix thinko in last change.
7679
7680 2001-02-26  Jason Eckhardt  <jle@redhat.com>
7681
7682         * combine.c (known_cond): Do not reverse the condition when
7683         SMAX/UMAX is being considered and the condition is for equality
7684         or inequality.
7685
7686         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
7687
7688 2001-02-26  Philip Blundell  <philb@gnu.org>
7689
7690         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
7691         "armv2-*-linux".
7692         * config/arm/linux-elf.h: Remove historical relics related to
7693         above configurations.
7694         * config/arm/linux-oldld.h: Delete.
7695         * config/arm/linux-elf26.h: Delete.
7696
7697 2001-02-26  Jason Merrill  <jason@redhat.com>
7698
7699         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
7700         definitions.
7701         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
7702         recognize a tentative definition.  Lose obsolete code.
7703
7704         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
7705         variables unless necessary, either.
7706
7707 2001-02-25  Richard Henderson  <rth@redhat.com>
7708
7709         * ifcvt.c (struct noce_if_info): Add test_bb.
7710         (noce_get_alt_condition): New.
7711         (noce_try_minmax, noce_try_abs): New.
7712         (noce_operand_ok): New.
7713         (noce_process_if_block): Use them.
7714         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
7715
7716 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
7717
7718         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
7719         include.
7720
7721 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
7722
7723         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
7724         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
7725         properly.
7726         (mips_asm_file_end): Free temp_filename here.
7727
7728 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7729
7730         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
7731         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
7732
7733         * config/i386/i386.md (movstrsi): Handle FAIL case.
7734
7735 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
7736
7737         * cppinit.c (builtin_array): Update.
7738         (init_builtins): Flag builtins to warn if redefined or
7739         undefined.  Define __GXX_WEAK as a normal macro.
7740         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
7741         * cpplib.h (NODE_WARN): New flag.
7742         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
7743         Handle __STDC__ as a builtin only on Solaris.
7744         (warn_of_redefinition): Renamed from check_macro_definition.
7745         Reverse sense of test.  Always warn if NODE_WARN.
7746         (_cpp_create_definition): Use warn_of_redefinition.  Flag
7747         any macro beginning with "__STDC_" to require a mandatory
7748         warning if redefined or undefined.
7749
7750 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
7751
7752         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
7753         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
7754         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
7755         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
7756         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
7757         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
7758         Don't define any of:
7759         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
7760         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
7761         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
7762         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
7763         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
7764
7765         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
7766         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
7767         definitions.
7768
7769         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
7770         Delete now-empty file.
7771
7772         * alpha/vms.h: Define NEED_ATEXIT here...
7773         * alpha/xm-vms.h: ...not here.
7774
7775         * i386/cygwin.h: Don't define PARAMS.
7776         * mips/mips.c: Don't prototype mktemp.  Don't define
7777         P_tmpdir.  Use make_temp_file to create temporary files.
7778         Don't be clever and delete temporary files early.
7779         * config.gcc: Drop references to deleted files.  Don't define
7780         FULL_PROTOTYPES.
7781         * gcc.texi: Don't mention USE_PROTOTYPES.
7782
7783 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7784
7785         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
7786         (ix86_set_move_mem_attrs_1): Likewise.
7787         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
7788         * config/i386/i386.md (movstrsi): Call it.
7789
7790 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
7791
7792         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
7793         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
7794         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
7795         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
7796
7797         (i750a-*-*): Error here if hosting on i750a.
7798         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
7799
7800         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
7801         Remove (empty modulo comments).
7802
7803         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
7804         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
7805         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
7806         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
7807         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
7808         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
7809
7810         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
7811         Remove reference to winnt.h in comment.
7812         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
7813
7814 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7815
7816         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
7817         used to set another biv.
7818
7819 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7820
7821         * tree.h (BLOCK_DEAD): New macro.
7822         (struct tree_block): New flag, dead_flag.
7823         * print-tree.c (print_node, case 'b'): Print missing fields.
7824         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
7825         * function.c (identify_blocks): Enable test for misplaced notes.
7826         (all_blocks): Skip BLOCK_DEAD blocks.
7827         * integrate.c (integrate_decl_tree): Likewise.
7828
7829         * errors.c (internal_error, trim_filename): New functions.
7830         (fancy_abort): Call internal_error.
7831         * errors.h (internal_error, trim_filename): New declarations.
7832
7833 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
7834
7835         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
7836         2000-08-26's patch.
7837         (EXTRA_CONSTRAINT): Formatting changes.
7838
7839 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7840
7841         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
7842
7843 2001-02-23  Per Bothner  <per@bothner.com>
7844
7845         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
7846         so they can be called from java/jvspec.c.
7847         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
7848
7849 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
7850
7851         * i386.c (ix86_frame): New structure.
7852         (ix86_compute_frame_size): Kill.
7853         (ix86_compute_frame_layout): New.
7854         (ix86_save_reg): New.
7855         (ix86_can_use_return_insn_p): Use frame layout stuff.
7856         (ix86_expand_prologue): Likewise.
7857         (ix86_expand_epilogue): Likewise.
7858         (ix86_initial_elimination_offset): Likewise.
7859         (ix86_nsaved_regs): Use ix86_save_reg.
7860         (ix86_emit_save_regs): Likewise.
7861
7862 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
7863
7864         * flow.c (find_sub_basic_blocks): New function.
7865         (split_block): Be ready for basic block introduced by CODE_LABEL.
7866         (commit_one_edge_insertion): Call find_sub_basic_block.
7867
7868         * flow.c (make_edges): Add edge from entry for blocks starting with
7869         label having ALTERNATE_NAME
7870
7871 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
7872
7873         * function.c (epilogue_done): Be ready for first basic block not
7874         containing PROLOGUE_END note.
7875         (reposition_prologue_and_epilogue_notes): Avoid placing
7876         PROLOGUE_END note between BASIC_BLOCK.
7877
7878 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
7879
7880         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
7881
7882 2001-02-21  DJ Delorie  <dj@redhat.com>
7883
7884         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
7885         check for current_function_has_nonlocal_goto from 1999-11-12.
7886
7887 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7888
7889         * diagnostic.c (trim_filename): No longer static.
7890         * toplev.h (trim_filename): Declare.
7891         * rtl.c (rtl_check_failed_bounds): Call internal_error.
7892         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
7893         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
7894         (rtvec_check_failed_bounds): Likewise.
7895         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
7896
7897         * convert.c (convert_to_integer): Don't do unsigned unless result or
7898         both inputs are unsigned.
7899
7900         * fold-const.c (fold_convert): Don't call size_int_type_wide if
7901         input overflows.
7902
7903         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
7904
7905         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
7906
7907 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
7908
7909         * Makefile.in (resource.o): Add params.h dependence.
7910         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
7911         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
7912         * resource.c: Add dependence on params.h.
7913         (current_live_regs): Fix explanatory comment.
7914         (find_basic_block): Add new parameter to permit limiting search
7915         for a BARRIER.
7916         (mark_target_live_regs): Add new argument to find_basic_block call.
7917         (incr_ticks_for_insn): Likewise.
7918
7919 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
7920
7921         * diagnostic.c (output_to_stream): Rename to
7922         output_buffer_to_stream. Loses the stream parameter.
7923         (init_output_buffer): Set diagnosic_buffer's stream.
7924         (flush_diagnostic_buffer): Adjust.
7925         (default_print_error_function): Likewise.
7926         (finish_diagnostic): Likewise.
7927         (verbatim): Likewise.
7928
7929         * diagnostic.h (struct output_buffer): Add `stream' field.
7930         (output_buffer_attached_stream): New macro.
7931
7932 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
7933
7934         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
7935         check if either operand is divisible by C.
7936         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
7937         If type is signed, consider negative numbers as well.
7938
7939 2001-02-22  Richard Henderson  <rth@redhat.com>
7940
7941         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
7942         reach .text instead of gp-relative relocs.
7943         * config/ia64/crtend.asm (.init): Likewise.
7944
7945 2001-02-22  Andreas Jaeger  <aj@suse.de>
7946
7947         * extend.texi (C++ Attributes): Fix typo.
7948
7949 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
7950
7951         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
7952         functions, drop current_function_args_info.words test.
7953         (ia64_compute_frame_size): Mark syscall_linkage functions as
7954         using eight input registers.
7955
7956 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
7957         Bruce Korb  <bkorb@gnu.org>
7958
7959         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
7960         * fixinc/README: Document how to convert sed substitutions
7961         to format style c_fix-es.
7962         * fixinc/fixincl.x: regen
7963
7964 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
7965
7966         * gcc.c: Add comment explaining how to add a command-line option.
7967         Add title to specs language comment.
7968
7969 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
7970
7971         * gcc.c (cc1_options): Add "-param".
7972         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
7973         (option_map): Likewise.
7974         * toplev.c (display_help): Add entry for "--param".
7975         (independent_decode_option): Fix typographical error.
7976
7977 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
7978                               Bernd Schmidt  <bernds@redhat.com>
7979                               Jan Hubicka  <jh@suse.cz>
7980
7981         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
7982         (function_arg): Likewise.
7983
7984 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
7985
7986         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
7987
7988 2001-02-21  Kazu Hirata  <kazu@hxi.com>
7989
7990         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
7991         character.
7992         (xorsi3): Likewise.
7993
7994 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
7995
7996         * flow.c (init_propagate_block_info): Canon address and use single_set
7997         for killing dead memory stores.
7998
7999 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8000
8001         * Makefile.in (reorg.o): Add params.h dependence.
8002         * params.def: Fix typographical error in comment.
8003         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8004         * params.h: Modify introductory comment.
8005         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8006         * reorg.c: Add dependence on params.h.
8007         (redundant_insn): Add parameterized throttle for search.
8008         (fill_simple_delay_slots): Add a comment explaining a variable.
8009         Move conditional out of loop, simplifying code.
8010         (fill_eager_delay_slots): Fix typographical error in comment.
8011
8012 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
8013
8014         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
8015
8016         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
8017         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
8018
8019 2001-02-21  Jason Merrill  <jason@redhat.com>
8020
8021         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
8022         (struct tree_decl): Add uninlinable bitfield.
8023         * c-decl.c (duplicate_decls): Set it.
8024         * integrate.c (function_cannot_inline_p): Check it.
8025
8026         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
8027         DW_AT_MIPS_linkage_name to abstract methods.
8028         (dwarf2out_abstract_function): Emit class context before calling
8029         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
8030         (gen_subprogram_die): Remove obsolete code.
8031         (gen_member_die): Don't include clones in the member list.
8032         (gen_decl_die): Emit abstract info for clone origin.
8033         * dwarfout.c (output_type): Don't include clones in the member list.
8034         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
8035         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
8036         DECL_ABSTRACT on a function that already has it set.
8037
8038         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
8039         (get_subprogram_die): Pass it in.
8040
8041 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
8042
8043         * flow.c (mark_set_1): Make not_dead unsigned long.  For
8044         non-pseudos, use it as a bitmask of the hard regs that
8045         don't die.
8046
8047 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8048
8049         * cppfiles.c: Update comments.
8050         (_cpp_read_file): Don't check for NULL filenames any more.
8051         * cppinit.c (cpp_start_read): Don't do canonicalization of
8052         in_fname and out_fname.  Use the passed file name exclusively.
8053         (_cpp_handle_options): Don't treat "-" as a command line option,
8054         but as a normal filename.
8055         (_cpp_post_options): Canonicalize in_fname and out_fname.
8056         * cppmain.c (printer_init): Don't check out_fname for NULL.
8057         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
8058         (init_c_lex): Update, and use "" to represent stdin to CPP.
8059         (yyparse): Update.
8060
8061 2001-02-20  Will Cohen  <wcohen@redhat.com>
8062
8063         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
8064         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
8065         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
8066         fixunstfsi_libfunc.
8067
8068 2001-02-20  Stan Shebs  <shebs@apple.com>
8069
8070         * config/rs6000/rs6000.c (output_cbranch): Output branches
8071         on separate lines instead of using ';' to separate.
8072
8073 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8074
8075         * cppinit.c (set_lang):  Move builtin handling to...
8076         (init_builtins): ...here.
8077         (_cpp_create_reader): Move call to set_lang.
8078
8079 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
8080
8081         * stmt.c (expand_return): If an attempt is made to return the
8082         error_mar_node, treat the return like a return without a value.
8083
8084 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
8085
8086         * sibcall.c (skip_copy_to_return_value): Call
8087         identify_call_return_value here, and return orig_insn if it
8088         returns zero.  Hardret and softret arguments now unnecessary.
8089         (call_ends_block_p): Don't call identify_call_return_value here.
8090
8091         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
8092         's' slots in RTXen.
8093         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
8094         * ggc.h (ggc_mark_if_gcable): Delete prototype.
8095
8096 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
8097
8098         * pa.c (move_operand): Accept code to load the address of a
8099         symbol out of the DLT as a valid move operand.
8100         (print_operand, case 'A'): New to handle generating a DLT
8101         reference for a LO_SUM expression.
8102         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
8103         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
8104
8105 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
8106
8107         * README, cpp.texi, gcc.texi, version.c: Update version number to
8108         3.1.
8109         * cpp.1, gcov.1, gcc.1: Regenerate.
8110
8111 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8112
8113         * cppfiles.c (stack_include_file): Generate dependencies
8114         here, and manage include_count here too.
8115         (PRINT_THIS_DEP): Delete.
8116         (_cpp_execute_include): Do not generate dependencies here,
8117         apart from the case of a missing header.  Do not manage
8118         include_count.
8119         (_cpp_read_file): Leave dependency generation to
8120         stack_include_file.
8121
8122 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
8123
8124         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
8125         target_cpu_default.  Remove dead assignment to
8126         target_cpu_default.
8127
8128 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
8129
8130         * regclass.c (contains_reg_of_mode): Make global.
8131         (init_reg_sets): Remove contains_reg_of_mode; take into account
8132         CLASS_MAX_NREGS when looking for the proper mode.
8133         (dump_regclass): Dump only classes considered for the pseudo.
8134         (regclass): Use contains_reg_of_mode.
8135
8136 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8137
8138         * gcc.c (do_spec_1): 'n' for printing notices.
8139         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
8140
8141 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
8142
8143         * reg-stack.c (next_flags_user): Use current_block->end
8144         (swap_rtx_condition): Look for next user if flags don't die;
8145         give up on CALL_INSNs; use current_block->end.
8146
8147 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8148
8149         * sibcall.c (call_ends_block_p): New function.
8150         (optimize_sibling_and_tail_recursive_call): Use it.
8151
8152 2001-02-18  Kazu Hirata  <kazu@hxi.com>
8153
8154         * config/h8300/h8300.md: Update copyright.
8155         (andsi3): Do not output an extra newline character.
8156
8157 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8158
8159         * toplev.c (note_deferral_of_defined_inlined_function): Argument
8160         FNDECL may be unused.
8161
8162         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
8163         follow jumps after first run.
8164         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
8165         it doesn't change any jumps.
8166
8167 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
8168
8169         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
8170         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
8171         (mostlyclean): Corresponding changes.
8172         * rtlanal.c (hard-reg-set.h): Include.
8173         (rtx_unstable_p): Do not treat the argument pointer specially
8174         if it is not a fixed register.
8175         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
8176
8177 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8178
8179         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
8180         against last real insn in basic block.
8181         Rework to avoid gotos.
8182
8183         * Makefile.in (gcse.o): Now includes ggc.h.
8184         * gcse.c: Include ggc.h.
8185         (want_to_gcse_p): Verify expression can be in SET as valid insn.
8186         (try_replace_reg): Remove warning of uninitialize variable.
8187         (process_insert_insn): Call invalid_insn_p to validate insn.
8188         * recog.c (insn_invalid_p): Now global.
8189         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
8190         * recog.h (insn_invalid_p): New declaration.
8191
8192         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
8193
8194         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
8195         assignments from FP constants since 'Y' output code can't handle it.
8196         (eligible_for_sibcall_delay): Likewise.
8197
8198         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
8199         Call fancy_abort directly, passing args.
8200         (print_rtl_and_abort): Now a macro, like fancy_abort.
8201
8202         * final.c (output_operand_lossage): Use internal_error, not error.
8203
8204 2001-02-18  Shane Nay  <shane@agendacomputing.com>
8205
8206         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
8207         structure shift insns.
8208
8209 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
8210
8211         * invoke.texi (-fsquangle): Remove documentation.
8212         (-fname-mangling-version): Likewise.
8213
8214 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
8215
8216         * optabs.c (expand_abs): Remove reference to
8217         HAVE_contitional_arithmetic.
8218         * combine.c (simplify_set): Likewise.
8219
8220 2001-02-18  Richard Henderson  <rth@redhat.com>
8221
8222         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
8223         would be disrupted.
8224
8225 2001-02-18  Richard Henderson  <rth@redhat.com>
8226
8227         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
8228
8229         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
8230
8231         * reload1.c (reload_cse_simplify_set): Fix typo.
8232
8233 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8234
8235         * diagnostic.c (_fatal_insn): Decrement errorcount.
8236
8237         * invoke.texi (-I): Add note avoiding use for system header files.
8238
8239         * rtl.h (add_clobbers): Remove duplicate declaration.
8240         * recog.h (added_clobbers_hard_reg_p): New declaration.
8241         * genemit.c (struct clobber_pat): New field has_hard_reg.
8242         (gen_insn): Record if added clobbers clobber hard reg.
8243         (gen_split): Avoid unused warning if number of operands is 0.
8244         (output_added_clobbers_hard_reg_p): New function.
8245         (main): Call it.
8246
8247 2001-02-18  Alan Modra <alan@linuxcare.com.au>
8248
8249         * pa.c (hppa_expand_prologue): Simplify code storing return
8250         pointer.  For large (>=8k) frames with a post_store, adjust stack
8251         pointer by 8k-64 first rather than by 64.  When testing with
8252         VAL_14_BITS_P, always use the actual value rather than the value
8253         negated.  Add blockage to prevent scheduling of spills before
8254         stack frame has been created.
8255         (hppa_expand_epilogue): Simplify code loading return pointer.
8256         Allow a slightly larger range for merge_sp_adjust_with_load case.
8257         When testing with VAL_14_BITS_P, always use the actual value.
8258
8259         * pa.c (pa_adjust_insn_length): Check that block move
8260         pattern is a set before looking at operands.
8261
8262 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8263
8264         * fold-const.c (fold_binary_op_with_conditional_arg): New
8265         function, split out from ...
8266         (fold): ... here.
8267         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
8268         conditional arms that throw exceptions.
8269
8270         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
8271         looking at a BLOCK.
8272
8273 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8274
8275         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
8276         define HAVE_DECL_* to 1 to mask potential backup declarations.
8277         * configure: Regenerated.
8278
8279 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8280
8281         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
8282
8283 2001-02-17  Richard Henderson  <rth@redhat.com>
8284
8285         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
8286         when replacing a memory load with a register.
8287
8288 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8289                           Jan Hubicka  <jh@suse.cz>
8290
8291         * recog.c (validate_replace_src_1): New.
8292         (validate_replace_src_data): Likewise.
8293         (validate_replace_src): Use note_uses.
8294         * rtl.h (note_uses): Declare.
8295         * rtlanal.c (note_uses): New.
8296
8297 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
8298
8299         * reg-stack.c (stack_def): Make field reg unsigned.
8300         (remove_regno_note): Unsignetize parameter.
8301
8302 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
8303
8304         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
8305         shladd_operand() call.
8306
8307 2001-02-16  Bruce Korb  <bkorb@gnu.org>
8308             Rodney Brown  <RodneyBrown@mynd.com>
8309
8310         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
8311         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
8312         machine restrictions
8313         * fixinc/fixincl.x: regen
8314
8315 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8316
8317         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
8318         Don't CSE a nop.
8319         (hash_scan_insn): Clean up calls to hash_scan_set.
8320         (compute_kill_rd): REGNO now unsigned.
8321         (try_replace_reg): Rework to use simplify_replace_rtx.
8322         (cprop_jump, cprop_cc0_jump): Likewise.
8323         (cprop_insn): Call find_reg_equal_equiv_note.
8324         Reflect changes to cprop_jump and cprop_cc0_jump.
8325
8326         * recog.c (validate_replace_src): Replace in operands of
8327         ZERO_EXTRACT in SET_DEST.
8328
8329         * cse.c (new_label_ref): New variable.
8330         (insert): Set it instead of recorded_label_ref.
8331         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
8332         CODE_LABEL for this function, and not already in REG_LABEL note.
8333
8334 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
8335
8336         * resource.c (mark_referenced_resources): Fix typo in introductory
8337         comment.
8338         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
8339         string constant.
8340
8341 2001-02-16  Jason Merrill  <jason@redhat.com>
8342
8343         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
8344         NULL.
8345         (gen_subprogram_die): Don't abort on seeing a second definition if
8346         the previous one was abstract.  Don't replace an abstract instance
8347         in the lookup table.
8348
8349         * dwarf2out.c (dwarf2out_abstract_function): Rename from
8350         gen_abstract_function.
8351         * dwarf2out.h: Declare it.
8352         * toplev.c (note_outlining_of_inline_function): New fn.
8353         * toplev.h: Declare it.
8354         * integrate.c (output_inline_function): Call it.
8355         * c-decl.c (duplicate_decls): Call it when redefining an extern
8356         inline.  Don't inline the new defn.
8357
8358         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
8359
8360 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8361
8362         * .gdbinit: Rename to gdbinit.in.
8363         * gdbinit.in: New file,
8364         * configure.in: Generate .gdbinit from gdbinit.in.
8365         * configure: Regenerated.
8366         * Makefile.in (distclean): Always remove .gdbinit.
8367
8368 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
8369
8370         * objc/objc-act.c (start_class): Register implemented_classes with
8371         GC.
8372
8373 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
8374
8375         * cppfiles.c (_cpp_make_system_header): Generate a file
8376         change callback.
8377
8378 2001-02-15  Jim Meyering  <meyering@lucent.com>
8379
8380         * Makefile.in (install-common): Don't depend on installdirs here.
8381         Instead, make each of the lang.install-common targets (e.g.,
8382         c++.install-common in cp/Make-lang.in) depend on it.
8383         (install-driver): Depend on installdirs.
8384
8385 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8386
8387         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
8388
8389         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
8390         do in memory.
8391
8392 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
8393
8394         * invoke.texi (--param): Document.
8395
8396 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
8397
8398         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
8399
8400 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
8401
8402         * i386.md (extendsfdf2_2): Fix constraints.
8403
8404 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
8405
8406         * i386.md (fop_df_3 splitter): Fix operand number.
8407
8408 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8409
8410         * invoke.texi (-mreg-alloc): Nuke.
8411         * i386.c (ix86_reg_alloc_order, regs_allocated,
8412         order_regs_for_local_alloc): Nuke.
8413         (override_options): Kill reg_alloc code.
8414         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
8415         (REG_ALLOC_ORDER): SSE goes before I387.
8416         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
8417         (ix86_reg_alloc_order): Likewise.
8418         * i386-protos.h (ix86_reg_alloc_order): Kill.
8419
8420 2001-02-14  Richard Henderson  <rth@redhat.com>
8421
8422         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
8423
8424 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
8425
8426         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
8427
8428 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
8429
8430         * i386-protos.h (ix86_memory_move_cost): Move offline.
8431         * i386.c (ix86_register_move_cost): Compute properly cost of
8432         SSE, MMX and i387 instructions.
8433         (*_cost): Add costs of SSE/MMX moves.
8434         (ix86_memory_move_cost): Move offline from ....; Likewise.
8435         * i386.h (MEMORY_MOVE_COST): .... here;
8436         (struct processor costs): Add new fields to represent costs
8437         of SSE/MMX moves.
8438
8439 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
8440
8441         * regclass.c (init_reg_sets_1): Reinstall the optimization of
8442         move_cost together with Matt Kraai's fix.
8443
8444 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
8445
8446         * Makefile.in (OBJS): Add params.o.
8447
8448 2001-02-14  Richard Henderson  <rth@redhat.com>
8449             DJ Delorie  <dj@redhat.com>
8450
8451         * jump.c (jump_optimize_1): When we delete a conditional jump
8452         preceeding a non-conditional jump to effectively the same place,
8453         make sure that the combined jump skips any clobber insns between
8454         the two labels.
8455
8456 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
8457
8458         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
8459
8460 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
8461
8462         * Makefile.in (toplev.o): Depend on params.h.
8463         (intergate.o): Likewise.
8464         (params.o): New target.
8465         * flags.h (inline_max_insns): Remove.
8466         * integrate.c: Include params.h.
8467         Use MAX_INLINE_INSNS instead of inline_max_insns.
8468         * params.c: New file.
8469         * params.h: Likewise.
8470         * params.def: Likewise.
8471         * toplev.c: Include params.h.
8472         (lang_independent_params): New variable.
8473         (decode_f_option): Use the param machinery instead of setting
8474         max_inline_insns.
8475         (independent_decode_option): Handle "--param name=value".
8476         (main): Register language-independent parameters.
8477
8478 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
8479
8480         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
8481
8482 2001-02-14  Richard Henderson  <rth@redhat.com>
8483
8484         * regclass.c (init_reg_sets_1): Revert last two changes.
8485
8486 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
8487
8488         * stor-layout.c (is_pending_size, put_pending_size): New functions.
8489         (variable_size): Call put_pending_size.
8490         * tree.h (is_pending_size, put_pending_size): Add prototypes.
8491         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
8492         sizes list, put newly created SAVE_EXPR there as well.
8493
8494 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
8495
8496         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
8497         (errata_find_address_regs): load_group has only 2 entries.
8498         (errata_emit_nops): Likewise.  shladd is not problematic.
8499         Clear last_group if nop was emitted.
8500         (fixup_errata): load_group has only 2 entries.
8501         Optimize.
8502
8503 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8504
8505         * c-lex.c (lex_number): Only warn traditionally for U suffix
8506         outside system macros.
8507         * cppexp.c (parse_number): Similarly.
8508         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
8509         * cppmacro.c (struct cpp_macro): New member node.
8510         (parse_args): Only warn about missing rest args if not
8511         a system macro.
8512         (funlike_invocation_p): Similarly for uninvoked funlike macros.
8513         (cpp_sys_objmacro_p): New.
8514         (_cpp_create_definition): Store the node with the macro defn.
8515         Remember if the macro is defined in a system header.
8516
8517 2001-02-13  DJ Delorie  <dj@redhat.com>
8518
8519         * configure.in (check_languages): determine languages to check
8520         * Makefile.in (check-c++): alias for check-g++
8521         (check-f77): alias for check-g77
8522         (CHECK_TARGETS): depend on configured languages
8523
8524 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
8525
8526         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
8527         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
8528         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
8529         (sqrtextendsfdf2): Disable for SSE2.
8530
8531 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
8532
8533         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
8534         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
8535         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
8536         (sqrtextendsfdf2): Disable for SSE2.
8537
8538 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
8539
8540         * i386.md (movsfcc_1): Support integer cmove instruction.
8541         (movdfcc_1): Likewise; new splitter.
8542
8543 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
8544
8545         * i386.c (output_fp_compare): Support SSE.
8546         (prepare_fp_compare_args): SSE comparisons always support memory.
8547         * i386.h (TARGET_CMOVE): SSE imply cmove.
8548         * i386.md (cmp?f2): Enable for SSE too.
8549         (cmpfp_i*): Support SSE.
8550         (cmpfp_i_sse): New.
8551         (cmpfp_i_sse_only): New.
8552         (s*, b* fp expanters): Enable for SSE too.
8553         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
8554         New patterns.
8555
8556 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8557
8558         * regclass.c (init_reg_sets_1): Silence warning.
8559
8560 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
8561
8562         * i386.md (sqrt?f2): Change to expander.
8563         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
8564
8565 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8566
8567         * rtlanal.c (find_reg_equal_equiv_note): New function.
8568         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
8569         (simplify_gen_relational, simplify_replace_rtx): Likewise.
8570         * rtl.h: Add declarations for above functions.
8571
8572 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
8573
8574         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
8575         conditionals.
8576         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
8577         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
8578         * flow.c (mark_regs_live_at_end): Likewise.
8579         (calculate_global_regs_live): Likewise.
8580         * gcse.c (compute_hash_table): Likewise.
8581         (compute_kill_rd): Likewise.
8582         * resource.c (mark_target_live_regs): Likewise.
8583         * rtl.h (INVALID_REGNUM): New macro.
8584
8585 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
8586
8587         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
8588
8589 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
8590
8591         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
8592         for SSE.
8593
8594 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
8595
8596         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
8597         too.
8598         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
8599         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
8600         (fop_sf_1_sse, fop_df_1_sse): New patterns
8601         (fop_*): Disable float_extend and float patterns for SSE compilation.
8602         * i386.c (output_387_binary_op): Support SSE.
8603
8604 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
8605
8606         * i386.md (dummy_extendsfdf2): Support SSE2
8607         (extendsfdf2): Enable if 80387 or SSE2.
8608         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
8609         and no MIX_I387_SSE2
8610         (extendsfdf2_1_sse_only): New pattern.
8611         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
8612         of SSE.
8613         (truncdfsf2_1): Support SSE.
8614         (truncdfsf2_2): Support SSE.
8615         (truncdfsf2_2_1_sse): New pattern.
8616         (fixtruncsfsi2): Always use SSE if available.
8617         (fix_truncsfsi_sse): New pattern.
8618         (fix_truncdfsi_sse): New pattern.
8619         (floatsis?f2): Support SSE.
8620         (floatsidf2_i387): New pattern.
8621         (floatsidf2_sse): Likewise.
8622
8623 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8624
8625         * configure.in: Use "have_gnat" variable, not "gnat".
8626         * configure: Regenerated.
8627
8628         * config/sparc/sparc.c (function_value): Treat all non-record
8629         aggregate types like used to treat UNION_TYPE.
8630
8631 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
8632
8633         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
8634         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
8635         (MASK_SSE2): New.
8636         (MASK_MIX_SSE_I387): New.
8637         (TARGET_SSE): SSE2 imply SSE.
8638         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
8639         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
8640         (enum reg_class): Add new classes.
8641         (REG_CLASS_NAMES): Likewise.
8642         (REG_CLASS_CONTENTS): Likewise.
8643         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
8644         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
8645         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
8646         (CLASS_MAX_NREGS): Use new macros.
8647         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
8648         * i386.md (pushsf, movsf): Support SSE.
8649         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
8650         splitters to use ANY_FP_REGNO_P.
8651         (movdf_nointeger, movdf_integer): Likewise.
8652
8653 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
8654
8655         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
8656         (try_combine): Use it.
8657
8658 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
8659
8660         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
8661         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
8662         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
8663         (REGISTER_MOVE_COST): Likewise.
8664         * i386-protos.h (ix86_secondary_memory_needed,
8665         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
8666         * i386.c (ix86_secondary_memory_needed,
8667         ix86_preferred_reload_class, ix86_register_move_cost): New function.
8668
8669 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
8670
8671         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
8672         (HARD_REGNO_MODE_OK): Move offline to ....
8673         * i386.c (ix86_hard_regno_mode_ok) ... here;
8674         refuse all incorrect modes.
8675         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
8676
8677 2001-02-13  Richard Henderson  <rth@redhat.com>
8678
8679         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
8680         entire operator; replicate that and match_dup the operands.
8681         (cmp_ccx_arith_op_set): Likewise.
8682         (cmp_cc_arith_op_not_set): Likewise.
8683         (cmp_ccx_arith_op_not_set): Likewise.
8684
8685 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
8686
8687         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
8688
8689 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
8690
8691         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
8692         (TARGET_NO_BITFIELD_WORD): New macro.
8693         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
8694         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
8695
8696 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8697
8698         * cselib.c: New file, from simplify-rtx.c.
8699         * simplify-rtx.c: Remove cselib parts.
8700         * Makefile.in: Add cselib.o.
8701
8702 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
8703
8704         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
8705         (setup_incoming_varargs): Remove warning.
8706
8707         * config/rs6000/rs6000.c (validate_condition_mode): When
8708         flag_fast_math, allow floating-point conditionals to be reversed.
8709         (rs6000_generate_compare): When flag_fast_math, don't generate
8710         cror operations for FP conditionals.
8711
8712         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
8713         -mcall-i960.
8714         (ASM_SPEC): Likewise.
8715         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
8716         (CC1_SPEC): Likewise.
8717         (LINK_TARGET_SPEC): Likewise.
8718         (CPP_ENDIAN_SPEC): Likewise.
8719         * Makefile.in (check-consistency): New target.
8720
8721 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
8722
8723         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
8724         "return type defaults" warning for functions with return type
8725         defaulting to int.
8726         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
8727         function declarations by default rather than only when pedantic.
8728
8729 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
8730
8731         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
8732         arrays.
8733
8734 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
8735
8736         * extend.texi (Deprecated): Deprecate new initializer lists.
8737
8738 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
8739
8740         * mkdeps.c (deps_add_default_target): Robustify. Add
8741         basename component only.
8742         * cpp.texi (-M): Describe how default target is generated.
8743         * invoke.texi (-M): Likewise.
8744
8745 2001-02-12  Kazu Hirata  <kazu@hxi.com>
8746
8747         * toplev.c (push_float_handler): Remove.
8748         (pop_float_handler): Remove.
8749         * toplev.h: Remove prototypes for the above functions.
8750
8751 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
8752
8753         * c-common.c (constant_fits_type_p): New function.
8754         (convert_and_check): Use it.
8755
8756 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
8757
8758         * Makefile.in (GXX_ABI_FLAG): Don't define.
8759         * configure.in (--enable-new-gxx-abi): Remove option.
8760         * config.in: Regenerated.
8761         * configure: Likewise.
8762
8763 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
8764
8765         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
8766         basic block.
8767         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
8768         regular basic block, and arrange for all edges into it to switch
8769         to normal mode.
8770
8771 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8772
8773         * Makefile.in (distclean): Do not remove .gdbinit.
8774
8775 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
8776
8777         * Makefile.in (gcc.o): Fix typos.
8778         (protize.o): Likewise.
8779         (unprotoize.o): Likewise.
8780
8781 2001-02-11  Richard Henderson  <rth@redhat.com>
8782
8783         * tree.c (build1): Check for null operand in last change.
8784
8785 2001-02-11  Richard Henderson  <rth@redhat.com>
8786
8787         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
8788         (fold): Don't assume a constant isn't foldable.
8789         * tree.c (build): Set TREE_CONSTANT for an expression with no
8790         side-effects and constant operands.
8791         (build1): Likewise.
8792
8793 2001-02-10  Richard Henderson  <rth@redhat.com>
8794
8795         * jump.c (squeeze_notes): Revert 2000-05-12 change.
8796
8797 2001-02-10  Anthony Green  <green@redhat.com>
8798
8799         * cpp.texi (Standard Predefined): Add documentation for
8800         __OPTIMIZE_SIZE__.
8801
8802         * c-common.c (combine_strings): Improve warning message.
8803
8804 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
8805
8806         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
8807         --oformat.
8808         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
8809
8810 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
8811
8812         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
8813         CYGWIN_CROSS_DIR.
8814
8815 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
8816
8817         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
8818         fp_mode attribute.
8819
8820 2001-02-09  Nick Clifton  <nickc@redhat.com>
8821
8822         * config/arm/arm.md: Change output contraint on post inc
8823         load/store multiple patterns to be a read/write contraint.
8824
8825 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
8826
8827         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
8828         .o files when using the -M options.
8829
8830 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8831             David Edelsohn  <edelsohn@gnu.org>
8832
8833         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
8834         handle DImode constants.  Use one TOC entry for SImode and smaller
8835         constants, aligned properly.
8836
8837 2001-02-08  Jason Merrill  <jason@redhat.com>
8838
8839         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
8840         about the SP adjustment for saving the static chain pointer.
8841         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
8842         offset when setting a temporary CFA register.
8843
8844 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
8845
8846         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
8847         powerpc-*-chorusos* .
8848         * config/rs6000/chorus.h : New file.
8849         * config/i386/chorus.h : New file.
8850         * config/sparc/chorus.h : New file.
8851         * config/sparc/t-chorus-elf : New file.
8852
8853 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
8854
8855         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
8856         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
8857         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
8858         (__WCHAR_TYPE__): Correct macro name.
8859
8860 2001-02-08  Richard Henderson  <rth@redhat.com>
8861
8862         * config/i386/i386.c (ix86_frame_pointer_required): New.
8863         (ix86_setup_frame_addresses): New.
8864         (struct machine_funciton): Add accesses_prev_frame.
8865         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
8866         ix86_frame_pointer_required.
8867         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
8868         (SETUP_FRAME_ADDRESSES): New.
8869         * config/i386/i386-protos.h: Update.
8870         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
8871         from FRAME_POINTER_REQUIRED.
8872         * config/i386/svr3gas.h: Likewise.
8873         * config/i386/sysv3.h: Likewise.
8874         * config/i386/v3gas.h: Likewise.
8875
8876 2001-02-08  Richard Henderson  <rth@redhat.com>
8877
8878         * config/sparc/sparc.c (function_arg_record_value_3): Fix
8879         calculation of the number of integer registers required.
8880         (function_arg_record_value): Likewise.
8881
8882 2001-02-08  Jason Merrill  <jason@redhat.com>
8883
8884         * diagnostic.c (internal_error): Say "confused" after 1 error, not
8885         two.  Print file and line with "confused" message.
8886
8887         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
8888
8889 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8890
8891         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
8892
8893 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
8894
8895         * final.c (cleanup_subreg_operands): The address of a MEM can
8896         contain SUBREGs.
8897
8898         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
8899         for asms, too.
8900
8901 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
8902
8903         * gcc.texi (Incompatibilities): Update documentation of
8904         preprocessing numbers.
8905
8906 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
8907
8908         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
8909
8910 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
8911
8912         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
8913
8914         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
8915         * gcc.c (struct compiler): Add cpp_spec field.
8916         (input_file_compiler): New variable.
8917         (do_spec_1): Allow a particular compiler to handle `%C'
8918         specially.
8919         (main): Store the current compiler in input_file_compiler.
8920         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
8921
8922 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
8923
8924         * cpphash.h (struct spec_nodes): Add n_true and n_false.
8925         * cppinit.c (cpp_create_reader): Initialize them.
8926         (append_include_chain): cxx_aware arg might be unused.
8927         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
8928         keywords and give them their phase 7 meaning.  Pedwarn about
8929         this unless '__bool_true_false_are_defined' is defined.
8930
8931 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
8932
8933         * lcm.c (optimize_mode_switching): Emit mode_set before the
8934         JUMP_INSN of an abnormal edge.
8935
8936 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
8937
8938         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
8939         a scheduling barrier at the end.
8940
8941         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
8942
8943 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
8944
8945         * config/sh/sh.md (reload_outsf): Removed.
8946         (movsf_ie): Introduce constraints for FPUL loads and stores.
8947         (reload_insf): Broaden the output constraint.
8948
8949         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
8950         defined.
8951         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
8952         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
8953
8954 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
8955
8956         * final.c: Revert my previous changes.
8957         * output.h: Make profile_label_no extern.
8958         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
8959         for generating label.
8960
8961 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
8962
8963         * config/i386/djgpp.h: Add comments about standard paths.
8964         (MD_EXEC_PREFIX): Undefine before defining.
8965         (MD_STARTFILE_PREFIX): New.
8966
8967 2001-01-30  Bruce Korb  <bkorb@gnu.org>
8968
8969         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
8970         (load_file): do not rely on load_file_data() to close file pointer
8971         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
8972         fixinc/inclhack.def(irix_limits_const): add test_text
8973
8974 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8975
8976         * cppexp.c (parse_defined): Improve diagnostics for invalid
8977         syntax.
8978
8979 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8980
8981         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
8982
8983 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
8984
8985         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
8986         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
8987         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
8988         (rs6000_output_symbol_ref): New function.
8989         (output_toc): Use VTABLE_NAME_P.
8990
8991 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8992
8993         * print-tree.c (print_node, case PARM_DECL):
8994         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
8995
8996         * stor-layout.c (reference_types_internal): New variable.
8997         (internal_reference_types): New function.
8998         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
8999         * tree.h (internal_reference_types): New declaration.
9000
9001         * cse.c (find_best_addr): Fix typo in computing cost.
9002
9003 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9004
9005         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
9006         and this is the sum of a pointer and a constant, we know the result
9007         did not overflow.
9008         (num_sign_bit_copies, case PLUS): Likewise.
9009         * explow.c (convert_memory_address): Remove opposite SUBREG.
9010         * function.c (instantiate_new_reg): New function (from common code).
9011         (instantiate_virtual_regs_1): Call it.
9012         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
9013         if pointers sign- or zero-extend.
9014         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
9015         If pointers extend unsigned, use inside of SUBREG.
9016         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
9017
9018 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
9019
9020         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
9021         subdir of gcc_gxx_include_dir.
9022         (gcc_gxx_target_include_dir): Remove.
9023
9024 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
9025
9026         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
9027         (dwarf2out_frame_debug_expr): Revise introductory comments to add
9028         a high-level description.
9029
9030 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
9031
9032         * final.c: Move the declaration of profile_label_no to ...
9033         * output.h: ... here.
9034         * function.c (expand_function_start): Call PROFILE_HOOK.
9035         * config/rs6000/aix.h: Define PROFILE_HOOK.
9036         * config/rs6000/rs6000-protos.h: output_profile_hook new.
9037         * config/rs6000/rs6000.c (output_profile_hook): Define.
9038         (output_prolog): Do nothing for ABI_AIX as it is taken care by
9039         output_profile_hook.
9040         tm.texi : Explain new macro PROFILE_HOOK.
9041
9042 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
9043
9044         * extend.texi (Extended Asm): Do not say that semicolon is always
9045         a valid line-breaking character for GNU assemblers.  Use
9046         newline-tab as the most commonly supported syntax.  Use
9047         newline-tab rather than semicolon in multi-insn examples.
9048
9049 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9050
9051         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
9052
9053 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9054             David Edelsohn  <edelsohn@gnu.org>
9055
9056         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
9057         code for AIX, even without flag_pic.
9058
9059 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
9060
9061         * c-typeck.c (common_type): push and pop binding level around
9062         calling common_type on function parameters.
9063
9064 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
9065
9066         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
9067
9068 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9069
9070         * config/mips/mips.c (override_options): Fix typo in last change.
9071         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
9072         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
9073
9074 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
9075
9076         * invoke.texi (-fdump-class-layout): Document.
9077         (-fdump-translation-unit): Use `=' as filename separator.
9078
9079 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
9080
9081         * Makefile.in (s-mlib): Don't build multilibs if
9082         --disable-multilib.
9083         (DRIVER_DEFINES): Adjust accordingly.
9084         (gcc.o): Likewise.
9085         (protoize.o): Likewise.
9086         (unprotoize.o): Likewise.
9087         * configure.in: Recognize --enable-multilib.
9088
9089 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9090
9091         * Makefile.in (DRIVER_DEFINES): Fix quoting.
9092
9093         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
9094         * configure.in: Remove --enable-libstdcxx_v3 support.
9095         * configure: Regenerated.
9096
9097 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9098
9099         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
9100         Call abort instead of fatal.
9101         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
9102         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
9103         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
9104         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
9105         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9106         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
9107
9108         * diagnostic.h (set_internal_error_function): Renamed.
9109         * toplev.h (internal_error): Renamed from fatal.
9110         (pfatal_with_name): Deleted.
9111         (fatal_io_error): Now has printf-style arguments.
9112         * diagnostic.c (pfatal_with_name): Deleted.
9113         (fatal_io_error): Rework to have args in printf-style.
9114         (set_internal_error_function): Renamed from set_fatal_function.
9115         (internal_error): Renamed from fatal.
9116         (error_recursion, fancy_abort): Call internal_error instead of fatal.
9117         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
9118         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
9119         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
9120         * flow.c (verify_flow_info): Likewise.
9121         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
9122         * config/mips/mips.c (save_restore_insns): Likewise.
9123
9124         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
9125         * flow.c (verify_flow_info): Likewise.
9126         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
9127         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
9128         (avr_normalize_condition): Likewise.
9129         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
9130         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
9131         (limit_reload_class, double_reg_to_memory): Likewise.
9132         (print_operand_address, emit_1600_code_shift): Likewise.
9133         (gen_tst_reg, gen_compare_reg): Likewise.
9134         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
9135         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
9136         Deleted.
9137         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
9138
9139         * c-parse.in (methoddef): Call fatal_error instead of fatal.
9140         * objc/objc-act.c (build_ivar_chain): Likewise.
9141         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
9142         pfatal_with_name.
9143         * graph.c (clean_graph_dump_file): Likewise.
9144         * profile.c (init_branch_prob): Likewise.
9145         * objc/objc-act.c (objc_init): Likewise.
9146
9147         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
9148         * config/avr/avr.c (avr_override_options): Likewise.
9149         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
9150         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
9151         * config/h8300/h8300.c (h8300_init_once): Likewise.
9152         * config/mips/mips.c (override_options): Likewise.
9153         * config/i386/i386.c (override_options): Likewise, rework.
9154         * config/m68k/m68k.c (override_options): Likewise.
9155
9156         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
9157         instead of fatal.
9158         * config/mips/mips.c (print_operand): Likewise.
9159         * hash.c (hash_allocate): Don't check for failure returns from
9160         obstack functions that can't fail.
9161         (hash_table_init_n, hash_table_init): Likewise; also now return void.
9162         * hash.h (hash_table_init_n, hash_table_init): Now return void.
9163         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
9164         (get_object_reference): Likewise.
9165
9166 2001-02-04  Nick Clifton  <nickc@redhat.com>
9167
9168         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
9169         StrongARM1110, 10TDMI, and 1020T.
9170
9171 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9172
9173         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
9174
9175 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
9176
9177         * config/sh/sh.md (movdf load split): Pass register number to
9178         FP_OR_XD_REGISTER_P.
9179
9180 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9181
9182         * cppinit.c (BC): New macro.
9183         (builtin_array): Add __GXX_WEAK__.
9184         * cpplib.h (builtin_type): Add BT_WEAK.
9185         * cppmacro.c (builtin_macro): Handle BT_WEAK.
9186         * defaults.h (SUPPORTS_ONE_ONLY): Define.
9187         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
9188
9189 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
9190
9191         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
9192
9193 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9194
9195         * cpphash.h: Rename _ALIGN POOL_ALIGN.
9196         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9197
9198 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9199
9200         * cpphash.h: Rename ALIGN _ALIGN.
9201         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9202
9203 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
9204
9205         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
9206         compilation environment.
9207         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
9208         control over location of cygwin includes and libs.
9209
9210 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9211
9212         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
9213
9214 2001-02-02  lars brinkhoff  <lars@nocrew.org>
9215
9216         * md.texi (Standard Names): remove reference to spur.md.
9217
9218 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9219
9220         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
9221         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
9222         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
9223         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
9224         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
9225
9226 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9227
9228         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
9229         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
9230         number before reload.
9231         (c4x_adjust_cost): Return zero before reload.
9232         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
9233         split before reload.
9234
9235 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9236
9237         * c4x.c (c4x_hard_regno_rename_ok): New.
9238         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
9239         * c4x.h (HARD_REGNO_RENAME_OK): Define.
9240
9241 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9242
9243         * diagnostic.h: Add missing "extern" in all declarations.
9244
9245 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
9246
9247         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
9248         as for gcc_gxx_include_dir.
9249
9250 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9251
9252         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
9253
9254 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9255
9256         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
9257         label before alignment to be used as the braf base address.
9258         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
9259         branches.
9260         (casesi_jump_2): Require at least TARGET_SH2.
9261
9262         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
9263         truncation to 32-bit doubles on -m3e and -m4-single-only.
9264
9265 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
9266
9267         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
9268         the default when building a shared object.
9269         (init_spec): Use it.
9270         * testsuite/lib/g++.exp: Include the directory where libgcc
9271         is located to the LD_LIBRARY_PATH list.
9272         * invoke.texi (-shared-libgcc): Document the cases in which
9273         GCC defaults to using the shared libgcc.
9274
9275 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9276
9277         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
9278         unsigned is wide enough.
9279         (BITS_PER_SI): New.
9280         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
9281         (si_to_float): Likewise.
9282         (float_to_si, float_to_usi): Use BITS_PER_SI.
9283
9284 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9285
9286         * dwarf2out.c: Added explanation of abbreviations.
9287         (def_cfa_1): Added comments listing DWARF2 instructions.
9288         (cfa_temp_reg): Removed in favor of cfa_temp.
9289         (cfa_temp_value): Removed in favor of cfa_temp.
9290         (cfa_temp): New global variable.
9291         (dwarf2out_frame_debug_expr): Added extensive introductory
9292         comments explaining the function's transformations.  Revised to
9293         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
9294         (dwarf2out_frame_debug): Revised to use cfa_temp.
9295         (output_aranges): Cast as "unsigned" to avoid warning.
9296         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
9297         explain which instructions must be marked.
9298
9299 2001-02-01  Richard Henderson  <rth@redhat.com>
9300
9301         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
9302         new instruction.
9303
9304 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
9305
9306         * config/sh/crt1.asm (main_k): Modified so that start calls
9307         ___setup_argv_and_call_main.
9308
9309 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
9310
9311         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
9312         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
9313         and AVOID_LPASTE is cleared on meeting an unescaped newline.
9314         * cppmacro.c (builtin_macro): Set builtin flags here.
9315         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
9316         (replace_args): Clarify intent.
9317         (cpp_get_token): Macro expansion tokens get the saved flags.
9318         Update.
9319         * cppmain.c (scan_buffer): Remove now-redundant print.printed
9320         check.
9321
9322 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9323
9324         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
9325         2001-Jan-29.
9326
9327 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9328
9329         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
9330         returns Pmode pseudo, but we need ptr_mode.
9331         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
9332         Remove bogus conversions; use HOST_WIDE_INT for size.
9333         Don't use TARGET if wrong mode.
9334
9335         * config/i386/i386.c (ix86_compute_frame_size): Allow
9336         stack_alignment_needed to be non-default even if size is zero.
9337
9338 2001-01-31  Alan Modra <alan@linuxcare.com.au>
9339
9340         * pa.c (hppa_init_pic_save): New function.
9341         * pa.h (hppa_init_pic_save): Declare.
9342         * pa.md (call, call_value, sibcall, sibcall_value): Use
9343         the above instead of duplicated code.
9344
9345         * pa.c (hppa_encode_label): Correct size of alloca buffer
9346         so we don't overrun it.  Correct leading `*' case.
9347         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
9348         need to handle `*@'.
9349         (FUNCTION_NAME_P): Likewise.
9350
9351 2001-01-31  Richard Henderson  <rth@redhat.com>
9352
9353         * config.gcc (alpha-osf5): Use float-i128.h.
9354
9355         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
9356         * config/float-i32.h: Likewise.
9357         * config/float-i64.h: Likewise.
9358         * config/float-sh.h: Likewise.
9359         * config/float-sparc.h: Likewise.
9360
9361 2001-01-31  DJ Delorie  <dj@redhat.com>
9362
9363         * expmed.c (extract_bit_field): allow non-integral modes if we
9364         want to extract a whole register from itself.
9365
9366 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
9367
9368         * c-typeck.c (set_init_index): If first is equal to last, assume as
9369         if it was not a range at all.
9370
9371 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9372
9373         * config/fp-bit.c: Include tm.h.
9374         (float_to_si): Don't assume SImode is 32-bits wide.
9375         (float_to_usi): Likewise.
9376
9377 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
9378
9379         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
9380         incomplete type.
9381         (typename): Call pending_xref_error after parsing typed_typespecs.
9382         * c-decl.c (lookup_tag): Give error immediately rather than
9383         leaving it pending if the tag of the wrong type is in the same
9384         binding level.
9385         (xref_tag): Don't pedwarn for forward declarations of enum types
9386         here.
9387         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
9388         and enum tags.
9389
9390 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9391
9392         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
9393
9394 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
9395
9396         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
9397         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
9398
9399 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
9400
9401         * cpphash.h (struct cpp_reader): New saved_flags.
9402         * cppmacro.c (cpp_get_token): Use saved_flags to remember
9403         to avoid a paste after a pasted token.
9404
9405 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9406
9407         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
9408         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
9409         Wtype_MIN instead of LONG_MIN.
9410
9411 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
9412
9413         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
9414         README file.
9415         * fixinc/fixincl.x: Regenerated.
9416         * fixinc/inclhack.def (irix_limits_const): New definition to
9417         convert "const" to "__const" in limits.h.
9418
9419 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
9420
9421         * fixinc/genfixes (AG): Fix "autogen4" thinko.
9422
9423 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9424
9425         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
9426         when register dies in the insn.
9427
9428 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9429
9430         * diagnostic.c (fatal): Fix word wrap.
9431
9432 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
9433
9434         * combine.c (try_combine): Fix SUBREG setting for
9435         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
9436
9437 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9438
9439         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
9440         comparison codes.
9441
9442 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9443
9444         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
9445         is not NULL.
9446         * toplev.c (decode_W_option): Update warn_larger_than
9447         unconditionally for each processed switch.
9448
9449 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9450
9451         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
9452         to NULL_RTX.
9453         (hppa_expand_prologue): Delete code to save pic offset table register
9454         in the function prologue.
9455         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
9456         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
9457         table register at the beginning of the function after the prologue.
9458
9459 2001-01-29  lars brinkhoff  <lars@nocrew.org>
9460
9461         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
9462
9463 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9464             Jeff Law <law@redhat.com>
9465
9466         * pa.md (return): Revise comment for trivial return.
9467         (return_internal): Non-trivial return pattern for non-PIC code.
9468         (return_internal_pic): Non-trivial return pattern for PIC code.
9469         It uses the PIC register to ensure it is restored after
9470         function calls.
9471         (epilogue): Generate appropriate return for PIC and non-PIC code.
9472
9473 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
9474
9475         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
9476
9477 2001-01-29  DJ Delorie  <dj@redhat.com>
9478
9479         * combine.c (if_then_else_cond): Pass the correct mode to
9480         operand_subword() for constants.
9481
9482 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
9483
9484         * config/i386/cygwin.h: Add w32api to include search.  Search different
9485         directories in a cross-build environment.
9486
9487 2001-11-29  Tim Josling  <tej@melbpc.org.au>
9488
9489         * tree.h (TYPE_STUB_DECL): Add documentation.
9490
9491 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
9492
9493         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
9494         (sdbout_field_types): Likwise.  Fix use of host_integerp.
9495
9496 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
9497
9498         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
9499         cygwin.h.
9500
9501 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
9502
9503         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
9504         to use flag_gnu_linker.
9505
9506 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
9507
9508         * cpplib.c (T_BAD_DIRECTIVE): Remove.
9509         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
9510
9511 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
9512
9513         * tree.c, tree.h (build_parse_node): Remove; was identical to
9514         build_nt.
9515         * c-lang.c (start_cdtor), objc/objc-act.c
9516         (build_module_descriptor): Use build_nt instead of
9517         build_parse_node.
9518
9519 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
9520
9521         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
9522         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
9523         not have any upper bits set.
9524
9525 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
9526
9527         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
9528
9529 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9530
9531         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
9532
9533         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
9534
9535         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
9536         (integer_minus_one_node): Define.
9537
9538 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
9539
9540         * Makefile.in (bootstrap2-lean): Fix typo.
9541
9542 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9543
9544         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
9545         : Don't set fe_value.
9546         * cpplib.h (AVOID_LPASTE): New flag.
9547         (struct cpp_hashnode): Remove fe_value.
9548         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
9549         * cppmacro.c (builtin_macro): Don't set flags here.
9550         (replace_args): Set AVOID_LPASTE flag on first token of an
9551         argument, and the token following it.
9552         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
9553         macro expansion, and on the token following it.  Do it for
9554         builtins too.
9555         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
9556
9557 2001-01-27  Richard Henderson  <rth@redhat.com>
9558
9559         * config/alpha/t-ieee: Remove multilibbing.
9560         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
9561
9562 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9563
9564         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
9565
9566         * Makefile.in: Remove all dependencies on defaults.h.
9567         * builtins.c: Don't include defaults.h.
9568         * c-common.c: Likewise.
9569         * c-decl.c: Likewise.
9570         * c-pragma.c: Likewise.
9571         * c-typeck.c: Likewise.
9572         * combine.c: Likewise.
9573         * i386.c: Likewise.
9574         * frame-ia64.c: Likewise.
9575         * cppexp.c: Likewise.
9576         * crtstuff.c: Likewise.
9577         * dbxout.c: Likewise.
9578         * dwarf2out.c: Likewise.
9579         * dwarfout.c: Likewise.
9580         * emit-rtl.c: Likewise.
9581         * except.c: Likewise.
9582         * expr.c: Likewise.
9583         * final.c: Likewise.
9584         * frame-dwarf2.c: Likewise.
9585         * libgcc2.c: Likewise.
9586         * optabs.c: Likewise.
9587         * profile.c: Likewise.
9588         * sdbout.c: Likewise.
9589         * toplev.c: Likewise.
9590         * tradcif.y: Likewise.
9591         * tree.c: Likewise.
9592         * varasm.c: Likewise.
9593
9594 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9595
9596         * builtins.c (expand_builtin_fputs): Use size_one_node when
9597         transforming into fwrite.
9598
9599 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
9600
9601         * extend.texi (Attribute Syntax): New section.
9602
9603 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
9604
9605         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
9606         they didn't need fixing.
9607
9608 2001-01-27  Janis Johnson <janis@us.ibm.com>
9609
9610         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
9611         if appropriate.
9612         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
9613         to remove macro definitions that are duplicated from elfos.h.
9614
9615 2001-01-27  Richard Henderson  <rth@redhat.com>
9616
9617         * config/i386/sco5gas.h: Move ...
9618         * config/usegas.h: ... here.
9619         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
9620
9621 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
9622
9623         * c-typeck.c (struct constructor_stack): Add range_stack member.
9624         (really_start_incremental_init): Clear it.
9625         (push_init_level): Save constructor_range_stack and clear it if
9626         pushing explicit braces.
9627         (pop_init_level): abort if constructor_range_stack is non-zero at
9628         explicit closing brace.  Restore saved constructor_range_stack if
9629         not implicit.
9630
9631 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
9632
9633         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
9634         into register was forced into memory.
9635
9636 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
9637
9638         * Makefile.in: Remove uses of + before $(MAKE).
9639
9640 2001-01-26  Richard Henderson  <rth@redhat.com>
9641
9642         * stmt.c (cost_table): Remove.
9643         (COST_TABLE, cost_table_initialized): New.
9644         (estimate_case_costs): Use the later instead of the former.
9645         (balance_case_nodes): Likewise.
9646
9647 2001-01-26  Richard Henderson  <rth@redhat.com>
9648
9649         * alias.c (objects_must_conflict_p): Read-only slots may not
9650         conflict despite having the same type.
9651
9652 2001-01-27  Michael Hayes  <mhayes@redhat.com>
9653
9654         * loop.c (loop_giv_reduce_benefit): Copy mode size into
9655         int variable.
9656         (check_ext_dependant_givs): Initialise u_start_val and
9657         u_end_val.
9658         (load_mems): Make last_max_reg unsigned.
9659         (try_swap_copy_prop): Use INSN_P and initialise set.
9660
9661 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
9662
9663         * README.AVR : Removed.
9664
9665 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
9666
9667         * pa-64.h (text_section): Remove declaration.
9668
9669         * pa.md (return_internal): Remove mode on PIC register use.
9670
9671 2001-01-25  lars brinkhoff  <lars@nocrew.org>
9672
9673         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
9674         ASM_CLOSE_PAREN): fix typos.
9675
9676 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
9677
9678         * acconfig.h: Define `const' to the empty string if neither
9679         __STDC__ nor __cplusplus is defined.
9680         * config.in: Regenerated.
9681
9682 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
9683
9684         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
9685         * collect2.c (main): Delete importf.  Add ".obj" file extension.
9686         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
9687         (aix_std_libs): Add additional AIX libraries to skip.
9688         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
9689         * config/rs6000/aix51.h: New file.
9690
9691 2001-01-25  Michael Hayes  <mhayes@redhat.com>
9692
9693         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
9694         (loop_insn_emit_before): No longer static.
9695         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
9696         (loop_givs_rescan, load_mems): Likewise.
9697         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
9698         (maybe_eliminate_biv_1):
9699         (move_movables): Replace emit_call_insn_before with
9700         loop_call_insn_hoist.
9701         * loop.h (loop_insn_emit_before): Add.
9702         * unroll.c (copy_loop_body): Replace emit_insn_before with
9703         loop_insn_emit_before.
9704
9705 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
9706
9707         * diagnostic.c (fatal): Request preprocessed source.
9708
9709 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
9710
9711         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
9712         olddecl has argument types and newdecl has none, use the argument
9713         types from olddecl.
9714
9715 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
9716
9717         * dwarf2out.c (prefix_of): New function.  Determine longest common
9718         prefix of the two arguments.  The units are whole path components.
9719         (output_file_names): When adding a new directory find the one entry
9720         with the longest common prefix already in the list.  Artificially
9721         generate entry if there is none for this prefix.
9722         Fix test to check whether the zeroth directory entry is used.
9723
9724 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
9725
9726         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
9727         Changed all callers.  Take it into account when deciding if a
9728         previously loaded value matches.
9729
9730 2001-01-24  Richard Henderson  <rth@redhat.com>
9731
9732         * reload.c (find_reloads_subreg_address): Fail the substitution
9733         if the resulting address is insufficiently aligned.
9734
9735 2001-01-24  DJ Delorie  <dj@redhat.com>
9736
9737         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
9738         check the original operand's mode also.
9739         * simplify-rtx.c (simplify_ternary_operation): Ditto.
9740
9741 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
9742
9743         * c-parse.in (cast_expr): Move compound literals from here ...
9744         (primary): ... to here.  Use standard terminology "compound
9745         literal" instead of "constructor expression".
9746
9747 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
9748
9749         * gcc.1, cpp.1: Regenerate.
9750
9751 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
9752
9753         * calls.c (emit_library_call_value_1): Memory slot for
9754         pass-by-reference argument should have the mode of the argument,
9755         not of the pointer to it.
9756
9757 2001-01-24  Tom Tromey  <tromey@redhat.com>
9758
9759         * gcc.texi (G++ and GCC): Mention gcj manual.
9760         (Standards): Link to section of manual mentioning gcj/Java
9761         compatibility.
9762
9763 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
9764
9765         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
9766         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
9767         * tradcpp.c (main): Add -imacros or -include'd dependencies
9768         for -M*.
9769         * cpp.texi (-M, -MM): Document -M -include behaviour.
9770
9771 2001-01-24  Roger Collins <roger@ProProject.com>
9772
9773         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
9774
9775 2001-01-24  Will Cohen  <wcohen@redhat.com>
9776
9777         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
9778         whether registers are 32 bits or 64 bits in size.
9779
9780 2001-01-24  Ben Elliston  <bje@redhat.com>
9781
9782         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
9783
9784 2001-01-24  Richard Henderson  <rth@redhat.com>
9785
9786         * config/alpha/alpha.md (builtin_longjmp_internal): New.
9787         (builtin_longjmp): Use it instead of emit_indirect_jump.
9788
9789 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9790
9791         * bb-reorder.c (make_reorder_chain_1): Handle case where
9792         jump edge goes to the same block as the fallthru edge.
9793
9794 2001-01-23  Jim Wilson  <wilson@redhat.com>
9795
9796         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
9797         * frame.h (__ia64_personality_v1): Add prototype.
9798         * libgcc2.c (ia64_throw_helper): Change personality declaration to
9799         prototype form.  Add void * cast to first argument to personality
9800         call.
9801         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
9802         (asctoe113): Likewise.
9803         * config/ia64/frame-ia64.c: Include eh-common.h.
9804         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
9805         prototypes.
9806         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
9807         to dump parameter.
9808         (itanium_split_issue): Add prototype.
9809         (gen_nop_type): Ifdef out.
9810         (find_best_packet): Initialize best_packet.
9811         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
9812         result.
9813         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
9814         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
9815         (flushrs): Add explicit stop bit at end.
9816         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
9817         trailing \ to >.
9818
9819 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
9820
9821         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
9822         of EH symbols.
9823         * libgcc2.c (__terminate_func): Make variable static.
9824         (__terminate_set_func): New function to set __terminate_func.
9825         * libgcc2.h (__terminate_func_ptr): New typedef.
9826         (__terminate_set_func): New function.
9827
9828 2001-01-23  Richard Henderson  <rth@redhat.com>
9829
9830         * flow.c (init_propagate_block_info): Don't consider unchanging
9831         memories for dead frame store elimination.
9832
9833 2001-01-23  Richard Henderson  <rth@redhat.com>
9834
9835         * varasm.c (UNIQUE_SECTION): Move default implementation ...
9836         * defaults.h: ... here.
9837
9838 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9839
9840         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
9841
9842 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
9843
9844         * c-lex.c (lex_charconst): Fix typo: s/p/str.
9845
9846 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9847
9848         * rs6000.h (rs6000_return_addr): Move prototype from here...
9849         * rs6000-protos.h (rs6000_return_addr): ...to here.
9850         (rs6000_init_expanders): Delete prototype.
9851
9852 2001-01-23  Nick Clifton  <nickc@redhat.com>
9853
9854         * invoke.texi: Replace , with \, inside @gccoptlist macros.
9855         (Spec Files): Document %B and %j and %. and %v3 and %M and
9856         %{S*&T} spec switches.
9857
9858 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9859
9860         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
9861
9862 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
9863             Neil Booth  <neil@daikokuya.demon.co.uk>
9864
9865         * cpperror.c: Merge handlers of PEDWARN and WARNING.
9866         Have -Werror make pedantic warnings errors, like the
9867         rest of GCC.
9868
9869 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
9870
9871         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
9872
9873 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
9874
9875         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
9876         * integrate.c (expand_inline_function): Initialize them.
9877         (subst_constants): If changing COMPARE so that both its arguments
9878         will be VOIDmode and the comparison mode will be lost, note
9879         compare_mode.  Use the recorded compare_mode to optimize
9880         IF_THEN_ELSE.
9881
9882 2001-01-23  Jason Merrill  <jason@redhat.com>
9883
9884         * dwarf2out.c (new_die): Use xcalloc.
9885         (output_die): Abort rather than emit a local reference to offset 0.
9886
9887 2001-01-17  Andrew Haley  <aph@redhat.com>
9888
9889         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
9890         of a saved register; return NULL instead.
9891         (copy_reg): Take a pointer to a source register rather than a
9892         frame_state.
9893         (next_stack_level): Remember the address in the stack frame of all
9894         saved registers.
9895         Use the saved register pointer array as the source of the CFA.
9896         (throw_helper): Rewrite.  Unwind once rather than twice and keep
9897         track of saved registers as we go.
9898
9899 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9900
9901         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
9902         * c4x.c (c4x_legitimize_reload_address): Remove.
9903         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
9904         reload address for ldp(k) insn.
9905
9906 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
9907
9908         * pa.md (return_internal): Add a USE of the PIC register to ensure
9909         it is restored after each call.
9910         (return expander): Corresponding changes.
9911
9912 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9913
9914         * rs6000.h (INIT_EXPANDERS): Delete.
9915         (RETURN_ADDR_RTX): Call rs6000_return_addr().
9916         * rs6000.c (rs6000_override_options): Call *_machine_status from
9917         here...
9918         (rs6000_init_expanders): ...instead of here. Delete.
9919         (rs6000_mark_machine_status): New function.
9920         (rs6000_init_machine_status): Use xcalloc.
9921         (rs6000_return_addr): Generate RTX for the return address.
9922         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
9923         (rs6000_stack_info): Use it.
9924
9925 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
9926
9927         * gthr-win32.h: Include errno.h to get a declaration for
9928         EINVAL and _mingw.h if the target is mingw32.
9929
9930 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
9931
9932         * cpp.texi: Correct typos.
9933
9934 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9935
9936         * explow.c (probe_stack_range): Ensure value passed to
9937         stack_check_libfunc is ptr_mode, not Pmode.
9938
9939 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
9940
9941         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
9942         case, don't use operand_subword to calculate a SUBREG that is
9943         wider than a word.
9944
9945         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
9946
9947 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9948
9949         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
9950         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
9951         valid.  If not replace it by equivalent insns.
9952
9953 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9954
9955         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
9956         contains SYMBOL_REF, LABEL_REF and CONST_INT.
9957         (c4x_U_constraint, symbolic_address_operand): Likewise.
9958         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
9959         memory.
9960         (c4x_r11_set_p, c4x_check_laj_p): New functions.
9961         * c4x-protos.h (c4x_check_laj_p): Add prototype.
9962         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
9963         anulling slot because of silicon bug.
9964         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
9965
9966 2001-01-22  Alan Modra <alan@linuxcare.com.au>
9967
9968         * cppexp.c (parse_charconst):  Change `mask' type to agree
9969         with parse_escape.
9970
9971 2001-01-21  Richard Henderson  <rth@redhat.com>
9972
9973         * config/i386/i386.c (ix86_asm_file_end): Disable putting
9974         pic_label_name in a linkonce section.
9975
9976 2001-01-17  Philipp Thomas  <pthomas@suse.de>
9977
9978         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
9979         found in libintl.
9980         * configure: Regenerate.
9981
9982 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
9983
9984         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
9985         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
9986
9987 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
9988
9989         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
9990         If REVERSE nonzero then condition code in X must be reversed.
9991         (encode_section_info): Optimise if/else.
9992         (avr_function_value): Fix formatting.
9993
9994         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
9995         (difficult_branch): Likewise.
9996         (rvbranch): Likewise.
9997         (difficult_rvbranch): Likewise.
9998
9999         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
10000
10001         * config/avr/libgcc.S: Fix comment.
10002
10003 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10004
10005         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
10006
10007 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10008
10009         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
10010
10011 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10012
10013         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
10014         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
10015         * configure, config.in: Regenerate.
10016         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
10017         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
10018         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
10019         (doprint.o): New rule.
10020
10021 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
10022
10023         * c-typeck.c (digest_init): Handle boolean types as scalars.
10024
10025 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10026
10027         * stmt.c (expand_return): Don't return anything if size is zero.
10028         Delete redundant assignment to BYTES.
10029         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
10030
10031 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
10032
10033         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
10034         the same as the default library function names.
10035         * config/avr/avr.md: Document special characters after '%'.
10036         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
10037         knowing which of the call-used registers are really clobbered.
10038         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
10039         New.  Both quotient and remainder from one libgcc.S call.
10040         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
10041         clobber as few registers as possible.
10042         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
10043
10044 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10045
10046         * cppmacro.c (funlike_invocation_p): Don't move back up to the
10047         context of the top of the stack.
10048
10049 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
10050
10051         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
10052         (fixup_var_refs_insns): ...here.
10053
10054 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
10055
10056         * function.c (fixup_var_refs_insns): Break up into
10057         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
10058         [loop over entire insn list], and fixup_var_refs_insns_with_hash
10059         [loop over hash table entries].
10060         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
10061         fixup_var_refs_insns_with_hash, to match above changes.
10062
10063 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10064
10065         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
10066         (libgcc.a): Likewise.
10067         (stmp-multilib): Likewise.
10068         (STAGE2_FLAGS_TO_PASS): Likewise.
10069
10070 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
10071
10072         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
10073         temporary if no_new_pseudos.
10074
10075 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10076
10077         * cppinternals.texi: Update.
10078
10079 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
10080
10081         * arm.c (arm_init_builtins): Re-enable builtins.
10082
10083 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10084
10085         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
10086         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
10087         element to be null, and always expect an EXPR_LIST.
10088         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
10089         * sched-deps.c (sched_analyze_1): Likewise.
10090         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10091
10092         * regclass.c (max_set_parallel): New variable.
10093         (reg_scan): Take it into account in computation of max_parallel.
10094         (reg_scan_mark_refs, case SET): Compute it.
10095
10096         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
10097         args are REG.
10098         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
10099         * function.c (assign_parms): Use INTVAL for a CONST_INT.
10100
10101 2001-01-19  Jason Merrill  <jason@redhat.com>
10102
10103         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
10104         for the abstract instance of an inline function.
10105
10106 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
10107                           J"orn Rennecke <amylaar@redhat.com>
10108
10109         * reload1.c (move2add_note_store): Treat all registers directly or
10110         indirectly derived from a base register as members of the same set
10111         of values.
10112         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
10113         of base register into account.
10114
10115 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
10116
10117         * alias.c (find_base_value): Recognize TRUNCATE.
10118         (record_set): In PLUS case, invalidate if other summand is also a
10119         base value.
10120
10121 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10122
10123         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
10124         entry to be EXPR_LIST.
10125         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
10126         be an EXPR_LIST (but not null, which other code doesn't allow).
10127         (note_stores): Properly handle PARALLEL in SET.
10128         Recursively call for top-level PARALLEL.
10129         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
10130         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10131
10132         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
10133
10134 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10135
10136         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
10137         not pfile->skipping (== 0).
10138
10139 2001-01-17  Nick Clifton  <nickc@redhat.com>
10140
10141         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
10142         machine_status.
10143
10144 2001-01-17  Jim Wilson  <wilson@redhat.com>
10145
10146         * invoke.texi (IA-64 options): Improve.
10147
10148 2001-01-17  Tom Tromey  <tromey@redhat.com>
10149
10150         * invoke.texi (Optimize Options): Use `{}' to around @samp
10151         argument.
10152
10153 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
10154
10155         * invoke.texi (-fno-guess-branch-probability): New option.
10156
10157 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10158
10159         * combine.c (try_combine): Don't set i3_subst_into_i2 for
10160         case of making new double-word constant.
10161         Revert last change: instead just test i3_subst_into_i2.
10162
10163 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
10164
10165         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
10166         Use q constraints instead of r.
10167
10168 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
10169
10170         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
10171         (machine_function): Define.
10172         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
10173         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
10174         pa_free_machine_status): New functions.
10175         (override_options): Set {init,mark,free}_machine_status to above.
10176         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10177         PIC_OFFSET_TABLE_REGNUM_SAVED.
10178         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10179         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
10180         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
10181         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
10182         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
10183
10184 2001-01-15  DJ Delorie  <dj@redhat.com>
10185
10186         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
10187         (cpp.1): Ditto.
10188         (gcc.1): Ditto.
10189
10190 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10191
10192         * flow.c (propagate_one_insn): Make trying to delete a prologue
10193         or epilogue insn an ICE, not a warning.  Allow doing this if
10194         the current function returns with stack pointer depressed.
10195
10196         * combine.c (try_combine): If i3_subst_into_i2, properly check for
10197         I3 having more than one SET.
10198
10199 2001-01-16  Jim Wilson  <wilson@redhat.com>
10200
10201         * invoke.texi: Document IA-64 options.
10202
10203         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
10204         (fixup_errata): Delete TARGET_A_STEP use.
10205         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
10206         (TARGET_SWITCHES): Delete -ma-step option.
10207         * config/ia64/ia64.md (all FP patterns): Delete %B0.
10208         (movqicc_astep, movqi_internal_astep, movhicc_astep,
10209         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
10210         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
10211         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
10212         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
10213         Delete.
10214         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
10215         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
10216         cmovsi_internal): Delete ! TARGET_A_STEP check.
10217
10218 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10219
10220         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
10221         possibility to report bugs via postal mail. Change a URL and
10222         merge in a nearly duplicate statement...
10223         (Bug Reporting): ...from here.
10224         (Service): Refer to the Bug Reporting section instead of
10225         duplicating an URL.
10226         (Contributing): Remove trivial explanations concerning snapshots.
10227
10228 2001-01-16  Alan Modra <alan@linuxcare.com.au>
10229
10230         * cppmain.c (general_init): Don't use ANSI prototype.
10231
10232 2001-01-16  Tom Tromey  <tromey@redhat.com>
10233
10234         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
10235
10236 2001-01-16  Richard Henderson  <rth@redhat.com>
10237
10238         * config/i386/i386.h: Fix comment typo.
10239         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
10240         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
10241
10242 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10243
10244         * gcc.c:  Revert previous -fsyntax-only-related change; move
10245         to cp/g++spec.c.
10246
10247 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
10248
10249         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
10250         inmode after checking GET_CODE (op).
10251
10252 2001-01-16  Richard Henderson  <rth@redhat.com>
10253
10254         * flow.c (struct propagate_block_info): Add mem_set_list_len.
10255         (MAX_MEM_SET_LIST_LEN): New.
10256         (propagate_one_insn): Update mem_set_list_len.
10257         (invalidate_mems_from_autoinc): Likewise.
10258         (invalidate_mems_from_set): Likewise.
10259         (mark_used_regs): Likewise.
10260         (init_propagate_block_info): Likewise.  Stop collecting memories
10261         when we reach MAX_MEM_SET_LIST_LEN.
10262         (mark_set_1): Likewise.
10263
10264 2001-01-16  Richard Henderson  <rth@redhat.com>
10265
10266         * unroll.c (precondition_loop_p): Fail if no iteration
10267         variable found.
10268
10269 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10270
10271         * gcc.c:  When -fsyntax-only is given, do not complain about
10272         unused libraries.
10273
10274 2001-01-15  Richard Henderson  <rth@redhat.com>
10275
10276         * config/i386/i386.c (asm_output_function_prefix): Remove.
10277         (ix86_asm_file_end): New.
10278         (load_pic_register): Generate pic_label_name into a
10279         staticly allocated buffer.
10280         * config/i386/i386-protos.h: Update.
10281         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
10282         (ASM_FILE_END): New.
10283         * config/i386/i386afe.h: New file.
10284         * config.gcc (i?86-*-elf) [tm_file]: Use it.
10285         (i?86-*-{freebsd,linux*,moss*}): Likewise.
10286         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
10287         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
10288         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
10289         * config/i386/sco5.h (ASM_FILE_END): Likewise.
10290         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
10291
10292 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
10293
10294         * Makefile.in (install-man): Remove explicit dependency on
10295         $(srcdir)/gcc.1.
10296
10297         * configure.in, configure: Revert previous patch requiring perl
10298         5.6.0.
10299
10300 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
10301
10302         * toplev.c (flag_guess_branch_prob): New.
10303         (f_options): Add guess-branch-probability option.
10304         (rest_of_decl_compilation): Only estimate branch probability if
10305         flag set.
10306         (main): set flag_guess_branch_prob.
10307
10308         * flags.h (flag_guess_branch_prob): New.
10309
10310 2001-01-15  DJ Delorie  <dj@redhat.com>
10311
10312         * gcc.texi (Makefile): Add documentation for Makefile targets.
10313
10314 2001-01-15  Philip Blundell  <philb@gnu.org>
10315
10316         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
10317         (is_pic): Delete.
10318         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
10319         (is_pic): Delete declaration.
10320         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
10321         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
10322         * config/arm/arm.md (builtin_setjmp_receiver): New.
10323
10324 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10325
10326         * arm.c (use_return_insn): Don't try to determine the function type
10327         until after reload has completed.
10328         (arm_output_epilogue): Don't adjust the sp value recovered from the
10329         stack.
10330         (emit_multi_reg_push): Don't record dwarf information for the pc.
10331         * arm.md (eh_epilogue): The function type may have changed, so it
10332         needs to be recalculated.
10333         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
10334         unwind tables on arm/netbsd.
10335
10336 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10337
10338         * arm.md (cbranchsi4): Correct calculation of branch ranges.
10339         (negated_cbranchsi4): Likewise.
10340
10341 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10342
10343         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
10344         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
10345         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
10346         pass -mapcs-* options to assembler.
10347         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
10348         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
10349         (ASM_SPEC): Call subtarget_extra_asm_spec.
10350
10351 2001-01-15  Andreas Jaeger  <aj@suse.de>
10352
10353         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
10354         warnings.
10355         (ix86_expand_builtin): Likewise.
10356
10357         * gencodes.c (output_predicate_decls): Make i size_t to avoid
10358         warning about comparison between signed and unsigned.
10359
10360 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
10361
10362         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
10363
10364 2001-01-14  Ralf Baechle <ralf@gnu.org>
10365
10366         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
10367         SUBTARGET_CPP_SPEC apropriatly.
10368
10369 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
10370
10371         * varasm.c (make_decl_rtl): Fix typo in last change.
10372
10373 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
10374
10375         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
10376         linker supports the init_priority C++ attribute.
10377         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
10378         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
10379         linker does not support init_priority C++ attribute.
10380
10381 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
10382
10383         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
10384
10385 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10386
10387         * c-parse.in (finish_parse): Add comment about cpp_destroy.
10388         * cp/lex.c (finish_parse): Similarly.
10389         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
10390         Return the number of errors encountered.
10391         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
10392         * cppmain.c (main): Don't call cpp_destroy.
10393
10394 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
10395
10396         * configure.in: Require at least perl 5.6.0 to regenerate
10397         manpages.
10398         * configure: Regenerate.
10399
10400 2001-01-14  Richard Henderson  <rth@redhat.com>
10401
10402         * genrecog.c (DT_veclen_ge): New.
10403         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
10404         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
10405         (nodes_identical_1): Handle DT_veclen_ge.
10406         (write_cond, debug_decision_2): Likewise.
10407
10408 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
10409
10410         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
10411         with ...
10412         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
10413
10414 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10415
10416         * cppmain.c (do_preprocessing): New function; most of the old
10417         main.
10418         (main): Call it to do most of the work.
10419         (cb): Move from global scope to set_callbacks ().
10420         (setup_callbacks): Get the callback pointer.
10421         (general_init, printer_init): Clean up code and comments.
10422
10423 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
10424
10425         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
10426         compiling PIC.
10427
10428 2001-01-14  Kazu Hirata  <kazu@hxi.com>
10429
10430         * config/h8300/h8300.c (get_shift_alg): Update comments.
10431
10432 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10433
10434         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
10435         (alloc_page, ggc_alloc): Add casts to remove warnings.
10436
10437 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
10438
10439         * combine.c (simplify_comparison): Don't change `code' when
10440         can't reverse comparison.
10441
10442 2001-01-14  Richard Henderson  <rth@redhat.com>
10443
10444         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
10445         update all call sites.  Return true for all non-label constants.
10446
10447 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
10448
10449         * i386.c (ix86_expand_compare): Add bypass_test and second_test
10450         parameters.
10451         (ix86_expand_branch): Update.
10452         (ix86_expand_setcc): Update to handle multiple test conditions.
10453         (expand_int_movcc): Likewise.
10454         (expand_fp_movcc): Likewise.
10455         * i386-protos.h (ix86_expand_compare): New.
10456         * i386.md (andqi_?_slp, orqi_?_slp): New.
10457         (conditional trap expander): Update call to ix86_expand_compare.
10458
10459 2001-01-14  Richard Henderson  <rth@redhat.com>
10460
10461         * config/vax/vax.md: Use nonimmediate_operand instead of
10462         general_operand in destinations.
10463
10464         * config/vax/vax.md (indirect_jump): Use register_operand.
10465
10466         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
10467         * config/vax/vax.md (call_pop): Turn into an expander.
10468         (call_value_pop): Likewise.
10469         (call, call_value): New.
10470
10471 2001-01-14  Andreas Jaeger  <aj@suse.de>
10472
10473         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
10474         variables.
10475         (ix86_fp_compare_mode): Add unused attribute.
10476         (ix86_expand_fp_movcc): Remove unused variable.
10477         (ix86_expand_builtin): Make fcode unsigned.
10478
10479         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
10480         (expand_expr): Add cast to avoid signed warning.
10481         (store_field): Likewise.
10482         (store_constructor_field): Likewise.
10483         (store_constructor): Likewise.
10484         (store_expr): Likewise.
10485         (clear_storage): Likewise.
10486         (emit_group_store): Likewise.
10487         (emit_group_load): Likewise.
10488
10489 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10490
10491         * c-common.c: Move format checking code to ...
10492         * c-format.c: ... here.  New file.  Reorder some functions and
10493         declarations.
10494         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
10495         New functions.
10496         * c-common.h (decl_handle_format_attribute,
10497         decl_handle_format_arg_attribute): Declare.
10498         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
10499         (c-common.o): Adjust dependencies.
10500         (c-format.o): New list of dependencies.
10501
10502 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
10503
10504         * unroll.c (loop_iterations): If we cannot prove iteration variable
10505         is set once in each iteration, punt.
10506
10507 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
10508
10509         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
10510         (*strlenhi): Remove clobber (which was buggy) of output address.
10511
10512 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10513
10514         * Makefile.in (generated-manpages): Add gcc.1
10515         ($(srcdir)/gcc.1): New target.
10516         (maintainer-clean): Delete $(srcdir)/gcc.1.
10517         * gcc.texi: Add macros @gccoptlist and @gol.
10518         * invoke.texi: Include option summary in manpage.  Mark up option
10519         summary with @gccoptlist and @gol.  Use @r in one place where
10520         appropriate.
10521         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
10522         * gcc.1: Generate from invoke.texi.
10523
10524 2001-01-13  Richard Henderson  <rth@redhat.com>
10525
10526         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
10527         (struct page_entry): Add group member.
10528         (struct page_group): New.
10529         (struct globals): Add page_groups member.
10530         (alloc_anon): Only define for using mmap; remove valloc call.
10531         (page_group_index): New.
10532         (set_page_group_in_use): New.
10533         (clear_page_group_in_use): New.
10534         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
10535         (free_page, release_pages): Likewise.
10536         * configure.in (with-gc): Default to ggc-page always.
10537
10538 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
10539
10540         * reload1.c (replace_pseudos_in_call_usage): Use
10541         reg_equiv_constant and reg_equiv_address, and don't try
10542         regno_reg_rtx first.
10543
10544 2001-01-13  Richard Henderson  <rth@redhat.com>
10545
10546         * ggc-page.c (alloc_page): Round up allocation size to one page.
10547         Set e->order on extra pages.
10548
10549 2001-01-13  Richard Henderson  <rth@redhat.com>
10550
10551         * genrecog.c (nodes_identical): Expand commentary.
10552         (write_switch): Watch out for identical nodes.
10553
10554 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10555
10556         * cppfiles.c (_cpp_fake_include): New function.
10557         * cpphash.h (_cpp_fake_include): New.
10558         * cpplib.c (do_line): Call _cpp_fake_include when entering
10559         header files in preprocessed input.
10560         * cppmain.c (cb_pragma_implementation): Remove handling.
10561         (setup_callbacks): Don't register pragmas.
10562
10563 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10564
10565         * extend.texi: Udate for CPP.
10566
10567 2001-01-13  Andreas Jaeger  <aj@suse.de>
10568
10569         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
10570
10571         * regmove.c: Add prototype for replace_in_call_usage.
10572
10573 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10574
10575         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
10576         struct cpp_chunk, struct htab, struct toklist,
10577         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
10578         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
10579         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
10580         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
10581         (struct macro_args): Delete.
10582         * cpphash.h: See above.
10583
10584 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10585
10586         * cppmain.c (struct printer): Remove no_line_dirs.
10587         (options, cb): New.
10588         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
10589         : Use options rather than CPP_OPTION.
10590         (setup_callbacks): Use cb rather than pfile->cb.
10591         (main): No need to check for a buffer.  Use cpp_errors.
10592         (printer_init): Don't set no_line_dirs.
10593         (maybe_print_line): Use options not no_line_dirs.
10594         (cb_file_change): Don't call print_line if -P.
10595
10596 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10597
10598         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
10599         callbacks.
10600         * c-parse.in (finish_parse): Use cpp_errors.
10601         (__yylex): Use return value of cpp_pop_buffer.
10602         * cp/lex.c (finish_parse): Use cpp_errors.
10603         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
10604
10605 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
10606
10607         * README.AVR: URLs corrected.
10608
10609 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10610
10611         * c-decl.c (start_function): Don't warn if old prototype is builtin
10612         that's not in C's namespace.
10613         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
10614         (_bb): Add prototype for ctime.
10615         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
10616
10617 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
10618
10619         * i386.c (ix86_fp_comparison_arithmetics_cost,
10620         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
10621         ix86_fp_comparison_cost): New functions.
10622         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
10623         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
10624         two-branch sequences; make static.
10625         (ix86_use_fcomi_compare): Do decision according to the costs.
10626         (split_fp_branch): New.
10627         * i386.md (compare-and-branch patterns): Use split_fp_branch.
10628         * i386-protos.h (ix86_expand_fp_compare): Remove
10629         (ix86_split_fp_branch): Declare.
10630
10631         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
10632         and ix86_comparison_operator.
10633
10634         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
10635         to make it cheaper.
10636
10637         * i386.c (put_condition_code): Output properly the unordered/ordered
10638         compares in fp case.
10639         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
10640
10641         * tm.texi (REVERSE_CONDITION): Document.
10642         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
10643         in -ffast-math mode.
10644         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
10645
10646 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
10647
10648         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
10649
10650         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
10651         optimized away.
10652
10653         * config/sh/sh.c (mova_p): Fix test for mova_const.
10654
10655 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10656
10657         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
10658         cpp_get_options rather than dereferencing pfile and using
10659         CPP_OPTION.
10660         * scan-decls.c (scan_decls): Use return value of
10661         cpp_pop_buffer rather than CPP_BUFFER.
10662
10663 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10664
10665         * cppinit.c (cpp_handle_option): help_only is now part of the
10666         cpp_options structure.
10667         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
10668         cpp_set_callbacks): New functions.
10669         * cpplib.h (cpp_callbacks): Break out as a named structure.
10670         (cpp_options): Move help_only here from cpp_reader.
10671         (CPP_FATAL_ERRORS): Update to use cpp_errors.
10672         (cpp_errors, cpp_get_options, cpp_get_callbacks,
10673         cpp_set_callbacks): New prototypes.
10674         * cppmain.c (main): Update for help_only.
10675
10676 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10677
10678         * Makefile.in (info, maintainer-clean, install-info, uninstall):
10679         Also build and remove and install and uninstall c-tree.info and
10680         cppinternals.info.
10681         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
10682         ($(srcdir)/cppinternals.info): New target.
10683         * c-tree.texi: Change file name used when makeinfo used without -o
10684         from ir.info to c-tree.info.  Add info directory entry.
10685         * cppinternals.texi: Add info directory entry.
10686         * .cvsignore: Update.
10687
10688 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
10689
10690         * c-typeck.c (store_init_value): Don't require constant initializer
10691         elements with -pedantic -std=c99.
10692         (digest_init): Change error about non-constant initializer elements
10693         into pedwarn.
10694         (constructor_range_end): Remove.
10695         (constructor_incremental, designator_depth,
10696         designator_errorneous): New variables.
10697         (struct constructor_stack): Remove range_end, add incremental.
10698         (struct constructor_range_stack, constructor_range_stack): New.
10699         (struct initializer_stack): Add constructor_range_stack.
10700         (finish_init): Set it.
10701         (start_init): Likewise.  require_constant_elements for non-static
10702         trees only if not flag_isoc99.
10703         (really_start_incremental_init): Remove constructor_range_end, add
10704         constructor_incremental.
10705         (pop_init_level): Likewise.
10706         (push_init_level): Likewise.  If implicit and the subobject had some
10707         value set already, preinitialize the level with it.
10708         Warn about missing braces only if not pushing due to designators.
10709         (set_designator, push_range_stack): New functions.
10710         (set_init_label): Use them.
10711         (set_init_index): Likewise.  Remove constructor_range_end.
10712         Error if designator index is outside of array bounds.
10713         (add_pending_init): Compare values of purpose index trees, not the
10714         trees themselves.  Allow overwriting of already initialized element.
10715         Issue a warning if it had side-effects.
10716         (set_nonincremental_init, set_nonincremental_init_from_string): New
10717         functions.
10718         (pending_init_member): Rename to...
10719         (find_init_member): ...this function.  Call set_nonincremental_init
10720         if necessary.  Compare values of purpose index trees, not the trees
10721         themselves.  Return the actual value, not just non-zero if something
10722         is found.
10723         (output_init_element): Remove checks for duplicates.
10724         If field has zero size, only check the initializer for correctness.
10725         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
10726         if constructor_incremental is zero.  Change error about initializers
10727         not computable at load time into pedwarn.
10728         (output_pending_init_elements): Compare bit positions, not
10729         FIELD_DECLs to take into account zero-sized fields.
10730         (process_init_element): Use constructor_range_stack to fill all
10731         ranges in the designator lists from current level up.
10732         * extend.texi: Update documentation for labeled elements.
10733
10734 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
10735
10736         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
10737         to function usage for arguments passed by reference.  Optimize
10738         callee-copied arguments.
10739         * regmove.c (replace_in_call_usage): New function.
10740         (fixup_match_1): Call it.
10741         * cse.c (cse_insn): Canonicalize registers in function usage.
10742         * reload1.c (replace_pseudos_in_call_usage): New function.
10743         (reload): Call it.
10744
10745         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
10746         right version.
10747
10748 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
10749
10750         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
10751         not XEXP (tmp, 0).
10752
10753 2001-01-12  DJ Delorie  <dj@redhat.com>
10754
10755         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
10756         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
10757         targets.
10758
10759 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
10760
10761         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
10762         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
10763         -std options alongside references to -ansi.  Update some
10764         documentation for C99.
10765         * cpp.1: Regenerate.
10766
10767 2001-01-12  Andreas Jaeger  <aj@suse.de>
10768
10769         * haifa-sched.c (restore_line_notes): Remove argument block B
10770         since it's unused.
10771         * sched-ebb.c (schedule_ebb): Change caller.
10772         * sched-rgn.c (schedule_region): Likewise.
10773         * sched-int.h (restore_line_notes): Adjust prototype.
10774
10775         * loop.h: Remove wrong declaration of doloop_condition_get.
10776
10777 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
10778
10779         * extend.texi:  Move C++-extension-related node from the C section
10780         into the C++ section.
10781
10782 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
10783
10784         * extend.texi: Refer to an array of pointers to functions instead
10785         of one of functions.
10786
10787 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
10788                               Jan Hubicka  <jh@suse.cz>
10789
10790         * combine.c (reversed_comparison): Fix typo in last patch.
10791         Check X for NULL.
10792         (combine_reversed_comparison_code): Make static to follow
10793         prototype declaration.
10794
10795 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
10796
10797         * install.texi:  Remove misplaced duplicate entry.
10798
10799 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
10800
10801         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
10802
10803 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
10804
10805         * final.c: (leaf_function_p): Fix typo.
10806
10807 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
10808
10809         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
10810         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
10811         which you have.
10812         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
10813         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
10814         mmap_anon, and valloc is available.
10815         * ggc-page.c: Restructure ifdef logic to match new autoconf
10816         spec.  Don't throw away the test page in init_ggc.
10817
10818         * configure, config.in: Regenerate.
10819
10820 2001-01-12  Michael Hayes  <mhayes@redhat.com>
10821
10822         * loop.h (total_biv_increment): Constify iv_class pointer.
10823         (struct induction): Replace `mem_mode' with `mem' rtx.
10824         * unroll.c (total_biv_increment): Constify iv_class pointer.
10825         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
10826         (find_mem_givs, combine_givs_p): Likewise.
10827         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
10828
10829 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
10830
10831         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
10832         LastError.
10833         (__gthread_getspecific): Ditto.
10834
10835 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
10836
10837         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
10838         put_condition_code): Convert fp comparison codes to integer
10839         before handling.
10840         (ix86_expand_fp_compare): Postnote the fp comparison code converison
10841         to final.
10842
10843         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
10844         * i386-protos.h (no_comparison_operator): Kill.
10845
10846         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
10847
10848         * combine.c (REVERSIBLE_CC_MODE): Remove.
10849         (reversible_comparison_p): Remove.
10850         (combine_reversed_comparison_code): New.
10851         (reversed_comparison): New.
10852         (combine_simplify_rtx): Use
10853         combine_reversed_comparison_code/reversed_comparison instead
10854         of reversible_comparison_p.
10855         (simplify_if_then_else): Likewise.
10856         (simplify_set): Likewise.
10857         (simplify_logical): Likewise.
10858         (if_then_else_cond): Likewise.
10859         (known_cond): Likewise.
10860         (simplify_comparison): Likewise.
10861
10862 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
10863
10864         * builtins.c (std_expand_builtin_va_start): Handle varargs when
10865         sizeof (int) is larger than sizeof(__word__).
10866
10867 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10868
10869         * cppinit.c (do_includes): Fix typo.
10870
10871 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10872
10873         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
10874         in S_REGS does not occur because not all sources are possible
10875         when a S_REGS is a destination (sometimes needs a clobber).
10876         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
10877         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
10878         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
10879         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
10880         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
10881         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
10882         (lshrdi_const1, lshrsi3_const16): Likewise.
10883         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
10884         (*movhi_68hc12, *movqi_68hc12): Likewise.
10885         (movstrictqi): Make sure reloading in D_REGS as a destination
10886         does not happen.
10887
10888 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10889
10890         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
10891
10892 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10893
10894         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
10895         -D, -U and -A, and don't initialize the builtins.
10896         (do_includes): Error if -include or -imacros with -fpreprocessed.
10897         * cppmain.c (cb_define, cb_undef): Unconditionally process
10898         the callback.
10899         * tradcpp.c (main): Fix typo.
10900
10901 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
10902
10903         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
10904         (read_name_map): Use IS_ABSOLUTE_PATH.
10905         * tradcpp.c (get_filename): Likewise.
10906
10907 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10908
10909         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
10910         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
10911         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
10912         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
10913         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
10914         (cmphi_z_used): Don't use '@' for the output.
10915         (tstqi_z_used): Likewise.
10916         (cmpqi_z_used): Likewise.
10917         (one_cmplsi2): Likewise.
10918
10919 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
10920
10921         * config/sh/sh.c (barrier_align): Recognize branch around far
10922         branch and redundant insn.
10923
10924 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10925
10926         * invoke.texi: Restore documentation of the drivers' switches -MD
10927         and -MMD.
10928
10929 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
10930
10931         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
10932
10933         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
10934         check-objc//%): Support parallel testing of multilibs.
10935         (TESTSUITEDIR): Set to testsuite by default, but override for
10936         parallel testing.
10937         (check-gcc, check-g++, check-g77, check-objc): Enter
10938         $(TESTSUITEDIR).
10939
10940 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
10941
10942         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
10943         * sched-deps.c (deps_may_trap_p): Likewise.
10944         * basic-block.h: Remove a comment.
10945         * flow.c (PROP_POSTRELOAD): Remove.
10946         (update_life_info): Don't add it to prop_flags.
10947         (mark_set_1): Lose the code that was enabled by it.
10948
10949 2001-01-11  Michael Hayes  <mhayes@redhat.com>
10950
10951         * flow.c (flow_call_edges_add): New.
10952         * basic_block.h (flow_call_edges_add): New.
10953
10954 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
10955
10956         * reload1.c (move2add_note_store): Update reg_set_luid even if
10957         base reg remains the same.
10958
10959 2001-01-10  Nick Clifton  <nickc@redhat.com>
10960
10961         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
10962         machine_function structure to zero.
10963         Add prototypes for machine_status functions.
10964
10965 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
10966
10967         * c-common.h (CTI_VOID_LIST): Remove.
10968         (void_list_node): Likewise.
10969         * tree.h (TI_VOID_LIST_NODE): New enumeral.
10970         (void_list_node): New macro.
10971         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
10972         * config/i386/i386.c (ix86_init_builtins): Likewise.
10973         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
10974
10975 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
10976
10977         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
10978         * cppinit.c (cpp_start_read): Update comment, remove unneeded
10979         if statement.
10980         * tradcpp.c: Include mkdeps.h.
10981         (deps, print_deps_phony_targets, deps_append, output_deps,
10982         init_dependency_output, output_deps): New.
10983         (deps_buffer, deps_allocated_size, deps_size, deps_column,
10984         deps_output): Delete.
10985         (print_deps_missing_files): Rename deps_missing_files.
10986         (inhibit_output): Make global.
10987         (main): Delete inhibit_output, deps_stream, deps_target.
10988         Use mkdeps functionality in the same way as cpplib.  Remove
10989         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
10990         -M and -MM.  Remove old handling of deps via deps_out, and
10991         old reading of environment variables.
10992         (get_filename): Update to use deps_add_dep.
10993
10994 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
10995
10996         * output.h (make_function_rtl): Remove prototype.
10997         (make_decl_rtl): Likewise.
10998         * varasm.c (make_function_rtl): Remove.
10999         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
11000         than from a third parameter.
11001         * tree.h (make_decl_rtl): Remove last parameter.
11002         * c-decl.c (builtin_function): Remove last argument in call to
11003         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
11004         (start_function): Likewise.
11005         * except.c (call_get_eh_context): Likewise.
11006         * expr.c (emit_block_move): Likewise.
11007         (clear_storage): Likewise.
11008         * profile.c (output_func_start_profiler): Likewise.
11009         * toplev.c (rest_of_decl_compilation): Likewise.
11010         * objc/objc-act.c (create_builtin_decl): Likewise.
11011         (synth_module_prologue): Likewise.
11012         (generate_static_reference): Likewise.
11013         (build_selector_reference_decl): Likewise.
11014         (build_class_reference_decl): Likewise.
11015         (build_objc_string_decl): Likewise.
11016         (build_protocol_reference): Likewise.
11017
11018 2001-01-10  Richard Henderson  <rth@redhat.com>
11019
11020         * hwint.h: Revert yesterday's change.
11021
11022 2001-01-10  Nick Clifton  <nickc@redhat.com>
11023
11024         * function.h (save_machine_status): Delete.
11025         (restore_machine_status): Delete.
11026         Amend comment describing {init|mark|free}_machine_status.
11027
11028         * function.c (save_machine_status): Delete.
11029         (restore_machine_status): Delete.
11030         Amend comment describing {init|mark|free}_machine_status.
11031         (push_function_context_to): Remove invocation of
11032         save_machine_status.
11033         (pop_function_context_from): Remove invocation of
11034         restore_machine_status.
11035
11036         * emit-rtl.c (init_emit_once): Amend comment describing
11037         {init|mark|free}_machine_status.
11038
11039         * tm.texi (Per-Function Data): New node.  Describe the
11040         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
11041         function pointers.
11042
11043 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11044
11045         * cppinit.c (OPT_g): Remove.
11046         (cpp_handle_option): Update for removed -g3.
11047         (print_help): Update.
11048         * cpplib.h (struct cpp_options): Remove debug_output.
11049         * cppmain.c (setup_callbacks, cb_define): Update.
11050         * gcc.c (cpp_options): Translate -g3 to -dD.
11051
11052 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
11053
11054         * config/i960/i960.md: Change modifier to + on the zero_extract
11055         pattern after the (rotate -2 reg) canonicalization pattern.
11056
11057 2001-01-10  Richard Henderson  <rth@redhat.com>
11058
11059         * config/alpha/alpha.c (alpha_free_machine_status): New.
11060         (override_options): Install it.
11061         (alpha_mark_machine_status): Verify machine non-null.
11062         * config/i386/i386.c (ix86_free_machine_status): New.
11063         (override_options): Install it.
11064         (ix86_init_machine_status): Use xcalloc.
11065         (ix86_mark_machine_status): Verify machine non-null.
11066         * config/ia64/ia64.c (ia64_free_machine_status): New.
11067         (ia64_override_options): Install it.
11068         (ia64_mark_machine_status): Verify machine non-null.
11069
11070 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
11071
11072         * function.c (instantiate_virtual_regs): Instantiate virtual
11073         registers found in CALL_INSN_FUNCTION_USAGE.
11074
11075 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11076
11077         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
11078         equivalent to -ansi in disabling -Di386.
11079
11080 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
11081
11082         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
11083         new functions.
11084         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
11085
11086 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
11087
11088         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
11089
11090 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11091
11092         * invoke.texi: Document that -fcond-mismatch isn't supported for
11093         C++.
11094
11095 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11096
11097         * gcc.texi: Define macro gcctabopt.
11098         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
11099         @command, @env and @option in some places where appropriate.  Use
11100         @gcctabopt where appropriate.  Put URLs and email addresses inside
11101         @w.
11102
11103 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
11104
11105         * gcc.c (cpp_options): Set MD file name from output
11106         filename, if specified.
11107         (suffix_subst): New static variable.
11108         (do_spec): Clear it.
11109         (do_spec_1, case '.'): Handle new `%.suffix' spec.
11110         Clear it.
11111         (give_switch): Handle suffix_subst.
11112
11113 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11114
11115         * invoke.texi:  Fix another typo.
11116
11117 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11118
11119         * invoke.texi:  Fix typo.
11120
11121 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11122
11123         * c-lang.c (lang_hooks): Update.
11124         (lang_decode_option): Remove.
11125         (lang_init_options): Rename c_init_options.
11126         * toplev.c (main): Use lang_hooks for lang_init_options
11127         and lang_decode_option.
11128         * toplev.h (lang_hooks): Add 2 new hooks.
11129         * tree.h: Remove lang_init_options and lang_decode_option.
11130         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
11131         * cp/decl2.c: Similarly.
11132         * cp/lex.c (lang_init_options): Rename cxx_init_options.
11133         (lang_hooks): Update.
11134         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
11135         for consistency.
11136         (lang_init_options): Rename ffe_init_options.
11137         (lang_hooks): Update.
11138         (lang_decode_option): Remove.
11139         * java/lang.c (lang_init_options): Rename java_init_options.
11140         (lang_decode_option): Rename java_decode_option.
11141         (lang_hooks): Update.
11142         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
11143         (lang_decode_option): Rename objc_decode_option.
11144         (lang_hooks): Update.
11145
11146 2001-01-09  Nick Clifton  <nickc@redhat.com>
11147
11148         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
11149         (d30v_return_addr_rtx): Delete.
11150         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
11151         cfun->machine structure.
11152         (struct machine_function): Move to d30v.h
11153         (d30v_save_machine_status): Delete.
11154         (d30v_restore_machine_status): Delete.
11155         (d30v_init_machine_status): New Function.
11156         (d30v_mark_machine_status): New Function.
11157         (d30v_free_machine_status): New Function.
11158         (d30v_init_expanders): Use new functions.
11159         (d30v_return_addr): Use ra_rtx field in cfun->machine.
11160         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
11161         d30v_return_addr_rtx.
11162
11163         * config/d30v/d30v.h (struct_machine): Move here.
11164         Add eh_epilogue_sp_ofs field.
11165
11166         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
11167         field in cfun->machine structure.
11168
11169 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11170
11171         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
11172         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
11173         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11174
11175 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
11176
11177         * objc/lang-options.h: Remove bogus reference to
11178         Java trademark.
11179
11180 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11181
11182         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
11183         return the result.
11184
11185 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
11186
11187         * reload.c (find_reloads_address): Check for eliminable registers
11188         when substituting a constant expression for a pseudo.
11189
11190 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
11191
11192         * c-common.c (enum format_type): Add format_type_error.
11193         (decode_format_type): New function.
11194         (decl_attributes): Use it.
11195         (format_kind_info): Adjust comment.
11196
11197 2001-01-09  David O'Brien  <obrien@BSDi.com>
11198
11199         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
11200         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
11201         files in tm_file.
11202         * config/i386/gnu.h: Don't include required platform specific .h files,
11203         tm.h will do it instead.
11204         * config/i386/i386elf.h: Likewise.
11205         * config/i386/linux.h: Likewise.
11206         * config/i386/moss.h: Likewise.
11207         * config/mips/gnu.h: Likewise.
11208
11209 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11210
11211         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
11212         (rs6000-ibm-aix3.[01]*): Likewise.
11213         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
11214         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
11215         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
11216         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
11217         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
11218         (powerpc-*-eabiaix*): Likewise.
11219         (powerpc-*-eabisim*): Likewise.
11220         (powerpc-*-elf*): Likewise.
11221         (powerpc-*-eabi*): Likewise.
11222         (powerpc-*-rtems*): Likewise.
11223         (powerpc-*-linux*libc1): Likewise.
11224         (powerpc-*-linux*): Likewise.
11225         (powerpc-wrs-vxworks*): Likewise.
11226         (powerpcle-wrs-vxworks*): Likewise.
11227         (powerpcle-*-sysv*): Likewise.
11228         (powerpcle-*-elf*): Likewise.
11229         (powerpcle-*-eabisim*): Likewise.
11230         (powerpcle-*-eabi*): Likewise.
11231         (powerpcle-*-solaris2*): Likewise.
11232         * config/rs6000/aix31.h: Delete includes.
11233         * config/rs6000/aix3newas.h: Likewise.
11234         * config/rs6000/aix41.h: Likewise.
11235         * config/rs6000/aix43.h: Likewise.
11236         * config/rs6000/beos.h: Likewise.
11237         * config/rs6000/rtems.h: Likewise.
11238         * config/rs6000/sysv4.h: Likewise.
11239
11240 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11241
11242         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
11243         Change an argument mode of machine_mode to shift_mode of
11244         shift_mode.  Remove an extra error check.
11245         (emit_a_shift): Adopt to the new calling prototype of
11246         get_shift_alg.
11247         (function_prologue): Fix code for a monitor
11248         function.  Support H8/S.
11249         (function_epilogue): Do not output pop for a monitor function.
11250
11251 2001-01-09  Nick Clifton  <nickc@redhat.com>
11252
11253         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
11254         (setup_incoming_varargs): Use sysv_varargs_p field of the
11255         cfun->machine structure.
11256         (struct machine_function): Move to rs6000.h
11257         (rs6000_save_machine_status): Delete.
11258         (rs6000_restore_machine_status): Delete.
11259         (rs6000_init_machine_status): New Function.
11260         (rs6000_free_machine_status): New Function.
11261         (rs6000_init_expanders): Use new functions.
11262
11263         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
11264         export.
11265         (struct machine_function): Move here.
11266
11267         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
11268         sysv_varargs_p field of the cfun->machine structure.
11269
11270         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
11271         Remove prototype.
11272         (rs6000_restore_machine_status): Remove prototype.
11273
11274 2001-01-09  Richard Henderson  <rth@redhat.com>
11275
11276         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
11277         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
11278         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
11279         (sched_analyze_2, sched_analyze_insn): Likewise.
11280         (sched_analyze, init_deps): Likewise.
11281         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
11282         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
11283         (compute_block_backward_dependences): Update propagate_deps call.
11284
11285 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
11286
11287         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
11288
11289 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11290
11291         * cppinit.c (OPT_MD, OPT_MMD): Restore.
11292         (cpp_handle_option): Handle them.
11293         (cpp_post_options): Ensure one of -M or -MM is specified with
11294         any other -M? option.
11295         (init_dependency_output): Suppress output with -MG.
11296
11297 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11298
11299         * cpp.texi: Update.
11300         * invoke.texi: Update.
11301
11302 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
11303
11304         * sh.md (reload_outsf): Generate recognizable patterns for
11305         TARGET_SH3E.
11306
11307 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11308
11309         * c-lang.c (lang_hooks): Update.
11310         (lang_init): Rename c_init.
11311         (lang_finish): Remove.
11312         * toplev.c (compile_file): Use lang_hooks for lang_init ()
11313         and lang_finish ().
11314         * toplev.h (lang_hooks): Add init () and finish ().
11315         * tree.h (lang_init, lang_finish): Remove.
11316         * cp/tree.h (lang_init, lang_finish): Remove.
11317         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
11318         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
11319         lang_hooks): New.
11320         (lang_init, lang_finish): Remove.
11321         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
11322         (lang_hooks): Update.
11323         * java/lang.c (lang_init): Rename java_init.
11324         (lang_finish): Remove.
11325         (lang_hooks): Update.
11326         * objc/objc-act.c (lang_init): Rename objc_init.
11327         (lang_finish): Remove.
11328         (lang_hoooks): Update.
11329
11330 20001-01-09  Graham Stott  <grahams@redhat.com>
11331
11332         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
11333         after `ptr` is initialised.
11334
11335 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
11336
11337         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
11338         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
11339         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
11340         stack adjusts, instead of r3.
11341
11342 2001-01-09  Michael Hayes  <mhayes@redhat.com>
11343
11344         * flow.c (flow_loop_scan): Break out of ...
11345         (flow_loops_find) ... here.
11346         * basic-block.h (flow_loop_scan): New.
11347         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
11348         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
11349
11350 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
11351
11352         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
11353         macro_buffer_len.
11354         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
11355         realloc()ing macro_buffer.
11356
11357         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
11358         if it's wider than long and the target's long is wider than the
11359         host's.
11360
11361 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
11362
11363         Remove support for using UWIN as a host machine.
11364         * configure.in: Issue an error message.
11365         * configure: Regenerated.
11366         * config.gcc: Remove xm_* UWIN configury.
11367         * config/i386/xm-uwin.h: Remove.
11368
11369 2001-01-08  Nick Clifton  <nickc@redhat.com>
11370
11371         * config/v850/v850.c (ra_rtx): Delete.
11372         (v850_save_machine_status): Delete.
11373         (v850_restore_machine_status): Delete.
11374         (v850_init_machine_status): New function.
11375         (v850_mark_machine_status): New function.
11376         (v850_free_machine_status): New function.
11377         (v850_return_addr): Use ra_rtx field in machine structure.
11378         (v850_init_expanders): Use new functions.
11379
11380         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
11381         * config/v850/v850.c: Change arguments to v850_output+* functions
11382         to take a const char *, to avoid compile time warning.
11383         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
11384         (USER_LABEL_PREFIX): Redefine.
11385
11386 2000-01-08  Jim Wilson  <wilson@redhat.com>
11387
11388         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
11389         1 to unsigned HOST_WIDE_INT before left shift.
11390
11391 2001-01-08  Nick Clifton  <nickc@redhat.com>
11392
11393         * config/arm/arm.c (arm_mark_machine_status): Check to see if
11394         the machine structure has been allocated.
11395         (arm_free_machine_status): New function: Free the machine
11396         specific function structure.
11397
11398 2001-01-08  Richard Henderson  <rth@redhat.com>
11399
11400         * jump.c (simplejump_p): Revert last change.
11401
11402 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
11403
11404         * cppinit.c (init): Rename init_library.
11405         (cpp_create_reader): Update.
11406         * gcc.c (cpp_options): If -o given, use it as the target of
11407         any -M options.
11408
11409 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
11410
11411         * arm.c (arm_arch5e): New variable.
11412         (all_cores): XScale is a 5TE device.
11413         (arm_override_options): Set arm_arch5e.
11414         (arm_init_builtins): __builtin_prefetch is in arch5e.
11415         * arm.h (arm_arch5e): Declare it.
11416
11417         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
11418
11419         * arm.md (define_constants): Add defines for UNSPEC and
11420         UNSPEC_VOLATILE insns.  Update all users.
11421         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
11422         * arm.c (multi_register_push, note_invalid_constants)
11423         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
11424         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
11425         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
11426
11427 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
11428
11429         * jump.c (jump_optimize_1): Use reversed_comparison_code
11430         instead of can_reverse_comparison_p.
11431         (jump_back_p): Likewise.
11432         (invert_exp_1): Likewise.
11433         (thread_jumps): Likewise.
11434         * simplify-rtx.c (simplify_unary_operation): Likewise.
11435         (simplify_ternary_operation): Likewise.
11436         * cse.c (find_comparison_args): Convert to use
11437         can_reverse_comparison_p.
11438         (record_jump_equiv): Likewise.
11439
11440 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
11441
11442         * arm.h (HARD_REGNO_RENAME_OK): Delete.
11443         (EPILOGUE_USES): Define.
11444         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
11445         automatically stack the LR if it isn't live.
11446
11447 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
11448
11449         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
11450         properly.
11451
11452 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
11453
11454         * ggc-page.c (max_alignment): New structure.
11455         (MAX_ALIGNMENT): New macro.
11456         (init_ggc): Use it to round up the sizes in the
11457         extra_order_size_table.
11458
11459 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11460
11461         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
11462         after reload.
11463
11464 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11465
11466         * builtins.def (BUILT_IN_FPRINTF): New entry.
11467
11468         * c-common.c (c_expand_builtin_fprintf): New function.
11469         (init_function_format_info): Handle __builtin_fprintf.
11470         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
11471         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
11472
11473         * c-decl.c (duplicate_decls): Adjust comment.
11474
11475         * extend.texi (fprintf): Document new builtin.
11476
11477 2001-01-07  Richard Henderson  <rth@redhat.com>
11478
11479         * jump.c (simplejump_p): Recognize any single_set jump
11480         of the proper form.
11481
11482 2001-01-07  Richard Henderson  <rth@redhat.com>
11483
11484         * configure.in (slibdir): Accept an --with-slibdir option.
11485         Use "test" not "[" in configure.  Default to $(libdir).
11486
11487         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
11488         fix typo in rm -f.
11489         * config/t-aix43 (SHLIB_INSTALL): Likewise.
11490         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
11491         (SHLIB_LINK): Create links for the soname.
11492         * config/mips/t-iris6: Likewise.
11493         * config/sparc/t-slibgcc: Likewise.
11494         * config/sparc/t-slibgcc-sld: Likewise.
11495
11496 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
11497
11498         * config/i386/i386.c (constant_call_address_operand): Accept
11499         (const (plus (symbol_ref) (const_int))).
11500         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
11501         constant_call_address_operand.
11502
11503 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11504
11505         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
11506         and LONG_LONG_TYPE_SIZE > 32.
11507
11508 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11509
11510         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
11511         the previous change.
11512
11513 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
11514
11515         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
11516         New.
11517         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
11518         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
11519         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
11520         Declare.
11521
11522 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11523
11524         * fix-header.c (read_scan_file): s/pfile/scan_in/.
11525
11526 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11527
11528         * c-lang.c (c_post_options): Call cpp_post_options.
11529         * objc/objc-act.c (objc_post_options): Similarly.
11530         * cppmain.c (main): Similarly.
11531         * fix-header.c (read_scan_file): Similarly.
11532         * cppinit.c (cpp_start_read): Move option consistency checks
11533         to cpp_post_options.  Don't call init_dependency_output.
11534         If needed, add default target and main file dependency.
11535         (OPT_MD, OPT_MMD): Remove.
11536         (OPT_MF): New.
11537         (cpp_handle_option): Update for OPT_* changes.
11538         (cpp_post_options): New.
11539         (init_dependency_output): Command line -MF overrides environment
11540         variables.  Don't set default target etc.  Suppress output
11541         if dependencies are going to stdout.
11542         (print_help): Update.
11543         * cpplib.h (cpp_post_options): New.
11544         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
11545
11546 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
11547
11548         * jump.c (comparison_dominates_p): Support unordered compares.
11549
11550 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
11551
11552         * simplify-rtx.c (simplify_relational_operation): Always simplify
11553         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
11554         and UNGE.
11555
11556 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
11557
11558         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
11559         (nonzero_bits): Likewise.
11560         (simplify_comparison): Likewise.
11561         (num_sign_bit_copies): Likewise; return more sane value depending
11562         on STORE_FLAG_VALUE.
11563         (known_cond): Do not assume EQ to be always true for equivalent
11564         operands.
11565
11566 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
11567
11568         * cse.c (fold_rtx): Handle unordered comparisons.
11569
11570 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
11571
11572         * rtlanal.c (set_of_1): New static function.
11573         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
11574          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
11575          reg_set_last_last_regno): Remove.
11576         (set_of): New global function.
11577         (set_of_data): New structure.
11578         (reg_set_p, reg_set_last): Revamp for set_of.
11579         * rtl.h (set_of): New.
11580
11581 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
11582
11583         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
11584         * extend.texi: Document _Exit builtin.
11585
11586 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11587
11588         * (initialize, initialize_builtins,
11589         initialize_dependency_output, initialize_standard_includes):
11590         Rename s/initialize/init. Update.
11591         (init_dependency_output): Move to after
11592         cpp_handle_options, the correct location temporally at least.
11593         (opt_comp): Move next to init (), its caller.  Fix prototype.
11594         (init): Make "initialized" local scope.
11595         (cpp_create_reader): Always call init ().
11596         (cpp_start_read): Update.
11597         (output_deps): New function, broken out of cpp_finish.
11598         (cpp_finish): Break out output_deps.
11599
11600 2001-01-07  Richard Henderson  <rth@redhat.com>
11601
11602         * collect2.c (COFF specific stuff): Revert 12-06 patch
11603         to prototype system functions.
11604
11605 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11606
11607         * hard-reg-set.h: Add multiple include guard.
11608         * basic-block.h (struct loop): Add `sink' field.
11609         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
11610         (emit_iv_add_mult): Delete.
11611         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
11612         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
11613         (unroll_loop): Remove end_insert_before argument.
11614         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
11615         (maybe_eliminate_biv_1): Likewise.
11616         (emit_iv_add_mult): Delete.
11617         (gen_add_mult, loop_regs_update): New.
11618         (loop_insn_emit_after, loop_insn_emit_before): New.
11619         (loop_insn_sink, loop_insn_sink_or_swim): New.
11620         (emit_iv_add_mult): Delete.
11621         (scan_loop): Set loop->sink.
11622         (loop_givs_reduce): Use loop_insn_sink and its ilk.
11623         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
11624         (maybe_eliminate_biv_1): Likewise.
11625         (maybe_eliminate_biv_1): Add basic block argument.
11626         * unroll.c (unroll_loop): Remove end_insert_before argument.
11627         (find_splittable_regs): Likewise.
11628         (find_splittable_regs): Use loop_insn_sink and its ilk.
11629         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
11630
11631 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11632
11633         * loop.h (loop_insn_hoist): New prototype.
11634         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
11635         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
11636         (check_dbra_loop, load_mems): Likewise.
11637         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
11638         (find_splittable_givs): Likewise.
11639
11640 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11641
11642         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
11643
11644 2001-01-07  Richard Henderson  <rth@redhat.com>
11645
11646         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
11647
11648 2001-01-07  Richard Henderson  <rth@redhat.com>
11649
11650         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
11651         NO_SHARED_LIBGCC_MULTILIB as required for the target.
11652         * gcc.c (init_spec): Massage the existing libgcc_spec into a
11653         variant that handles a shared libgcc.
11654         (process_command): Always validate -{static,shared}-libgcc.
11655         (do_spec_1): New 'M' case.
11656         * invoke.text (Link Options): Document -{static,shared}-libgcc.
11657
11658 2001-01-07  Richard Henderson  <rth@redhat.com>
11659
11660         * Makefile.in (slibdir): New variable.
11661         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
11662         (installdirs): Create slibdir.
11663         (install-libgcc, install-multilib): Defer to libgcc.mk.
11664         * configure.in (slibdir): Substitute.
11665         * mklibgcc.in (install): New target.
11666
11667         * config/t-linux (SHLIB_LINK): Create links for the soname.
11668         (SHLIB_INSTALL): New.
11669         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
11670         * config/mips/t-iris6 (SHLIB_INSTALL): New.
11671         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
11672         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
11673         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
11674
11675 2001-01-07  Richard Henderson  <rth@redhat.com>
11676
11677         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
11678         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
11679         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
11680
11681 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11682
11683         * loop.c (count_loop_regs_set): Delete.
11684         (load_mems_and_recount_loop_regs_set): Delete.
11685         (loop_regs_scan): Merge common code from count_loop_regs_set,
11686         scan_loop, and load_mems_and_recount_loop_regs_set.
11687         (scan_loop): Call load_mems directly and loop_regs_scan
11688         again if new registers created.
11689
11690 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11691
11692         * toplev.c (main): Call the front-end specific post_options
11693         hook if one is given.
11694         * toplev.h (struct_lang_hooks, lang_hooks): New.
11695         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
11696         for the C front end.
11697         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
11698         lang_hooks for the C++ front end.
11699         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
11700         lang_hooks for the ObjC front end.
11701         * f/com.c (lang_hooks): Hooks for the Fortran front end.
11702         * java/lang.c (lang_hooks): Hooks for the Java front end.
11703
11704 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11705
11706         * c-lex.c (init_c_lex): Request #define / #undef callbacks
11707         for verbose DWARF[2] debugging.
11708         (cb_define, cb_undef): The new callbacks.
11709         * toplev.h (debug_define, debug_undef): Make const correct.
11710         * toplev.c (debug_define, debug_undef): Similarly.  Do not
11711         perform the verbosity tests here anymore.
11712
11713 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
11714
11715         * reload.c (subst_reloads): Take INSN argument.  When
11716         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
11717         * reload.h (subst_reloads): Adjust prototype.
11718         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
11719         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
11720         present in JUMP_INSNs and copy them to JUMP_LABEL.
11721         * flow.c (find_label_refs, find_basic_blocks_1): Skip
11722         JUMP_INSNs and insns with REG_LABELs that are followed by
11723         JUMP_INSNs with the same REG_LABEL.
11724         * sched-rgn.c (is_cfg_nonregular): Likewise.
11725         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
11726         note is available.
11727         * unroll.c (unroll_loop): Look for REG_LABEL notes in
11728         JUMP_INSNs too.
11729         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
11730
11731 2001-01-06  Richard Henderson  <rth@redhat.com>
11732
11733         * loop.c (scan_loop): Use xcalloc for the regs array.
11734         (load_mems_and_recount_loop_regs_set): Zero the new memory
11735         received from xrealloc.
11736
11737 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
11738
11739         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
11740
11741 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
11742
11743         * integrate.c (copy_rtx_and_substitute): When copying
11744         an ignored return value, strip REG_FUNCTION_VALUE_P.
11745
11746 2001-01-06  Michael Hayes  <mhayes@redhat.com>
11747
11748         * loop.c (debug_biv, debug_giv): New.
11749         (loop_biv_dump): Break out from ...
11750         (record_biv): ... here.
11751         (loop_giv_dump): Break out from ...
11752         (record_giv): ... here.
11753         (loop_bivs_check): Use print_simple_rtl.
11754         * unroll.c (loop_iterations): Use print_simple_rtl.
11755
11756 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11757
11758         * pa.md (return, return_internal): Modify patterns to prevent regrename
11759         mucking with the return pointer.
11760
11761 2001-01-05  Richard Henderson  <rth@redhat.com>
11762
11763         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
11764
11765 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
11766
11767         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
11768         version supplied by Matteo Frigo.
11769
11770 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11771
11772         * cpp.texi: Update for -MQ.
11773         * cppinit.c (cpp_create_reader): Always create pfile->deps.
11774         (cpp_cleanup): Always free pfile->deps.
11775         (initialize_dependency_output): Don't create pfile->deps.
11776         (cpp_handle_option): Similarly.
11777         (OPT_MQ): New.
11778         * gcc.c (cpp_options): Handle -MQ.
11779         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
11780         * mkdeps.c (base_name): Remove.
11781         (deps_init): Don't allocate vector space until it's needed.
11782         (deps_free): Only free vectors if allocated.
11783         (deps_add_target, deps_add_dep): Update for initial allocation.
11784         (deps_add_default_target): Don't strip to the base_name.
11785
11786 2001-01-05  DJ Delorie <dj@redhat.com>
11787
11788         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
11789         (INIT_EXPANDERS): Define.
11790
11791         * config/v850/v850.c (struct machine_function): Define.
11792         (v850_save_machine_status): New function.
11793         (v850_restore_machine_status): New function.
11794         (v850_return_addr): New function.
11795         (v850_init_expanders): New function.
11796
11797         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
11798         and v850_init_expanders.
11799
11800 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
11801
11802         * cpplib.h (struct cpp_reader): Add help_only field.
11803         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
11804         (cpp_handle_option): Set pfile->help_only if we see -h,
11805         --help, -target-help, or --version.  Print version string but
11806         do not set help_only if we see -v or -version.  Make text
11807         printed by -v match that printed by (-)-version.
11808
11809         * cppmain.c (main): Exit after option parsing if
11810         pfile->help_only is true.
11811
11812         * toplev.c (independent_decode_option): Call print_version,
11813         then exit, if we see --version (but not -version).
11814         (print_version): Split lengthy message into two lines.
11815
11816 2001-01-05  Nick Clifton  <nickc@redhat.com>
11817
11818         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
11819         temporary string for initialisation before calling ggc_alloc_string.
11820
11821 2001-01-06  Michael Hayes  <mhayes@redhat.com>
11822
11823         * rtl.h (print_simple_rtl): New.
11824         * print-rtl.c (print_simple_rtl): New.
11825         (flag_simple): New.
11826         (print_rtx): Disable printing of flags and modes, etc.,
11827         if `flag_simple` nonzero.
11828
11829 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
11830
11831         * function.c (fixup_var_refs): Use push_to_full_sequence where
11832         possible.
11833
11834 2001-01-05  Michael Meissner  <meissner@redhat.com>
11835
11836         * flags.h (flag_reorder_blocks): Add declaration.
11837         (flag_rename_block): Ditto.
11838
11839 2001-01-05  DJ Delorie  <dj@redhat.com>
11840
11841         * function.c (reorder_blocks): Make sure the flags are all reset
11842         before using them to mark blocks, else a second invocation will
11843         corrupt the block chain.
11844         (reorder_blocks_0): New, resets the flags.
11845
11846 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
11847
11848         * cse.c (find_comparison_args): Stop if the argument is known to
11849         be constant.
11850
11851 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
11852
11853         * config/sh/sh.md (movdf): When splitting load into pair of
11854         registers, don't clobber the register used in the address too
11855         early.
11856
11857 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
11858
11859         * varasm.c (mark_constant_pool): Improve initial comments.
11860         (mark_constants): Move marking of constants to mark_constant.
11861         (mark_constant): New function to recursively mark all constants
11862         referred to by a constant.
11863
11864 2001-01-05  Catherine Moore  <clm@redhat.com>
11865
11866         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
11867
11868 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
11869
11870         * cp/lang-options.h:  Bring comment in line with reality.
11871         * f/lang-options.h:  Likewise.
11872         * java/lang-options.h:  Likewise.
11873         * objc/lang-options.h:  Likewise.
11874         * ch/lang-options.h:  Likewise.
11875         * f/g77.texi:  And update the manual.
11876
11877 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
11878             Denis Chertykov  <denisc@overta.ru>
11879
11880         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
11881         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
11882         * config/avr/avr.md (all peepholes that request a scratch register):
11883         Call it, FAIL the peephole if not safe (in interrupt functions).
11884
11885 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
11886
11887         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
11888
11889 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
11890
11891         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
11892         Define.
11893         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
11894         BUILT_IN_CREAL and BUILT_IN_CIMAG.
11895         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
11896         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
11897         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
11898         BUILT_IN_CIMAG.
11899         * extend.texi: Document these builtins.
11900
11901 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
11902
11903         * c-common.c (lang_get_alias_set): Say we know nothing of
11904         VECTOR_TYPE aliasing.
11905
11906         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
11907
11908 2001-01-05  Bruce Korb  <bkorb@gnu.org>
11909
11910         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
11911         their x* equivalent versions for atexit-less systems
11912         * fixinc/fixincl.c(main): do not return from main() on atexit-less
11913         systems (or any other system any more).
11914
11915 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
11916
11917         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
11918         output operands.  Use arm_hard_register_operand for operand 4.
11919         (stmsi_postinc): Similarly.
11920         (ldmsi): Use arm_hard_register_operand for opernand 2.
11921         (stmsi): Similarly.
11922         * arm.c (arm_hard_register_operand): New function.
11923         * arm-protos.h (arm_hard_register_operand): Prototype it.
11924
11925         * arm.h (HARD_REGNO_RENAME_OK): Define.
11926
11927 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
11928
11929         * simplify-rtx.c (cfc_args): add "unordered" field.
11930         (check_fold_consts): Set unordered field.
11931         (simplify_relational_operation): Simplify the unordered
11932         comparisons.
11933
11934         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
11935         is valid.
11936
11937         * emit-rtl.c (try_split): Fix code to mark labels.
11938         * jump.c (mark_jump_label): Make global.
11939         * rtl.h (mark_jump_label): Declare.
11940
11941         * predict.c (estimate_probability): Handle unordred comparisons.
11942
11943 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11944
11945         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
11946         * cppinit.c (initialize_dependency_output):  Update.
11947         (cpp_finish): Output dummy targets for -MP.
11948         (OPT_MP): New.
11949         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
11950         * cpplib.h (struct cpp_options): Add deps_phony_targets.
11951         * gcc.c (cpp_options): Update to handle -MP.
11952         * mkdeps.c (deps_add_target, deps_add_default_target): Update
11953         to quote only the default target.
11954         (deps_phony_targets): Insert a preceding newline.  Rename from
11955         deps_dummy_targets for consistency.
11956         * mkdeps.h: Update
11957
11958 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
11959
11960         * calls.c (emit_library_call_value_1): Support
11961         INIT_CUMULATIVE_LIBCALL_ARGS.
11962         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
11963
11964 2001-01-04  Richard Henderson  <rth@redhat.com>
11965
11966         * c-decl.c (finish_struct): Detect flexible array members
11967         used in an inappropriate context.
11968         * c-typeck.c (really_start_incremental_init): Special case
11969         constructor_max_index for zero length arrays.
11970         (pop_init_level): Allow initialization of flexible array
11971         members.  Deprecate initialization of zero length arrays.
11972         Don't issue missing initializer warning for flexible array
11973         members or zero length arrays.
11974         (process_init_element): Don't dereference null DECL_SIZE.
11975         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
11976         Don't abort for empty constructors.  Use size_binop
11977         (output_constructor): Add commentary regarding zero length
11978         array futures.  Abort if we try to initialize an array of
11979         unspecified length with a non-empty constructor in the middle
11980         of a structure.
11981
11982         * extend.texi (Zero Length): Update and clarify documentation
11983         on static initialization.
11984
11985 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11986
11987         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
11988         with more than 32767 words of local storage.
11989
11990 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11991
11992         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
11993         for 'abs', 'labs', and 'fabs'.
11994         (c4x_expand_builtin): Likewise.
11995         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
11996
11997 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
11998
11999         * config/sh/sh.md (prget, prset): New insn types.
12000         (return delay slot): Dont' allow prset.
12001         (call, sfunc delay slot): Don't allow prget.
12002         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
12003         for prset and prget.
12004
12005 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12006
12007         * loop.h (struct loop_reg): New.
12008         (struct loop_regs): Change to use array of `struct loop_reg'.
12009         * loop.c: Replace assortment of varrays with single regs array.
12010         (count_one_set): Delete may_not_move array argument
12011         and use regs array instead.  All caller's changed.
12012         (count_loop_regs_set): Delete may_not_move and single_usage
12013         arguments and use regs array instead.  All caller's changed.
12014         (find_single_use_in_loop): Replace usage array argument with pointer
12015         to regs structure.  All caller's changed.
12016         (loop_optimize): Delete `moved_once' array.
12017
12018 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12019
12020         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
12021         Use it instead of loop_info->has_call for scanning loop mems.
12022         (check_dbra_loop): Replace loop_info->has_call test with
12023         loop_info->has_nonconst_call.
12024
12025 2000-01-04  Matthew Hiller  <hiller@redhat.com>
12026
12027         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
12028         for TARGET_SH3E.
12029
12030 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12031
12032         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
12033         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
12034
12035 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12036
12037         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
12038         (flag_short_double, flag_short_wchar): Define.
12039         (c_common_nodes_and_builtins): Create many tree nodes shared
12040         between C and C++ here instead of in cp/decl.c and ...
12041         * c-decl.c (init_decl_processing): ... here.
12042         (SIZE_TYPE, WCHAR_TYPE): Don't define.
12043         (flag_short_double, flag_short_wchar): Don't define.
12044         (record_builtin_type): New function.
12045         (build_void_list_node): New function.
12046         * c-common.h (flag_short_double, flag_short_wchar,
12047         record_builtin_type, build_void_list_node): Declare.
12048
12049 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
12050
12051         * integrate.c (expand_inline_function): Don't put a virtual
12052         register into the reg map.
12053
12054         * function.c (fixup_var_refs_1): If force_operand didn't put
12055         the address into the target, move it there.
12056
12057 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12058
12059         Special-case tree_decl/tree_list allocations.
12060         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
12061         (OBJECT_SIZE): New macro.
12062         (NUM_EXTRA_ORDER): Likewise.
12063         (extra_order_size_table): New variable.
12064         (NUM_ORDERS): New macro.
12065         (objects_per_page_table): New variable.
12066         (object_size_table): New variable.
12067         (G.pages): Use NUM_ORDERS to bound the array.
12068         (G.page_tails): Likewise.
12069         (DIV_ROUND_UP): Remove.
12070         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
12071         (alloc_page): Use OBJECT_SIZE.
12072         (size_lookup): Don't make it const.
12073         (ggc_alloc): Use OBJECT_SIZE.
12074         (ggc_set_mark): Likewise.
12075         (ggc_get_size): Likewise.
12076         (init_ggc): Set up the object_size_table, objects_per_page_table,
12077         and adjust size_lookup.
12078         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
12079         (ggc_pop_context): Use NUM_ORDERS.
12080         (clear_marks): Likewise.
12081         (sweep_pages): Likewise.
12082         (poison_pages): Likewise.
12083         (ggc_print_statistics): Use OBJECT_SIZE.
12084
12085 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12086
12087         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
12088         Only call array_size_for_constructor if last field and array type
12089         with no upper bound.
12090
12091 2001-01-04  Philip Blundell  <philb@gnu.org>
12092
12093         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
12094         from bit 31 downwards, if this requires no more insns.
12095         (count_insns_for_constant): New helper function for above.
12096
12097 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
12098
12099         * gencodes.c (output_predicate_decls): Remove empty initializer.
12100
12101 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12102
12103         * tree.c (copy_node): Remove documentation about obstacks.
12104         (buidl1): Check that nobody tries to build 2-argument nodes this
12105         way.
12106
12107 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12108
12109         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
12110         fp_high_losum_p.
12111
12112         * gencodes.c (output_predicate_decls): Fill empty initializer
12113         braces.
12114
12115 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
12116
12117         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
12118         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
12119         or -MM.
12120         (do_include): Handle missing headers like cpp0.
12121         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
12122         paths with first include pathname.  Don't strcat to uninitialized
12123         string.
12124
12125 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
12126
12127         * regrename.c (regrename_optimize): Don't rename from frame pointer
12128         if frame_pointer_needed.
12129         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
12130         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
12131         (ia64_reorg): Use it instead of scheduling if ! optimize.
12132         (errata_emit_nops): Properly call asm_noperands.
12133         (ia64_sched_reorder): Finish cycle if we see an asm.
12134         (ia64_variable_issue): Clear scheduling state after asms.
12135
12136 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12137
12138         * cpp.texi: Update for -MT.
12139         * cppinit.c (initialize_dependency_output): Add a default
12140         target if none has been given already.
12141         (no_tgt, OPT_MT): New.
12142         (cpp_handle_option): Handle -MT.  Update -M etc.
12143         * cpplib.h (struct cpp_options): Remove deps_target.
12144         * gcc.c (cpp_options): Handle -MT.
12145         * mkdeps.c (struct deps): Move from mkdeps.h.
12146         (deps_calc_target): Rename deps_add_default_target.  Add a
12147         default target if none has been specified already.
12148         * mkdeps.h (struct deps): Move to mkdeps.c.
12149         (deps_calc_target): Rename deps_add_default_target.
12150
12151 2000-01-03  Richard Henderson  <rth@redhat.com>
12152
12153         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
12154         Remove dead code.
12155         * c-typeck.c (push_init_level): Move checks for flexible array
12156         members and zero length arrays ...
12157         (pop_init_level): ... here.  Silently discard empty initializations.
12158         Remove dead code.
12159         * varasm.c (output_constructor): Update for sizeof change to
12160         zero-length arrays.
12161
12162         * extend.texi (Zero Length): Clarify semantics.
12163
12164 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12165
12166         * configure.in (tm.h): Include isns-codes.h last.
12167         * configure: Rebuilt.
12168
12169 2001-01-03  Richard Henderson  <rth@redhat.com>
12170
12171         * config/alpha/alpha.md (addvsi3, addvdi3): New.
12172         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
12173
12174 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12175
12176         * tradcpp.c (main): Make sure finclude() is called with a valid
12177         indepth value while handling -include.
12178
12179 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12180
12181         * gencodes.c (output_predicate_decls): New function.
12182         (main): Call it.
12183         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
12184         even if it is not the first time machmode.h is #included.
12185         * config/sh/sh.c (fpul_operand): Declare MODE argument.
12186         * tm.texi (PREDICATE_CODES): Document predicate declarations.
12187         * gcc.texi (Copyright): Added 2001.
12188
12189 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12190
12191         * c-common.c (c_common_lang_init): New function.  Warn if format
12192         warning options which only have effects when used with -Wformat
12193         are used without -Wformat.
12194         * c-common.h (c_common_lang_init): Declare.
12195         * c-lang.c (lang_init): Call c_common_lang_init.
12196         * objc/objc-act.c (lang_init): Call c_common_lang_init.
12197
12198 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12199
12200         * configure.in: Check for the mktemp command.
12201         * configure: Regenerate.
12202         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
12203         $TEMP.  Create temporary files with mktemp, if available at
12204         configure time; otherwise use set -C.  Remove temporary files
12205         before exit.
12206
12207 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12208
12209         * configure.in: Require at least texinfo 4.0.  Check for whether
12210         Pod::Man is sufficiently recent to regenerate GCC manpages.
12211         * configure:  Regenerate.
12212         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
12213         on #!.
12214         (GENERATED_MANPAGES): Define.
12215         (generated-manpages): New target.  Depend on cpp.1 as well as
12216         gcov.1.
12217         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
12218         configure to generated-manpages or empty) rather than on the
12219         manpages directly.  Remove execute permission from installed
12220         gcov.1 as well as cpp.1.
12221         * cpp.1, gcov.1: Regenerate.
12222
12223 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12224
12225         * builtins.c (expand_builtin_strncmp): Use host_integerp and
12226         tree_low_cst.  Allow using cmpstrsi in more cases.
12227
12228 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12229
12230         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
12231         sized types.
12232
12233 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
12234
12235         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
12236         * Makefile.in (HOST_CFLAGS): Mention build-make.
12237
12238 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12239
12240         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
12241         as JUMP_INSN.
12242
12243 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
12244
12245         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
12246         a REG rtx.
12247
12248         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
12249         callers changed.
12250
12251         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
12252         reg_base_value and reg_known_value arrays.
12253         (init_alias_analysis): Add more cases to detect known values.
12254         * sched-deps.c (deps_may_trap_p): New function.
12255         (sched_analyze_2): Use it.
12256
12257 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12258
12259         * combine.c (simplify_shift_const): Even if we're sign-extracting,
12260         don't discard an ASHIFTRT if we're shifting in a wider mode.
12261
12262 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12263
12264         * toplev.c (rest_of_compilation): Don't print basic block information
12265         when CFG isn't up to date.
12266
12267 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
12268
12269         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
12270         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
12271         (UNALIGNED_SHORT_ASM_OP): Define.
12272         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
12273
12274 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12275
12276         * fold-const.c (fold_convert): Fix typo.
12277
12278 2001-01-02  Richard Henderson  <rth@redhat.com>
12279
12280         * c-common.h (ASM_INPUT_P): New.
12281         * c-parse.in (asm): Set it when needed.
12282         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
12283         existance of an operand.
12284
12285 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
12286
12287         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
12288         (dwarf2out_frame_debug_expr): Likewise.
12289         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
12290
12291 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
12292
12293         * i386.c (ix86_split_to_parts): Return number of part required;
12294         handle TFmodes.
12295         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
12296         TFmodes.
12297         (ix86_split_long_move): Use number of part returned
12298         by ix86_split_to_parts
12299         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
12300         New macros.
12301         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
12302         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
12303         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
12304         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
12305         (ALIGN_MODE_128): Add TFmode.
12306         (IS_STACK_MODE): Likewise.
12307         (HARD_REGNO_NREGS): TFmode needs 3 registers.
12308         (HARD_REGNO_OK): Support TFmodes.
12309         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
12310         * i386.md (scheduler definitions): Use memory operand to determine
12311         fst/fld instructions; use mode attribute to determine real mode of
12312         the instruction.
12313         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
12314         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
12315
12316 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12317
12318         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
12319
12320 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
12321
12322         * expr.c (store_constructor_field): Update ALIGN before calling
12323         store_constructor.
12324
12325 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
12326
12327         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
12328         host_integerp.
12329
12330 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
12331
12332         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
12333         incomplete type.
12334
12335 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
12336
12337         * c-decl.c (start_function): Don't warn on third parameter to main.
12338
12339 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12340
12341         * tsystem.h: Define HAVE_DECL_GETOPT.
12342
12343 2001-01-02  Philip Blundell  <pb@futuretv.com>
12344
12345         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
12346         of input operand.
12347
12348 2001-01-02  Richard Henderson  <rth@redhat.com>
12349
12350         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
12351
12352 2001-01-02  Andreas Jaeger  <aj@suse.de>
12353
12354         * c-decl.c (c_decode_option): Remove support of
12355         -Wmissing-noreturn.
12356
12357         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
12358         (W_options): Add -Wmissing-noreturn here.
12359
12360         * flow.c: Define lang_missing_noreturn_ok_p.
12361         (check_function_return_warnings): Use it.
12362
12363         * c-common.h: Declare lang_missing_noreturn_ok_p.
12364
12365         * c-lang.c (c_missing_noreturn_ok_p): New function.
12366         (lang_init): Set lang_missing_noreturn_ok_p.
12367
12368         * invoke.texi (Warning Options): Document this.
12369
12370 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
12371
12372         * extend.texi (C++ Extensions):  New node for C++ attributes;
12373         describe init_priority and com_interface.
12374         * invoke.texi:  Remove -finit-priority as it now has zero effect.
12375         * install.texi:  Fix xref syntax.
12376         * md.texi:  Likewise.
12377
12378 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12379
12380         * config.gcc (sparc64-wrs-vxworks*): New case.
12381         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
12382
12383         * config/sparc/sparc.c (sparc_override_options): Do support different
12384         pointer and architecture size.
12385         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
12386         (POINTERS_EXTEND_UNSIGNED): Define.
12387         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
12388         (FUNCTION_MODE): Define to be Pmode.
12389         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
12390
12391         * function.c (expand_function_end): Properly handle DECL_RESULT
12392         and copy when ptr_mode != Pmode.
12393         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
12394
12395 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12396
12397         * c-common.c (c_common_nodes_and_builtins): Set prototype
12398         parameters for __builtin_fputs, __builtin_fputc and
12399         __builtin_fwrite.  Don't declare plain fputc as a builtin.
12400
12401 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12402
12403         * loop.c (add_label_notes): Increment the label usage count when
12404         a note is added to an insn which refers to a CODE_LABEL.
12405         * gcse.c (add_label_notes): Likewise.
12406
12407 2001-01-01  Andreas Jaeger  <aj@suse.de>
12408
12409         * loop.c (scan_loop): Use xmalloc to allocate movables.
12410
12411 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
12412
12413         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
12414         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
12415         * reload1.c (REGISTER_MOVE_COST): Likewise.
12416         * regclass.c (REGISTER_MOVE_COST): Likewise.
12417         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
12418         dimension.  Adjust all users.
12419         (init_reg_sets_1): Iterate on all modes.
12420         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
12421         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
12422         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
12423         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
12424         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
12425         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
12426         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
12427         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
12428         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
12429         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
12430         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
12431         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
12432         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
12433         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
12434         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
12435         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
12436         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
12437         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
12438         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
12439         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
12440         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
12441         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
12442         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
12443         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
12444         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
12445         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
12446         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
12447
12448 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
12449
12450         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
12451         arg VARIES_P.  Call it with extra arg.
12452         (true_dependence): Likewise.
12453         * rtl.h (rtx_addr_can_trap_p): Declare.
12454         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
12455         prototypes.
12456         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
12457         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
12458         pic offset table register if it's zero.  All callers changed.
12459         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
12460
12461 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12462
12463         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
12464         STRING_POOL_ADDRESS_P.
12465
12466         * config/sparc/sparc.c (input_operand): Properly test for short op.
12467
12468         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
12469         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
12470         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
12471         * config/sparc/elf.h: No longer include sol2.h.
12472         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
12473         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
12474
12475         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
12476
12477 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12478
12479         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
12480         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
12481         (record_initial): Likewise.
12482         * unroll.c (copy_loop_body, loop_iterations): Likewise.
12483         (remap_split_bivs): Likewise.
12484
12485 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12486
12487         * loop.c (loop_ivs_free): New function.
12488         (strength_reduce): Break out from...
12489
12490 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12491
12492         * loop.h (struct iv): New.
12493         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
12494         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
12495         'reg_biv_class' fields with 'regs' and 'n_regs'.
12496         (struct ivs): Rename 'loop_iv_list' field to 'list'.
12497         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
12498         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
12499
12500 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
12501
12502         * resource.c (mark_referenced_resources): Abort() before
12503         attempting to mark a pseudo register.
12504         (mark_set_resources): Likewise.
12505
12506 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12507
12508         * loop.h (REG_IV_CLASS): New accessor macro.
12509         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
12510         * unroll.c (REG_IV_CLASS): Likewise.
12511
12512 See ChangeLog.4 for earlier changes.