OSDN Git Service

* doc/install.texi2html (MAKEINFO): Keep value if set already.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2
3         * doc/install.texi2html (MAKEINFO): Keep value if set already.
4
5 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
6
7         * doc/gcc.texi: Add trailing slash to URL.
8
9 2001-06-07  Stan Shebs  <shebs@apple.com>
10
11         * config/darwin.h (ENCODE_SECTION_INFO): Define.
12         (REDO_SECTION_INFO_P): Ditto.
13         (STRIP_NAME_ENCODING): Ditto.
14         (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
15         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
16         (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
17         (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
18         * config/darwin.c: No longer include c-tree.h.
19         (machopic_classify_ident): Rewrite to use symbol encoding.
20         (lookup_name_darwin): Remove.
21         (machopic_non_lazy_ptr_name): Handle encoded symbols.
22         (machopic_stub_name): Use STRIP_NAME_ENCODING.
23         (machopic_validate_stub_or_non_lazy_ptr): Ditto.
24         (machopic_finish): Ditto, remove test of decl.
25         (update_non_lazy_ptrs): New function.
26         (darwin_encode_section_info): New function.
27         * config/darwin-protos.h: Declare it.
28         * config/rs6000/rs6000.c (machopic_output_stub): Use
29         STRIP_NAME_ENCODING.
30         
31 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
32
33         * tree.h (DECL_SOURCE_FILE): Improve documentation.
34         (DECL_SOURCE_LINE): Likewise.
35
36 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
37
38         * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
39         from config/elfos.h.
40
41 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
42
43         * linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
44         * pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
45
46 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
47
48         * doc/contrib.texi: Add copyright notice.
49
50 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
51
52         * doc/md.texi: Use four digit years in copyright notice.
53
54 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
55
56         * config.gcc: For $target_alias of athlon-*, set
57         target_cpu_default2=5.
58
59 Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
60
61         * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
62         end of last block if last real insn is a JUMP_INSN.
63
64 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
65
66         * NEWS: Regenerate.
67
68 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
69
70         * gthr-posix.h (__gthread_objc_thread_detach): Simply cast
71         pthread_t to objc_thread_t.
72         (__gthread_objc_thread_id): Likewise.
73
74 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
75
76         * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
77         (ASM_OLDAS_SPEC): Likewise.
78
79         * alpha/osf.h (CPP_XFLOAT_SPEC): Define.
80         (CPP_SUBTARGET_SPEC): Use it.
81         (ASM_OLDAS_SPEC): Define.
82         (ASM_SPEC): Use it.
83         (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
84
85 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
86
87         * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
88         passed by reference.
89
90 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
91
92         * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
93         Document use of N_(...), and show it in examples.  Note that
94         documentation should be added to invoke.texi.  Avoid an overfull
95         hbox.
96
97 Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
98
99         * toplev.c (rest_of_compilation): Revert previous patch.
100         * final.c (shorten_branches): Likewise.
101
102 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
103
104         * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
105         Remove.
106
107 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
108
109         * doc/install-old.texi: Remove more obsolete documentation.
110
111 Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
112
113         * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
114
115 Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
116
117         * toplev.c (rest_of_compilation): Call split_all_insns
118         before reg-stack and shorten-branches. Do shorten-branches
119         after reg-stack.
120         * final.c (shorten_branches): Remove insn splitting code.
121
122 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
123
124         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
125         * configure: Rebuilt.
126
127 2001-06-07  Andreas Jaeger  <aj@suse.de>
128
129         * emit-rtl.c (operand_subword): Remove unused variable.
130
131 Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
132
133         * i386.md (floatdi?f): Avoid usinf of SSE instructions
134         if TARGET_64BIT is false.
135         (floatdi?f_i386_only): New insn.
136         (floatdi?f_i386): Disable for !TARGET_64BIT.
137
138         * (min?f, max?f splitters): Handle case where
139         operands are cross-matched.
140
141         * i386.h (HI_REGISTER_NAMES): Remove redundant definition
142         (MMX_REGISTER_NAMES): Kill.
143         (PRINT_OPERAND): Fix comment.
144         (PRINT_REG): Likewise.
145         * i386.c (print_reg): Kill support for 'm' CODE; simplify.
146         (print_operand): Update comment; kill 'm'.
147
148         * i386.c (x86_branch_hints): New global variable
149         (print_operand): Support outputting of branch prediction hints.
150         * i386.md (conditional jump patterns): Add branch prediction hints
151         to the template.
152         * i386.h (x86_branch_hints): Declare
153         (TARGET_BRANCH_PREDICTION_HINTS): New macro.
154         (PRINT_OPERAND_FUNCT_VALID_P): New.
155         * final.c (final_forward_branch_p): New function.
156
157 2001-06-06  Richard Henderson  <rth@redhat.com>
158
159         * flow.c (mark_used_reg): Clean up looping over multiple hard
160         registers.  Do conditional life bits across multiple hard regs.
161
162 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
163
164         * reload1.c (reload): Revert Schmidt's change so all USEs are not
165         deleted during reload.
166
167 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
168
169         * c-semantics.c (genrtl_scope_stmt): Write out nested inline
170         functions here, instead of ...
171         * c-decl.c (c_expand_body): ... here.
172
173 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
174
175         * config.gcc, config/sparc/bsd.h:  Do not directly include
176         sparc/sparc.h.  Instead do it via tm_file.
177
178 2001-06-05  Richard Henderson  <rth@redhat.com>
179
180         * dwarf2.h (DW_EH_PE_aligned): New.
181         * dwarf2asm.c (eh_data_format_name): Name it.
182         (dw2_asm_output_encoded_addr_rtx): Align for it.
183         * dwarf2out.c (output_call_frame_info): Handle it for personality
184         routine and LSDA pointers.
185
186         * unwind-pe.h (DW_EH_PE_aligned): New.
187         (base_of_encoded_value): Handle it.
188         (read_encoded_value_with_base): Likewise.
189         * unwind-dw2-fde.c (base_from_object): Likewise.
190         (get_cie_encoding): Likewise.
191
192         * config/alpha/elf.h: Remove ecoff commentary.
193         * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
194
195 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
196
197         * config.gcc, config/i386/bsd386.h:  Do not directly include
198         i386/386bsd.h.  Instead do it via tm_file.
199
200 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
201
202         * elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
203         way svr4.h does.
204
205 2001-06-05  Pascal Obry  <obry@act-europe.fr>
206
207         * configure.in: Quote $enable_win32_registry in case the value has
208         spaces in it.
209         * configure: Ditto.
210
211 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
212
213         * print-rtl.c (xspaces): Remove.
214         (print_rtx): Use printf field-width, rather than xpsaces, to
215         indent.
216         * toplev.c (main): Disable sibling-call optimization if we are
217         handling exceptions.
218         
219 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
220
221         * reload1.c (reload): Delete all USEs generated during reload.
222
223 2001-06-05  scott snyder  <snyder@fnal.gov>
224
225         * gccbug.in:  Fix typo.
226
227 2001-06-05  Andreas Jaeger  <aj@suse.de>
228
229         * builtins.def: Fix definition of __builtin_cosf, it uses float as
230         parameter and return value.
231
232 2001-06-04  Anthony Green  <green@redhat.com>
233
234         * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
235         machine.  This is now done in sparc.h.
236
237 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
238
239         Correct CVS resurrection of invoke.texi.
240         * doc/invoke.texi: Document new tree dump flags.
241
242 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
243
244         * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
245         for casting an aggregate to its own type.  Fixes PR c/2735.
246
247 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
248
249         * doc/texinfo.tex: Update to version 2001-05-24.08.
250
251 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
252
253         * c-common.h (flag_dump_translation_unit): Remove.
254         (enum tree_dump_index): Define.
255         (TDF_ADDRESS, TDF_SLIM): New #defines.
256         (dump_node_to_file): Remove.
257         (dump_node): Make extern. Add flags.
258         (dump_flag, dump_enabled_p, dump_begin, dump_end,
259         dump_switch_p): Prototype.
260         * c-common.c (flag_dump_translation_unit): Remove.
261         * c-decl.c (c_decode_option): Remove -fdump-translation-unit
262         logic. Use dump_switch_p.
263         * c-dump.h (struct dump_info): Add node and user fields.
264         (dump_pointer): Declare.
265         * c-dump.c (dump_node): Make extern. Add flags.
266         (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
267         (dump_new_line, dump_maybe_newline): Use them.
268         (dump_pointer): New function.
269         (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
270         chain or function's body. Dump address, if TDF_ADDRESS set.
271         (dump_flag): Define.
272         (dump_node_to_file): Remove.
273         (struct dump_file_info): New struct.
274         (dump_files): New array.
275         (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
276         * c-lang.c (finish_file): Adjust dumping.
277         * toplev.h (dump_base_name): Make extern.
278         * invoke.texi: Document new flags.
279
280 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
281
282         * c-tree.h (lang_decl): Add pending_sizes fields.
283         * c-decl.c (store_parm_decls): Save pending_sizes away for nested
284         functions.
285         (c_expand_body): Expand them.
286         (lang_mark_tree): Mark lang_decl:pending_sizes.
287         * function.c (expand_pending_sizes): New function, broken out
288         from ...
289         (expand_function_start): ... here.
290         * tree.h (expand_pending_sizes): Declare it.
291
292 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
293
294         * doc/install.texi: Update FreeBSD information.  Generalize
295         and update information for alpha-based platforms using ELF.
296
297 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
298
299         * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
300         (store_parm_decls): Likewise.
301         * c-typeck.c (convert_arguments): Likewise.
302
303 2001-06-04  Richard Henderson  <rth@redhat.com>
304
305         * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
306         optimization if current_function_calls_setjmp.
307
308 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
309
310         * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
311         wide strings.
312
313 Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
314
315         * simplify-rtx.c (simplify_subreg): Fix combining of
316         paradoxical subregs.
317
318 Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
319
320         * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
321         (no_labels_between_p): Short circuit case beg==end.
322
323 Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
324
325         * rtlanal.c (operand_preference): Fix preference for objects.
326
327 Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
328
329         * gcse.c (handle_avail_expr): Be prepared to handle single_set
330         parallels.
331
332 Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
333
334         * combine.c (if_then_else_cond): Use simplify_subreg instead
335         of operand_subword.
336         * integreate.c (sub_constants): Likewise.
337
338 Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
339
340         * emit-rtl.c (constant_subword): Deprecate; remove most of code
341         and use simplify_gen_subreg.
342
343 Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
344
345         * sibcall.c (skip_copy_to_return_value): recognize the situation
346         when the called function's return value is copied into an
347         intermediate pseudo, and then into the calling functions return
348         value register.
349
350 Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
351
352         * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
353         check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
354         in case register wasn't OK previously, accept it now; allow
355         subregs of frame pointer if reload completed and frame pointer
356         is not needed.
357
358         * combine.c (sombine_simplify_rtx): Fix comment;
359         use subreg_lowpart_offset instead of subreg_lowpart_p
360         (gen_lowpart_for_combine): Use subreg_lowpart_offset.
361         * rtl.h (subreg_lowpart_parts_p): Kill.
362         (subreg_lowpart_offset, subreg_highpart_offset): Declare.
363         * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
364         * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
365         (gen_lowpart_common): Likewise.
366         (subreg_lowpart_p): Likewise.
367         (subreg_lowpart_parts_p): Kill.
368         (subreg_lowpart_offset, subreg_highpart_offset): New function.
369
370         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
371         to simplify SUBREG and REG.
372         (gen_highpart): Use simplify_gen_subreg for all simplifications.
373
374         * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
375         CONCAT specially.
376
377         * rtlanal.c (replace_regs):  Use simplify_gen_subreg
378
379 Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
380
381         * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
382         (ARRAY_RANGE_REF): Added description.
383
384         * tree.def (ARRAY_RANGE_REF): New code.
385         * alias.c (handled_component_p, can_address_p): Handle it.
386         * dwarf2out.c (loc_descriptor_from_tree): Likewise.
387         * explow.c (set_mem_attributes): Likewise.
388         * expr.c (expand_assignment, get_inner_reference): Likewise.
389         (expand_expr, expand_expr_unaligned, do_jump): Likewise.
390         * fold-const.c (operand_equal_p): Likewise.
391         * tree.c (staticp, stabilize_reference): Likewise.
392         * varasm.c (decode_addr_const): Likewise.
393
394 Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
395
396         * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
397         (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
398
399 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
400
401         * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
402         mark_constant_pool_use before output_addr_const.
403         (struct pool_node): New field wend.
404         (add_constant): Note a sequence of constants that are referenced
405         by a given label.
406         (pool_window_label, pool_window_last): New variables.
407         (dump_table): Emit a unspec_volatile representing the end of a
408         sequence of constants.
409         (mark_constant_pool_use): New function.
410         * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
411         (consttable_2): Add the second operand which flags whether
412         this consttable entry was used or not.
413         (consttable_4, consttable_8, consttable_sf, consttable_df):
414         Likewise.
415         (consttable_window_end): New insn.
416
417 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
418
419         * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
420         Reformat according to coding standards.
421
422         Warning removal.
423         * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
424         (shl_and_kind): Cast wide constant.
425         (gen_far_branch): Define as static, as in declaration.
426         (barrier_align): Compute cache-line length as unsigned.  Add
427         parentheses in initial credit computation.
428         (rounded_frame_size): Add parentheses.
429         (permanent_obstack): Remove declaration.  Include ggc.h for
430         declaration of ggc_add_root_rtx().
431         (get_free_reg): Removed declaration of unused variable reg.
432         (legitimize_pic_address): Mark mode argument as unused.
433
434 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
435
436         * config/sh/sh.c (output_branch): Support for insn with lenght
437         attr 12 & 16 which represents cond branches outside +-4096 range.
438
439 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
440
441         * config/sh/lib1funcs.asm (ic_invalidate): Align the
442         cache-mirroring sequence.  Add nops.
443
444 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
445
446         * doc/install-old.texi: Remove more old installation
447         documentation.
448         * doc/install.texi: Add relevant parts here.
449
450 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
451
452         * doc/install.texi2html: New script.
453
454 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
455
456         * doc/install.texi: Update AIX information again.
457
458 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
459
460         * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
461         installation documentation.
462         * doc/install.texi: Move it to here.
463
464 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
465
466         * doc/install.texi: Clean up Texinfo markup.
467
468 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
469
470         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
471         to just after title page.
472
473 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
474
475         * doc/install-old.texi: Remove documentation of some configuration
476         options.
477         * doc/install.texi: Add relevant parts of this documentation here.
478
479 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
480
481         * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
482         Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
483
484 Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
485
486         * i386.md (all uses of ext_register_operand): Make sure they are
487         VOIDmode; replace all uses outside zero_extend.
488         (and?i splitters): Use ext_register_operands.
489         (test?i peep2): Remove ignored constraints.
490         * i386.c (ext_register_operand): Check that operand is
491         eighter pseudo or hard or 'Q' register.
492
493 Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
494
495         * tree.h (struct record_layout_info_s): New field unpadded_align.
496         (set_lang_adjust_rli): New declaration.
497         * stor-layout.c (layout_decl): If DECL is packed, but at alignment
498         it would have if not packed, do not downgrade DECL_ALIGN.
499         (lang_adjust_rli, set_lang_adjust_rli): New.
500         (start_record_layout): Initialize new field unpadded_align.
501         (debug_rli): Display it.
502         (place_union_field, place_field): Set it.
503         (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
504
505         * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
506         mean that; use proper names instead.
507         Print DECL_NO_STATIC_CHAIN.
508
509         * except.c (expand_builtin_frob_return_addr): Add missing call
510         to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
511         (expand_builtin_eh_return): Likewise.
512         (expand_eh_return): Clean up ptr_mode != Pmode cases.
513
514 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
515
516         * doc/invoke.texi: Remove references to papers about sequence points
517         to readings.html, refer to that page.
518
519 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
520
521         * README: Update references to installation instructions.
522
523 2001-06-01  Laurent Guerby  <guerby@acm.org>
524             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
525
526         * doc/install.texi: Define srcdir when sources come from CVS.
527         Significantly improve markup.  Wrap overly long lines
528
529 2001-06-01  DJ Delorie  <dj@redhat.com>
530
531         * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
532         extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
533         objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
534         gcov.1: Move to doc subdirectory.
535         * install.texi: Move to doc/install-old.texi.
536         * gcc.texi: Move to doc, refer to install-old.texi.
537         * Makefile.in: Reflect move of docs to doc/.
538         * f/Make-lang.in: Ditto.
539         * java/Make-lang.in: Ditto.
540         * doc/.cvsignore: New.
541
542 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
543
544         * invoke.texi: use two spaces between command options, eliminate
545         some 'overfull hboxes'
546
547 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
548
549         * Makefile.in (s-mlib): Make backtick-commands always succeed.
550         (DRIVER_DEFINES): Ditto.
551
552 2001-05-31  Richard Henderson  <rth@redhat.com>
553
554         * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
555         also link against libgcc.a.
556
557 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
558
559         * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
560         * config/mips/mips.c (mips_output_ascii): New function.
561         * config/mips/mips-protos.h (mips_output_ascii): Prototype.
562
563         * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
564
565 Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
566
567         * flow.c (set_block_for_new_insns): Remove bogus shortcut.
568         * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
569
570 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
571
572         * install.texi (Configuration): Add html links for --with-gnu-as &
573         --with-gnu-ld and refer to them from hppa & SCO triplets.
574         (Specific): Link back to with-gnu-ld for all ELF platfoms.
575         (Specific): Reword AVR binutils recommendation.
576
577 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
578
579         * ggc-page.c (size_lookup): Increase minimum allocation size
580         to eight bytes.
581         (ggc_print_statistics): Report size of each bin in bytes, not
582         as its order; there is no longer a direct relationship.
583
584 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
585
586         * extend.texi: Fix formating of examples, eliminate some
587         'overfull hboxes'.
588         * gcc.texi: Eliminate some 'overfull hboxes'.
589         * invoke.texi: Use two spaces between command options, eliminate
590         some 'overfull hboxes'.
591
592 2001-05-30  Richard Henderson  <rth@redhat.com>
593
594         * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
595
596 2001-05-30  Tom Tromey  <tromey@redhat.com>
597
598         * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
599         use it in the new association.
600
601 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
602             John David Anglin  <dave@hiauly1.hia.nrc.ca>
603
604         * gthr-posix.h (__gthread_active_ptr): Cast function pointer
605         to target type to allow ISO C++ compiler to accept it.
606         * gthr-dce.h (__gthread_active_ptr): Likewise.
607         * gthr-solaris.h (__gthread_active_ptr): Likewise.
608
609 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
610
611         * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
612         so that we do accept comments in preprocessed input.
613
614 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
615
616         * cpphash.c (alloc_node): Cast allocated pointer.
617
618 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
619
620         * invoke.texi (Option Summary): Remove -isystem-c++ from options.
621
622 2001-05-29  Stan Shebs  <shebs@apple.com>
623
624         * gcc.texi: Add links for information about Objective-C.
625
626 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
627
628         * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
629         /bin/sed fails on [^\"]).
630         (configargs.h): Likewise.
631
632 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
633
634         * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
635
636 2001-05-28  Stan Shebs  <shebs@apple.com>
637
638         * objc/objc.gperf: Remove, no longer used.
639
640 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
641
642         * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
643         gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
644         Remove trailing whitespace.
645
646 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
647
648         * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
649         became http://freeware.sgi.com/.
650
651 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
652
653         * local-alloc.c (update_equiv_regs): Don't eliminate constant
654         expressions at -O0.
655
656 2001-05-27  Stan Shebs  <shebs@apple.com>
657
658         * objc/objc-act.c: Add/fix various comments.
659         (init_selector): Remove, no longer used.
660         (build_msg_pool_reference): Ditto.
661         (objc_debug): Ditto.
662
663 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
664
665         * c-decl.c (init_decl_processing):
666          Don't call start_identifier_warnings.
667         * flags.h (warn_id_clash, id_clash_len): Remove.
668         * stringpool.c: Don't include flags.h.
669         (scan_for_clashes, do_identifier_warnings,
670         start_identifier_warnings): Remove.
671         * toplev.c (warn_id_clash, id_clash_len): Remove.
672         (display_help): Don't document -Wid-clash.
673         (decode_W_option): Print warning on -Wid-clash.
674         * tree.h (start_identifier_warnings): Remove.
675         * invoke.texi: Remove documentation of -Wid-clash.
676
677 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
678
679         * fixinc/fixtests.c: Declare entries in ENV_TABLE.
680
681 2001-05-27  Bruce Korb  <bkorb@gnu.org>
682
683         * fixinc/check.tpl(HACK) add and use a Scheme variable
684         (has no test text): error out if no "test_text" is defined
685         * fixinc/fixincl.tpl: likewise
686         (FIXIDX): make it an enumeration so we minimize diffs
687         * fixinc/inclhack.def: re-alphabetize and add sort instructions
688         * fixinc/fixincl.x: regenerate
689         * fixinc/tests/base/stdio.h: test output got moved due to
690         the alphabetizing
691         * README-fixinc: rewrite (mostly)
692
693 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
694
695         * cpplib.c (run_directive): Set pfile->directive.
696
697 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
698
699         * c-tree.texi: Reformat the manual as a single chapter now
700         included by gcc.texi.
701         * gcc.texi: Include c-tree.texi. Merge all indexes.
702         * Makefile.in (dvi): Add generation for the cppinternals
703         documentation. Added dependencies on fdl.texi and c-tree.texi
704         where appropriate.  Use TEXI2DVI instead of custom tex calls.
705         (info): Added dependencies on fdl.texi and c-tree.texi where
706         appropriate.  Remove the target c-tree.info.
707
708 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
709
710         * combine.c (try_combine): Fix typo in comment.
711         * expr.c (expand_expr): Likewise.
712         * config/i370/i370.md (untyped_call): Likewise.
713
714 2001-05-26  Bruce Korb  <bkorb@gnu.org>
715
716         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
717         when fixincl is operating in test mode
718         * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
719         (AAB_ultrix_limits): remove redundant text
720         (AAB_ultrix_memory): ditto
721         (AAB_ultrix_string): ditto
722         (djgpp_wchar_h): fix the test text
723         (irix_stdio_va_list): add test text
724         (irix_limits_const): add a testing output file (limits.h is overwritten)
725         (strict_ansi_not_ctd): put limits.h second in list for same reason
726         (solaris27_mutex_init): test text needed selection text, too
727
728         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
729         when fixincl is operating in test mode
730
731 2001-05-26  Philip Blundell  <philb@gnu.org>
732
733         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
734         * config/i960/i960-protos.h: Likewise.
735         * config/i370/i370-protos.h: Likewise.
736         * config/h8300/h8300-protos.h: Likewise,
737         * config/sh/sh-protos.h: Likewise.
738         * config/v850/v850-protos.h: Likewise.
739
740 2001-05-26  Philip Blundell  <philb@gnu.org>
741
742         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
743
744 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
745
746         * toplev.c (debug_args, f_options, W_options): Mark
747         descriptions for translation.
748         (display_help): Translate descriptions on output.
749
750         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
751         objc/lang-options.h: Mark descriptions for translation.
752
753         * aclocal.m4: Quote final argument of patsubst.  Use
754         3-argument form of AC_DEFINE.  Restore quotes to [] while
755         using AC_FD_CC.
756         * configure.in: Remove unnecessary changequote calls.
757         * configure, config.in: Regenerate.
758
759 2001-05-25  Sam TH  <sam@uchicago.edu>
760
761         * basic-block.h: Fix header include guards.
762         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
763         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
764         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
765         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
766         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
767         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
768         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
769         varray.h version.h: Likewise.
770         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
771         config/arm/arm.h config/c4x/c4x-protos.h
772         config/h8300/h8300-protos.h config/h8300/h8300.h
773         config/i370/i370-protos.h config/i370/i370.h
774         config/i960/i960-protos.h config/mcore/mcore.h
775         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
776         config/v850/v850-protos.h config/v850/v850.h: Likewise.
777         * fixinc/fixlib.h fixinc/server.h: Likewise.
778
779 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
780
781         * config/arc/initfini.c (.init): Fix typo.
782
783 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
784
785         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
786
787 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
788
789         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
790
791 2001-05-25  Richard Henderson  <rth@redhat.com>
792
793         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
794
795 2001-05-25  Richard Henderson  <rth@redhat.com>
796
797         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
798         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
799         (sparc*-*-solaris2): Likewise.
800         * config/t-linux: Remove shared libgcc macros.
801         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
802         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
803
804 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
805
806         * config.gcc (*-*-freebsd*): Report bad configuration.
807
808 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
809
810         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
811
812         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
813         any prefix.
814         (ASM_OUTPUT_LABELREF): Delete.
815
816 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
817
818         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
819         strict_ansi_only): Don't run if stdc_0_in_system_headers.
820         * fixinc/fixincl.x: Regenerate.
821         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
822         (FIX_TEST_TABLE): Declare it.
823         * fixinc/fixlib.h: Include config.h.
824
825 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
826
827         * fixinc/inclhack.def (alpha___assert): Change char * args to
828         const char * on Tru64 UNIX to avoid excessive warnings from
829         assert.h.
830         * fixinc/fixincl.x: Regenerate.
831
832 2001-05-25  Geoff Keating  <geoffk@redhat.com>
833
834         * dbxout.c (dbxout_symbol): Invert previous patch, which was
835         outputting a tag only for variable-size records.
836
837 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
838
839         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
840         instead of rtx_equal_p for early clobber test.
841
842 2001-05-26  Mark Mitchell <mark@codesourcery.com>
843
844         * builtins.def: Encode additional information, such as names and
845         types, here.
846         * builtin-types.def: New file.
847         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
848         (built_in_decls): Likewise.  Don't explicitly initialize global
849         data to NULL.
850         (expand_builtin_mathfn): Handle float and long double variants of
851         math builtins.
852         (expand_builtin): Likewise.
853         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
854         (expand_tree_builtin): Handle long, long long, float, and long
855         double variants of math functions.
856         * c-common.h (c_tree_index): Remove some unused nodes.
857         (void_ftype): Remove.
858         (void_type_ptr): Likewise.
859         (int_ftype_int): Likewise.
860         (ptr_ftype_sizetype): Likewise.
861         * c-decl.c (init_decl_processing): Remove creation of DWARF
862         builtins.
863         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
864         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
865         * Makefile.in (c-common.o): Depend on builtin-types.def.
866
867 2001-05-25  Dale Johannesen  <dalej@apple.com>
868
869         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
870
871 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
872
873         * c-parse.in (notype_initdcl): Remove redundant line.
874
875 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
876
877         * aclocal.m4: Fixed typo.
878         (gcc_AC_HEADER_STDBOOL): Define.
879         (gcc_AC_C__BOOL): Define.
880         * configure.in: Use them.
881         (AC_CHECK_HEADERS): Remove stdbool.h
882         * configure, config.in: Regenerate.
883
884 2001-05-25  Richard Henderson  <rth@redhat.com>
885
886         * function.c (expand_function_start): Don't abort on PARALLEL
887         returns from hard_function_value.
888
889 2001-05-25  Richard Henderson  <rth@redhat.com>
890
891         * config/i386/i386.md: Revert previous change.  Do not apply
892         the peephole if the components do not die after the sequence.
893
894 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
895
896         * c-parse.in (array_declarator): New.  Handle C99 constructs.
897         Don't restrict [*] declarators to C only.
898         (after_type_declarator, parm_declarator_starttypename,
899         parm_declarator_nostarttypename, notype_declarator,
900         direct_absdcl1): Use it.
901         * c-decl.c (build_array_declarator, set_array_declarator_type):
902         New functions.  Warn that [*] isn't properly implemented; pedwarn
903         for [*] outside C99 mode if pedantic rather than giving a hard
904         error.
905         (grokdeclarator): Handle static and type qualifiers in parameter
906         array declarators.
907         * c-tree.h (build_array_declarator, set_array_declarator_type):
908         Declare.
909         * extend.texi (Attribute Syntax): Document attributes in parameter
910         array declarators.
911
912 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
913
914         * config/i386/i386.md: Make sure cmpstr peepholes do not
915         affect liveness information.
916
917 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
918
919         * c-typeck.c (digest_init): Issue error messages about
920         invalid constants, not warnings.
921
922 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
923
924         * invoke.texi (-fno-builtin): Document that this is always on
925         in C++.
926
927 2001-05-24  Philip Blundell  <philb@gnu.org>
928
929         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
930         required.
931
932 2001-05-24  Philip Blundell  <philb@gnu.org>
933
934         * config/arm/arm.c (output_return_instruction): Correctly handle
935         interworking and interrupt functions.
936
937 2001-05-24  Philip Blundell  <philb@gnu.org>
938
939         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
940         -m{no-}sched-prolog.  Fix typos and improve formatting.
941
942 2001-05-24  Philip Blundell  <philb@gnu.org>
943
944         * invoke.texi (ARM Options): Improve wording slightly.  Add
945         documentation for more options, including those for Thumb mode.
946         Don't mention options that don't exist or are unimplemented.
947         (Thumb Options): Delete; merged into above section.
948
949 2001-05-24  Geoff Keating  <geoffk@redhat.com>
950
951         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
952         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
953
954 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
955
956         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
957         fix hard register simplification.
958
959 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
960
961         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
962         of just copying CPP_CPU_SPEC.
963
964 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
965
966         * i386.c (incdec_operand): Accept only 1 and -1.
967
968 2001-05-23  Kelley Cook  <kelley.cook@home.com>
969
970         * Makefile.in: Move many of the *_H definitions eariler in the
971         file, so that rules in t-* files that use them for
972         dependencies will work in a parallel build.
973         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
974
975 2001-05-23  Richard Henderson <rth@redhat.com>
976
977         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
978
979 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
980
981         * cpp.texi: Update for handling of charconsts.
982         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
983         diagnostics.  Skip to the end if the UCS is too short.
984         (cpp_interpret_charconst): Long charconsts issue a warning
985         not an error.
986
987 2001-05-23  Richard Henderson  <rth@redhat.com>
988
989         * doc/install.texi (alpha-linux): Require binutils 2.11.
990
991 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
992
993         * c-lex.c (read_escape, read_ucs): Delete.
994         (lex_string): Use cpp_parse_escape.
995         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
996         if not C++ or not C99.  Warn if traditional.
997         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
998         unsigned.  Warn for out-of-range escape sequences here.
999         Update to use maybe_read_ucs.
1000         (cpp_interpret_charconst):  Don't warn here.
1001         * cpplib.h (cpp_parse_escape): New exported function.
1002
1003 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1004
1005         * extend.texi (Attribute Syntax): Clarify application of
1006         attributes to parameters declared as functions or arrays.
1007
1008 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
1009
1010         * dbxout.c (dbxout_type_methods): Do still group methods by name.
1011
1012 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
1013
1014         * diagnostic.c (vnotice): Kill.
1015         (fnotice): Call vfprintf directly.
1016         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
1017         verbatim, set_diagnostic_context): Rename string argument to
1018         indicate that it is run through gettext.
1019         (vbuild_message_string, build_message_string, output_do_printf):
1020         Rename string argument to indicate that it is NOT run through
1021         gettext.
1022         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
1023         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
1024         Run msgid argument through gettext.
1025         (default_print_error_function): Run constant strings through
1026         gettext when nothing else will.
1027         (fatal_error, internal_error, error_recursion): Use fnotice.
1028         Present complete sentences to gettext.
1029
1030 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
1031
1032         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
1033
1034 2001-05-23  Richard Henderson  <rth@redhat.com>
1035
1036         * function.c (expand_function_start): Always use a pseudo
1037         for the function result value.
1038
1039 2001-05-22  Richard Henderson  <rth@redhat.com>
1040
1041         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
1042         section pointer alignment.
1043
1044         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
1045
1046         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
1047         of __USER_LABEL_PREFIX__.
1048
1049 2001-05-22  Richard Henderson  <rth@redhat.com>
1050
1051         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
1052         (__deregister_frame_info_bases): New.
1053         * unwind-dw2-fde.h: Declare it.
1054         * libgcc-std.ver: Export it.
1055         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
1056         called __register_frame_info_bases.
1057
1058 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1059
1060         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
1061         instead of #elif (which is OK for this case but not in general).
1062
1063 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
1064
1065         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
1066         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
1067         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
1068         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
1069         "r2" to the assembly file. Only issue allocs with non-zero parameters.
1070
1071 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1072             David O'Brien  <obrien@freebsd.org>
1073
1074         * config/freebsd.h (LIB_SPEC): Key the exact setting to
1075         configure-time options and target version of FreeBSD.  Set-up
1076         to match architectural change in threading support.  Correctly
1077         report when -pthread option is not supported by configure-time
1078         options.
1079         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
1080         and extend to encode target version number in run-time setting
1081         of __FreeBSD__ macro to match the system compiler.
1082         (CPP_PREDEFINES): Likewise.
1083         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
1084
1085         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
1086         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
1087
1088 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1089             David O'Brien  <obrien@freebsd.org>
1090
1091         * config.gcc (the unlabeled system switch statement): Add
1092         generic configuration section to handle *-*-freebsd*.  Also,
1093         to match the system compiler, default to threading support (it
1094         may be disabled with the standard --disable-threads
1095         configuration-time switch).
1096         (i[34567]86-*-freebsd* in machine-specific section): Use it.
1097         (alpha*-*-freebsd* in machine-specific section): Likewise.
1098
1099         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
1100         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
1101         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
1102         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
1103         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
1104
1105 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1106             David O'Brien  <obrien@freebsd.org>
1107
1108         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
1109         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
1110         -pthread instead setting macro.
1111
1112 2001-05-22  Richard Henderson  <rth@redhat.com>
1113
1114         * crtstuff.c (__register_frame_info_bases): Declare.
1115         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
1116         (__do_global_dtors_aux, __do_global_dtors): Streamline.
1117
1118         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1119         (CRT_GET_RFIB_DATA): New.
1120         * config/i386/sysv4.h: Likewise.
1121         * config/i386/sco5.h: Likewise.
1122         (ASM_PREFERRED_EH_DATA_FORMAT): New.
1123
1124 2001-05-22  Richard Henderson  <rth@redhat.com>
1125
1126         * rtl.c (read_string): Break out from ...
1127         (read_rtx): ... here.
1128
1129 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1130
1131         * doc/install.texi (Specific): Remove a bogus and duplicate part
1132         copied from the end of the document.
1133
1134 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
1135
1136         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
1137
1138 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1139
1140         * install.texi: Remove obsolete information on SunOS as well as
1141         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
1142         (Installing GNU CC on the Sun): Remove section.
1143
1144 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
1145
1146         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
1147         keep errno unchanged on success.
1148
1149 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
1150
1151         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
1152         once for hexadecimal floats, whether or not they contain a decimal
1153         point.  Don't let the setting of pedantic otherwise affect the
1154         parsing of hexadecimal floats.
1155
1156 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1157
1158         * README.ACORN: Remove obsolete file.
1159
1160 2001-05-22  Jan Hubicka  <jh@suse.cz>
1161
1162         * combine.c (gen_binary): Use swap_commutative_operands_p
1163         (simplify_comparison): Likewise.
1164         * expmed.c (emit_store_flag): Likewise.
1165         * expr.c (compare_from_rtx): Likewise.
1166         (do_compare_rtx_and_jump): Likewise.
1167         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
1168         if not emitting a branch and operands want swapping.
1169
1170 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1171
1172         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
1173         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
1174         (maybe_get_identifier): Update.
1175         * tree.h (make_identifier): Delete.
1176
1177 2001-05-21  Richard Henderson  <rth@redhat.com>
1178
1179         * combine.c (subst): Do not substitute for a register as
1180         a destination subreg/strict_low_part/zero_extract.
1181
1182         * combine.c (simplify_comparison): Update op1 after constant
1183         extension.
1184         * recog.c (const_int_operand): Accept only constants valid
1185         for the given mode.
1186         * genrecog.c: Update comments wrt const_int_operand.
1187
1188         * emit-rtl.c (init_emit_once): Zero unused memory in a
1189         CONST_DOUBLE.
1190
1191 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1192
1193         * tree.h (type_num_arguments): Declare it.
1194         * tree.c (type_num_arguments): New function.
1195
1196 2001-05-21  Richard Henderson  <rth@redhat.com>
1197
1198         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
1199         conditional ifdef.
1200
1201 2001-05-21  Geoff Keating  <geoffk@redhat.com>
1202
1203         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
1204         (maxsf3+1): Delete.
1205         (minsf3): Use rs6000_emit_minmax.
1206         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
1207         rs6000_emit_minmax.
1208         (movsfcc): Use rs6000_emit_cmove.
1209         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
1210         Don't generate emit_fselsfsf4.
1211         (fseldfsf4): Likewise.
1212         (maxdf3): Use rs6000_emit_minmax.
1213         (maxdf3+1): Delete.
1214         (mindf3): Use rs6000_emit_minmax.
1215         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
1216         rs6000_emit_minmax.
1217         (movdfcc): Use rs6000_emit_cmove.
1218         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
1219         Don't generate emit_fselsfsf4.
1220         (fselsfdf4): Likewise.
1221         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
1222         (min_max_operator): New predicate.
1223         (rs6000_emit_cmove): New function.
1224         (rs6000_emit_minmax): New function.
1225         * config/rs6000/rs6000-protos.h: Prototype new functions.
1226         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
1227         and min_max_operator.
1228
1229         * config/rs6000/rs6000.c (output_cbranch): Handle all
1230         conditional types in the switch statement.
1231
1232 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1233
1234         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
1235         non-register variables.
1236         * extend.texi: Document that asm-specifications do not make sense
1237         for non-static local variables.
1238
1239 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
1240
1241         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
1242         (dbxout_type_fields): Lose minimal_debug support.
1243         (dbxout_type_methods, dbxout_type): Likewise.
1244
1245 2001-05-17  Andrew Haley  <aph@redhat.com>
1246
1247         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1248
1249 2001-05-21  Richard Henderson  <rth@redhat.com>
1250
1251         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
1252         Update all users.
1253
1254 2001-05-20  Richard Henderson  <rth@redhat.com>
1255
1256         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1257         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
1258         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
1259         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1260         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
1261         Likewise.
1262         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1263         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
1264         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
1265         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1266         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1267         DEBUG_PUBNAMES_SECTION): Rename as above.
1268         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1269
1270 2001-05-20  Richard Henderson  <rth@redhat.com>
1271
1272         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
1273         operands unless the operation is commutative.
1274
1275 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1276
1277         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
1278         cases.
1279
1280 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
1281
1282         * extend.texi: Clarify documentation of extensions included in ISO
1283         C99.  Prefer C99 terminology and syntax to old GNU terminology and
1284         syntax.  Add more index entries.  Document mixed declarations and
1285         code as an extension in C89 mode.  Warn about future changes to
1286         semantics of inline functions.  Fixes PR other/930.
1287
1288 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1289
1290         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
1291         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1292         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
1293         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1294
1295         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
1296
1297 2001-05-20  Richard Henderson  <rth@redhat.com>
1298
1299         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
1300         to be output before a branch.
1301
1302 2001-05-20  Richard Henderson  <rth@redhat.com>
1303
1304         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
1305
1306 2001-05-20  Richard Henderson  <rth@redhat.com>
1307
1308         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
1309         (ASM_DOUBLE): Remove.
1310         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
1311         * config/i386/sun386.h: Likewise.
1312
1313         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
1314         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
1315
1316         * config/i386/cygwin.h (INT_ASM_OP): Remove.
1317         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
1318         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
1319         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
1320
1321         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
1322         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
1323         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
1324         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
1325         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
1326         * config/i386/win32.h: Likewise.
1327
1328 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1329
1330         * invoke.texi: Add more options to summary list.
1331
1332 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1333
1334         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
1335         used.  Fixes PR c/2291.
1336         * gcc.1: Regenerate.
1337
1338 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1339
1340         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
1341         the -fpic and -fPIC options, clear flag_pic.
1342
1343 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1344
1345         * hashtable.c (calc_hash): Fix HASHSTEP definition.
1346         * stringpool.c (make_identifier): No statistics here anymore.
1347         * objc-act.c (steup_string_decl): Remove redundant check.
1348
1349 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1350
1351         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
1352         cpplib.o, cpphash.o, fix-header): Update.
1353         (hashtable.o): New target.
1354         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
1355         struct c_common_identifier here.
1356         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
1357         * c-lex.c (c_lex): Update.
1358         * c-pragma.h: Update.
1359         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
1360         Delete rid_code.
1361         (C_RID_CODE): Delete.
1362         * cpphash.c: Rewrite to use hashtable.c.
1363         * cpphash.h: Update include guards.
1364         (struct cpp_reader): Remove hashtab.
1365         hash_ob and buffer_ob are no longer pointers.  Add hash_table
1366         and our_hashtable.
1367         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
1368         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
1369         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
1370         * cppinit.c (cpp_create_reader): Update.
1371         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
1372         (cpp_interpret_charconst): Eliminate warning.
1373         * cpplib.c (do_pragma, do_endif, push_conditional,
1374         cpp_push_buffer, cpp_pop_buffer): Update.
1375         (_cpp_init_stacks): Rename cpp_init_directives.
1376         (_cpp_cleanup_stacks): Remove.
1377         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
1378         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
1379          cpp_forall_identifiers, cpp_create_reader): Update.
1380         (C_RID_CODE, cpp_make_node): New.
1381         (c_common_identifier): New identifier node for C front ends.
1382         * cppmain.c (main): Update.
1383         * fix-header.c (read_scan_file): Update.
1384         * flags.h (id_clash_len): Make unsigned.
1385         * ggc.h (ggc_mark_nonnull_tree): New.
1386         * hashtable.c: New.
1387         * hashtable.h: New.
1388         * stringpool.c: Update comments and copyright.  Update to use
1389         hashtable.c.
1390         * toplev.c (approx_sqrt): Move to hashtable.c.
1391         (id_clash_len): Make unsigned.
1392         * toplev.h (ident_hash): New.
1393         * tree.c (gcc_obstack_init): Move to hashtable.c.
1394         * tree.h: Include hashtable.h.
1395         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
1396         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
1397         (struct tree_identifier): Update.
1398         (make_identifier): New.
1399 cp:
1400         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
1401         (C_RID_CODE): Remove.
1402         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
1403         (init_parse): Don't do it here.
1404 objc:
1405         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
1406
1407 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
1408
1409         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
1410         as ncessary.
1411         (expand_eh_return): Convert between word_mode and Pmode.
1412         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
1413         are the same size.
1414         (execute_stack_op): Likewise.
1415         (execute_cfa_program): Likewise.
1416         (uw_frame_state_for): Likewise.
1417         (uw_update_context_1): Likewise.
1418         * unwind.inc (_Unwind_Reason_Code): Likewise.
1419         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
1420         (EH_RETURN_STACKADJ_RTX): Likewise.
1421         * config/mips/mips.c (compute_frame_size): Make space for saving
1422         EH return registers.
1423         (mips_expand_epilogue): Handle EH stack adjustments.
1424         * config/mips/mips.md (eh_return): New pattern.
1425         (eh_set_lr_si): Likewise.
1426         (eh_set_lr_di): Likewise.
1427         Add splitter to perform EH return after reload.
1428
1429 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1430
1431         * jump.c (mark_jump_label): Tidy previous change.
1432
1433 2001-05-19  Bruce Korb  <bkorb@gnu.org>
1434
1435         * fixinc/genfixes: no need for two warnings
1436         * fixinc/Makefile.in: open stdin for those building with a closed one.
1437
1438 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1439
1440         * jump.c (jump_optimize_1): Tidy.
1441         (mark_jump_label): When changing the label in a LABEL_REF, change
1442         update any REG_EQUAL notes as well.
1443
1444 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
1445
1446         * c-parse.in (parm_declarator): Split into
1447         parm_declarator_starttypename and parm_declarator_nostarttypename.
1448         (parm_declarator_starttypename, parm_declarator_nostarttypename):
1449         New.  Allow parenthesised sub-declarators which don't begin with a
1450         TYPENAME.  Fixes PR c/166.
1451
1452 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1453
1454         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
1455         macro.
1456         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
1457         Document it.
1458         * toplev.c (main): If the target does not allow profiling without
1459         a frame pointer, issue an error message.
1460         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
1461         Define it to false.
1462
1463 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1464
1465         * recog.c (general_operand): Modify last change to allow it if reload
1466         has completed.
1467
1468 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
1469
1470         * recog.c (general_operand): Prohibit nonzero subreg bytes on
1471         subregs containing mem.
1472
1473 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
1474
1475         * regrename.c (regrename_optimize): frame pointer register can
1476         use a few hardregs.
1477
1478 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
1479
1480         * README.DWARF: Move into dwarfout.c.
1481
1482 2001-05-18  Dale Johannesen  <dalej@apple.com>
1483
1484         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
1485         specific misuse of r0 as a reload address.
1486
1487 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
1488
1489         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
1490         suceeded.
1491
1492 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1493
1494         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
1495         (add_to_sequence): Make that decision type.
1496         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
1497         (write_switch, write_cond, debug_decision_2): Likewise.
1498
1499         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
1500         for INTEGER_TYPE.
1501         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
1502         variable size.
1503
1504 2001-05-18  Stan Shebs  <shebs@apple.com>
1505
1506         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
1507         * configure: Regenerate.
1508
1509 2001-05-18  Per Bothner  <per@bothner.com>
1510
1511         Changes needed for java/jvspec.c
1512         * gcc.h (n_infiles, outfiles):  Add declarations.
1513         * gcc.c (n_infiles, outfiles):  Mske no longer static.
1514
1515 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
1516
1517         * config/pa/som.h (EXCEPTION_SECTION): Define.
1518
1519 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
1520
1521         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
1522         list.
1523         Add have_location_lists, a variable to determine whether we need a
1524         .debug_loc section or not.
1525         (enum dw_val_class): Add dw_val_class_loc_list.
1526         (dw_val_struct): Add val_loc_list.
1527         (dw_loc_list_struct): New structure, represents location lists.
1528         (new_loc_list): New function, return a new location list, given
1529         the range and location expression.
1530         (add_loc_descr_to_loc_list): New function, add a location
1531         expression to a location list, given the expression and range.
1532         (output_loc_list): New function, output a location list.
1533         (gen_internal_sym): Modified to take symbol prefix, so we can
1534         reuse it for location list symbols.
1535         (add_AT_loc_list): New function, add a location list to a DIE at
1536         the named attribute.
1537         (AT_loc_list): New function, return the location list reference
1538         for a given attribute, if it's a location list.
1539         (print_die): Handle dw_val_class_loc_list.
1540         (size_of_die): Ditto.
1541         (value_format): Ditto.
1542         (output_die): Ditto.
1543         (output_location_lists): New function, output all of the location
1544         lists for a DIE and it's children.
1545         (dwarf2out_finish): Call output_location_lists if we have location
1546         lists.
1547
1548
1549 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
1550
1551         * gcse.c (try_replace_reg): First try global replace, later try to
1552         simplify the expression.
1553
1554         * gcse.c (find_used_regs): Change calling convention; work via
1555         note_uses.
1556         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
1557
1558 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
1559
1560         Revert
1561         2001-02-09  Nick Clifton  <nickc@redhat.com>
1562         * config/arm/arm.md: Change output constraint on post inc
1563         load/store multiple patterns to be a read/write constraint.
1564
1565 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
1566
1567         * basic-block.h (struct basic_block_def): Add documentation about
1568         what a basic block is, and what the various fields are used for.
1569         * flow.c (calculate_globlal_regs_live): Add documentation about
1570         how the algorithm works, and how we know that it will terminate.
1571         Check that the the inductive assumption that guarantees
1572         termination actually holds.
1573         (mark_used_regs): Treat conditionally set registers as used.
1574         (debug_regset): Add comment.
1575         * rtl.texi (cond_exec): Add documentation.
1576
1577         * function.c (expand_function_start): Avoid creating BLKmode
1578         pseudos.
1579
1580 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
1581
1582         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
1583         DIE, even if it has no children.
1584         (dwarf2out_finish): Always output the line-number table, even if
1585         it has no content.
1586
1587 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
1588
1589         * rs6000.md (movsfcc,movdfcc): Remove NE case.
1590
1591 2001-05-17  Bruce Korb <bkorb@gnu.org>
1592
1593         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
1594         * fixinc/genfixes: emit a warning if AutoGen is out of date
1595
1596 2001-05-17  Brendan Conoboy <blc@cygnus.com>
1597             Bruce Korb <bkorb@gnu.org>
1598
1599         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
1600         found in fixinc directory.  Facilitates binary distributions.
1601
1602 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
1603
1604         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
1605         COMPLEX_TYPE.
1606
1607 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
1608
1609         * dwarf2out.c (modified_type_die): Equate qualified type to die.
1610
1611 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1612
1613         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
1614         (simplify_subreg): Handle complex types represented as CONCAT.
1615
1616         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
1617         * rtl.h (swap_commutative_operands_p): Declare.
1618         * rtlanal.c (swap_commutative_operands_p): New.
1619         (operand_preference): New static function.
1620
1621         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
1622         (gen_binary): Likewise.
1623         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
1624         * simplify-rtx.c (simplify_gen_binary,
1625         simplify_gen_relational): Likewise.
1626
1627 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
1628
1629         * cse.c (fold_rtx): Use simplify_subreg.
1630
1631         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
1632         (simplify_gen_subreg): New.
1633         (simplify_rtx): Use simplify_subreg.
1634         * rtl.h (simplify_gen_subreg): Declare.
1635
1636 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
1637
1638         * doc/install.texi: Update Solaris information.
1639
1640         * except.h (protect_cleanup_actions): Remove it.
1641         (lang_protect_cleanup_actions): Declare it.
1642         * except.c (protect_cleanup_actions): Remove it.
1643         (lang_protect_cleanup_actions): New variable.
1644         (init_eh): Don't make protect_cleanup_actions a GC root.
1645         (expand_eh_region_and_cleanup): Call
1646         lang_protect_cleanup_actions.
1647         (output_function_exception_table): Remove unused `align'
1648         variable.
1649         * varasm.c (assemble_external): Abort if we have not yet
1650         opened the assembly output file.
1651
1652 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
1653
1654         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
1655         for eh_personality_libfunc.
1656
1657 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
1658
1659         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
1660         when calling simplify_subreg.  This is needed to allow replacing
1661         of expression of one mode by expression of different mode.
1662
1663 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
1664
1665         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
1666
1667 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
1668
1669         * expr.c (protect_from_queue): Protect against subsequent calls to
1670         emit_queue.
1671         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
1672         too clever.
1673
1674 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
1675
1676         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
1677
1678 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1679
1680         * gccbug.in (CATEGORIES): Add "bootstrap".
1681
1682 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
1683
1684         * simplify-rtx.c (simplify_subreg): Break out from ...
1685         * combine.c (combine_splify_rtx) ... here and ...
1686         * recog.c (validate_replace_rtx_1): ... here;
1687         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
1688         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
1689         (subreg_lowpart_p): ... here.
1690
1691 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
1692
1693         * stmt.c (expand_asm_operands): For inout operands, make sure
1694         the substitution of '=' for '+' makes it into the rtl.
1695
1696         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
1697         (reload_as_needed): Call update_eliminable_offsets a bit later.
1698
1699 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1700
1701         * gcc.texi (gccbug): Refer to the web pages for detailed information
1702         on GNATS.
1703
1704 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
1705
1706         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
1707
1708         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
1709         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
1710         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
1711         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
1712         * cross-make: Don't set LIBGCC1.
1713         * mklibgcc.in: Delete all code for building from libgcc1.c.
1714         Always honor LIB1ASMFUNCS if set.
1715
1716         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
1717         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
1718         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
1719         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
1720         config/i386/uwin.asm, config/m68hc11/larith.asm,
1721         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
1722         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
1723         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
1724         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
1725         Delete or update references to libgcc1 in commentary.
1726
1727         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
1728         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
1729         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
1730         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
1731         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
1732         config/arm/t-semi, config/arm/t-strongarm-coff,
1733         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
1734         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
1735         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
1736         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
1737         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
1738         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
1739         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
1740         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
1741         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
1742         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
1743         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
1744         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
1745         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
1746         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
1747         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
1748         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
1749         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
1750         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
1751         config/mips/t-ultrix, config/mn10200/t-mn10200,
1752         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
1753         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
1754         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
1755         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
1756         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
1757         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
1758         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
1759         config/sparc/t-sparclite, config/sparc/t-splet,
1760         config/sparc/t-sunos41, config/sparc/t-vxsparc,
1761         config/sparc/t-vxsparc64, config/v850/t-v850:
1762         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
1763
1764         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
1765         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
1766         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
1767         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
1768         nongcc_SI_type, nongcc_word_type, or perform_*
1769         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
1770
1771         * config/i386/386bsd.h, config/i386/beos-elf.h,
1772         config/i386/linux-aout.h, config/i386/linux-oldld.h,
1773         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
1774         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
1775         Don't include i386/perform.h.
1776
1777         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
1778         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
1779         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
1780         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
1781         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
1782         config/vax/t-openbsd, config/vax/t-vax: Delete.
1783
1784         * config.gcc: Remove references to deleted files.
1785         (arm-semi-aof): Use arm/t-semi for tmake_file.
1786
1787         * gcc.texi, install.texi, invoke.texi, tm.texi:
1788         Delete or rewrite text which is no longer relevant now that
1789         libgcc1 no longer exists.
1790
1791         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
1792         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
1793
1794 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
1795         Bruce Korb <bkorb@gnu.org>
1796
1797         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
1798         initializer
1799
1800 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
1801
1802         * i386.md: Add two peepholes to clean up code generated by
1803         cmpstr* expanders.
1804
1805 2001-05-16  Richard Henderson  <rth@redhat.com>
1806
1807         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
1808         variants of non-absolute encodings.
1809
1810         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1811
1812         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
1813         __register_frame_info_table_bases): Export.
1814
1815 2001-05-16  Richard Henderson  <rth@redhat.com>
1816
1817         * except.c (eh_data_format_name): Move to ...
1818         * dwarf2asm.c: ... here.  Use designated initializers if available.
1819         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
1820         * dwarf2asm.h: Update declarations.
1821         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
1822         ASM_PREFERRED_EH_DATA_FORMAT.
1823         (output_call_frame_info): Likewise.  Use 'L' augmentation for
1824         the LSDA encoding.
1825
1826         * unwind-dw2-fde.h (struct fde_vector): New.
1827         (struct old_object): Rename from struct object.
1828         (struct object): New.
1829         (__register_frame_info_bases): Declare.
1830         (__register_frame_info_table_bases): Declare.
1831         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
1832         * unwind-dw2-fde.c (objects): Remove.
1833         (unseen_objects, seen_objects): New.
1834         (__register_frame_info_bases): New.
1835         (__register_frame_info): Use it.
1836         (__register_frame_info_table_bases): New.
1837         (__register_frame_info_table): Use it.
1838         (__deregister_frame_info): Rewrite for changed object struct.
1839         (base_from_object, get_cie_encoding, get_fde_encoding): New.
1840         (fde_unencoded_compare): Rename from fde_compare; uninline.
1841         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
1842         (start_fde_sort): Adjust for new definition of fde_vector.
1843         (fde_insert): Likewise.
1844         (end_fde_sort): Likewise.  Select comparison function based
1845         on properties of the object.
1846         (fde_split): Take object and fde_compare_t arguments.
1847         (frame_heapsort, fde_merge): Likewise.
1848         (classify_object_over_fdes): Rename from count_fdes.  Handle
1849         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
1850         for the object.
1851         (add_fdes): Handle encoded pointers.
1852         (init_object): Rename from frame_init.  Update for new struct object.
1853         (linear_search_fdes): Rename from search_fdes.  Handle encoded
1854         pointers.
1855         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
1856         (binary_search_single_encoding_fdes): New.
1857         (binary_search_mixed_encoding_fdes): New.
1858         (search_object): New.
1859         (_Unwind_Find_FDE): Update for new struct object.  Fill in
1860         the dwarf_eh_bases.
1861         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
1862         iterating over EH data.
1863         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
1864         fde_encoding, lsda_encoding.
1865         (read_uleb128, read_sleb128): Remove.
1866         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
1867         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
1868         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
1869         pointers.
1870         * unwind-pe.h: Add "struct" to _Unwind_Context references.
1871
1872 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1873
1874         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
1875         * cpphash.c (_cpp_lookup_with_hash): Similarly.
1876         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
1877         cpp_spell_token, cpp_output_token): Similarly.
1878         * cpplib.c (lex_macro_node, do_undef, do_pragma,
1879         do_pragma_poison, parse_assertion, do_assert): Similarly.
1880         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
1881         save_parameter, _cpp_create_definition, check_trad_stringification,
1882         cpp_macro_definition): Similarly.
1883         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
1884         * c-lex.c (cb_undef, c_lex): Similarly.
1885         * fix-header.c (recognized_function): Similarly.
1886         * cpplib.h (NODE_LEN, NODE_NAME): New.
1887         (cpp_hashnode): Rename length len.
1888
1889 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
1890
1891         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
1892         GPRs.
1893
1894 2001-05-16  Andreas Jaeger  <aj@suse.de>
1895
1896         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
1897
1898         * toplev.c: Include dwarf2asm.h for prototype of
1899         dw2_output_indirect_constants.
1900
1901 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1902
1903         * stmt.c (expand_asm_operands): Be able to offload addressof
1904         expression to memory. (PR optimization/185)
1905
1906 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1907
1908         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
1909         applying distributive law.
1910
1911 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1912
1913         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
1914
1915         * gthr-dce.h (UNUSED): Attribute unused macro.
1916         (__gthread_key_dtor): Make arguments UNUSED.
1917         (__gthread_key_delete): Revise for compatibility with DRAFT4
1918         implementation.
1919
1920 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
1921
1922         * doc/install.texi: Update AIX information.
1923         * README.RS6000: Remove obsolete file.
1924
1925 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
1926             Nathan Sidwell  <nathan@codesourcery.com>
1927
1928         * gcc.c (give_switch): Don't write before start of string.
1929         Always append suffix.
1930
1931 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
1932
1933         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
1934         after stage3.
1935
1936 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1937
1938         * README.ALTOS: Remove obsolete file.
1939
1940 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1941
1942         * c-lex.h (save_and_forget_protocol_qualifiers,
1943         forget_protocol_qualifiers, remember_protocol_qualifiers):
1944         Remove deleted functions' prototypes.
1945
1946 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1947
1948         * c-parse.in (methodtype): New production.
1949         (methoddef, methodproto): Collapse separate '-' and '+'
1950         handlers into 1.
1951
1952 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1953
1954         * c-common.h (RID_FIRST_PQ): New.
1955         * c-parse.in (objc_pq_context): New.
1956         (objc parser): Set objc_pq_context rather than calling
1957         remember_protocol_qualifiers and forget_protocol_qualifiers.
1958         Don't call save_and_forget_protocol_qualifiers.
1959         (yylexname): Handle objc protocol qualifiers here.
1960         * stringpool.c (struct str_header): Replace with sp_hashnode.
1961         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
1962         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
1963         Allocate an IDENTIFIER_NODE for each identifier.
1964         (FORALL_STRINGS, set_identifier): Delete.
1965         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
1966         (ggc_alloc_string): Use an obstack.
1967         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
1968         * tree.h: Update comments.
1969         (set_identifier): Delete.
1970         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
1971         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
1972         remember_protocol_qualifiers): Delete.
1973
1974 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
1975
1976         * flow.c (life_analysis): After life analysis is complete, do
1977         an optional scan over insns looking for REG_LABEL notes that
1978         reference a deleted label.
1979         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
1980         before peeking at LABEL_NUSES.
1981
1982 2001-05-15  Richard Henderson  <rth@redhat.com>
1983
1984         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
1985         (_Unwind_GetTextRelBase): New.
1986
1987 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
1988
1989         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
1990
1991 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
1992
1993         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
1994         so that CHOOSE_SECTION gets used.
1995
1996         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
1997         TARGET_RELOCATABLE like flag_pic for now.
1998
1999 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
2000
2001         * rs6000.md (movdi splitter): Sign extend more efficiently.
2002         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
2003         to "long long" valid on 32-bit and 64-bit hosts.
2004         (logical_operand): Cast trunc_int_for_mode return value.
2005         (rs6000_emit_move): Shift macro to encapsulate variable.
2006         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
2007         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
2008         plus_constant requires signed argument.
2009
2010 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
2011
2012         * gthr-posix.h: Make additional pthread-* functions weak.
2013
2014 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
2015
2016         * recog.c (apply_change_group): Avoid unneeded validating.
2017
2018 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
2019
2020         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
2021         (num_insns_constant): CONST_INT can be 64-bits.
2022
2023 2001-05-14  Stan Shebs  <shebs@apple.com>
2024
2025         * config/darwin.h (LIB_SPEC): Just use -lSystem.
2026         (LIBGCC_SPEC): Don't define.
2027
2028 2001-05-14  Richard Henderson  <rth@redhat.com>
2029
2030         * configure.in (gcc_cv_as_eh_frame): New test.
2031         * config.in, configure: Rebuild.
2032         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
2033
2034 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2035
2036         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
2037         extended precision divide.
2038
2039 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2040
2041         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
2042         for RETURNS as well.
2043
2044 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
2045
2046         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
2047         (CPP_CPU??_SIZE_TYPE): New.
2048         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
2049         (CPP_CPU_SPEC): ... here; support choosing of CPU.
2050         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
2051         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
2052         compiler.
2053         * i386.c (override_options): Add sorry about not suported modes.
2054
2055 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
2056
2057         * config/pa/som.h (NM_FLAGS): Remove.
2058         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
2059         (ASM_OUTPUT_SECTION_NAME): Remove.
2060         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
2061
2062 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
2063
2064         * regrename.c (regrename_optimize): Do not rename registers to
2065         leaf registers.
2066
2067 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
2068
2069         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
2070         contain MEMs.  Remove useless distinction about clobbering
2071         registers.
2072
2073 2001-05-13  Geoff Keating  <geoffk@redhat.com>
2074
2075         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
2076         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
2077         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
2078         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2079         (EXCEPTION_SECTION): Define.
2080
2081 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
2082
2083         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
2084         binary backward compat only.
2085         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
2086         in LIB2FUNCS.  Pass it to mklibgcc.
2087         * mklibgcc.in: Handle LIB2FUNCS_ST.
2088
2089         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
2090
2091 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
2092
2093         * tm.texi (THREAD_MODEL_SPEC): Document it.
2094         * gcc.c (main): Use it.
2095         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
2096         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
2097
2098 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2099
2100         * rtl.h (SYMBOL_REF_WEAK): New macro.
2101         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
2102         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
2103         * rtl.texi (SYMBOL_REF_WEAK): Document it.
2104         * gcc.texi: Remove wrong description.
2105
2106 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
2107
2108         * Makefile.in (STAMP): New macro.
2109         Replace all uses of `touch' with $(STAMP).
2110         * fixinc/Makefile.in: Likewise.
2111
2112 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2113
2114         * configure.in: ldopen is never in -lexc, so don't test for it.
2115         Add test for exc_resume in -lexc for Ada.
2116         * configure: Regenerated.
2117
2118 2001-05-12  Richard Henderson  <rth@redhat.com>
2119
2120         * dwarf2asm.c (size_of_encoded_value): New function.
2121         * dwarf2asm.h: Declare it.
2122         * except.c (output_function_exception_table): Align the TType
2123         array only as wide as the encoding.
2124
2125 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
2126
2127         * extend.texi: Document #pragma GCC java_exceptions.
2128
2129 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2130
2131         * c-parse.in (bison parser, init_reswords): Remove uses of
2132         doing_objc_thang.
2133         * c-tree.h (doing_objc_thang): Remove.
2134
2135 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2136
2137         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
2138         about files not ending in newlines.
2139
2140 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2141
2142         * dwarfout.c (dwarfout_init): Add cast.
2143         * sched-deps.c (sched_analyze_insn): Remove unused vars.
2144         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
2145 cp:
2146         * method.c (build_mangled_C99_name): Remove unused prototype.
2147
2148 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2149
2150         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
2151
2152 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2153
2154         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2155         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
2156
2157 2001-05-11  Richard Henderson  <rth@redhat.com>
2158
2159         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2160         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
2161         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
2162         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
2163         (dw2_output_indirect_constants): Prototype.
2164         * dwarf2out.c (dwarf2out_begin_prologue): Generate
2165         current_function_func_begin_label if we'll need it for EH.  Exit
2166         early for IA64_UNWIND_INFO.
2167         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
2168         (eh_data_format_name): Update for indirect references.
2169         (output_function_exception_table): Care for IA64_UNWIND_INFO.
2170         Handle ASM_PREFERRED_EH_DATA_FORMAT.
2171         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
2172         define HAVE_eh_return etc.
2173         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
2174         (final_end_function): Don't call output_function_exception_table.
2175         * toplev.c (compile_file): Call dw2_output_indirect_constants.
2176         (rest_of_compilation): Invoke output_function_exception_table
2177         for ia64 before assemble_end_function.
2178         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
2179         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
2180
2181         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
2182         * unwind.h: Declare them.
2183         * libgcc-std.ver: Export them.
2184         * unwind-pe.h: New file.
2185
2186         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2187
2188         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
2189         instead of "fde".
2190         (find_fde_for_dso): Extract DT_PLTGOT.
2191         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
2192         the segment and gp as well.
2193         * config/ia64/frame-ia64.c: Remove file.
2194         * config/ia64/frame-ia64.h: Remove file.
2195         * config/ia64/unwind-ia64.c: New file.
2196         * config/ia64/unwind-ia64.h: New file.
2197         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
2198         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
2199         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
2200         (ASM_PREFERRED_EH_DATA_FORMAT): New.
2201         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2202         (IA64_UNWIND_INFO): Re-enable.
2203         (HANDLER_SECTION): Remove.
2204         (EH_RETURN_DATA_REGNO): New.
2205         * config/ia64/ia64.md (exception_receiver): Remove.
2206         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
2207         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
2208
2209 2001-05-11  Richard Henderson  <rth@redhat.com>
2210
2211         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
2212         calls and jumps to be bundled together.
2213         (ia64_reorg): Emit a break after a noreturn call that ends
2214         a function.
2215         * config/ia64/ia64.md (break_f): New.
2216
2217 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2218
2219         * c-lex.c (lex_charconst): Convert into a simple wrapper
2220         around cpp_interpret_charconst, to which most of the code
2221         body is moved.
2222         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
2223         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
2224         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
2225         (lex): Use cpp_interpret_charconst.
2226         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
2227         hex_digit_value): New functions.
2228         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
2229         * cpplib.h (cpp_interpret_charconst): New prototype.
2230         * Makefile.in: Update.
2231
2232 2001-05-12  Dean Wakerley  <dean@wakerley.com>
2233
2234         * doc/install.texi: New file. Converted to texinfo from the HTML
2235         documentation in wwwdocs/htdocs/install.
2236
2237 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
2238
2239         * gcse.c (insert_insn_end_bb): Do not search for assignments to
2240         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2241
2242         * toplev.c (compile_file): Move comment for opening output
2243         file to just before the code that opens the output file.
2244
2245 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
2246
2247         * regmove.c (regmove_optimize): Suppress the optimization for
2248         unchanging destination register.  Add comment above function.
2249
2250 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
2251
2252         * Makefile.in: Exterminate all references to assert.h.
2253         * cross-make: Likewise.
2254         * assert.h: Delete.
2255         * configure.in: Correct commentary.
2256         * configure: Regenerate.
2257
2258         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
2259         Remove __eprintf.
2260
2261         * config/t-freebsd, config/t-linux, config/t-linux-aout,
2262         config/t-netbsd, config/t-rtems, config/x-linux,
2263         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
2264         No need to override INSTALL_ASSERT_H.
2265
2266         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
2267         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
2268         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
2269
2270 2001-05-11  Graham Stott  <grahams@redhat.com>
2271
2272         * combine.c (simplify_comparison): Fix typo.
2273
2274 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2275
2276         * loop.h (struct movables): Remove `num'.
2277         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
2278         Adjust call to strength_reduce.
2279         (num_unmoved_movables): New function.
2280         (move_movables): Don't set movables->num.
2281         (strength_reduce): Compute the number of instructions in the loop
2282         here, rather than in the caller.
2283         (check_dbra_loop): Always clear reversible_mem_store if there
2284         are any memory sets.
2285         (loop_regs_scan): Don't count instructions here.
2286         (count_insn_in_loop): New function.
2287
2288 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2289
2290         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
2291
2292 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2293
2294         * c-common.c (finish_label_expr): New function, lifted from
2295         from cp/semantics.c.
2296         * c-common.h (finish_label_expr, lookup_label): New prototypes.
2297         * c-parse.in: Move 3 blocks of parser code into new functions.
2298         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
2299         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
2300         (lookup_label): Remove.
2301
2302 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
2303
2304         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
2305         FLOAT_BIT_ORDER_MISMATCH.
2306
2307 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2308
2309         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
2310         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
2311
2312 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2313
2314         * expr.c (emit_group_load): extract_bit_field requires a REG or
2315         MEM as an argument.
2316
2317 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
2318
2319         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
2320         a computed jump into an unconditional jump.
2321         In second hunk of code for collapsing computed and conditional jumps
2322         into unconditional jumps, reemit the jump in additional cases.
2323
2324         * jump.c (jump_optimize_1): Do not wrap the new jump target
2325         inside a LABEL_REF; gen_jump will do that automatically.
2326
2327 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
2328
2329         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
2330         contents for a SYMBOL_REF in case of floating point constants.
2331
2332 2001-05-10  DJ Delorie  <dj@redhat.com>
2333
2334         * c-common.c (combine_strings): Widen strings in a
2335         host-endian-independent way.
2336
2337 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2338
2339         * c-parse.in: Remove many shift/reduce conflicts.  Update
2340         %expect values.
2341         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2342         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2343         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2344         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2345         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2346         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2347         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2348         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
2349         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
2350         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
2351         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
2352         typespec_reserved_nonattr, typespec_reserved_attr,
2353         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
2354         structsp_nonattr, components_notype, component_notype_declarator,
2355         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
2356         firstparm, setspecs_fp): New
2357         (typed_declspecs, reserved_declspecs, typed_typespecs,
2358         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
2359         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
2360         declmods_no_prefix_attr, nonempty_type_quals, structsp,
2361         type_quals): Remove.  Users updated.
2362         (initdecls, notype_initdecls, after_type_declarator,
2363         parm_declarator, notype_declarator, absdcl1, components, ivars):
2364         Don't allow attributes at the start of a declarator; include them
2365         in the production containing the declarator instead.  Always
2366         require type specifiers before trying to redeclare a typedef name.
2367         (typename): Allow for attributes but warn that they are ignored.
2368         (parmlist, firstparm, setspecs_fp): Include attributes in
2369         parmlist; suck them off the parser stack in firstparm using
2370         setspecs_fp.
2371
2372 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
2373
2374         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
2375         to determine if a block has an unconditional jump at its end.
2376
2377         * jump.c (jump_optimize_1): When converting a conditional jump
2378         to an unconditional jump, build the jump using gen_jump instead
2379         of just modify operands in-place.
2380
2381 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
2382
2383         * cppinit.c (cpp_post_options): Shut off macro expansion if
2384         -fpreprocessed.
2385         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
2386         IN_I directives only if the # is in column 1 and the directive
2387         name begins in column 2.
2388         * cppmain.c (scan_buffer): Insert a space between # and an
2389         identifier, when that identifier is a directive name.
2390
2391         * tradcpp.c (struct file_buf): Add a pointer to the next entry
2392         in the header search path.
2393         (enum node_type): Add T_INCLUDE_NEXT.
2394         (directive_table): Add entry for include_next.
2395         (do_include_next): New function.
2396         (process_include): New routine, broken out of do_include.
2397         (finclude): Insert 'nhd' argument, to be copied into
2398         next_header_dir of the new buffer.
2399         (main): Adjust to match.
2400         * gsyslimits.h, limity.h: Un-indent #include_next.
2401
2402 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2403
2404         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
2405         inclusion as a chapter of the GCC manual.
2406         * gcc.texi: Include objc.texi.
2407         * fdl.texi: Use @unnumberedsec for the addendum.
2408         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
2409
2410 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2411
2412         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
2413
2414 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
2415
2416         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
2417         handling of two-address insns.
2418
2419 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
2420
2421         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
2422         ../binutils/nm-new instead of ../binutils/nm.
2423
2424 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
2425
2426         * i386.md (movdi splitter): Fix the splitting condition
2427         (float_extenddftf splitter): Fix mode.
2428
2429 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
2430
2431         * genrecog.c (write_switch): Avoid outputting of switch for
2432         types wider than int.
2433
2434 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
2435
2436         * reload1.c (copy_eh_notes): New function.
2437         (emit_input_reload_insns): Call it.
2438         (emit_output_reload_insns): Call it.
2439
2440 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
2441
2442         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
2443         Delete stanzas.
2444         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
2445         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
2446
2447         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
2448
2449 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2450
2451         * pa.md (interspace_jump): Revise comment.
2452         (builtin_longjmp): Block initial setup insns from delay slot of
2453         interspace branch.
2454         (builtin_setjmp_receiver): New expander to save and restore PIC
2455         register.
2456
2457         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
2458
2459 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
2460
2461         * toplev.c (compile_file): Set up the output file before we call
2462         the various initializers for the compiler.
2463
2464         * except.c (sjlj_mark_call_sites): Do not search for assignments to
2465         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2466
2467         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
2468         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
2469
2470 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
2471
2472         * Makefile.in (tradcpp0): Correct typo in dependency list.
2473
2474 2001-05-06  Geoff Keating  <geoffk@redhat.com>
2475
2476         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
2477         the link register if we're not going to use it.
2478
2479         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
2480         (output_function_profiler): Likewise.
2481
2482 2001-05-07  Alan Modra  <amodra@one.net.au>
2483
2484         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
2485
2486 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
2487
2488         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
2489         zero-extend it.  Make abs_inc unsigned.
2490
2491         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
2492         widest mode in narrowing and widening operations.
2493
2494         * config/mips/mips.md: Sign extend CONST_INTs.
2495
2496 2001-05-06  Andreas Jaeger  <aj@suse.de>
2497
2498         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
2499         (i386 Options): Document -momit-leaf-frame-pointer.
2500
2501 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2502
2503         * c-typeck.c (internal_build_compound_expr): Check for
2504         array to pointer conversion just once.
2505
2506 2001-05-05  Richard Henderson  <rth@redhat.com>
2507
2508         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
2509
2510 2001-05-05  Richard Henderson  <rth@redhat.com>
2511
2512         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
2513         to the parent of the fixup region.
2514
2515 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
2516
2517         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
2518         "inline" keyword.
2519         * cpp.texi (__NO_INLINE): Document it.
2520
2521 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2522
2523         * cppfiles.c (struct include_file): New member err_no.
2524         (find_or_create_entry): Set it.
2525         (open_file): Don't set fds to -2.  Instead, use err_no to
2526         remember previous errors, if any.
2527
2528 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2529
2530         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
2531         between X and Y by using sequences of xgdx and xgdy.
2532
2533 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2534
2535         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
2536         of '!' for the 'D' alternative ('!' is too strong).
2537         ("*logicalsi3_silshl16"): Likewise.
2538         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
2539         ("movstrictsi"): Remove spurious '+'.
2540         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
2541         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
2542         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
2543         a reload to them.
2544
2545 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
2546
2547         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
2548
2549 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
2550
2551         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
2552         into -a.
2553
2554 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2555
2556         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
2557         TARGET_POWERPC64.
2558
2559 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2560
2561         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
2562         soft register, use ror instead of rol.
2563
2564 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2565
2566         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
2567         into account pre/post increment decrement for 68HC12.
2568         Fix other problems in replacement and fix call to reg_mentioned_p.
2569
2570 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2571
2572         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
2573         Put the soft registers in bss for 68HC12.
2574         (L_regs_d3_4): New for _.d3 and _.d4.
2575         (L_regs_d5_6): Likewise.
2576         (L_regs_d1_2): Likewise.
2577         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
2578
2579 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2580
2581         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
2582         to the pre-processor when -fshort-double is specified.
2583         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
2584
2585 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2586
2587         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
2588         (__mulsi3): Rewrite for 68HC12.
2589         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
2590         Mark 'x' constraint with earlyclobber to prevent a
2591         RELOAD_FOR_OTHER_ADDRESS to go in it.
2592         (mulhi3_m68hc12): New pattern.
2593         (mulhi3_m68hc11): Rename of mulhi3.
2594         (mulhi3): New expand for 68HC12 optimisation.
2595         (umulhisi3, mulhisi3): New patterns for 68HC12.
2596
2597 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2598
2599         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
2600         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
2601         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
2602
2603 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2604
2605         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
2606         constants cheap after reload.
2607         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
2608         are cheap.
2609         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
2610         so that gcc prefers a shift by 16.
2611         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
2612
2613 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
2614
2615         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
2616
2617 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2618
2619         * alpha.h: NULL_PTR -> NULL.
2620         * arm.c: Likewise.
2621         * arm.h: Likewise.
2622         * avr.h: Likewise.
2623         * c4x.c: Likewise.
2624         * c4x.h: Likewise.
2625         * i386.c: Likewise.
2626         * i386.md: Likewise.
2627         * i860.c: Likewise.
2628         * ia64.c: Likewise.
2629         * m68hc11.h: Likewise.
2630         * rs6000.h: Likewise.
2631         * sh.c: Likewise.
2632         * sh.h: Likewise.
2633         * sparc.h: Likewise.
2634         * v850.c: Likewise.
2635
2636         * expr.c: Likewise.
2637         * final.c: Likewise.
2638         * gcc.c: Likewise.
2639         * recog.c: Likewise.
2640
2641 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2642
2643         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
2644         `bool' parameter to `int'.
2645
2646         * hash.c (hash_lookup): Likewise.
2647
2648         * hash.h (hash_lookup): Likewise.
2649
2650         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
2651
2652 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
2653
2654         * i386.c (x86_initialize_trampoline): Fix mode of constant.
2655
2656 2001-05-03  Geoff Keating  <geoffk@redhat.com>
2657
2658         * invoke.texi (i386 Options): Delete references to -malign-jumps,
2659         -malign-loops, -malign-functions.
2660         * i386.c (ix86_align_funcs): Delete.
2661         (ix86_align_loops): Delete.
2662         (ix86_align_jumps): Delete.
2663         (override_options): Mark -malign-* as obsolete.  Emulate their
2664         behaviour with the -falign-* options.  Default -falign-* from
2665         the processor table.
2666         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
2667         patch of Wed May 2 13:09:36 2001.
2668         (LOOP_ALIGN): Delete.
2669         (LOOP_ALIGN_MAX_SKIP): Delete.
2670         (LABEL_ALIGN_AFTER_BARRIER): Delete.
2671         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
2672
2673 2001-05-04  Andreas Jaeger  <aj@suse.de>
2674
2675         * except.h: Add prototype declaration for
2676         expand_builtin_init_dwarf_reg_sizes.
2677
2678 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
2679
2680         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
2681
2682 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2683
2684         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
2685         instruction.
2686         ("bitcmpqi2"): New pattern for bit-extract and test.
2687         ("bitcmphi"): New pattern for bitb/bita instructions.
2688
2689 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2690
2691         * gccbug.in: Use a temporary directory when the mktemp command is
2692         not available.
2693
2694 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2695
2696         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
2697         instead of _.d1.
2698         (INITIALIZE_TRAMPOLINE): Call it.
2699         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
2700         (TRAMPOLINE_TEMPLATE): Remove.
2701         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
2702         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
2703         Declare.
2704
2705 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
2706
2707         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
2708         and crtendS.o with PIC.
2709
2710 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2711
2712         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
2713         negative numbers.
2714         (___subdi3, ___adddi3): Use x instead of y as index register.
2715         (__init_bss_section, __map_data_section): Optimize for 68HC12.
2716         (__memset, __memcpy): Likewise.
2717         (regs): Put the soft registers in bss for 68HC12.
2718         (abort): Use trap to abort for 68hc12.
2719         (__mulhi3, __mulhi32): Use emul for 68hc12.
2720         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
2721
2722 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2723
2724         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
2725         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
2726         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
2727         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
2728         Set 68HC12 min offset to -65536.
2729         (print_operand): Put parenthesis arround the operand if it refers
2730         to a symbol having the same name as a register.
2731         (m68hc11_z_replacement): When z register is replaced by its
2732         equivalent soft register, force the insn to be re-recognized.
2733         (m68hc11_check_z_replacement): Fix the test when destination is
2734         the index register and z dies in the insn.
2735         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
2736
2737 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2738
2739         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
2740         costs according to processor variant.
2741         (m68hc11_shift_cost): New function to compute shift costs.
2742         (m68hc11_rtx_costs): Define costs according to processor variant.
2743         (m6811_cost): Costs for 68HC11.
2744         (m6812_cost): Costs for 68HC12.
2745         (COSTS_N_INSNS): Remove.
2746
2747         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
2748         (DEFAULT_RTX_COSTS): Remove.
2749         (CONST_COSTS): Define costs according to OUTER_CODE.
2750         (processor_costs): New struct to define costs.
2751         (m68hc11_cost): Pointer to current costs.
2752
2753 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2754
2755         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
2756         and use m68hc11_notice_keep_cc when using leax/leay.
2757         (addhi3 split): Reject split if the insn is handled by
2758         leax/leay above.
2759         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
2760         push must be handled in a special way if the source operand uses
2761         sp as index register.
2762         (m68hc11_notice_keep_cc): New function.
2763         (m68hc11_gen_movhi): Use it when an insn changes a register but
2764         not the flags.
2765         (m68hc11_gen_movqi): Fix move for 68HC12.
2766         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
2767
2768 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2769
2770         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
2771         and don't pass operands[0] to emit_library_call_value.
2772
2773 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2774
2775         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
2776         (zero_extendsi split): Simplify and use (zero_extendhi).
2777         (*addhi3): Remove 'w' constraint since stack pointer is handled
2778         by (addhi3_sp).
2779         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
2780         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
2781         (*ashrhi3_const): Fix shift by 7.
2782         (*lshrsi3_const16): Fix template.
2783         (call, call_value): Fix constraint and predicate.
2784
2785 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2786
2787         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
2788         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
2789         (CC_REGNUM): Likewise.
2790         (*unnamed splits): Use above constants instead of hard coded numbers.
2791         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
2792         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
2793         (*return_16bit, *unnamed peepholes): Likewise.
2794
2795 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
2796
2797         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
2798         rs6000/rs6000.h twice.
2799
2800 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
2801
2802         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
2803         (CPP_SPEC): Conditionally define MSDOS and GO32.
2804         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
2805         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
2806         ignored.
2807         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
2808
2809 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
2810
2811         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
2812
2813 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
2814
2815         * integrate.h (struct inline_remap): Add leaf_reg_map table.
2816         * integrate.c (expand_inline_function): Use xcalloc to allocate
2817         memory.
2818         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
2819         registers.
2820
2821 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
2822
2823         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
2824         if it is not set.
2825
2826 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
2827
2828         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
2829         linker if -mrelax is given.
2830         (TARGET_SWITCHES): Document -mrelax.
2831
2832         Re-installed 2001-01-09's patch:
2833         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
2834         if it's wider than long and the target's long is wider than the
2835         host's.
2836
2837 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
2838
2839         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
2840         directly include rs6000/rs6000.h.  Instead do it in tm.h.
2841
2842 2001-05-02  Stan Shebs  <shebs@apple.com>
2843
2844         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
2845         NSConstantString for NeXT-style runtimes.
2846         (STRING_OBJECT_GLOBAL_NAME): New macro.
2847         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
2848         OCTI_STRING_CLASS_DECL.
2849         (constant_string_global_id): New macro.
2850         (string_class_decl): Ditto.
2851         (setup_string_decl): New function.
2852         (build_objc_string_object): Use it to build a NeXT runtime
2853         compatible string initializer.
2854
2855 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
2856
2857         * tradcpp.c (do_define): Make sure we don't walk past limit.
2858
2859 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2860
2861         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
2862         offsets if not REG_OK_STRICT.
2863
2864         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
2865         (INT_REG_OK_FOR_INDEX_P): Likewise.
2866         (INT_REG_OK_FOR_BASE_P): Likewise.
2867         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
2868         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
2869         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
2870         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
2871         REG_OK_FOR_BASE_P. Take an additional parameter.
2872         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
2873         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
2874         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
2875         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
2876         rs6000_legitimate_address() and use it.
2877         * config/rs6000/rs6000.c: Update all callers.
2878         (rs6000_legitimate_address): New function.
2879
2880 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
2881
2882         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
2883         special_constant conditional blocks together.
2884
2885 2001-05-02  Dale Johannesen  <dalej@apple.com>
2886
2887         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
2888         parameter.
2889         (STRICT_ARGUMENT_NAMING): Define.
2890         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
2891         function_arg_partial_nregs, setup_incoming_varargs): Remove
2892         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
2893         is defined.
2894
2895 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2896
2897         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
2898
2899         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
2900         for replacement.
2901
2902         * expr.c (store_field): Do nothing except elaborate side-effects if
2903         zero-bit field.
2904
2905 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2906
2907         * c-lex.c: NULL_PTR -> NULL.
2908         * cse.c: Likewise.
2909         * emit-rtl.c: Likewise.
2910         * gcse.c: Likewise.
2911         * genpeep.c: Likewise.
2912         * jump.c: Likewise.
2913         * mips-tdump.c: Likewise.
2914         * reload1.c: Likewise.
2915         * rtlanal.c: Likewise.
2916         * stmt.c: Likewise.
2917         * stor-layout.c: Likewise.
2918         * toplev.c: Likewise.
2919
2920 2001-05-01  Per Bothner  <per@bothner.com>
2921
2922         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
2923         call do_pending_stack_adjust before emiting label.
2924
2925 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
2926
2927         * extend.texi: Fix typo.
2928
2929 2001-05-01  Stan Shebs  <shebs@apple.com>
2930
2931         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
2932         of UOBJC_MODULES_decl.
2933         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
2934         (generate_descriptor_table): Ditto.
2935         (generate_protocols): Ditto.
2936         (generate_protocol_list): Ditto.
2937         (generate_classref_translation_entry): Ditto.
2938
2939 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
2940
2941         * invoke.texi (Optimize Options): Add documentation for `--param
2942         max-delay-slot-insn-search' and `--param
2943         max-delay-slot-live-search' and reorder --param section.
2944         * params.def: Modify initial comment.
2945         * params.h (param_info): Add `help' member.
2946         * toplev.c (lang_independent_params): Include `help' description.
2947         (display_help): Print --param parameters.
2948
2949 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
2950
2951         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
2952         Remove references to deleted files.
2953         (*-*-openbsd): No need to override xmake_file.
2954         (*-*-sysv4): Treat like *-*-sysv.
2955
2956         * configure.in: Probe for ldopen in various places, and set up
2957         collect2 to be linked with them if found.
2958         Don't dink with Windows registry stuff unless $host_os is a
2959         Win32 os name.  Check to see if we need -ladvapi32.
2960         * configure: Regenerate.
2961
2962         * Makefile: Get rid of CLIB and HOST_CLIB.
2963         Substitute in COLLECT2_LIBS and link collect2 against its contents.
2964         * build-make: Get rid of HOST_CLIB.
2965
2966         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
2967         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
2968         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
2969         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
2970         config/rs6000/x-rs6000: Delete.
2971
2972         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
2973         Don't set CLIB.
2974
2975         24 x-host fragments remain, 0 x-cpu, 3 top level.
2976
2977 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
2978
2979         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
2980         * configure: Regenerate.
2981
2982 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
2983
2984         * Makefile.in (install-headers): Remove redundant dependency.
2985
2986 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
2987
2988         * c-tree.texi (USING_STMT): Document.
2989
2990 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2991
2992         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
2993         * c-common.c: Likewise.
2994         * c-decl.c: Likewise.
2995         * combine.c: Likewise.
2996         * rs6000.c: Likewise.
2997         * except.c: Likewise.
2998         * explow.c: Likewise.
2999         * expr.c: Likewise.
3000         * fold-const.c: Likewise.
3001         * function.c: Likewise.
3002         * gcc.c: Likewise.
3003         * gcse.c: Likewise.
3004         * integrate.c: Likewise.
3005         * loop.c: Likewise.
3006         * objc/objc-act.c: Likewise.
3007         * recog.c: Likewise.
3008         * reg-stack.c: Likewise.
3009         * reload.c: Likewise.
3010         * reload1.c: Likewise.
3011         * simplify-rtx.c: Likewise.
3012         * stmt.c: Likewise.
3013         * varasm.c: Likewise.
3014
3015 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
3016
3017         * diagnostic.def: New file.
3018         * diagnostic.h (diagnostic_t): New enum.
3019         * Makefile.in (diagnostic.o): Depend on diagnostic.def
3020
3021 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3022
3023         * tsystem.h: Test only POSIX for availability of string.h
3024         and time.h.
3025         * config.gcc (all systems): If USG appeared in xm_defines,
3026         change it to POSIX.  If both USG and POSIX appeared, just
3027         delete USG. Remove unnecessary quotes around xm_defines
3028         settings.
3029         (m68k-crds-unos*): Don't #define unos - tested nowhere.
3030         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
3031         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
3032         powerpc-*-linux*): No need to set xm_defines - handled by
3033         global settings for *-*-linux*.
3034
3035 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3036
3037         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
3038         Always include gstab.h, not system stab.h.  Don't provide
3039         default definitions of N_CATCH or N_OPT.  Always use the
3040         gstab.h variant of STAB_CODE_TYPE.
3041         * final.c: Don't include stab.h/gstab.h at all, or provide
3042         defaults for N_SLINE and N_SOL.
3043
3044         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
3045         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
3046         available.
3047         * sdbout.c: Always include gsyms.h instead of system syms.h.
3048
3049         * configure.in: No need to check for stab.h.
3050         * configure, config.in: Regenerate.
3051         * Makefile.in (final.o): Don't depend on gstab.h.
3052
3053 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3054             Richard Henderson  <rth@redhat.com>
3055
3056         * extend.texi: Improve documentation of volatile asms.
3057
3058 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3059
3060         * c-tree.texi: Fix thinko.
3061         * gcc.texi: Likewise.
3062
3063 2001-04-30  Richard Henderson  <rth@redhat.com>
3064
3065         * c-common.c (c_promoting_integer_type_p): New function, from the
3066         corpse of old macro.  Properly promote too-small enumerations and
3067         booleans.  Adjust all callers.
3068         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
3069         (c_promoting_integer_type_p): Declare.
3070         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
3071         * c-typeck.c: Likewise.
3072         (default_conversion): Remove now redundant boolean check.
3073
3074 2001-04-30  Jan Hubicka  <jh@suse.cz>
3075             Richard Henderson  <rth@redhat.com>
3076
3077         * regmove.c (try_apply_stack_adjustment): Remove now redundant
3078         sanity checks.
3079         (combine_stack_adjustments_for_block): Don't combine stack
3080         allocation followed by deallocations.  Handle grow-up stacks.
3081
3082 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3083
3084         * fdl.texi: New file.
3085         * c-tree.texi: Use the GFDL.
3086         * gcc.texi: Likewise.
3087
3088 2001-04-30  Stan Shebs  <shebs@apple.com>
3089
3090         * invoke.texi: Add a section documenting Objective-C options.
3091
3092 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
3093
3094         * emit-rtl.c (try_split):  Copy EH notes to sequence.
3095
3096 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3097
3098         * regmove.c (record_stack_memrefs): Catch all references to the
3099         stack pointer.
3100
3101 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
3102
3103         * Makefile.in (stmp-fixinc): quote shell assignment values
3104
3105 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3106
3107         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
3108
3109         * gcc.c: Likewise.
3110
3111         * prefix.c: Likewise.
3112
3113 2001-04-28  Stan Shebs  <shebs@apple.com>
3114
3115         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
3116         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
3117         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
3118         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
3119
3120         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
3121         (NEXT_OBJC_RUNTIME): Define.
3122
3123 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
3124
3125         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
3126         * simplify-rtx.c (simplify_gen_relational): Likewise.
3127
3128         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
3129
3130         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
3131         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
3132
3133         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
3134         registers in SSE case; fix handling of the immediates.
3135         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
3136         operands to be in regsiters before reload.
3137         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
3138         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
3139         (abstf,absxf,negtf,negxf splitters): Compute
3140         properly the regnum for x86_64.
3141         (avsdf2_if_rex64): New.
3142
3143 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
3144
3145         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
3146         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
3147         into the constant pool.
3148         * jump.c (jump_optimize_1): Remove barrier successors after all
3149         the LABEL_NUSES counds have been computed.
3150         (delete_barrier_successors): When deleting a tablejump insn, also
3151         delete the jump table it uses.
3152         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
3153         label into memory.
3154
3155 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
3156
3157         * pa.c (FRP): Remove erroneous white space in macro definition.
3158
3159 2001-04-28  Andreas Jaeger  <aj@suse.de>
3160
3161         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
3162         appropriate.
3163         * extend.texi: Likewise.
3164         * tm.texi: Likewise.
3165
3166 2001-04-28  Andreas Jaeger  <aj@suse.de>
3167
3168         * md.texi: Use XX-bit instead of XXbit or XX bit where
3169         appropriate.
3170
3171 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
3172
3173         * gcc.c (process_command): Allow -l lib in addition to -llib
3174         for POSIX compliance. This fixes PR c/2347.
3175
3176         * invoke.texi: Update section on Link Options accordingly.
3177
3178 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
3179
3180         * function.c (purge_addressof_1): Remove the duplicate
3181         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
3182         blocks together.
3183
3184 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
3185
3186         * except.c (expand_eh_region_start): Don't start a new block.
3187         (expand_eh_region_end): Don't end a block.
3188         * stmt.c (expand_end_bindings): Don't end EH blocks.
3189         (expand_decl_cleanup): Starting an EH region won't change the block.
3190         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
3191         (is_eh_region): Lose.
3192         * tree.h: Adjust.
3193
3194 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
3195
3196         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
3197
3198         * collect2.c (main): Add `-L' case to remove duplicate entries.
3199         (is_in_args): New function to check for a duplicate argument.
3200         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
3201         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
3202         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
3203         Define to be nonzero.
3204
3205 2001-04-27  Andreas Jaeger  <aj@suse.de>
3206             Richard Henderson  <rth@redhat.com>
3207
3208         * md.texi (Machine Constraints): Document additional i386
3209         constraints and fix description of "A".
3210
3211 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
3212
3213         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
3214
3215 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
3216
3217         * except.c (get_exception_filter): word_mode, not Pmode.
3218
3219 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
3220
3221         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
3222         common to other movsf patterns.  Move up so that in future
3223         people who change the other patterns will change it too.
3224         (movsf_lo_sum): Allow even for soft-float; add appropriate
3225         constraints.
3226         (movsf_high): Likewise.
3227         (movsf_high+1): Allow even for soft-float.
3228
3229         * function.c (expand_function_end): Always clobber the
3230         return registers, even if there is no return label.
3231
3232 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
3233
3234         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
3235
3236 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
3237
3238         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
3239         (pushqi2_rex64, pushhi2_rex64): Add.
3240
3241 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
3242
3243         * except.c (expand_eh_region_end_cleanup): Force pending stack
3244         adjust before emitting label that branches around cleanup code.
3245
3246 2001-04-26  H.J. Lu  (hjl@gnu.org)
3247
3248         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
3249
3250         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
3251         define.
3252         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
3253         (ASM_OUTPUT_SECTION_NAME): Likewise.
3254         (ASM_WEAKEN_LABEL): Likewise.
3255         (UNIQUE_SECTION): Likewise.
3256         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3257         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3258         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
3259         (ASM_OUTPUT_SECTION_NAME): Likewise.
3260         (ASM_WEAKEN_LABEL): Likewise.
3261         (UNIQUE_SECTION): Likewise.
3262         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3263         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3264         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
3265         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
3266         (ASM_FILE_START): Likewise.
3267         (ASM_OUTPUT_SOURCE_LINE): Likewise.
3268         (ASM_DECLARE_OBJECT_NAME): Likewise.
3269         (ASM_FILE_END): Likewise.
3270         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3271         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
3272         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3273         (ASM_OUTPUT_CASE_LABEL): Likewise.
3274         (ASM_OUTPUT_SKIP): Likewise.
3275         (ASM_OUTPUT_ASCII): Likewise.
3276         (ASM_OUTPUT_IDENT): Likewise.
3277         (READONLY_DATA_SECTION): Likewise.
3278         (EXTRA_SECTIONS): Likewise.
3279         (EXTRA_SECTION_FUNCTIONS): Likewise.
3280         (SELECT_RTX_SECTION): Likewise.
3281         (SELECT_SECTION): Likewise.
3282
3283         * config/mips/linux.h (INVOKE__main): Undefine.
3284         (CTOR_LIST_BEGIN): Likewise.
3285         (CTOR_LIST_END): Likewise.
3286         (DTOR_LIST_BEGIN): Likewise.
3287         (DTOR_LIST_END): Likewise.
3288         (SET_ASM_OP): Defined it to ".dummy".
3289         (ASM_OUTPUT_DEF): Defined.
3290         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
3291
3292 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
3293
3294         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
3295         assembler supports .p2align.
3296
3297 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
3298
3299         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
3300
3301 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3302
3303         * integrate.c (expand_inline_function): Check for error_mark_node
3304         in actual argument.
3305
3306 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3307
3308         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
3309         -m386 and -m486.
3310
3311 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
3312
3313         * configure.in (configargs.h): Define thread_model.
3314         * configure: Rebuilt.
3315         * gcc.c (main): Print it with -v.
3316
3317 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3318
3319         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
3320         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
3321         * gcc.1: Regenerate.
3322
3323 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3324
3325         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
3326         is_redundant_typedef): Use static inline instead of inline static.
3327
3328 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
3329
3330         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
3331         this directory is always searched.
3332
3333 2001-04-25  Richard Henderson  <rth@redhat.com>
3334
3335         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
3336         of registers to restore along non eh_return path.
3337
3338 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3339
3340         * c-format.c (check_format_info_recurse): Handle
3341         PLUS_EXPR for format string.
3342
3343 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3344
3345         * config/ia64/ia64.h (CC1_SPEC): Define.
3346         * config/ia64/linux.h (CC1_SPEC): Define.
3347
3348 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
3349
3350         * emit-rtl.c (constant_subword): Also do sign extension in
3351         BITS_PER_WORD == 16 case.
3352
3353 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
3354
3355         * loop.c (try_swap_copy_prop): Go back to checking insn.
3356
3357 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3358
3359         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
3360         if check_mode is non-zero.
3361
3362 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3363
3364         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
3365         out and comparison sequence has been detected, put result into
3366         proper temporary pseudo.
3367
3368 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3369
3370         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
3371         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
3372         * libgcc2.c: Remove __dummy and __builtin_saveregs.
3373         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
3374         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
3375         for future reference.
3376
3377 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
3378
3379         * except.c (reachable_handlers): Step out one level from a RESX.
3380
3381         * except.c (struct eh_region): Rename 'last' to 'resume'.
3382         (mark_eh_region, duplicate_eh_region_1): Adjust.
3383         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
3384         (build_post_landing_pads): Likewise.
3385         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
3386         (expand_eh_region_end_must_not_throw): Likewise.
3387         (connect_post_landing_pads): Thread (only) regions with non-deleted
3388         resume insns.
3389
3390         * except.c (expand_eh_region_end_cleanup): Save the EH return data
3391         registers around the cleanup.
3392         (get_exception_filter): New fn.
3393         (finish_eh_generation): Use it.
3394
3395 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
3396
3397         * c-semantics.c (add_scope_stmt): Don't call
3398         current_scope_stmt_stack multiple times.
3399
3400 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3401             Nathan Sidwell <nathan@codesourcery.com>
3402
3403         Lazy __FUNCTION__ generation.
3404         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
3405         RID_C99_FUNCTION_NAME): New _RIDs.
3406         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
3407         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
3408         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
3409         global tree slots.
3410         (function_id_node, pretty_function_id_node, func_id_node): Remove.
3411         (c99_function_name_decl_node, function_name_decl_node,
3412         pretty_function_name_decl_node, saved_function_name_decls):
3413         Declare.
3414         (struct language_function): Remove x_function_name_declared_p.
3415         (make_fname_decl): Remove a parameter.
3416         (declare_function_names): Remove prototype.
3417         (start_fname_decls, finish_fname_decls): Prototype.
3418         (fname_as_string): Likewise.
3419         (fname_string, fname_decl): Likewise.
3420         * c-common.c (make_fname_decl): Adjust.
3421         (struct fname_var_t): New struct.
3422         (fname_vars): New static array.
3423         (declare_function_name): Remove.
3424         (start_fname_decls, finish_fname_decls): New functions.
3425         (fname_as_string): New function from remnants of
3426         declare_function_name.
3427         (fname_string, fname_decl): New functions.
3428
3429         * c-decl.c (c_function_name_declared_p): Remove.
3430         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
3431         don't call declare_function_name. Call start_fname_decls.
3432         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
3433         clobber the line number. Call finish_decl.
3434         (start_function): Call start_fname_decls.
3435         (finish_function): Call finish_fname_decls.
3436         Remove c_function_name_declared_p.
3437         (push_c_function_context): Don't push c_function_name_declared_p.
3438         (pop_c_function_context): Don't pop c_function_name_declared_p.
3439         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
3440         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
3441         (program): Call finish_fname_decls for C.
3442         (primary): Add VAR_FUNC_NAME.
3443         (reswords): Add slots for __FUNCTION__ et al.
3444         (rid_to_yy): Add mappings for __FUNCTION__ et al.
3445         (yylexname): If it's a STRING_FUNC_NAME generate the function name
3446         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
3447         * c-semantics.c (prune_unused_decls): Remove.
3448         (finish_stmt_tree): Don't call prune_unused_decls.
3449         (genrtl_decl_stmt): Don't prune unused decls here.
3450
3451 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
3452
3453         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
3454         constant pool, use the pool's SYMBOL_REF instead.
3455
3456         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
3457         v850e.
3458
3459 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3460
3461         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
3462         passing nested NOP_EXPRs to fold.
3463
3464 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
3465
3466         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
3467
3468 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
3469
3470         * loop.c (loop_delete_insns): Add prototype.
3471
3472 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
3473
3474         * configure.in:  Remove ENABLE_STD_NAMESPACE.
3475         * config.in:  Regenerated.
3476         * configure:  Regenerated.
3477
3478 2001-04-22  Stan Shebs  <shebs@apple.com>
3479
3480         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
3481         into xm_defines.
3482         * config/rs6000/xm-darwin.h: Remove file.
3483
3484 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3485
3486         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
3487         (write_c_file_stat): Likewise.
3488
3489         * dbxout.c (dbxout_init): Likewise.
3490
3491         * profile.c (output_func_start_profiler): Likewise.
3492
3493 2001-04-22  Philipp Thomas  <pthomas@suse.de>
3494
3495         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
3496         require it instead of the CVS version.
3497         * cpperror.c (v_message): Put a blank before the macro
3498         body to not confuse exgettext.
3499
3500 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
3501
3502         * flow.c (proagate_one_insn): Remove useless assignment.
3503         * jump.c (delete_insn): Tidy.
3504         * loop.c (try_copy_prop): When deleting an instruction with a
3505         REG_RETVAL note, delete the entire libcall sequence.
3506         (loop_delete_insns): New function.
3507         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
3508         we're not substituting into them yet.
3509
3510 2001-04-21  Kazu Hirata  <kazu@hxi.com>
3511
3512         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
3513
3514         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
3515         Fix a comment typo.
3516         * config/i960/i960.c (signed_arith_operand): Likewise.
3517
3518         * calls.c (expand_call): Fix a comment typo.
3519
3520 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
3521
3522         * configure.in: Probe for times, clock, struct tms, and clock_t.
3523         * configure, config.in: Regenerate.
3524         * timevar.c: Replace ifdef forest in get_time with (relatively)
3525         straightforward series of checks based on autoconf's probes.
3526
3527 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
3528
3529         * config/pa/som.h (NM_FLAGS): Define.
3530
3531 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
3532
3533         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
3534         function.
3535         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
3536         * ia64.c (nop_cycles_until): New function.
3537         (prev_cycle, prev_first, last_issued): New static variables.
3538         (ia64_sched_reorder): Additional arg for clock.
3539         On final scheduling pass, emit extra NOPs as needed.
3540         Set prev_first and prev_cycle.
3541         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
3542         (ia64_variable_issue): Set last_issued.
3543
3544 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
3545
3546         * config/i386/i386.c (ix86_expand_int_movcc,
3547         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
3548
3549 2001-04-20  Geoff Keating  <geoffk@redhat.com>
3550
3551         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
3552         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
3553         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
3554         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
3555         ctrdi_internal6): In the short-branch case, this insn is only 4
3556         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
3557
3558 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
3559
3560         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
3561         "=u" is used together with "st" resp. "st(1)" clobber.
3562
3563 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
3564
3565         * gcse.c (gcse_main): Fix comment typo.
3566         (delete_null_pointer_check): Likewise.
3567         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
3568         * cse.c (cse_insn): Likewise.
3569         * function.c (fixup_var_refs_insns_with_hash): The sequence is
3570         toplevel.
3571
3572 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
3573
3574         * toplev.c: Excise all code for the undocumented -dm option.
3575         (float_signal): Call signal just once, unconditionally.
3576
3577 2001-04-19  Geoff Keating  <geoffk@redhat.com>
3578
3579         * fold-const.c (fold): Use first_rtl_op rather than
3580         TREE_CODE_LENGTH when looping over parameters of a tree.
3581         Correct strange grouping in test for evaluated SAVE_EXPR.
3582
3583 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
3584
3585         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
3586         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
3587
3588         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
3589         name at 32 total characters.
3590         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
3591         functions in named sections -- data items can still go into unique
3592         sections, but they have normal names (ie $LIT$ and $DATA$).
3593
3594         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
3595         INIT_PRIORITY.
3596
3597 2001-04-19 DJ Delorie  <dj@redhat.com>
3598
3599         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
3600         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
3601         * config/i386/cygwin.h: Likewise.
3602         * config/i386/mingw32.h: Likewise.
3603         * config/vax/vms.h: Likewise.
3604         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
3605
3606         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
3607         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
3608         * config/i386/xm-cygwin.h: Likewise.
3609         * config/i386/xm-djgpp.h: Likewise.
3610         * config/i386/xm-mingw32.h: Likewise.
3611         * config/vax/xm-vms.h: Likewise.
3612
3613         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
3614         instead of OBJECT_SUFFIX.
3615         * collect2.c (find_a_file): Look for files matching the extension
3616         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
3617         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
3618         TARGET_EXECUTABLE_SUFFIX.
3619         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
3620         (make_relative_prefix): Likewise.
3621         (convert_filename): Use TARGET_ suffixes throughout.  Remove
3622         NO_AUTO_EXE_SUFFIX.
3623         (process_command): Likewise.
3624         (do_spec_1): Likewise.
3625         * java/lang.c (init_parse): Likewise.
3626
3627         * gcc.texi : Document four new options matching the pattern
3628         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
3629         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
3630         documentation for NO_AUTO_EXE_SUFFIX.
3631
3632 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
3633
3634         * toplev.h (struct lang_hooks): Allow decode_option to indicate
3635         that language-independent processing should not be done.
3636         * toplev.c (main): Adjust accordingly.
3637
3638         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
3639         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
3640
3641         * mips.md (reload_outputdi): Require that operand0 be a
3642         general_operand.
3643
3644 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
3645
3646         * invoke.texi (-Wshadow): Clarify.
3647
3648 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
3649
3650         * loop.c (load_mems): Examine all the instructions in the loop
3651         before concluding that all jumps branch to the first instruction
3652         after the loop.
3653
3654 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
3655
3656         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
3657
3658 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
3659
3660         * cpp.texi (-Wwhite-space): Remove.
3661         (-Wall): -Wall does not imply -Wwhite-space.
3662
3663 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
3664
3665         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
3666         use it instead of blindly generating a .stabs.
3667         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
3668         in the right place.
3669         * xcoffout.c: Don't bother defining default for N_CATCH.
3670         (UNKNOWN_STAB): Use internal_error.
3671         (stab_to_sclass): Remove now-unnecessary aborts.
3672         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
3673
3674 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
3675
3676         * jump.c (mark_all_labels): Canonicalize the tail recursion
3677         label attached to CALL_PLACEHOLDER insns.
3678
3679 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3680
3681         * output.h (dump_flow_info, free_basic_block_vars,
3682         which_alternative): Delete redundant prototypes.
3683
3684         * rtl.h (bss_section): Likewise.
3685
3686 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
3687
3688         * dbxout.c (N_OPT): Define if not available from <stab.h>
3689
3690 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3691
3692         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
3693         libraries and native K&R compilers.
3694
3695 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3696
3697         * c-typeck.c (convert_arguments): Don't check for width changes
3698         with -Wtraditional.
3699
3700         * invoke.texi (-Wtraditional): Update documentation.
3701
3702 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
3703
3704         * toplev.c (output_lang_identify): Delete.
3705         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
3706         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
3707         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
3708         after calling ASM_FILE_END.
3709
3710         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
3711         Instead, unconditionally emit an N_OPT stab with string equal
3712         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
3713
3714         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
3715
3716         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
3717         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
3718         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
3719         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
3720         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
3721         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
3722         config/i370/i370.h, config/i386/beos-elf.h,
3723         config/i386/osf1elf.h, config/i386/osfrose.h,
3724         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
3725         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
3726         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
3727         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
3728         config/mips/iris6.h, config/mips/osfrose.h,
3729         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
3730         config/sparc/sp64-elf.h:
3731         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
3732         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
3733
3734         * config/elfos.h, config/freebsd.h, config/linux.h,
3735         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
3736         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
3737         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
3738         of ASM_FILE_START which merely emit a .version directive.  Delete
3739         definitions of ASM_FILE_END which merely emit an .ident directive.
3740
3741         * config/avr/avr.h, config/vax/vax.h: Delete definition of
3742         ASM_IDENTIFY_GCC and move part of its logic into
3743         ASM_FILE_START.
3744
3745         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
3746         config/sparc/linux-aout.h: Don't emit .version directive in
3747         ASM_FILE_START.
3748
3749         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
3750         (output_file_start): Correct comment.
3751
3752         * config/i386/osfrose.h: Don't emit trailing .ident directive.
3753         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
3754         to match gdb.
3755         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
3756         * config/rs6000/aix.h: Correct comment.
3757
3758         * config/i386/i386afe.h: Delete.
3759         * config.gcc: Remove references to i386afe.h.
3760
3761         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
3762         other macros deleted by this patch were undocumented.
3763
3764 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
3765
3766         * pa.md (reload_outdi): Operand 0 must be a non hard register.
3767
3768         * pa.c (secondary_reload_class): SAR<->FP copies require a
3769         secondary register.
3770
3771         * install.texi (mips-mips-bsd): Update list of functions
3772         required to include memmove.
3773         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
3774         used functions to include memmove.
3775
3776 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
3777
3778         * i386.md (sqrtdf2): SFmode should be DFmode.
3779
3780 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
3781
3782         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
3783         (find_moveable_store): Likewise.
3784
3785 2001-04-15  Jim Wilson  <wilson@redhat.com>
3786
3787         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
3788
3789 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
3790
3791         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
3792         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
3793
3794 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
3795
3796         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
3797         first alternative.
3798
3799 2001-04-14  Alan Modra  <amodra@one.net.au>
3800
3801         * pa.c (force_mode): New function.
3802         (emit_move_sequence): Use it instead of generating new rtx_REGs.
3803
3804 2001-04-13  Jim Wilson  <wilson@redhat.com>
3805
3806         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
3807         (first_instruction): New static variable.
3808         (rtx_needs_barrier): Return 1 for alloc.
3809         (init_insn_group_barriers): Set first_instruction.
3810         (rws_sum): Delete duplicate definition.
3811         (group_barrier_needed_p): Return 0 when first_instruction true.
3812         (safe_group_barrier_needed_p): Save and restore first_instruction
3813         around group_barrier_needed_p call.
3814
3815 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
3816
3817         * expr.h (enum libfunc_index): Add LTI_memmove.
3818         (memmove_libfunc): Define macro.
3819         * optabs.c (init_optabs): Initialize memmove_libfunc.
3820         * expr.c (expand_assignment): Use memmove_libfunc instead of
3821         memcpy_libfunc.
3822
3823 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
3824
3825         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
3826         fp mode addresses.
3827
3828 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3829
3830         * Makefile.in (reg-stack.o): Depend on reload.h.
3831         (insn-attrtab.o): Depend on flags.h.
3832
3833         * genattrtab (main): Include flags.h in insn-attrtab.c.
3834
3835         * reg-stack.c: Include reload.h.
3836
3837         * sparc.h (flag_pic): Delete redundant declaration.
3838
3839         * output.h (flag_pic): Likewise.
3840
3841         * tree.h (pedantic): Likewise.
3842
3843 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3844
3845         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
3846
3847         * jump.c, regmove.c, toplev.c: Include reload.h.
3848
3849         * reload.h (reload_cse_regs): Declare.
3850
3851         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
3852         reload_cse_regs, init_reload, mark_home_live, reload,
3853         init_caller_save): Delete redundant prototypes.
3854
3855 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3856
3857         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
3858
3859         * regclass.c, ssa.c: Include expr.h.
3860
3861         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
3862         gen_move_insn): Delete redundant declarations.
3863
3864 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3865
3866         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
3867         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
3868         MAKEINFO and MAKEINFOFLAGS too.
3869         (stage4_build): Correctly order -B flags.
3870
3871 2001-04-13  Alan Modra  <amodra@one.net.au>
3872
3873         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
3874         PIC_OFFSET_TABLE_SAVE_RTX.
3875         (zdepi_cint_p): Describe zdepi insn.
3876         Formatting and white space fixes throughout file.
3877
3878         * pa.c (uint32_operand): Don't use long constant >= 2^32.
3879         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
3880         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
3881         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
3882         (output_64bit_and): Use plain `int's for shift counts.
3883         (output_64bit_ior): Likewise.
3884         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
3885         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
3886         `N', and simplify.
3887
3888         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
3889         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
3890         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
3891         NEW_HP_ASSEMBLER into one.  Kill warnings.
3892
3893         * pa-gas.h: Delete file.
3894         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
3895         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
3896         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
3897         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
3898
3899         * config/pa/mill32.S: New file.
3900         * config/pa/mill64.S: New file.
3901         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
3902         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
3903         * config/pa/t-linux64: New file.
3904         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
3905         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
3906         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
3907
3908         * elfos.h (SELECT_SECTION): Undef before defining.
3909         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
3910         (LIB_SPEC): Remove -lmilli.
3911         (DBX_REGISTER_NUMBER): Remove.
3912         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
3913         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
3914         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
3915         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
3916         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
3917         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
3918         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
3919         TARGET_GAS): Define.
3920         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
3921         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
3922         regs if we don't have a prototype.
3923         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
3924         * pa.h (TARGET_ELF32): Default to 0 if undefined.
3925         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
3926         EH_RETURN_HANDLER_RTX): Define.
3927         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
3928         (DWARF_FRAME_REGNUM): Define.
3929         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
3930         * pa32-linux.h: New file.
3931         * pa64-linux.h: New file.
3932
3933         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
3934         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
3935         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
3936         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
3937         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
3938         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
3939         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
3940         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
3941         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
3942         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
3943         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
3944         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
3945         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
3946         * pa64-hpux.h: New file.
3947         (ASM_FILE_START): Correct typo.
3948         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
3949         * config.gcc: Modify for above.
3950
3951 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
3952
3953         * jump.c (jump_optimize_1): Don't delete dead stores here.
3954         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
3955         prior to running jump optimize before cse2.
3956
3957 2001-04-12  Richard Henderson  <rth@redhat.com>
3958
3959         * Makefile.in (regmove.o): Depend on except.h.
3960         * regmove.c: Include it.
3961
3962 2001-04-12  Stan Shebs  <shebs@apple.com>
3963
3964         * objc/objc-act.c: Remove all code ifdefed with the never-used
3965         macro OBJC_INT_SELECTORS.
3966         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
3967         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
3968
3969 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
3970
3971         * config/pa/quadlib.c: Add prototypes.
3972
3973 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3974
3975         * bitmap.h (debug_bitmap): Delete redundant prototype.
3976
3977         * rtl.h (get_frame_size): Likewise.
3978
3979 2001-04-12  Jim Wilson  <wilson@redhat.com>
3980
3981         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
3982         to just emit an fnorm.
3983
3984 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3985
3986         * c-common.h (truthvalue_conversion, type_for_mode,
3987         type_for_size): Delete redundant declarations.
3988
3989         * c-lex.h (is_class_name): Likewise.
3990
3991         * c-tree.h (pedantic, convert, getdecls, gettags,
3992         global_bindings_p, init_decl_processing, insert_block,
3993         maybe_build_cleanup, poplevel, print_lang_decl,
3994         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
3995         set_block, incomplete_type_error, build_function_call,
3996         lvalue_or_else, mark_addressable): Likewise.
3997
3998         * expr.h (expand_tree_builtin): Likewise.
3999
4000 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
4001
4002         * invoke.texi: Document --param max-gcse-memory.
4003
4004 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4005
4006         * configure.in (errno): Check for declaration.
4007         * configure, config.in: Regenerated.
4008
4009         * system.h (errno): Only declare if not already done.
4010
4011 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4012
4013         * recog.c (general_operand, immediate_operand,
4014         nonmemory_operand): Require CONST_INTs to be sign-extended
4015         values for their modes.
4016
4017 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4018
4019         * expmed.c (store_bit_field): Truncate CONST_INTs.
4020         (expand_mult_highpart, expand_divmod): Likewise.
4021         * expr.c (convert_modes, store_field): Likewise.
4022         * integrate.c (expand_inline_function): Use promote_mode() to
4023         determine whether to convert_modes() an argument as signed
4024         or unsigned.
4025         * optabs.c (expand_binop): Get CONST_INT operands
4026         sign-extended for their appropriate modes.
4027         * stmt.c (emit_case_nodes): Convert node values to the
4028         appropriate mode.
4029         (expand_end_case): Convert minval and range to the appropriate
4030         mode.
4031         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
4032         the iteration variable.
4033         * varasm.c (immed_double_const): Don't require words to be
4034         narrower than host wide ints to properly sign-extend
4035         CONST_INTs.
4036
4037 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
4038
4039         * sh.md (builtin_setjmp_receiver): New expander.
4040
4041 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
4042
4043         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
4044         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
4045         for generating CONST_INT and CONST_DOUBLE.
4046
4047 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4048
4049         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
4050         already sign-extended.
4051         (rs6000_emit_prologue): Make register iterator signed.
4052         (rs6000_emit_epilogue): Likewise.
4053         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
4054         and low.
4055         (movsf split, movdf split): Sign-extend CONST_INTs.
4056         (movdi splits): Likewise.
4057
4058 2001-04-12  Kelley Cook <kelley.cook@home.com>
4059
4060         * config-lang.in (lang_dirs): Add in zlib.
4061
4062 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
4063
4064         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
4065         operands that make it to RTL.
4066
4067 2001-04-11  Stan Shebs  <shebs@apple.com>
4068
4069         Add Darwin (Mac OS X kernel) native support.
4070         * config.gcc (powerpc-*-darwin*): Add native bits.
4071         * config/darwin.c: New file, generic Darwin support functions.
4072         * config/darwin.h: New file, generic Darwin definitions.
4073         * config/darwin-protos.h: New file, generic Darwin prototypes.
4074         * rs6000/darwin.h: New file, Darwin for PowerPC.
4075         * rs6000/t-darwin: New file, Darwin makefile fragment.
4076         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
4077         (TARGET_MACHO): Ditto.
4078         (rs6000_abi): Add ABI_DARWIN.
4079         (RS6000_REG_SAVE): Add ABI_DARWIN case.
4080         (RS6000_SAVE_AREA): Ditto.
4081         (FP_ARG_MAX_REG): Ditto.
4082         (RETURN_ADDRESS_OFFSET): Ditto.
4083         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
4084         cases.
4085         (rs6000_emit_move): Add ABI_DARWIN cases.
4086         (print_operand): Ditto.
4087         (first_reg_to_save): Ditto.
4088         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
4089         (debug_stack_info): Ditto.
4090         (rs6000_emit_prologue): Ditto.
4091         (rs6000_emit_epilogue): Ditto.
4092         (output_profiler_hook): Ditto.
4093         (output_function_profiler): Ditto.
4094         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
4095         (output_mi_thunk): Add TARGET_MACHO case.
4096         (add_compiler_stub): Ditto.
4097         (output_compiler_stub): Ditto.
4098         (no_previous_def): Ditto.
4099         (output_call): Ditto.
4100         (machopic_output_stub): Ditto.
4101         (rs6000_machopic_legitimize_pic_address): Ditto.
4102         (toc_section): Ditto.
4103         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
4104         (macho_high): Ditto.
4105         (macho_low): Ditto.
4106         (movsi_low): Ditto.
4107         (load_macho_picbase): Ditto.
4108         (call): Add TARGET_MACHO case to modify function.
4109         (call_value): Ditto.
4110         (call_nonlocal_sysv): Add ABI_DARWIN case.
4111         (call_value_nonlocal_sysv): Ditto.
4112         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
4113         Add prototype.
4114         (machopic_output_stub): Ditto.
4115         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
4116
4117 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4118
4119         * dwarf2out.c (modified_type_die): Don't create new types here.
4120         * tree.h (get_qualified_type): New function.
4121         (build_qualified_type): Adjust comment.
4122         * tree.c (get_qualified_type): New function.
4123         (build_qualified_type): Use it.
4124
4125 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4126
4127         * cpp.texi (-Wtraditional): Update description.
4128
4129         * invoke.texi (-Wtraditional): Likewise.
4130
4131 2001-04-11  Jim Wilson  <wilson@redhat.com>
4132
4133         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
4134         requires more than 64 bits of alignment.
4135
4136 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4137
4138         * cpplib.c (do_line): Sanity check iff enable checking.
4139
4140 2001-04-11  Richard Henderson  <rth@redhat.com>
4141
4142         * Makefile.in (insn-recog.o): Depend on toplev.h.
4143         (insn-emit.o, doloop.o): Likewise.
4144         * genrecog.c, genemit.c: Include toplev.h in generated file.
4145         * doloop.c: Include toplev.h.
4146
4147 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4148
4149         * Makefile.in (gcse.o): Depend on params.h.
4150         * gcse.c: Include params.h.
4151         (gcse_main): Don't do GCSE if doing so will take inordinate
4152         amounts of memory.
4153         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
4154         * params.h (MAX_GCSE_MEMORY): New macro.
4155
4156 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4157
4158         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
4159
4160         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
4161
4162 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4163
4164         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
4165
4166         * real.h (ereal_atof, real_value_truncate, target_isnan,
4167         target_isinf, target_negative, assemble_real, debug_real): Delete
4168         redundant prototypes.
4169
4170         * Makefile.in (ifcvt.o): Depend on toplev.h.
4171
4172         * c-semantics.c: Include expr.h.
4173
4174         * ifcvt.c: Include toplev.h.
4175
4176         * expr.h (rtx_equal_p): Delete prototype.
4177
4178         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
4179         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
4180         eliminate_constant_term, expand_complex_abs, find_single_use,
4181         make_tree, init_expr_once, init_optabs, supports_one_only):
4182         Likewise.
4183
4184         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
4185         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
4186         expand_assignment, store_expr, emit_line_note_after,
4187         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
4188
4189         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
4190
4191         * sparc-protos.h: Delete redundant prototypes.
4192
4193 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
4194
4195         * reload.c (push_reload): Add condition missed in SUBREG byte
4196         offset patch.
4197
4198 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4199
4200         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
4201
4202 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
4203
4204         * i386.md (floatsisf_sse): Fix output template
4205         * i386.c (ix86_expand_fp_movcc)
4206
4207         * reg-stack.c (emit_pop_insn): Handle complex modes.
4208         (move_for_stack_reg): Emit proper move mode.
4209         (subst_stack_regs_pat): Handle complex modes.
4210
4211 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
4212
4213         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
4214
4215 2001-04-10  Richard Henderson  <rth@redhat.com>
4216
4217         * libgcc2.h (__terminate_func_ptr): Remove typedef.
4218         (__pure_virtual, __terminate, __terminate_set_func,
4219         __default_terminate, __throw_type_match, __empty,
4220         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
4221         __eh_rtime_match, __unwinding_cleanup, __rethrow,
4222         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
4223         Remove prototypes of deleted functions.
4224
4225 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4226
4227         * c-typeck.c (convert_arguments): -Wtraditional now activates
4228         -Wconversion warnings, except for changes in signed-ness.
4229         Detect complex<->int & int<->complex conversions as well.
4230
4231         * invoke.texi (-Wtraditional): Document it.
4232
4233 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4234
4235         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
4236         * flow.c (set_block_for_new_insns): Remove needless cast and
4237         properly check for unset block number.
4238
4239 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
4240
4241         * function.c (purge_single_hard_subreg_set): Only check REGNO if
4242         the subreg was a hard register. Pseudos are left as subregs.
4243
4244 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4245
4246         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
4247         (LIB2ADD_ST): New macro, pass it to mklibgcc.
4248         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
4249         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
4250         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
4251
4252 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
4253
4254         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
4255
4256 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4257
4258         * output.h (set_block_num): Missed it earlier, remove deprecated
4259         prototype.
4260
4261 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4262
4263         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
4264         (load_killed_in_block_p): Change bb parameter from int to basic_block.
4265         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
4266         (handle_rd_kill_set): Change bb parameter from int to basic_block.
4267         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
4268         (expr_killed_p): Change bb parameter from int to basic_block, pass
4269         basic_blocks instead of ints as parameters.
4270         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
4271         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
4272         from int to basic_block, pass basic_blocks instead of ints as parms.
4273         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
4274         parameter from int to basic_block, pass basic_blocks instead of ints.
4275         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
4276         (insert_insn_end_bb): Change bb parameter from int to basic_block,
4277         pass basic_blocks instead of ints.
4278         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
4279         basic_blocks instead of ints as parameters.
4280         (pre_delete): Pass basic_blocks instead of ints as parameters.
4281         (hoist_expr_reaches_here_p): Change bb parameter from int to
4282         basic_block, pass basic_blocks instead of ints.
4283         (hoist_code): Pass basic_blocks instead of ints as parameters.
4284         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
4285         Change bb parameter from int to basic_block.
4286         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
4287         (insert_insn_start_bb): Change bb parameter from int to basic_block,
4288         pass basic_blocks instead of ints.
4289         (insert_store): Pass basic_blocks instead of ints as parameters.
4290         (replace_store_insn, delete_store): Change bb parameter from int to
4291         basic_block, pass basic_blocks instead of ints.
4292         (store_motion): Pass basic_blocks instead of ints as parameters.
4293
4294 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4295
4296         * basic-block.h (set_new_block_for_insns): New Prototype.
4297         (set_block_num): Delete prototype.
4298         * flow.c (set_block_num): Remove obsolete function.
4299         (set_block_for_new_insns): Set BB for single or multiple insns.
4300         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
4301         (process_insn_end_bb): Use set_block_for_new_insns or
4302         set_block_for_insn instead of set_block_num.
4303         (pre_insert_copy_insn): Use set_block_for_new_insns.
4304         (update_ld_motion_stores): Use set_block_for_new_insns.
4305         (insert_insn_start_bb): Use set_block_for_new_insns.
4306         (replace_store_insn): Use set_block_for_new_insns.
4307
4308 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4309             Jeff Law  <law@redhat.com>
4310
4311         * alias.c (get_addr): Externalize.
4312         (canon_true_dependence): New function. Behaves like true_dependance
4313         except it already assumes a MEM has been canonicalized.
4314         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
4315         * gcse.c (struct ls_expr): Add load/store expressions structure.
4316         (modify_mem_list, canon_modify_mem_list): New variable.
4317         (gcse_main): Initialize & finalize alias analysis. Use enhanced
4318         load motion and store motion if requested.
4319         (alloc_gcse_mem): Allocate space for modify_mem_list array.
4320         (free_gcse_mem): Free the modify_mem_list array.
4321         (oprs_unchanged_p): Use load_killed_in_block_p.
4322         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
4323         (mems_conflict_for_gcse_p): New function.  Don't kill loads
4324         with stores to themselves if its in the load/store expression list.
4325         (load_killed_in_block_p): New function.
4326         (canon_list_insert): New Function.
4327         (record_last_mem_set_info): Keep a list of all instructions which
4328         can modify memory for each basic block.
4329         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
4330         (oprs_not_set_p): Use load_killed_in_block_p.
4331         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
4332         (expr_killed_p): Use load_killed_in_block_p.
4333         (compute_transp): Do not pessimize memory references.
4334         (pre_edge_insert): Update stores for a load motion expression.
4335         (one_pre_gcse_pass): Check loads/stores for extra load motion.
4336         (ldst_entry): Find or create a ldst_expr structure.
4337         (free_ldst_entry): Free memory for an individual item.
4338         (free_ldst_mems): Free entire load/store expression list.
4339         (print_ldst_list): Print debug info.
4340         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
4341         (enumerate_ldsts): Assign integer values to each entry in list.
4342         (first_ls_expr): First expression in the list.
4343         (next_ls_expr): Next expression in the list.
4344         (simple_mem): Check if expression qualifies for ld/st expression list.
4345         (invalidate_any_buried_refs): Remove from expression list if its
4346         used in some other way we dont understand.
4347         (compute_ld_motion_mems): Find all potential enhanced load motion
4348         expression.
4349         (trim_ld_motion_mems): Remove any expressions which are invalid.
4350         (update_ld_motion_stores): Copy store values to registers for loads
4351         which have been moved.
4352         (regvec, st_antloc, num_store): New global statics.
4353         (reg_set_info): Marks registers as set.
4354         (store_ops_ok): Verfies registers expressions are valid in a block.
4355         (find_moveable_store): Look for moveable stores in a pattern.
4356         (compute_store_table): Find stores in a function worth moving, maybe.
4357         (load_kills_store): Check dependance of a load and store.
4358         (find_loads): Find any loads in a pattern.
4359         (store_killed_in_insn): Check if a store is killed in an insn.
4360         (store_killed_after): Check is store killed after an insn in a block.
4361         (store_killed_before): Check is store killed before an insn in a block.
4362         (build_store_vectors): Generate the antic and avail vectors.
4363         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
4364         (insert_store): Add a store to an edge.
4365         (replace_store_insn): Replace a store with a SET insn.
4366         (delete_store): Delete a store insn.
4367         (free_store_memory): Free memory.
4368         (store_motion): Perform store motion.
4369         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
4370         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
4371         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
4372         (f_options): Add gcse-lm and gcse-sm.
4373
4374 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
4375
4376         * i386.c (expand_fp_movcc): Fix condition reversal code.
4377
4378         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
4379         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
4380         (CLASS_MAX_NREGS): Use it.
4381
4382         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
4383         handle properly complex values.
4384         (CLASS_MAX_NREGS): Likewise; update comment.
4385
4386 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
4387
4388         * ia64.c (ia64_flag_schedule_insns2): New variable.
4389         (ia64_override_options): Initialize it.  Clear
4390         flag_schedule_insns_after_reload.
4391         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
4392
4393 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
4394
4395         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
4396         Do not require source to match destination anymore;
4397         Add abort to the nontrivial cases that should be handled by split.
4398         (fix_trunc?fdi): Add SSE case for x86_64.
4399         (floatdi?f): Likewise.
4400         (floatdi?f_sse): New.
4401         (fix_trunc?fdi_sse): New.
4402
4403 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
4404
4405         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
4406         (DEBUG_ARANGES_END_LABEL): Ditto.
4407         (dwarfout_init): Generate length and version fields at the start
4408         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
4409         after the length field.
4410         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
4411         the .debug_aranges info.
4412
4413 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
4414
4415         * i386.c (call, call_value): Make sure that resulting call_insn
4416         does have proper second operand.
4417
4418 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
4419
4420         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
4421         function.  Remove include of sys/cygwin.h.
4422
4423 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
4424
4425         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
4426         (CPP_SPEC): Always search */include/w32api for header files.
4427         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
4428         (LINK_SPEC): Add "cyg" to the library search prefixes.
4429
4430 2001-04-08  Philip Blundell  <philb@gnu.org>
4431
4432         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
4433
4434 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4435
4436         * cpperror.c (print_location): Don't special case <stdin>.
4437         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
4438         WARNING, but we don't check if we're in system headers.
4439         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
4440         * cpplib.c (do_warning): Warn in system headers.
4441
4442 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
4443
4444         * mbchar.c: Include config.h first.
4445
4446 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
4447
4448         * config.gcc: Set default for xmake_file at top, not bottom.
4449         Change places that set xmake_file to "none" to set to the
4450         empty string instead, or remove them entirely if there is no
4451         default xmake_file for this cpu_type.  Remove references to
4452         deleted files.
4453
4454         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
4455         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
4456         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
4457         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
4458         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
4459         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
4460         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
4461         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
4462         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
4463         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
4464         Delete.
4465
4466         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
4467         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
4468         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
4469         config/mips/x-sysv, config/rs6000/x-aix31:
4470         Just set CLIB to -lld or -lmld, as appropriate.
4471
4472         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
4473         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
4474         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
4475         config/mips/x-iris, config/pa/x-pa:
4476         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
4477         OTHER_FIXINCLUDES_DIRS.
4478
4479         * config/i386/x-djgpp: Don't set LN or LN_S.
4480         * config/m88k/x-dolph: Don't define __m88k__.
4481         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
4482         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
4483         * config/i860/fx2800.h: No need to #undef SVR4.
4484
4485         38 x-host fragments remain, 2 x-cpu.
4486
4487 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4488
4489         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
4490
4491 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4492
4493         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
4494
4495 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4496
4497         * configure.in: Add check for lstat.
4498         * configure, config.in: Regenerate.
4499         * cppinit.c (append_include_chain): Make empty path ".".
4500         * cpplib.c (do_line): Don't simplify #line paths.
4501         * cppfiles.c (remove_component_p): New function.
4502         (find_or_create_entry): Acknowledge stat () errors during
4503         path simplification.
4504         (handle_missing_header): Don't simplify paths.
4505         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
4506         the empty path untouched.  Don't leave a trailing '/'.
4507
4508 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
4509
4510         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
4511         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
4512
4513 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4514
4515         * cppfiles.c (open_file): Fail directories silently, but
4516         with an errno of NOENT set.
4517         (read_include_file): Move the common exit code to the sole
4518         caller.  Return an int indicating success or failure.  Let
4519         open_file handle directories.
4520         (stack_include_file): If read_include_file fails,
4521         push a "null" buffer.
4522
4523 2001-04-05  DJ Delorie  <dj@redhat.com>
4524
4525         * function.h (virtuals_instantiated): Declare.
4526         * function.c: (virtuals_instantiated): Make global.
4527         * calls.c (emit_library_call_value_1): Use
4528         virtual_outgoing_args_rtx only if it hasn't been instantiated.
4529         Otherwise, use the stack pointer directly.
4530
4531 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
4532
4533         * i386.c (x86_initialize_trampoline): New global function.
4534         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
4535         (INITIALIZE_TRAMPOLINE): Move offline.
4536         * i386-protos.h (x86_initialize_trampoline): Declare.
4537
4538 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
4539
4540         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
4541         (lea_0): Rename to lea_1.
4542         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
4543         (lea_general_?): Allow SImodes on TARGET_64BIT
4544         (lea_general_?_zext): New patterns.
4545         (call_1, call_1_rex64): Fix.
4546
4547 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
4548
4549         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
4550
4551 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
4552
4553         * i386.c (function_arg): Return constm1_rtx for last argument.
4554         (ix86_expand_prologue): Update gen_call calls.
4555         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
4556         * i386.md (call_pop): Likewise.
4557         (call): Second operand is VOIDmode.
4558         (call_0): Likewise; Support 64bits.
4559         (call_exp): New expander.
4560         (call_1): Get to the sync.
4561         (call_1_exp): New pattern.
4562         (call_value): Support 64bit.
4563         (call_value_exp): New pattern.
4564         (untyped_call): Update gen_call call.
4565         (call_value_pop): Disable for 64bit.
4566         (call_value_0_rex64): New pattern.
4567         (call_value_1_rex64): Likewise.
4568
4569 2001-04-05  Bo Thorsen  <bo@suse.de>
4570
4571         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
4572
4573 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
4574
4575         * i386.md (*andsi_1+3): If used after reload, make sure the operand
4576         satisfies ANY_QI_REG_P.
4577
4578 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
4579
4580         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
4581         ASM_OPERAND.
4582
4583         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
4584         change.
4585
4586 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
4587
4588         * config.gcc: Remove default for xm_file.  Clean up local
4589         machine type handling.  Remove settings of xm_file to
4590         something that doesn't exist.  In the big switch, set xm_file,
4591         don't append to it (the value before the big switch is always
4592         null).  Don't force build_xm_file or host_xm_file to have a value.
4593         * configure.in: Remove default for xm_file.  Do not special
4594         case $cpu/xm-$cpu.h not existing.
4595         * configure: Regenerate.
4596
4597 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
4598
4599         * simplify-rtx.c (simplify_binary_operation): Check for overflow
4600         when folding integer division and modulo operations.
4601
4602 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
4603
4604         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
4605         instead of DWARF2_ADDR_SIZE for EH addresses.
4606         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
4607         EH addresses.
4608
4609 2001-04-04  Richard Henderson  <rth@redhat.com>
4610
4611         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
4612         * config/ia64/t-glibc (LIB2ADDEH): Disable.
4613         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
4614
4615 2001-04-04  Richard Henderson  <rth@redhat.com>
4616
4617         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
4618         * configure: Rebuilt.
4619
4620 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
4621
4622         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
4623         push insns to delete to it instead of deleting them.
4624         (delete_null_pointer_checks): Delete insns from delete_list after
4625         all delete_null_pointer_checks_1 passes are done.
4626
4627 2001-04-04  Richard Henderson  <rth@redhat.com>
4628
4629         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
4630         * configure: Rebuilt.
4631
4632 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
4633
4634         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
4635         * config/romp/xm-romp.h: Delete.
4636
4637 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
4638
4639         * sched-deps.c (sched_analyze_insn): Partially revert March 27
4640         change.
4641
4642 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4643
4644         * emit-rtl.c (mark_label_nuses) Increment the label uses for
4645         all labels present in rtx.
4646         (try_split) Call new function for all split insns.
4647
4648 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
4649
4650         * recog.c (validate_replace_rtx_1): Instead of aborting just make
4651         sure the change won't be validated.
4652
4653 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
4654
4655         * rtl.h (set_noop_p): Declare.
4656         * flow.c (set_noop_p): Move from here ...
4657         * rtlanal.c (set_noop_p): ... to here and enhance.
4658         * cse.c (delete_trivially_dead_insns): Use it.
4659         * gcse.c (hash_scan_set): Likewise.
4660         * jump.c (delete_noop_moves): Likewise.
4661         * recog.c (split_all_insns): Likewise.
4662
4663 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
4664
4665         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
4666         stack pointer via a LO_SUM.  Ditto for setting a temp register
4667         used to save to the stack.  Set cfa_temp when setting fp, and
4668         allow matches to cfa_temp in addition to cfa_store when saving
4669         regs.  Handle POST_INC and LO_SUM register stores.  Document the
4670         changes and errors in rule 12 doco.
4671
4672         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
4673         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
4674         (load_reg): Move closer to epilogue code.
4675         (DO_FRAME_NOTES): Define to control the following..
4676         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
4677         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
4678         notes as necessary.
4679         (hppa_expand_epilogue): Likewise.
4680
4681 2001-04-03  Richard Henderson  <rth@redhat.com>
4682
4683         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
4684         * configure: Rebuild.
4685
4686 2001-04-03  Richard Henderson  <rth@redhat.com>
4687
4688         * rtl.h (LCT_THROW): New.
4689         * calls.c (emit_library_call_value_1): Handle it.
4690         * except.c (connect_post_landing_pads): Use it.
4691
4692 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
4693
4694         * gansidecl.h: Delete file.
4695         * configure.in: Change all refs to gansidecl.h to use
4696         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
4697         lives.
4698         * configure: Regenerate.
4699
4700         * Makefile.in (intl.o): Don't depend on gansidecl.h.
4701         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
4702         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
4703         Don't include gansidecl.h.
4704         * intl.c, main.c, version.c, fixinc/fixlib.h,
4705         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
4706         gansidecl.h.
4707
4708 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
4709
4710         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
4711         Update for 64bit.
4712
4713 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
4714
4715         * config/i386/xm-beos.h, config/i386/xm-isc.h,
4716         config/i386/xm-next.h, config/i386/xm-sco.h,
4717         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
4718         config/m88k/xm-m88k.h: Delete.
4719
4720         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
4721         * config/romp/xm-romp.h: Don't define bcopy.
4722         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
4723         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
4724
4725         * config.gcc: Remove references to deleted files.
4726
4727         14 xm-host.h remain, 1 xm-cpu.h.
4728
4729 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
4730             David S. Miller  <davem@pierdol.cobaltmicro.com>
4731             Andrew MacLeod  <amacleod@redhat.com>
4732
4733         Use byte offsets in SUBREGs instead of words.
4734
4735         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
4736         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
4737         to pass new argument.
4738         (add_stored_regs): Use subreg_regno_offset function.
4739         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
4740         into account.
4741         (precompute_arguments): Use gen_lowpart_SUBREG.
4742         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
4743         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
4744         (simplify_set): Rework to use SUBREG_BYTE.
4745         (expand_field_assignment): Use SUBREG_BYTE.
4746         (make_extraction): Use SUBREG_BYTE.
4747         (if_then_else_cond): Use SUBREG_BYTE.
4748         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
4749         (gen_lowpart_for_combine): Compute full byte offset.
4750         * cse.c (mention_regs): Use SUBREG_BYTE.
4751         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
4752         (canon_hash): Use SUBREG_BYTE.
4753         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
4754         (gen_lowpart_if_possible): Formatting.
4755         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
4756         correctly.
4757         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4758         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4759         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4760         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4761         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4762         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4763         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
4764         certain invariants about SUBREGs the compiler creates.
4765         (gen_lowpart_SUBREG): New function.
4766         (subreg_hard_regno): New function to get the final register number.
4767         (gen_lowpart_common): Use SUBREG_BYTE.
4768         (gen_imagpart): Spacing nits.
4769         (subreg_realpart_p): Use SUBREG_BYTE.
4770         (gen_highpart): Use SUBREG_BYTE.
4771         (subreg_lowpart_p): Always compute endian corrected goal offset,
4772         even at the byte level, then compare against that.
4773         (constant_subword): New function, pulled out all constant cases
4774         from operand_subword and changed second argument name to offset.
4775         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
4776         and call constant_subword to do the work.  Return const0_rtx if
4777         looking for a word outside of OP.
4778         (operand_subword_force): Change second arg name to offset.
4779         * expmed.c (store_bit_field): Use SUBREG_BYTE.
4780         (store_split_bit_field): Use SUBREG_BYTE.
4781         (extract_bit_field): Use SUBREG_BYTE.
4782         (extract_split_bit_field): Use SUBREG_BYTE.
4783         (expand_shift): Use SUBREG_BYTE.
4784         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
4785         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
4786         * flow.c (set_noop_p): Use SUBREG_BYTE.
4787         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
4788         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
4789         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
4790         correction code.
4791         (optimize_bit_field): Use SUBREG_BYTE.
4792         (purge_addressof_1): Use SUBREG_BYTE.
4793         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
4794         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
4795         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
4796         * gengenrtl.c (special_rtx): Add SUBREG.
4797         * global.c (mark_reg_store): Use SUBREG_BYTE.
4798         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
4799         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
4800         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
4801         final byte offset is congruent to subreg's mode size.
4802         (subst_constants): Use SUBREG_BYTE.
4803         (mark_stores): Use subreg_regno_offset function.
4804         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
4805         function and SUBREG_BYTE.
4806         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
4807         (reg_is_born): Use subreg_hard_regno.
4808         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
4809         endian correction code.  Don't combine subregs unless resulting
4810         offset aligns with type.  Fix subreg constant extraction for DImode.
4811         Simplify SUBREG of VOIDmode CONST_DOUBLE.
4812         (general_operand): Remove dead mode_altering_drug code.
4813         (indirect_operand): Use SUBREG_BYTE.
4814         (constrain_operands): Use subreg_regno_offset function.
4815         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
4816         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
4817         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
4818         * regs.h (REG_SIZE): Allow target to override.
4819         (REGMODE_NATURAL_SIZE): New macro which target can override.
4820         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
4821         on the entire subreg rtx.
4822         (push_reload): Use SUBREG_BYTE in comments and code.
4823         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
4824         for hard registers inside subregs.
4825         (operands_match_p): Use subreg_regno_offset.
4826         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
4827         containing hard regs.
4828         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
4829         corrections when fixing up MEM subregs.
4830         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
4831         subreg_regno_offset where appropriate.
4832         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
4833         byte endian corrections when fixing up MEM subregs.
4834         (subst_reloads): When combining two subregs, make sure final
4835         offset is congruent to subreg's mode size.
4836         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
4837         (refers_to_regno_for_reload_p): Use subreg_regno.
4838         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
4839         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
4840         correction code for memory subreg fixups.
4841         (forget_old_reload_1): Use subreg_regno_offset.
4842         (choose_reload_regs): Use subreg_regno.
4843         (emit_input_reload_insns): Use SUBREG_BYTE.
4844         (reload_combine_note_store): Use subreg_regno_offset.
4845         (move2add_note_store): Use subreg_regno_offset.
4846         * resource.c (update_live_status, mark_referenced_resources): Use
4847         subreg_regno function.
4848         (mark_set_resources): Use subreg_regno function.
4849         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
4850         (subreg_regno_offset, subreg_regno): Define prototypes.
4851         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
4852         (gen_lowpart_SUBREG): Add prototype.
4853         * rtl.texi (subreg): Update to reflect new byte offset representation.
4854         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
4855         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
4856         (reg_overlap_mentioned_p): Use subreg_regno.
4857         (replace_regs); Make sure final offset of combined subreg is
4858         congruent to size of subreg's mode.
4859         (subreg_regno_offset): New function.
4860         (subreg_regno): New function.
4861         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
4862         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
4863         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
4864         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
4865         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
4866         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
4867         (a29k_get_reloaded_address): Use SUBREG_BYTE.
4868         (print_operand): Use SUBREG_BYTE.
4869         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
4870         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
4871         (arm_reload_out_hi): Use SUBREG_BYTE.
4872         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
4873         instead of SUBREG_WORD.
4874         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
4875         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
4876         SUBREG creation to use byte offset.
4877         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
4878         inverted load insns): Fix explicit rtl subregs to use byte
4879         offsets.
4880         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
4881         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
4882         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
4883         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
4884         to use byte offsets.
4885         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
4886         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
4887         offsets, also make sure it is congruent to SUBREG's mode size.
4888         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
4889         unnamed ldob insn): Generate SUBREGs with byte offset.
4890         (zero_extendqihi2): SUBREG's are byte offsets.
4891         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
4892         (m68hc11_gen_highpart): Use SUBREG_BYTE.
4893         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
4894         zero-extendqisi2): Generate SUBREGs with byte offset.
4895         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
4896         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
4897         subregs in rtl to use byte offsets.
4898         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
4899         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
4900         (mips_move_2words): Use subreg_regno_offset.
4901         (mips_secondary_reload_class): Use subreg_regno_offset.
4902         * config/mips/mips.md (DImode plus, minus, move, and logical op
4903         splits): Fixup explicit subregs in rtl to use byte offsets.
4904         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
4905         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
4906         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
4907         rtl to use byte offsets.
4908         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
4909         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
4910         subregs to use byte offsets.
4911         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
4912         Fixup explicit subregs in rtl to use byte offsets.
4913         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
4914         and remove byte endian correction code.
4915         * config/sh/sh.c (output_movedouble): Use subreg_regno.
4916         (gen_ashift_hi): Use SUBREG_BYTE.
4917         (regs_used): Use subreg_regno_offset.
4918         (machine_dependent_reorg): Use subreg_regno_offset.
4919         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
4920         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
4921         (movdf_i4): Subregs are byte offsets now.
4922         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
4923         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
4924         (REGMODE_NATURAL_SIZE): Override.
4925         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
4926         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
4927         with byte offsets.
4928         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
4929         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
4930         extendqidi2): Generate SUBREGs with byte offsets, also make sure
4931         it is congruent to SUBREG's mode size.
4932         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
4933         offsets.
4934         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
4935         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
4936         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
4937         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
4938         * config/v850/v850.c (print_operand, output_move_double): Use
4939         subreg_regno function.
4940
4941 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
4942
4943         * configure.in (target_subdir): Use target_alias, not target.
4944         * configure: Rebuilt.
4945
4946         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
4947         other way round.
4948         * config/sh/crti.asm: Fix typos in comments.
4949
4950 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
4951
4952         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
4953         TARGET_FAST_INDIRECT_CALLS.
4954         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
4955         -fPIC.  Don't warn.
4956         (return_addr_rtx): Short circuit export stub matching when
4957         TARGET_NO_SPACE_REGS.
4958         (output_millicode_call): For out of range calls, make -fPIC
4959         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
4960         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
4961         * pa.md: Modify length attr calculation of all millicode insns to
4962         match above.
4963
4964 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
4965
4966         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
4967         Require at least 2.11 in the version test.  Specifically check
4968         for and reject GAS version 2.10.90.
4969         * configure: regenerate.
4970
4971 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
4972
4973         * pa.c (override_options): Remove PIC profiling warning.
4974         (hp_profile_labelno): Delete.
4975         (hp_profile_label_rtx): Delete.
4976         (hp_profile_label_name): Delete.
4977         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
4978         (output_function_prologue): Remove profiling code and all tests on
4979         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
4980         merge_sp_adjust_with_store can work for PIC and profiling.
4981         (hppa_expand_epilogue): Remove profile_flag test.
4982         (hppa_can_use_return_insn_p): Likewise.
4983         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
4984         cater for PROFILE_HOOK.
4985         (hppa_profile_hook): New function.
4986         * pa.h (FUNCTION_PROFILER): Now does nothing.
4987         (PROFILE_HOOK): Define.
4988         (hppa_profile_hook): Declare.
4989         (PROFILE_BEFORE_PROLOGUE): Delete.
4990         (ASM_OUTPUT_REG_PUSH): Delete.
4991         (ASM_OUTPUT_REG_POP): Delete.
4992         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
4993         r24.  Accept function name operand, and use this and a locally
4994         generated label to calculate pc-rel offset to func start.
4995
4996 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4997
4998         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
4999         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
5000         $(SYSTEM_H).
5001
5002 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5003
5004         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
5005         LO_SUM cases to where they belong.
5006
5007 2001-04-02  Richard Henderson  <rth@redhat.com>
5008
5009         * except.h (lang_eh_type_covers): Mark extern.
5010         (lang_eh_runtime_type): Likewise.
5011
5012 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
5013
5014         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
5015         gengenrtl.c:  Wrap generated header in multiple-include guard.
5016         Improve error checking.
5017
5018 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5019
5020         * configure.in: Don't check for putenv.
5021         * configure: Regenerate.
5022         * gcc.c (putenv): Don't define.
5023         * vax/xm-vms.h: Handle putenv.
5024
5025 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5026
5027         * ifcvt.c (noce_emit_move_insn): New.
5028         (noce_try_store_flag, noce_try_store_flag_constants,
5029         noce_try_store_flag_inc, noce_try_store_flag_mask,
5030         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
5031         noce_try_abs): Use it.
5032         (noce_process_if_block): Likewise.
5033         For STRICT_LOW_PART, take mode from its SUBREG.
5034
5035 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5036
5037         * fold-const.c (fold): Before optimizing unsigned comparison with
5038         0x7fffffffU, make sure arg0 is integral type.
5039
5040 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5041
5042         * c-tree.texi: Document representation of wide strings.
5043
5044 2001-04-01  Richard Henderson  <rth@redhat.com>
5045
5046         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
5047
5048 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
5049
5050         * i386.md: remove obsoleted comments.
5051         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
5052         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
5053         fix output template.
5054
5055 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
5056
5057         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
5058
5059 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
5060
5061         * loop.c (load_mems): When generating a load from a pseudo, update
5062         REGNO_LAST_UID.
5063
5064 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
5065
5066         * i386.c (ix86_split_long_move): Use change address to compensate
5067         stack pointer change in push instruction.
5068
5069 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
5070
5071         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
5072         instead of rtx_equal_p; fix the output template.
5073
5074 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
5075
5076         * i386.c (ix86_expand_setcc): Support 64bit.
5077         (ix86_expand_int_movcc): Likewise.
5078         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
5079         New patterns.
5080
5081         * i386.md (allocate_stack_worker): Turn to expander.
5082         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
5083
5084         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
5085
5086 2001-03-29  Richard Henderson  <rth@redhat.com>
5087
5088         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
5089
5090 2001-03-28  Matthew Hiller  <hiller@redhat.com>
5091
5092         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
5093         output template.
5094
5095         * MAINTAINERS: Added self.
5096
5097 2001-03-28  Richard Henderson  <rth@redhat.com>
5098
5099         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
5100         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
5101
5102 2001-03-28  Jim Wilson  <wilson@redhat.com>
5103
5104         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
5105         operand_subword.
5106
5107 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5108
5109         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
5110
5111         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
5112         `error'.
5113
5114         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
5115
5116 2001-03-28  DJ Delorie  <dj@redhat.com>
5117
5118         * Makefile.in (stage1_build): Revert CFLAGS patch.
5119
5120 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
5121
5122         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
5123         when multiplier or multiplicand is zero.
5124
5125 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
5126
5127         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
5128
5129         * config/ia64/ia64.c (update_set_flags): New function, broken out of
5130         rtx_needs_barrier.
5131         (set_src_needs_barrier): Likewise.
5132         (rtx_needs_barrier): For SET case, use these two functions.  Rework
5133         PARALLEL case to handle all inputs before all outputs.
5134         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
5135         saw a label and no stop bit since then.
5136         (maybe_rotate, process_epilogue): Add prototypes.
5137
5138 2001-03-28  Richard Henderson  <rth@redhat.com>
5139
5140         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
5141         not TARGET_TOC for special toc restore handling.
5142         * config/rs6000/rs6000.md (eh_return): Likewise.
5143
5144 2001-03-28  Richard Henderson  <rth@redhat.com>
5145
5146         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
5147         current_function_calls_eh_return.
5148         (output_function_epilogue): Handle eh_return.
5149         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
5150         (EH_RETURN_DATA_REGNO): New.
5151         (EH_RETURN_STACKADJ_RTX): New.
5152         (EH_RETURN_HANDLER_RTX): New.
5153         * config/sparc/sparc.md (call/short branch peepholes): Check
5154         can_throw_internal instead of in_same_eh_region.
5155
5156         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
5157         for eh_return data registers.
5158         (rs6000_emit_prologue): Save eh_return data registers.
5159         (rs6000_emit_epilogue): Force inline restores if eh_return.
5160         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
5161         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
5162         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
5163         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
5164         the target uses one.
5165         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
5166         (return_eh_si, return_eh_di): Remove.
5167         (eh_return): New, from corpse of eh_epilogue.
5168         (eh_set_lr_si, eh_set_lr_di): New.
5169
5170         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
5171         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
5172         True for pic register if current_function_calls_eh_return.
5173         (ix86_expand_epilogue): Change "emit_return" argument into "style".
5174         Handle eh_return requirements.
5175         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
5176         (EH_RETURN_STACKADJ_RTX): New.
5177         * config/i386/i386.md (exception_receiver): Remove.
5178         (eh_return, eh_return_1): New.
5179         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5180
5181         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
5182         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
5183         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
5184         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
5185         (EH_RETURN_DATA_REGNO): New.
5186         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
5187         * config/alpha/alpha.md (eh_epilogue): Remove.
5188         (exception_receiver): Use $26 for ldgp input.
5189         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5190
5191 2001-03-28  Richard Henderson  <rth@redhat.com>
5192
5193         * except.c: Rewrite entirely for IA-64 ABI exception handling.
5194         * except.h: Likewise.
5195
5196         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
5197         (LIB2ADDEHDEP): New.
5198         (LIB2FUNCS_EH): Remove.
5199         (LIB2ADD): Remove LIB2ADDEH.
5200         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
5201         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
5202         (crt{begin,end}[S].o): Likewise.
5203         (except.o): Update includes.
5204         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
5205         (libgcc2_c_dep): Use LIB2ADDEHDEP.
5206
5207         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
5208         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
5209         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
5210         * builtins.c (expand_builtin): Implement it.
5211         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
5212         * c-common.c (c_common_nodes_and_builtins): Declare it.
5213         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
5214         * calls.c (libfunc_nothrow): Remove.
5215         (emit_library_call_value_1): Don't call it.
5216         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
5217         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
5218         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
5219         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
5220         (current_funcdef_number): Globalize.
5221         (output_call_frame_info): Emit frame data if an lsda is needed.
5222         Generate augmentation for personality routine.  Don't play with
5223         difference symbols.
5224         (dwarf2out_begin_prologue): Record funcdef_number.
5225         * dwarf2out.h (current_funcdef_number): Declare.
5226         * expr.c (expand_expr): Update for except.h name changes.
5227         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
5228         * expr.h (LTI_throw, LTI_rethrow): Remove.
5229         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
5230         (LTI_eh_rtime_match): Remove.
5231         (LTI_unwind_resume, LTI_eh_personality): Add.
5232         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
5233         * final.c (final): Don't call check_exception_handler_labels,
5234         init_insn_eh_region, or free_insn_eh_region.
5235         (final_scan_insn): Always emit debug labels for
5236         NOTE_INSN_EH_REGION notes.
5237         * flags.h (flag_new_exceptions): Remove.
5238         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
5239         (record_active_eh_regions): Remove.
5240         (count_basic_blocks): Check all instructions for REG_EH_REGION.
5241         Use can_throw_internal.
5242         (find_basic_blocks_1): Likewise.
5243         (move_stray_eh_region_notes): Remove.
5244         (find_label_refs): No eh_return_stub_label.
5245         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
5246         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
5247         changes.
5248         (delete_unreachable_blocks): Don't track deleted handlers.
5249         (flow_delete_block): Use maybe_remove_eh_handler.
5250         (delete_eh_regions): Remove.
5251         (merge_blocks): Don't check for eh region match.
5252         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
5253         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
5254         (init_propagate_block_info): Disable dead frame store optimization
5255         when current_function_calls_eh_return.
5256         (dump_bb): Don't print eh_beg, eh_end.
5257         * function.c (fixup_var_refs): No catch_clauses.
5258         (expand_function_end): Likewise.  Call expand_eh_return before
5259         the return register use.  Call sjlj_emit_function_exit_after.
5260         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
5261         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
5262         * ifcvt.c (dead_or_predicable): Remove eh region check.
5263         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
5264         Don't check for EH vs parameters.
5265         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
5266         (expand_inline_function): Call duplicate_eh_regions.
5267         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
5268         (copy_insn_notes): Remap REG_EH_REGION notes.
5269         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
5270         * integrate.h (struct inline_remap): Add local_return_label.
5271         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
5272         check_exception_handler_labels, nor exception_optimize.
5273         (find_cross_jump): No EH region check.
5274         * optabs.c (init_optabs): Update for changed eh libfuncs.
5275         * rtl.def (RESX): New.
5276         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
5277         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
5278         checks.  Update for except.h name changes.
5279         (expand_cleanups): Likewise.
5280         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
5281         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
5282         (compile_file): Call init_eh before init_optabs.  Don't
5283         output_exception_table here.
5284         (rest_of_compilation): Call convert_from_eh_region_ranges,
5285         convert_to_eh_region_ranges, output_function_exception_table.
5286         Don't emit_eh_context.
5287         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
5288         (EXC_PTR_EXPR): New.
5289
5290         * md.texi (eh_epilogue): Remove.
5291         (eh_return): Document.
5292         * tm.texi (EH_RETURN_DATA_REGNO): Document.
5293         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
5294
5295         * eh-common.h: Remove file.
5296         * frame-dwarf2.c, frame.c, frame.h: Remove files.
5297         * libgcc2.c (L_eh): Remove.
5298
5299         * unwind-dw2-fde.c: New file, largely copied from frame.c.
5300         * unwind-dw2-fde.h: New file.
5301         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
5302         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
5303         * libgcc-std.ver: Update for eh symbols.
5304
5305 2001-03-27  Richard Henderson  <rth@redhat.com>
5306
5307         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
5308         reduce false positives.
5309         (regmove_optimize): Disable if flag_non_call_exceptions.
5310
5311         * stmt.c (expand_return): Remove always true predicate.
5312         (expand_decl_cleanup_no_eh): Remove dead code.
5313
5314         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
5315         barrier code.  Add a scheduling barrier if a non-call insn
5316         can throw internally.
5317
5318         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
5319         Auto-inc addresses trap only if their base register does.
5320
5321         * except.c (can_throw_internal): Rename from can_throw.
5322         * except.h, resource.c: Update references.
5323
5324         * integrate.c (copy_insn_list): Use returnjump_p.
5325         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
5326
5327         * function.h (struct function): Move all boolean valued fields
5328         to single bit fields at the end of the struct.
5329
5330         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
5331         jump.c, toplev.c:
5332         Rename asynchronous_exceptions to flag_non_call_exceptions.
5333
5334         * gthr-single.h (UNUSED): New.  Distinguish between how C
5335         and C++ mark unused function arguments.  Use throughout.
5336
5337         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
5338         value to target configuration header.
5339         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
5340         * config.in, configure: Rebuild.
5341         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
5342         configuration and target defines.
5343         (exceptions_via_longjmp): Remove.
5344         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
5345         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
5346
5347         * except.h (flag_non_call_exceptions): Move ...
5348         * flags.h: ... here.
5349
5350         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
5351         exceptions, put the note on the trapping instruction.
5352
5353         * flags.h (flag_new_exceptions): Remove.
5354         * toplev.c: Don't set it.
5355         * final.c: Don't check it.
5356         * except.c: Provide stub definition.
5357
5358         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
5359         (calculate_global_regs_live): Kill call-clobbered registers
5360         across exception edges.
5361         * reg-stack.c (convert_regs_1): Kill the entire target stack
5362         across non-call exception edges.
5363
5364         * flow.c (cleanup_cfg): Take no argument.
5365         * output.h, sibcall.c, toplev.c: Update all calls.
5366
5367 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5368
5369         * configure.in: Don't check for bcopy.
5370         * configure, config.in: Regenerate.
5371
5372         * system.h: Don't define or prototype bcopy, instead poison it.
5373
5374 2001-03-27  Richard Henderson  <rth@redhat.com>
5375
5376         * function.c (expand_function_start): Set DECL_REGISTER on
5377         a pseudo used for DECL_RESULT.
5378
5379         * rtl.h (LCT_NORETURN): New.
5380         * calls.c (emit_library_call_value_1): Handle it.
5381
5382 2001-03-27  Stan Shebs  <shebs@apple.com>
5383
5384         * objc/objc-act.c (objc_init): Use dump_base_name.
5385         (gen_declaration): Clear the buffer arg.
5386         (gen_declaration_1): New function, body of gen_declaration.
5387         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
5388         (gen_method_decl): Ditto, plus always clear buffer arg.
5389         (error_with_ivar): Simplify.
5390         (warn_with_method): Ditto.
5391         (build_message_expr): Don't clear buffers.
5392         (dump_interface): Ditto.
5393         (objc_debug): Ditto.
5394         (build_keyword_selector): Clear the buffer by only zeroing
5395         the first element.
5396         (objc_implementation_context): Declare.
5397         (start_class): Warn about missing @end.
5398         (finish_objc): Ditto.
5399
5400 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5401
5402         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
5403
5404 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5405
5406         * Makefile.in (SYSTEM_H): Define.
5407         Depend on $(SYSTEM_H), not system.h.
5408
5409         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
5410
5411 2001-03-27  Jim Wilson  <wilson@redhat.com>
5412
5413         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
5414         IA64_UNWIND_EMIT.
5415         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
5416         (process_epilogue): New static function.
5417         (process_set): Call process_epilogue instead of emitting .restore
5418         directly.
5419         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
5420
5421         * flow.c (struct reg_cond_life_info): New fields orig_condition
5422         and stores.
5423         (init_propagate_block_info): Set new fields.
5424         (mark_regno_cond_dead): Set and use new fields.
5425         (flush_reg_cond_reg_1): Likewise.
5426         (and_reg_cond, case AND): Check for redundant AND conditions.
5427         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
5428         Set new fields.
5429
5430 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5431
5432         * cppmacro.c (stringify_arg): Null terminate strings.
5433
5434 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
5435
5436         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
5437         inclusion style.  xm-m68hc11.h no longer exists.
5438         * config/m68hc11/xm-m68hc11.h: Delete file.
5439         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
5440
5441         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
5442         Don't define GCC_VERSION, N_, or PARAMS; don't include
5443         gansidecl.h or stdio.h.  Define inhibit_libc here.
5444         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
5445         Delete code conditioned on #if GCC_VERSION == 2095.
5446
5447         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
5448         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
5449         Delete code conditioned on #if GCC_VERSION == 2095.
5450
5451 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5452
5453         * system.h: Include symcat.h.
5454         (STRINGIFY): Don't define.
5455
5456         * configure.in: Adjust comment.
5457
5458         * builtins.c: Use STRINGX, not STRINGIFY.
5459         * gencheck.c: Likewise.
5460         * gengenrtl.c: Likewise.
5461         * protoize.c: Likewise.
5462
5463         * cpplex.c: Don't include symcat.h.
5464         * cpplib.c: Likewise.
5465
5466         * gansidecl.h (HAVE_STRINGIZE): Don't define.
5467
5468 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
5469
5470         * c-typeck.c (digest_init): Fold init expression.
5471
5472 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5473
5474         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
5475
5476 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
5477
5478         * except.c (eh_regs): Save results of build_pointer_type to a temp
5479         as FUNCTION_VALUE macro may evaluate its args multiple times.
5480
5481 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
5482
5483         * c-common.h (DECL_NUM_STMTS): New macro.
5484         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
5485         DECL_FRAME_SIZE.
5486         (pushdecl): Likewise.
5487         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
5488         * integrate.c (expand_inline_function): Don't check
5489         DECL_FRAME_SIZE.
5490         * print-tree.c (print_node): Don't print it.
5491         * toplev.c (rest_of_compilation): Don't try to inline when
5492         flag_no_inline is on.
5493         * tree.h (DECL_FRAME_SIZE): Remove.
5494         (tree_decl): Adjust accordingly.
5495
5496 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5497
5498         * combine.c (try_combine): Use memcpy, not bcopy.
5499
5500         * genattrtab.c (expand_units): Likewise.
5501
5502 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
5503
5504         * i386.md (push mem DI peep2): New.
5505         (mov 0, mov -1 peep2): Handle 64bit.
5506         (lea to arithmetics peep2): Handle 64bit leas.
5507         (rsp arithmetics to push/pop peep2s): New.
5508
5509         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
5510
5511 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
5512
5513         * i386.c (struct machine_function): Add save_varrargs_registers.
5514         (ix86_save_varrargs_registers): New macro.
5515         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
5516         (ix86_expand_prologue): Likewise.
5517         (ix86_emit_epilogue_esp_adjustement): Likewise.
5518         (ix86_expand_epilogue): Likewise.
5519         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
5520         (pro_epilogue_adjust_stack_1): New insn.
5521         (pro_epilogue_adjust_stack_rex64): Likewise.
5522         * i386.h (MASK_NO_RED_ZONE): New constant.
5523         (TARGET_RED_ZONE): New macro.
5524         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
5525         (RED_ZONE_SIZE): New constant.
5526         (RED_ZONE_RESERVE): New constant.
5527
5528 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5529
5530         * toplev.c (set_float_handler): Use memcpy, not bcopy.
5531
5532 2001-03-25  Kazu Hirata  <kazu@hxi.com>
5533
5534         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
5535         space.
5536         (modqi3): Likewise.
5537         (umodhi3): Likewise.
5538         (modhi3): Likewise.
5539
5540 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5541
5542         * mkconfig.sh (DEFINES): Handle entries with '='.
5543
5544         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
5545         Set xm_defines to MACRO=value instead.
5546
5547         * i370/xm-mvs.h: Delete.
5548
5549         * ns32k/xm-pc532-min.h: Likewise.
5550
5551 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
5552
5553         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
5554         shiftdi_operand;
5555         use ix86_expand_binary_operator
5556         (?sh??i_?): Disable for 64bit.
5557         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
5558         * i386.c (shiftdi_operand): New predicate.
5559
5560         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
5561         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
5562         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
5563         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
5564         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
5565         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
5566         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
5567         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
5568         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
5569         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
5570         (rotldi3, rotrdi3): New expanders.
5571
5572 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
5573
5574         * i386.md (movstrsi): Move offline.
5575         (movstrdi): New.
5576         (strmovdi_rex64): New.
5577         (strmov?i): Accept 64bit.
5578         (strmov?i_rex64): New.
5579         (strmov?i_rex_1): New.
5580         (strmov?i_1): Disable for 64bit.
5581         (rep_mov?i_rex64): New.
5582         (rep_mov?i): Disable for 64bit.
5583         (clrstrsi): Move offline.
5584         (strset?i_rex64): New.
5585         (strset?i: Accept 64bit.
5586         (rep_stos?i): Disable for 64bit.
5587         (rep_stos?i_rex64): New.
5588         (strset?i_rex_1): New.
5589         (strset?i_1): Disable for 64bit.
5590         (cmpstrsi): Accept 64bit.
5591         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
5592         (cmpstrqi_nz_rex_1): New.
5593         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
5594         (strlensi): Move offline.
5595         (strlendi): New.
5596         (strlenqi_1): Disable for 64bit; fix constraints.
5597         (strlenqi_rex_1): New.
5598         * i386.c (ix86_adjust_counter): New static function.
5599         (ix86_zero_extend_to_Pmode): Likewise.
5600         (ix86_expand_aligntest): Likweise.
5601         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
5602         (ix86_expand_movstr): New global function.
5603         (ix86_expand_clrstr): New global function.
5604         (ix86_expand_strlen): New global function.
5605         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
5606         ix86_expand_strlen): Declare.
5607         (ix86_expand_strlensi_unroll_1): Delete.
5608
5609 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
5610
5611         * i386.md (cmpdi): Fix operand predicates.
5612         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
5613          cmpdi_1_insn_rex64): New patterns.
5614         (adddi3): Turn to expander.
5615         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
5616         (addsi3_carry_zext): New pattern.
5617         (adddi_?_rex64): New patterns and splitters.
5618         (addsi_?_zext): New patterns.
5619         (subsi3_carry_zext): New pattern.
5620         (subdi_?_rex64): New patterns and splitters.
5621         (iorsi_?_zext): New patterns.
5622         (iordi_?_rex64): New patterns and splitters.
5623         (iorsi_?_zext): New patterns.
5624         (iorsi_?_zext_imm): New patterns.
5625         (xorsi_?_zext): New patterns.
5626         (xordi_?_rex64): New patterns and splitters.
5627         (xorsi_?_zext): New patterns.
5628         (negdi*): New patterns.
5629         (one_cmpldi*): Likewise.
5630         (one_cmplsi*_zext, negsi*_zext): Likewise.
5631         (testqi_ext_3_rex64): New pattern.
5632
5633 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
5634
5635         * i386-protos.h (ix86_split_long_move): Return void.
5636         * i386.c (ix86_split_to_parts): Handle 64bit target.
5637         (ix86_split_long_move): Likewise.
5638         * i386.md (all calls to ix86_split_long_move): Update.
5639
5640 2001-03-23  Richard Henderson  <rth@redhat.com>
5641
5642         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
5643         to avoid shadowing arguments.
5644
5645 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
5646
5647         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
5648         to variable names where DECL_NAME is different from
5649         DECL_ASSEMBLER_NAME.
5650
5651 2001-03-23  Jim Wilson  <wilson@redhat.com>
5652
5653         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
5654         (assemble_alias): Call make_decl_rtl.
5655
5656 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
5657
5658         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
5659
5660 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
5661
5662         * extend.texi: Document the "java_interface" attribute.
5663
5664 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
5665
5666         * mkconfig.sh: Use a subshell with redirected stdout,
5667         instead of closing stdout and confusing commands that run
5668         afterward.  Throw away output of cmp.
5669
5670 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
5671
5672         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
5673
5674 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
5675
5676         * i386.md (zero_extendsidi2_32): Break out from ...
5677         (zero_extendsidi2): ... here ; turn to expander.
5678         (zero_extendsidi2_rex64): New.
5679         (extendsidi2_32): Break out from ...
5680         (extendsidi2): ... here ; turn to expander.
5681         (extendsidi2_rex64): New.
5682         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
5683         (trunc?f?f splitters): Add 64bit versions.
5684
5685 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
5686
5687         * i386.md (pushsi, pushsi2_prologue): Disable.
5688         (pushsi2_rex64): New.
5689         (movabs?i_1_rex64, movabs?i_2_rex64): New.
5690         (movqi_ext_1): Disable for 64bit.
5691         (movqi_ext_1_rex64): New.
5692         (pushdi2_rex64): New pattern, peep2s and splitter.
5693         (pushdi2_prologue_rex64): New pattern.
5694         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
5695         Likewise.
5696         (movdi splitters): Disable for 64bit.
5697         (movdi_1_rex64): New pattern, peep2s and splitters.
5698         (swapdi): New pattern.
5699         (pushsf): Disable for 64bit.
5700         (pushsf_rex64): New pattern and splitter.
5701         (pushdf_nointeger): Disable for 64bit.
5702         (pushdf_integer): Handle the 64bit case.
5703         (pushtf): Likewise; update splitters.
5704
5705 2001-03-22  Richard Henderson  <rth@redhat.com>
5706
5707         * mkconfig.sh: Include insn-flags.h.
5708         * Makefile.in (CONFIG_H): Include insn-flags.h.
5709         (lots of objects): Remove insn-codes.h and insn-flags.h.
5710
5711         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
5712         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
5713         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
5714         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
5715         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
5716         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
5717         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
5718         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
5719         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
5720         v850/v850.c, vax/vax.c:
5721         Don't include insn-flags.h.
5722
5723         * diagnostic.c, expr.h, reload.c, toplev.c:
5724         Don't include insn-codes.h.
5725
5726         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
5727         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
5728         c4x/c4x.c, i960/i960.c, mips/mips.c:
5729         Don't include insn-codes.h or insn-flags.h.
5730
5731         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
5732         or insn-flags.h in the generated code.
5733         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
5734         (main): Forward declare struct rtx_def.
5735
5736 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
5737
5738         * invoke.texi (-ffast-math): Remove duplicate line about
5739         __FAST_MATH__.
5740
5741         * gcc.texi: Remove more obsolete documentation of bugs and
5742         installation problems.
5743
5744 2001-03-21  Kazu Hirata  <kazu@hxi.com>
5745
5746         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
5747         into two parts.
5748
5749 2001-03-20  Jason Merrill  <jason@redhat.com>
5750
5751         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
5752         not '.' or '$'.
5753         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
5754         * varasm.c (CHKR_PREFIX): Likewise.
5755
5756 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5757
5758         * gcse.c (hash_scan_set): An expression is not anticipatible if it
5759         is part of a multi-SET insn.
5760
5761         * cse.c (find_comparison_args): Remove previous change.
5762         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
5763         REG_EQUAL notes.
5764
5765         * config/i386/i386.md (conditional_trap): Remove warning.
5766
5767         * recog.c (push_operand): Fix error in last change that caused
5768         undefined symbol on many targets.
5769
5770         * sdbout.c: #include ggc.h.
5771         (sdbout_init): Move to end of file.
5772         Call ggc_add_tree_root for anonymous_types.
5773         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
5774         (sdbout_one_type): Use DECL_NAME for field name.
5775         * Makefile.in (sdbout.o): Show includes ggc.h.
5776
5777 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
5778
5779         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
5780         (override_options): Use properlimits for preferred_stack_boundary.
5781         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
5782         on x86_64.
5783         (ext_register_operand): Accept DImode.
5784         (load_pic_register): Abort on 64bit.
5785         (gen_push): Use Pmode instead of SImode.
5786         (ix86_save_reg): Pic reg is never used on 64bit.
5787         (ix86_expand_prologue): Likewise.
5788         (ix86_emit_save_regs): Use Pmode instead of SImode.
5789         (legitimate_address_p): Check displacement for 64bit.
5790         (print_operand): Avoid outputting of (%rip) on 64bit.
5791         (print_operand_address): Output (%rip) where possible.
5792         (split_di): Abort on 64bit registers.
5793         (ix86_expand_branch): DImode comparison is simple for x86_64.
5794         (memory_address_length): Recognize memory addresses formed using
5795         PRE/POST modify.
5796         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
5797         for x86_64.
5798         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
5799
5800 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
5801
5802         * recog.c (push_operand): Recognize new format of push instructions.
5803
5804 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
5805
5806         * i386.md (pushqi1): New.
5807         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
5808         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
5809         x86_64_immediate_operand, x86_64_immediate_operand,
5810         x86_64_zext_immediate_operand): Declare.
5811         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
5812         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
5813         x86_64_immediate_operand, x86_64_immediate_operand,
5814         x86_64_zext_immediate_operand): define.
5815         * i386.h (PREDICATE_CODES): Add new predicates.
5816
5817 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
5818
5819         * i386.md (pophi1, popqi1, pushqi1): Remove.
5820
5821         * expr.c (emit_single_push_insn): New function.
5822         (move_by_pieces): Accept NULL as destination for push instructions.
5823         (gen_push_operand): Kill.
5824         (emit_push_insn): Pass NULL when pushing; avoid updating of
5825         stack_pointer_delta.
5826         * expr.h (gen_push_operand): Kill.
5827
5828 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5829
5830         * rtl.texi (COMPARE): Clarify documentation and reference section
5831         on comparisons.
5832
5833 2001-03-20  Stan Shebs  <shebs@apple.com>
5834
5835         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
5836         (get_object_reference): Ditto.
5837         (error_with_ivar): Use error_with_file_and_line.
5838         (warn_with_method): Use warning_with_file_and_line.
5839
5840 2001-03-20  Tom Tromey  <tromey@redhat.com>
5841
5842         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
5843
5844 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
5845
5846         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
5847         variables that are TREE_PUBLIC, even if not TREE_STATIC.
5848
5849 2001-03-20  DJ Delorie  <dj@redhat.com>
5850
5851         * Makefile.in (install-libgcc): Pass complete list of variables.
5852         (install-multilib): Ditto.
5853
5854 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
5855
5856         * config/i386/cygwin.h: Declare ctor_section, dtor_section
5857         drectve_section, switch_to_section.
5858
5859         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
5860         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
5861         i386_pe_mark_dllimport.
5862
5863 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
5864
5865         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
5866         functions i386_pe_*.
5867
5868         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
5869         i386_pe_* functions with char * arguments.
5870
5871 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
5872
5873         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
5874         and store.
5875         (movsi_ie): Introduce fpul store.
5876
5877 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
5878
5879         * Makefile.in (OBJS): Remove hashtab.o.
5880
5881 2001-03-19  Stan Shebs  <shebs@apple.com>
5882
5883         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
5884         * c-lang.c (maybe_objc_method_name): Ditto.
5885         * c-tree.h (maybe_objc_method_name): Remove decl.
5886
5887 2001-03-19  Tom Tromey  <tromey@redhat.com>
5888
5889         * gcc.c (init_gcc_specs): Fix comment.
5890
5891 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
5892
5893         Compute DECL_ASSEMBLER_NAME lazily.
5894         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
5895         (DECL_ASSEMBLER_NAME_SET_P): New macro.
5896         (SET_DECL_ASSEMBLER_NAME): Likewise.
5897         (COPY_DECL_ASSEMBLER_NAME): Likewise.
5898         (set_decl_assembler_name): Declare.
5899         (lang_set_decl_assembler_name): Likewise.
5900         * tree.c (lang_set_decl_assembler_name): New variab.e
5901         (set_decl_assembler_name): New function.
5902         (init_obstacks): Set lang_set_decl_assembler_name.
5903         (build_decl): Don't set DECL_ASSEMBLER_NAME.
5904         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
5905         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
5906         where it's not necessary.
5907         (builtin_function): Likewise.
5908         (finish_decl): Likewise.
5909         * dbxout.c (dbxout_type_methods): Likewise.
5910         * ggc-common.c (ggc_mark_trees): Likewise.
5911         * profile.c (output_func_start_profiler): Likewise.
5912         * varasm.c (make_decl_rtl): Likewise.
5913
5914         * cse.c (find_comparison_args): Update documentation.  Fix
5915         mishandling of COMPARE operations.
5916
5917         * tree.def (ABS_EXPR): Add documentation.
5918         * fold-const.c (fold): Improve folding of ABS_EXPRs.
5919
5920 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
5921
5922         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
5923
5924 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
5925
5926         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
5927         Remove ia32 linux PIC kludge and move it...
5928         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
5929
5930 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
5931
5932         * i386.md (absdf2 expander): Fix 64bit case.
5933
5934 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
5935
5936         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
5937
5938 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
5939
5940         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
5941
5942 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5943
5944         * README.X11: Remove obsolete file.
5945
5946 2001-03-18  Anthony Green  <green@redhat.com>
5947
5948         * config/pj/pj.h: Remove some trailing commas.
5949         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
5950
5951 2001-03-18  Richard Henderson  <rth@redhat.com>
5952
5953         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
5954         * calls.c: ... here.
5955         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
5956         defaults for them here.
5957
5958 2001-03-17  Anthony Green  <green@redhat.com>
5959
5960         * config/pj/lib1funcs.S: Fix broken comment.
5961         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
5962         labels with '.'.
5963
5964 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
5965
5966         * gcc.texi: Remove obsolete information relating to build and
5967         installation problems with enquire or the Pyramid C compiler.
5968
5969 2001-03-17  Richard Henderson  <rth@redhat.com>
5970
5971         * dwarf2out.c (queue_reg_save): New.
5972         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
5973         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
5974         dwarf2out_reg_save.
5975         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
5976         (cfa, cfa_store, cfa_temp): Make static.
5977         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
5978
5979 2001-03-17  Richard Henderson  <rth@redhat.com>
5980
5981         * integrate.h (struct inline_remap): Add local_return_label.
5982         * integrate.c (expand_inline_function): Initialize it and emit
5983         it after copy_insn_notes.
5984         (copy_insn_list): Don't store local_return_label here.
5985         (copy_insn_notes): New function split out from copy_insn_list.
5986
5987 2001-03-17  Richard Henderson  <rth@redhat.com>
5988
5989         * dwarf2out.c (lookup_filename): Emit .file if the assembler
5990         is generating .debug_line.
5991         (dwarf2out_init): Add main_input_filename to the file table first.
5992         * configure.in (as_dwarf2_debug_line): Test with file number 1
5993         instead of file number 0.
5994
5995 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5996
5997         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
5998         (gen_rtx_combine): Deleted; all references changed as appropriate.
5999         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
6000
6001         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
6002
6003 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
6004
6005         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
6006         variable.
6007
6008 2001-03-16  Jim Wilson  <wilson@redhat.com>
6009
6010         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
6011         then set it to LOC_REG (79) instead of aborting.
6012
6013 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
6014
6015         * gccbug.in:  Remove high priority.
6016
6017 2001-03-16  Richard Henerson  <rth@redhat.com>
6018
6019         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
6020         output with a space instead of deleting it.
6021         * configure: Regenerate.
6022
6023 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
6024
6025         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
6026         handles the gory details of converting an object file into
6027         something that's safe to grep.
6028         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
6029         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
6030         newlines at either end of the string we're looking for.
6031         Make 'checking ...' message less stilted.
6032         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
6033         ARM in-memory layout and its hypothetical converse.  Don't
6034         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
6035         HOST_WORDS_BIG_ENDIAN.
6036
6037         * configure.in: Adjust for renamed macro.  Move
6038         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
6039         * configure, config.in: Regenerate.
6040
6041 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6042
6043         * fixinc/Makefile.in: Set SHELL.
6044
6045 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6046
6047         * fixinc/fixincl.c (fix_with_system): Quote file names before
6048         passing them to shell.
6049
6050 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6051
6052         * Makefile.in: Use fix-header$(build_exeext) instead
6053         of fix-header.
6054
6055 2001-03-16  Richard Henderson  <rth@redhat.com>
6056
6057         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
6058         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
6059         (size_of_line_prolog): Remove.
6060         (output_line_info): Compute prologue size via label difference.
6061         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
6062
6063         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
6064         assembler error when redefining file numbers.
6065         * config.in, configure: Rebuild.
6066
6067         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
6068         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
6069         (dw2_asm_output_delta_uleb128): Likewise.
6070         (dw2_asm_output_delta_sleb128): Similarly.
6071         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
6072
6073 2001-03-16  Michael Meissner  <meissner@redhat.com>
6074
6075         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
6076         warnings.
6077         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
6078         warnings.
6079         (BITMASK_LOWER16): Replacement for 0x0000ffff.
6080
6081         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
6082         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
6083         being unsigned in ISO C and signed in traditional.
6084         (expand_prologue): Ditto.
6085         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
6086
6087         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
6088         warnings.
6089         (divsi3,divdi3): Ditto.
6090         (modsi3,moddi3): Ditto.
6091         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
6092         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
6093         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
6094         warnings.
6095
6096 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6097
6098         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
6099         SSE based conditional moves on LTGT/UNEQ conditions;
6100         Canonicalize EQ to NE.
6101         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
6102         (sse_mov?fcc_ne): New.
6103
6104         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
6105
6106 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6107
6108         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
6109         register may be dead.
6110
6111 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
6112
6113         * Makefile.in (hash.o): Depend on CONFIG_H.
6114
6115 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6116
6117         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
6118
6119 2001-03-15  Richard Henderson  <rth@redhat.com>
6120
6121         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
6122         (ASM_OUTPUT_DWARF_PCREL): New.
6123         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
6124
6125 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6126
6127         * cppfiles.c (stack_include_file): Use MAX of sysp.
6128
6129 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
6130
6131         * config.gcc (ia64*-*-hpux*): New case.
6132         * config/ia64/hpux.h: New file for HP-UX support.
6133         * config/ia64/t-hpux: New file for HP-UX support.
6134
6135 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
6136
6137         * fixinc/inclhack.def (irix_stdio_va_list): New.
6138         * fixinc/fixincl.x: Rebuilt.
6139
6140 2001-03-15  Richard Henderson  <rth@redhat.com>
6141
6142         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
6143         if provided by the target.
6144         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
6145         (dw2_asm_output_addr): New.
6146         * dwarf2asm.h (dw2_asm_output_addr): Declare.
6147         * dwarf2out.c (output_cfi): Use it for program addresses.
6148         (output_call_frame_info, output_die): Likewise.
6149         (output_aranges, output_line_info): Likewise.
6150
6151 2001-03-15  Bruce Korb  <bkorb@gnu.org>
6152
6153         * gcc.c(main): make more rigorous
6154         * collect2.c(main): guard against ignoring SIGCHLD
6155         * protoize.c(main): ditto
6156         * gcc/fixinc/fixincl.c(initialize): ditto
6157
6158 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6159
6160         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
6161         (sdbout_parms): Likewise.
6162
6163 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
6164
6165         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
6166         "widen" a destination that is already wider than a word.  Also do
6167         not widen if LOAD_EXTEND_OP is NIL for the given mode.
6168
6169 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6170
6171         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
6172
6173 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
6174
6175         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
6176
6177 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
6178
6179         * i960.h (i960_maxbitalignment,
6180         i960_last_maxbitalignment): Declare.
6181         * i960.c (i960_maxbitalignment,
6182         i960_last_maxbitalignment): Make global.
6183         (process_pragma): Delete.
6184         (i960_pr_align, i960_pr_noalign): Move from here ...
6185         * i960-c.c: ... to this new file.
6186         * t-960bare (i960-c.o): New rule.
6187         * t-vxworks960 (i960-c.o): Likewise.
6188         * config.gcc (i960-*-*): Define c_target_objs and
6189         cxx_target_objs.
6190
6191 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6192
6193         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
6194         without adding in rtx code and mode.
6195
6196         * alias.c (init_alias_analysis): Don't use any rtx whose value
6197         varies as a known value.
6198         Delete a superfluous test.
6199
6200         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
6201         ia64_sched_reorder.
6202         (ia64_sched_reorder): Call maybe_rotate; also rotate after
6203         scheduling a stop bit.
6204         (ia64_emit_nops): Correctly handle ASMs.
6205
6206 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6207
6208         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
6209
6210 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6211
6212         * cpp.texi: Update documentation for -include and -imacros.
6213         * cppfiles.c (struct include_file): Remove "defined" memeber.
6214         (find_or_create_entry): Make a copy of the file name, and
6215         simplify it.
6216         (open_file): Update to ensure we use the simplified filename.
6217         (stack_include_file): Don't set search_from.
6218         (cpp_included): Don't simplify the path name here.
6219         (find_include_file): New prototype.  Call search_from to
6220         get the start of the "" include chain.  Don't simplify the
6221         filenames here.
6222         (_cpp_execute_include): New prototype.  Move diagnostics to
6223         do_include_common.  Update.
6224         (_cpp_pop_file_buffer): Don't set defined.
6225         (search_from): New prototype.  Use the preprocessor's cwd
6226         for files included from the command line.
6227         (read_name_map): Don't simplify the pathname here.
6228         * cpphash.h (enum include_type): New.
6229         (struct buffer): Delete search from.  New search_cached.
6230         (_cpp_execute_include): Update prototype.
6231         * cppinit.c (do_includes): Use _cpp_execute_include.
6232         * cpplib.c (do_include_common): New function.
6233         (do_include, do_include_next, do_import): Use it.
6234
6235 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6236
6237         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
6238         contents of the RTL, to determine the name of the object.
6239
6240 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6241
6242         * tree.h (DECL_RTL): Allocate RTL lazily.
6243         (SET_DECL_RTL): New macro.
6244         (DECL_RTL_SET_P): Likewise.
6245         (COPY_DECL_RTL): Likewise.
6246         (DECL_RTL_IF_SET): Likewise.
6247         * varasm.c (make_decl_rtl): Add assertions about the kind of
6248         declaration we are processing.
6249         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
6250         (start_decl): Likewise.
6251         (finish_decl): Likewise.
6252         * c-semantics.c (emit_local_var): Likewise.
6253         * calls.c (expand_call): Likewise.
6254         * dbxout.c (dbxout_symbol): Likewise.
6255         * emit-rtl.c (unshare_all_rtl): Likewise.
6256         (unshare_all_decls): Likewise.
6257         (reset_used_decls): Likewise.
6258         * expr.c (store_constructor): Likewise.
6259         (safe_from_p): Likewise.
6260         (expand_expr): Likewise.
6261         * function.c (put_var_into_stack): Likewise.
6262         (instantiate_decls_1): Likewise.
6263         (assign_parms): Likewise.
6264         (expand_function_start): Likewise.
6265         (expand_function_end): Likewise.
6266         * ggc-common.c (gcc_mark_trees): Likewise.
6267         * integrate.c (function_cannot_inline_p): Likewise.
6268         (copy_decl_for_inlining): Likewise.
6269         (expand_inline_function): Likewise.
6270         (integrate_parm_decls): Likewise.
6271         (integrate_decl_tree): Likewise.
6272         * print-tree.c (print_node): Likewise.
6273         * reg-stack.c (stack_result): Likewise.
6274         * stmt.c (label_rtx): Likewise.
6275         (expand_return): Likewise.
6276         (expand_decl): Likewise.
6277         (expand_decl_cleanup): Likewise.
6278         (expand_anon_union_decl): Likewise.
6279         * toplev.c (check_global_declarations): Likewise.
6280         (rest_of_decl_compilation): Likewise.
6281         * tree.c (simple_cst_equal): Likewise.
6282         * objc/objc-act.c (generate_static_references): Likewise.
6283
6284 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
6285
6286         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
6287         gcc_AC_C_FLOAT_FORMAT): New macros.
6288         * configure.in: Add AC_PROG_CPP after CC tests;
6289         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
6290         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
6291         * configure, config.in: Regenerate.
6292
6293         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
6294         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
6295         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
6296         config/i370/xm-linux.h, config/i370/xm-oe.h,
6297         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
6298         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
6299         config/pa/xm-linux.h, config/pa/xm-pa.h,
6300         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
6301         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
6302         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
6303         config/we32k/xm-we32k.h: Delete.
6304
6305         * config/i370/xm-mvs.h, config/m88k/m88k.h,
6306         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
6307         config/vax/xm-vms.h: Don't define any of:
6308         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
6309
6310         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
6311
6312         * config.gcc: Remove references to deleted files.
6313         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
6314         FATAL_EXIT_CODE, which is the same between oe and mvs).
6315
6316 2001-03-14  DJ Delorie  <dj@redhat.com>
6317             Vladimir Makarov  <vmakarov@redhat.com>
6318
6319         * config/i960/i960.c (i960_function_prologue): Compute size of
6320         frame according to number of registers actually saved there.
6321
6322 2001-03-14  Richard Henderson  <rth@redhat.com>
6323
6324         * expr.c (emit_move_insn_1): Fix else if around #endif.
6325
6326 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
6327                               Vojtech Pavlik
6328
6329         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
6330         constraints.
6331
6332 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
6333
6334         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
6335         (override_options): Parse cmodel string.
6336         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
6337         * i386.h (TARGET_OPTIONS): Add "cmodel".
6338         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
6339         (enum cmodel): New.
6340         (ix86_cmodel_string, ix86_cmodel): Declare.
6341
6342 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6343
6344         Spot by Matt Kraai:
6345         * i386.h (GENERAL_REG_P): Add missing REG_P.
6346
6347 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
6348
6349         * configure.in: Use $gcc_cv_as instead of $as.
6350         * configure: Regenerated.
6351
6352 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6353
6354         * cppfiles.c (stack_include_file): Only increase the include
6355         count if we actually process the file properly, as opposed
6356         to treating it as length zero.  Only call read_include_file
6357         if not DO_NOT_REREAD.  Handle the -H include file output
6358         here.
6359         (read_include_file): Remove now redundant DO_NOT_REREAD check.
6360         (cpp_included, find_include_file): Simplify pathnames after
6361         remapping them.  If remapping, don't use the remapped file
6362         name's buffer as our scratch buffer.
6363         (cpp_pop_file_buffer): Replace the multiple include macro
6364         only if it isn't yet set.
6365         (read_name_map): Simplify remapped names when reading in.
6366         (remap_filename): Move code to code path that uses it.
6367         (_cpp_simplify_pathname): Return the input pointer.
6368         * cpphash.h (_cpp_simplify_pathname): Update prototype.
6369
6370 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6371
6372         * expr.c (expand_expr): Revove bogus conditional.
6373
6374 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
6375
6376         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
6377
6378 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
6379
6380         * reg-stack.c (stack_result): Unconditionally use
6381         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
6382
6383 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6384
6385         * expr.c (emit_move_insn_1):  Split push of complex value when
6386         no suitable push instruction exist.
6387
6388         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
6389         instead of QI_REG_P.
6390
6391 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6392
6393         * alias.c (handled_component_p, can_address_p): New functions.
6394         (get_alias_set): Use them.
6395
6396 2001-03-13  Jim Wilson  <wilson@redhat.com>
6397
6398         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
6399         from 80 in try_locals code.
6400         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
6401
6402 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
6403
6404         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
6405         gcc_AC_C_LONG_LONG): New.
6406         * configure.in: Use them.  Probe the size of short, int, long,
6407         and long long/__int64 if we have them.  Move all the AC_C_*
6408         checks together, except gcc_AC_C_CHAR_BIT which has to go
6409         after AC_CHECK_HEADERS(limits.h).
6410         Take hwint.h out of host_xm_file and build_xm_file.
6411
6412         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
6413         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
6414         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
6415         Move the HOST_WIDEST_INT setup logic here from system.h.
6416         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
6417         defined.
6418         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
6419         is now handled by hwint.h.
6420
6421         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
6422         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
6423         config/ia64/xm-ia64.h: Don't define any of:
6424         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
6425         HOST_BITS_PER_LONGLONG.
6426
6427         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
6428         config/h8300/xm-h8300.h, config/mips/iris6.h,
6429         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
6430         config/sparc/xm-sp64.h: Delete.
6431         * config.gcc: Remove references to deleted files.
6432
6433         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
6434         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
6435         * config/i370/xm-linux.h: Clarify floating-point situation in
6436         a comment.
6437
6438 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6439
6440         * cppfiles.c (NO_INCLUDE_PATH): New macro.
6441         (find_include_file): Decide here which part of the include
6442         chain to start the search.  Complain about an empty include
6443         chain in all cases apart from an abolsute file name.
6444         (_cpp_execute_include): Don't choose the search chain here.
6445         Don't call handle_missing_include in the case of an empty
6446         include chain.
6447         (_cpp_compare_file_date): Don't choose the search chain here.
6448         * cpplib.c (do_include_next): Move the in-main-file diagnostic
6449         here from _cpp_execute_include.  Behave like #include if
6450         we're in the main file.
6451
6452 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6453
6454         * system.h (malloc, realloc, calloc, strdup): Only poison these
6455         tokens when IN_GCC is defined.
6456
6457 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
6458
6459         * i386.md (abs?f expander): Support SSE case.
6460         (abd?f_if): Add new "USE"; add splitters.
6461
6462 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6463
6464         * cpp.texi (poison): Explain the macro expansion exception.
6465
6466 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
6467
6468         * expr.c (store_expr): Add dont_store_target.  If temp is already in
6469         target before copying to reg, don't store it into target again.
6470
6471 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6472
6473         * cppinternals.texi: Update for file handling.
6474
6475 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
6476
6477         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
6478         2001-02-24 which broke building the Java library.
6479         * function.c (identify_blocks): Likewise.
6480         (all_blocks): Likewise.
6481         * integrate.c (integrate_decl_tree): Likewise.
6482         * print-tree.c (print_node): Likewise.
6483         * tree.h (BLOCK_NUMBER): Likewise.
6484         (struct tree_block): Likewise.
6485
6486 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
6487
6488         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
6489         __WCHAR_TYPE__ definition.
6490         (WCHAR_TYPE_SIZE): #undef before #define.
6491
6492 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6493
6494         * cppfiles.c: Update comments.
6495         (destroy_include_file_node): Rename destroy_node.
6496         (find_or_create_entry): New function.
6497         (open_file, _cpp_fake_include): Use it.
6498         (handle_missing_header): New function, broken out of
6499         _cpp_execute include.  Don't segfault if there is no
6500         system or quoted path.
6501         (_cpp_execute_include): Use handle_missing_header.
6502
6503 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
6504
6505         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
6506         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
6507
6508 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6509
6510         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
6511         unless anti_dependence says they are.
6512         * alias.c (objects_must_conflict): If neither has a type specified,
6513         they must conflict.
6514
6515 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6516             David Billinghurst <David.Billinghurst@riotinto.com>
6517
6518         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
6519
6520 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
6521
6522         * i386.md (trunctfdf2_2): Rename missnamed pattern.
6523         (*_one_bit): Remove type on the match_operand in attributes.
6524
6525 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
6526
6527         * i386.c: Commit forgotten hunk in previous patch.
6528         (regclass_map): Add extended registers.
6529         (dbx_register_map): Add missing frame register.
6530
6531 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
6532
6533         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
6534
6535         * i386.md (x86_sahf_1): Disable for 64bit.
6536         (popsi*, pophi*): Likewise.
6537         (pushqi, pushhi): Likewise.
6538         (movdi, pushdi): Likewise.
6539         (zero extend DImode splitter): Likewise.
6540         (adddi, minusdi splitter): Likewise.
6541         (umulsidi): Likewise.
6542         (umulsi): New.
6543         (mulsidi): Disable for 64bit
6544         (lshift:DI/ashift:DI): Disable for 64bit.
6545         (loop patterns): Likewise.
6546         (call_pop, call_value_pop expanders and patterns): Likewise.
6547         (prologue_get_pc): Likewise.
6548         (leave): Likewise.
6549         (fcmovDI pattern and splitter): Likewise.
6550         (movdfcc_1_rex64): New.
6551
6552 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
6553
6554         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
6555         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
6556         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
6557         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
6558         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
6559         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
6560         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
6561         (PUSH_ROUNDING): x86_64 rounds to 64bits.
6562         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
6563         (REGPARM_MAX): Set to 6 for x86_64.
6564         (SSE_REGPARM_MAX): Set to 16 for x86_64.
6565         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
6566         registers.
6567
6568         * (patterns that does use upper halves): Update constraints
6569         'q' to 'Q' and 'r' to 'R'.
6570         (cmpqi_ext_1): Disable for 64bit.
6571         (cmpqi_ext_3_insn): Likewise.
6572         (movqi_extzv_1): Likewsie.
6573         (addqi_ext_1): Liekwsie
6574         (testqi_ext_1): Liekwsie
6575         (andqi_ext_1): Liekwsie
6576         (xorqi_ext_1): Liekwsie
6577         (cmpqi_ext_1_rex64): New.
6578         (cmpqi_ext_3_insn_rex64): Likewise.
6579         (movqi_extzv_1_rex64): Likewsie.
6580         (addqi_ext_1_rex64): Liekwsie
6581         (testqi_ext_1_rex64): Liekwsie
6582         (andqi_ext_1_rex64): Liekwsie
6583         (xorqi_ext_1_rex64): Liekwsie
6584
6585 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6586
6587         * configure.in: Move check for unsigned enumerated bitfields
6588         to macro in aclocal.m4.  Disable it for now.
6589         * configure, config.in: Regenerate.
6590         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
6591         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
6592         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
6593         kind above its first use.
6594
6595         * config/xm-interix.h, config/alpha/xm-alpha.h,
6596         config/i370/xm-linux.h, config/i386/xm-beos.h,
6597         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
6598         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
6599         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
6600         Don't define ONLY_INT_FIELDS under any circumstances.
6601
6602         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
6603
6604         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
6605         config/sparc/xm-sysv4.h: Delete - now identical with some
6606         other xm header.
6607         * config.gcc (hppa targets): Replace xm-pahpux.h and
6608         xm-papro.h with implicit xm-pa.h.
6609         (sparc targets): Replace xm-sysv4.h with implicit or explicit
6610         xm-sparc.h.
6611
6612 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
6613
6614         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
6615         before reload_cse_noop_set_p.
6616
6617 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6618
6619         * config.gcc: Where xm-host.h used to include another
6620         xm-host.h, list the nested header directly in xm_file.  Remove
6621         references to deleted files.  Can now use sparc/xm-sp64.h for
6622         sparcv9-*-solaris*.
6623
6624         * config/xm-linux.h, config/arm/xm-linux.h,
6625         config/i386/xm-dos.h, config/i386/xm-gnu.h,
6626         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
6627         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
6628         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
6629         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
6630         Delete.
6631
6632         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
6633         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
6634         bother to wrap #undef in #ifdef.
6635         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
6636         Don't include xm-linux.h.
6637         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
6638
6639         * configure.in: Wrap regexps using [] in changequote block.
6640         Use expr : not echo | grep.  Simplify regexps.
6641         * configure: Regenerate.
6642
6643         56 xm-files remain, 22 xm-arch.
6644
6645 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6646
6647         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
6648         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
6649         (local_index, local_rindex): Delete, use strchr/strrchr instead.
6650         (copy_object): Fix format specifier vs argument mismatch.
6651
6652         * mips-tdump.c: Make local functions static.
6653         (rindex): Don't #undef.
6654         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
6655         (fatal, fancy_abort): Delete.
6656         (read_seek): Avoid signed/unsigned compare.
6657
6658 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6659
6660         * combine.c (try_combine): Fix error in change to try original
6661         register.
6662         (gen_rtx_combine): Do same as gen_rtx for now.
6663
6664 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6665
6666         * configure.in: AC_SUBST xm_defines.
6667         * configure: Regenerate.
6668         * Makefile.in: Set DEFINES=$(xm_defines) when building
6669         tconfig.h.
6670
6671 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6672
6673         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
6674         (cpp_included, find_include_file): Update.
6675         (_cpp_compare_file_date): Make else unconditional.
6676
6677 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
6678
6679         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
6680
6681 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
6682
6683         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
6684         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
6685
6686 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
6687
6688         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
6689         if it's a record type.
6690
6691 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
6692
6693         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
6694         mingw includes slightly.
6695
6696 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6697
6698         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
6699         #undef token before poisoning it.
6700
6701 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6702
6703         * alpha.c (check_float_value): Use memcpy, not bcopy.
6704
6705         * m32r.c (m32r_sched_reorder): Likewise.
6706
6707         * vax.c (check_float_value): Likewise.
6708
6709 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
6710
6711         * toplev.c (file_name_nondirectory): Remove.
6712         * toplev.h: Similarly.
6713         * dwarf2out.c (compute_section_prefix): Use lbasename instead
6714         of file_name_nondirectory.
6715
6716 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6717
6718         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
6719         * mips-tfile.c: Don't #undef rindex; not used.
6720
6721 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
6722
6723         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
6724         (dbx64_register_map): Declare.
6725         (RETURN_ADDR_RTX): Fix for 64bit.
6726         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
6727         (INCOMING_FRAME_SP_OFFSET): Set to 8.
6728         * i386.c (dbx64_register_map): New global array.
6729         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
6730         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
6731         for 64bits.
6732
6733 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
6734
6735         * cppfiles.c (search_from): Use lbasename.
6736         * mkdeps.c (deps_add_default_target): Use lbasename.
6737
6738 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6739
6740         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
6741         xcalloc in lieu of malloc, realloc & calloc.
6742
6743         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
6744
6745         * gengenrtl.c (xmalloc): Likewise.
6746
6747         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
6748         really_call_* memory allocation routines.
6749
6750         * stmt.c (check_for_full_enumeration_handling): Use
6751         really_call_calloc, not calloc.
6752
6753         * system.h (really_call_malloc, really_call_calloc,
6754         really_call_realloc): Define.
6755         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
6756
6757 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
6758
6759         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
6760
6761 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
6762
6763         * configure: Rebuilt.
6764         * configure.in: Only use `lang_requires' for languages athat are
6765         actually enabled.
6766
6767 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
6768
6769         * invoke.texi: Fix typo.
6770         * gcc.1: Regenerate.
6771
6772 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
6773
6774         * configure.in: Prune nonexistent files from build_xm_file,
6775         xm_file, and host_xm_file lists.  Warn unless they're
6776         $cpu/xm-$cpu.h.
6777         Don't generate *config.h here.
6778         AC_SUBST all variables needed to generate *config.h.
6779         * configure: Regenerate.
6780         * mkconfig.sh: New helper script, from code removed from
6781         configure.in.
6782         * Makefile.in: Zap all MALLOC variables - no longer used
6783         anywhere, and malloc.c doesn't exist.
6784         Substitute in variables needed to generate *config.h.
6785         Stop lying about the dependencies contained in CONFIG_H and
6786         GCONFIG_H.
6787         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
6788         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
6789         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
6790         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
6791         $(TM_P_H), etc. as appropriate.
6792
6793         * config.gcc: Zap references to deleted files.
6794         * ggc-none.c: Don't include rtl.h or tm_p.h.
6795
6796         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
6797         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
6798         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
6799         config/i386/xm-linux.h, config/i386/xm-linux.h,
6800         config/i386/xm-next.h, config/i386/xm-openbsd.h,
6801         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
6802         Don't include i386/xm-i386.h.
6803
6804         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
6805         config/i386/xm-i386.h, config/i860/xm-i860.h,
6806         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
6807         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
6808         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
6809         Delete (empty except comments, #includes of other deleted
6810         files, and macros used nowhere).
6811
6812 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
6813
6814         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
6815         independent on TARGET_FLAGS.
6816
6817 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
6818
6819         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
6820
6821         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
6822         extended ones.
6823         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
6824         TARGET_64BIT.
6825         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
6826         LAST_REX_SSE_REG): define.
6827         (enum reg_class): Add 'LEGACY_REGS'
6828         (REG_CLASS_CONTENTS): Likewise; add extended registers.
6829         (SSE_REGNO_P): Recognize extended registers.
6830         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
6831         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
6832         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
6833         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
6834         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
6835          REG_OK_FOR_STRREG_P): Remove.
6836         (HI_REGISTER_NAMES): Add extended registers.
6837         (ADDITIONAL_REGISTER_NAMES): Likewise.
6838         (QI_REGISTER_NAMES): Add 8bit extended registers.
6839         (DEBUG_REG): Support extended registers.
6840         * i386.c (regclass_map): Add extended registers.
6841         (dbx_register-map): Likewise.
6842         (svr4_dbx_register_map): Likewise.
6843         (print_reg): Support extended registers.
6844         (print_operand): Support 64bit operands.
6845
6846 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
6847
6848         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
6849         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
6850          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
6851          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
6852         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
6853          STACK_BOUNDARY): Set properly for 64bits.
6854         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
6855         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
6856         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
6857         (MOVE_MAX): Set to 16.
6858         (MOVE_MAX_PIECES): 8 for 64bit.
6859         (Pmode): Set to SImode.
6860
6861 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
6862
6863         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
6864
6865 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
6866
6867         * i386.h (mask_64bit): New constant.
6868         (target_64bit): New macro.
6869         (target_options): Add '64'/'32'
6870         (target_default): Define.
6871         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
6872         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
6873         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
6874
6875 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
6876
6877         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
6878
6879 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
6880
6881         * rtlanal.c (rtx_varies_p): Check operand 0 of a
6882         LO_SUM unless for_alias is set.
6883
6884 2001-03-08  Stan Shebs  <shebs@apple.com>
6885
6886         * objc/objc-act.c: Fix old typos in comments, add comments for
6887         various functions.
6888         (hash_init): Fix file name in error message.
6889         (hash_enter): Ditto.
6890         (hash_add_attr): Ditto.
6891         (continue_class): Ditto.
6892
6893 2001-03-08  Bruce Korb  <bkorb@gnu.org>
6894
6895         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
6896         wait4() can receive the signal.
6897
6898 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6899
6900         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
6901         entities.
6902         * fixinc/fixincl.x: Regenerate.
6903
6904 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6905
6906         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
6907         on Tru64 UNIX.
6908         * fixinc/fixincl.x: Regenerate.
6909
6910 2001-03-08  Richard Henderson  <rth@redhat.com>
6911
6912         * configure.in (HAVE_AS_LEB128): New assembler check.
6913         * configure, config.in: Rebuilt.
6914
6915 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
6916
6917         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
6918         TFmode too.
6919
6920 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6921
6922         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
6923         references to the MAXPATHLEN macro.
6924
6925         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
6926         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
6927         the POSIX macro.
6928
6929         * config/i386/xm-gnu.h, config/xm-gnu.h,
6930         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
6931         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
6932         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
6933         and/or unused files.
6934
6935         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
6936         doing so in various xm-*.h files.
6937
6938 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6939
6940         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
6941
6942 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
6943
6944         * configure.in (enable_shared): Support per-package shared-library
6945         enabling.
6946         * configure: Rebuilt.
6947
6948 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
6949
6950         * rs6000.md (cr logic): Add original POWER mnemonic alternative
6951         for crnot.  Set operands[5] in splitter.
6952
6953 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6954
6955         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
6956         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
6957         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
6958         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
6959         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
6960         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
6961         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
6962         to the USG macro.
6963
6964         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
6965         config/i370/xm-i370.h, config/i386/xm-dgux.h,
6966         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
6967         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
6968         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
6969         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
6970         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
6971         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
6972         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
6973         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
6974         Delete unused and/or empty files.
6975
6976         * config.gcc: Define USG in xm_defines as appropriate.  Define
6977         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
6978         macro.  Remove deleted xm-* files from $xm_files variable.
6979
6980 2001-03-07  Tom Tromey  <tromey@redhat.com>
6981
6982         * configure: Rebuilt.
6983         * configure.in: Allow config-lang.in to set `lang_requires' to list
6984         of other required languages.
6985
6986 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
6987
6988         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
6989         after its emitted.
6990         (output_prologue): Use xmalloc not oballoc.
6991         (output_epilog): Free a29k_first_epilogue_insn when finished.
6992         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
6993
6994 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
6995
6996         * builtins.c (expand_builtin_mathfn): Check
6997         flag_unsafe_math_optimizations, not flag_fast_math.
6998         (expand_builtin): Likewise
6999         * combine.c (combine_simplify_rtx): Likewise.
7000         (simplify_if_then_else): Likewise.
7001         * cse.c (fold_rtx): Likewise.
7002         * flags.h: Remove flag_fast_math.  Add
7003         flag_unsafe_math_optimizations and flag_trapping_math.
7004         * fold-const.c (negate_expr): Check
7005         flag_unsafe_math_optimizations, not flag_fast_math.
7006         (invert_truthvalue): Likewise.
7007         (fold): Likewise.  Before associating operands, check that
7008         code == MULT_EXPR, not code != MULT_EXPR.
7009         * ifcvt.c (noce_try_minmax): Check
7010         flag_unsafe_math_optimizations, not flag_fast_math.
7011         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
7012         * invoke.texi: Document -funsafe-math-optimizations and
7013         -fno-trapping-math.  Change documentation for -ffast-math.
7014         * jump.c (reversed_comparison_code_parts): Likewise.
7015         (rtx_equal_for_thread_p): Likewise.
7016         * optabs.c (emit_conditional_move): Likewise.
7017         * simplify-rtx.c (simplify_binary_operation): Likewise.
7018         (simplify_relational_operation): Likewise.
7019         (simplify_ternary_operation): Likewise.
7020         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
7021         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
7022         Add trapping-math and unsafe-math-optimizations entries to f_options.
7023         (set_fast_math_flags): New, sets flags for -ffast-math.
7024         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
7025         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
7026         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
7027
7028         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
7029         (alpha_emit_conditional_move): Initialize local_fast_math to
7030         flag_unsafe_math_optimizations, not flat_fast_math.
7031         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
7032         instead of setting flag_fast_math to 1.
7033         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
7034         not flag_fast_math.
7035         * config/i386/i386.c (override_options): Likewise
7036         * config/i386/i386.md: Likewise.
7037         * config/m68k/m68k.md: Likewise.
7038         * config/mips/mips.md: Likewise.
7039         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
7040         (rs6000_generate_compare): Likewise.
7041
7042 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7043
7044         * Makefile.in: Set RANLIB to @RANLIB@.
7045         Remove RANLIB_TEST.
7046
7047 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7048
7049         * fixinc/inclhack.def (djgpp_wchar_h): New test.
7050         * fixinc/fixincl.x: Regenerated.
7051
7052 2001-03-07  Richard Henderson  <rth@redhat.com>
7053
7054         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
7055
7056 2001-03-07  Richard Henderson  <rth@redhat.com>
7057
7058         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
7059         of block notes and exception handling notes.
7060
7061         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
7062         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
7063         (compile_file): ... here.
7064
7065 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7066
7067         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
7068
7069         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
7070         config.h now.  Include libiberty.h to handle alloca.
7071
7072 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7073
7074         * c-parse.in (yylexname): New function, split out of _yylex.
7075         (objc_rid_sans_at): New table.
7076         (init_reswords): Initialize it.
7077         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
7078         retrieving the next token and checking it for significance as
7079         an ObjC keyword or string constant.
7080
7081         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
7082         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
7083
7084         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
7085         to CPP_OSTRING.
7086
7087 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
7088
7089         * config/m68k/m68k.c (const_uint32_operand): Accept any
7090         const_int on a 32-bit host.
7091
7092 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
7093
7094         * objc/objc-act.c (init_objc): Set save_lang_status,
7095         restore_lang_status, and mark_lang_status.
7096
7097 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
7098
7099         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
7100
7101 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7102
7103         * cppinternals.texi: Update.
7104
7105 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7106
7107         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7108         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
7109         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
7110         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
7111         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
7112         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7113         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
7114         config/i386/xm-i386.h, config/i860/xm-i860.h,
7115         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7116         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
7117         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7118         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7119         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7120         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7121         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
7122         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
7123         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
7124         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7125         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7126         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
7127         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
7128         match the defaults provided in hwint.h.
7129
7130         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7131         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
7132
7133         * config.gcc (xm_file): Don't set to files which are deleted.
7134
7135         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
7136         guard this file against these macros being undefined.
7137
7138 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7139
7140         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
7141         and DECL_DEFER_OUTPUT on the decl we create, before calling
7142         rest_of_decl_compilation.
7143
7144 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7145
7146         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
7147         AC_FUNC_ALLOCA.
7148         * configure, config.in: Regenerate.
7149         * config.gcc: Remove references to deleted files.
7150
7151         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
7152         genrecog.c, rtl.c: Do not use alloca anywhere.
7153
7154         * Makefile.in, build-make, system.h, config/x-interix,
7155         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
7156         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
7157         config/arc/xm-arc.h, config/arm/xm-arm.h,
7158         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7159         config/h8300/xm-h8300.h, config/i370/x-oe,
7160         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
7161         config/i386/x-ncr3000, config/i386/x-sco5,
7162         config/i386/xm-dgux.h, config/i860/x-sysv4,
7163         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
7164         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
7165         config/m68k/x-hp320g, config/m69k/x-mot3300,
7166         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
7167         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
7168         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
7169         config/m88k/x-sysv4, config/m88k/x-tekXD88,
7170         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7171         config/mips/x-iris, config/mips/x-iris3,
7172         config/mips/x-sni-svr4, config/mips/x-sysv,
7173         config/mips/xm-iris6.h, config/mips/xm-mips.h,
7174         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
7175         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
7176         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7177         config/pa/xm-papro.h, config/romp/xm-romp.h,
7178         config/rs6000/x-aix31, config/rs6000/x-aix41,
7179         config/rs6000/x-beos, config/rs6000/x-lynx,
7180         config/rs6000/x-mach, config/rs6000/x-rs6000,
7181         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
7182         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7183         config/sparc/x-sysv4, config/sparc/xm-linux.h,
7184         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
7185         config/vax/xm-vms.h: Eradicate all references to alloca and
7186         related stuff.
7187
7188         * config/xm-alloca.h, config/clipper/x-clix,
7189         config/i386/xm-sysv4.h, config/i860/x-fx2800,
7190         config/i860/x-sysv3, config/m88k/x-sysv3,
7191         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
7192         (contained only alloca related hacks).
7193
7194         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
7195         USE_C_ALLOCA.
7196
7197 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
7198
7199         * invoke.texi: Document __FAST_MATH__.
7200
7201 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7202
7203         * crtstuff.c: Restore include of auto-host.h.
7204
7205 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
7206
7207         Put main() in a separate file, so that the language
7208         front-end can use a different main().
7209
7210         * main.c: New.
7211         * toplev.c: (main): Rename as toplev_main.
7212         * toplev.h: Declare toplev_main.
7213         * Makefile.in (OBJS): add toplev.o.
7214           (BACKEND): remove toplev.o, add main.o.
7215
7216 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7217
7218         * cppfiles.c (search_from): Special case the empty string.
7219
7220 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7221
7222         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
7223         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
7224         strlen or strcpy; we already know the length.
7225         (_cpp_compare_file_date): Similarly.
7226         * cpphash.h (struct cpp_reader): Delete done_initialising.
7227         (CPP_PREV_BUFFER): Delete.
7228         * cppinit.c (cpp_start_read): Don't set done_initialising.
7229         * cpplex.c (parse_string): Guarantee null-termination.
7230         (_cpp_equiv_toklists): Remove.
7231         * cpplib.c (glue_header_name): Null-terminate.
7232         (do_line): Don't leak memory.
7233         * cpplib.h (BT_WEAK): Delete.
7234         * cppmain.c (cb_ident): Strings are now null-terminated.
7235
7236 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
7237
7238         * gcc.c (convert_filename): Append executable suffix
7239         if NO_AUTO_EXE_SUFFIX is not defined.
7240         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
7241         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
7242
7243 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
7244
7245         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
7246         * c-parse.gperf, c-gperf.h: Delete.
7247         (c-gperf.h was accidently re-added to the CVS repo in the rev
7248         1.16 commit by tromey)
7249
7250 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7251
7252         * cpplex.c (_cpp_lex_token): Don't warn about directives in
7253         macro arguments when looking for the '('.
7254         * cppmacro.c (funlike_invocation_p): Set parsing_args to
7255         2 when really parsing arguments; 1 when looking for '('.
7256         Always restore the lexer position.
7257
7258 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7259
7260         * longlong.h (umul_ppmm): Don't use a multiline string.
7261
7262 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7263
7264         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
7265         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
7266         t_bool in declaration because pcc can't combine volatile with typedef
7267         types.
7268
7269 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7270
7271         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
7272         until when it is really needed.
7273         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
7274         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
7275         * i386.md (float?i?f splitter): Don't force source operand to memory
7276         for SSE.
7277         (sse_movdfcc): Fix constraint.
7278         (sse_movdfcc splitter): Handle properly the second alternative.
7279
7280 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7281
7282         * cpplex.c (parse_string): Unconditionally pedwarn.
7283
7284 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7285
7286         * cpp.texi: Update.
7287         * cppexp.c (parse_number): Update.
7288         * cpplex.c (parse_string): Pedwarn if multiline string does not
7289         result from a system header's macro.
7290         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
7291         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
7292         for function-like macros too.
7293         * c-lex.c (lex_number): Update.
7294
7295 2001-03-03  Richard Henderson  <rth@redhat.com>
7296
7297         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
7298
7299 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
7300
7301         * combine.c (try_combine): If split with mode-changed scratch
7302         register didn't work, try the original mode.
7303
7304 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
7305
7306         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
7307         * config/c4x/c4x.h: Likewise.
7308         * stor-layout.c (compute_record_mode): Likewise.
7309         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
7310
7311 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
7312
7313         * configure.in: Kill tm.h.  Include the files in the $tm_file
7314         list in all three of config.h, hconfig.h, tconfig.h, after the
7315         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
7316         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
7317         * configure: Regenerate.
7318         * Makefile.in (clean): Don't delete tm.h.
7319
7320         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
7321         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
7322         those are not defined, set SEC and FEC to 0 and 1.
7323         * gcc.texi: Update to match.
7324
7325         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
7326         * config/fp-bit.c, config/m68k/aux-crt2.asm,
7327         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
7328         Include tconfig.h, not tm.h.
7329
7330         * config/xm-lynx.h, config/xm-std32.h,
7331         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7332         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
7333         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
7334         config/clipper/xm-clix.h, config/convex/xm-convex.h,
7335         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7336         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
7337         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
7338         config/i386/xm-i386.h, config/i860/xm-i860.h,
7339         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7340         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
7341         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7342         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7343         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7344         config/pa/xm-linux.h, config/pa/xm-pa.h,
7345         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7346         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
7347         config/pj/xm-pj.h, config/romp/xm-romp.h,
7348         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
7349         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7350         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7351         config/v850/xm-v850.h, config/vax/xm-vax.h,
7352         config/we32k/xm-we32k.h:
7353         Don't include tm.h.
7354         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
7355
7356         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
7357         config/i370/xm-oe.h: Don't include tm.h.  Don't define
7358         SUCCESS_EXIT_CODE.
7359         * config/vax/xm-vms.h: Don't include tm.h.
7360
7361         * config/xm-lynx.h, config/avr/xm-avr.h,
7362         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
7363         Delete; made empty by above changes.
7364         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7365         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
7366         Don't include config/xm-lynx.h or tm.h.
7367
7368         * config/xm-gnu.h: Don't include fcntl.h.
7369         * config/sparc/xm-lynx.h: Don't include sys/types.h and
7370         sys/wait.h.
7371         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
7372
7373 2001-03-02  Richard Henderson  <rth@redhat.com>
7374
7375         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
7376         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
7377
7378 2001-03-02  Richard Henderson  <rth@redhat.com>
7379
7380         * Makefile.in (OBJS): Add dwarf2asm.o.
7381         * dwarf2asm.c, dwarf2asm.h: New files.
7382         * dwarf2out.c (*): Use them.
7383         (size_of_uleb128, size_of_sleb128): Remove.
7384         (output_uleb128, output_sleb128): Remove.
7385         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
7386         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
7387         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
7388         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
7389         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
7390         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
7391         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
7392         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
7393         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
7394         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7395         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
7396         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
7397         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
7398         (dwarf2out_frame_debug): Remove unused variables.
7399         (output_loc_operands): Don't abort on 8 byte constants if
7400         host integers are wide enough.
7401         (output_symbolic_ref): Remove.
7402         (size_of_die): Don't assume 4 byte host integers.
7403         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
7404         and end labels.
7405         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
7406         something stupid with HOST_WIDE_INT to long truncation.
7407         [CONST_DOUBLE]: Likewise.
7408
7409         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
7410         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7411         * config/arm/unknown-elf.h: Likewise.
7412         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
7413         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
7414         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
7415         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
7416         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
7417         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
7418         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
7419         (ASM_OUTPUT_DWARF_OFFSET): Remove.
7420         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
7421         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7422         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
7423         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
7424
7425 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7426
7427         * cselib.c (hash_rtx): Cast enums to unsigned int.
7428
7429 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7430
7431         * print-rtl.c (print_rtx): Cast enums to int for comparison.
7432         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
7433         shifts.
7434         * c-format.c (C_STD_VER): Cast to int for comparisons.
7435         (check_function_format): Cast various enums to int for &.
7436         (maybe_read_dollar_number): Likewise.
7437         (check_format_info): Likewise.
7438         (check_format_info_main): Likewise.
7439         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
7440         (safe_from_p): Likewise.
7441         * varasm.c (const_hash): Cast enum to int for %.
7442         * emit-rtl.c (init_emit_once): Use int loop variable to work around
7443         pcc enum problems with < and ++ operators.
7444         * regclass.c (init_reg_sets_1): Cast enums for comparison.
7445         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
7446         (regclass_init): Change enum class to int to iterate over reg_classes.
7447         * genrecog.c (merge_trees): Cast enums for comparison.
7448         * rtl.h (GET_CODE): Cast to enum rtx_code.
7449         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
7450         (GET_MODE): Cast to enum machine_mode.
7451         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
7452         (GET_NOTE_INSN_NAME): Cast enum to int.
7453         * tree.h (TREE_CODE): Cast to enum tree_code.
7454         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
7455         * timevar.c (timevar_print): Change loop variable id from enum to
7456         unsigned int.
7457         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
7458         * config/i386/i386.md: Use PUT_MODE for mode assignment.
7459         * toplev.c (compile_file): Cast enum DFI to int.
7460         (decode_d_option): Likewise.
7461
7462 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
7463
7464         * cppinit.c (append_include_chain): Mark "after" include file name list
7465         as a system directory.
7466         * cpp.texi: Document new behavior.
7467
7468 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
7469
7470         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
7471
7472 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7473
7474         * cppfiles.c (struct include_file): Update.
7475         (stack_include_file): Use search_from.
7476         (cpp_included, find_include_file): Update.
7477         (cpp_execute_include): Update.  ptr->name may not be
7478         null terminated.  Use the new search_from member variable
7479         of cpp_buffer.
7480         (_cpp_compare_file_date): Similarly.
7481         (search_from): New function, similiar to actual_directory.
7482         (actual_directory): Delete.
7483         (remap_filename): Update.  loc->name may not be null terminated.
7484         (struct file_name_list): Rename search_path.  Update.
7485         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
7486         search_from and dir.
7487         (struct cpp_reader): Remove actual_dirs.
7488         * cppinit.c (struct cpp_pending): Update for renamed objects.
7489         (append_include_chain, remove_dup_dir, remove_dup_dirs,
7490         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
7491         * cpplib.h (struct cpp_options): Similarly.
7492
7493 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7494
7495         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
7496         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
7497         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
7498         config/clipper/xm-clix.h, config/convex/xm-convex.h,
7499         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7500         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
7501         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7502         config/i370/xm-linux.h, config/i370/xm-mvs.h,
7503         config/i370/xm-oe.h, config/i386/xm-aix.h,
7504         config/i386/xm-i386.h, config/i386/xm-osf.h,
7505         config/i860/xm-i860.h, config/i960/xm-i960.h,
7506         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
7507         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
7508         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
7509         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
7510         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
7511         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7512         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
7513         config/pj/xm-pj.h, config/romp/xm-romp.h,
7514         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
7515         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7516         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7517         config/v850/xm-v850.h, config/vax/xm-vax.h,
7518         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
7519         Do not define TRUE or FALSE.
7520
7521         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
7522         empty by above change.
7523         * config.gcc: Remove references to these files.
7524
7525         * configure.in: Detect stdbool.h.
7526         * configure, config.in: Regenerate.
7527         * system.h: Include stddef.h here if available.
7528         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
7529         Then set up a sensible boolean type at the very end.
7530
7531         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
7532         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
7533
7534         * hash.h: Delete 'boolean' typedef and related #undefs.
7535
7536         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
7537         all uses of 'boolean' with 'bool'.
7538
7539 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7540
7541         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
7542         * cppexp.c (lex): Cast enums for comparison.
7543         * cppinit.c (parse_option): Cast enum for comparison.
7544         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
7545         (cpp_output_token): Likewise.
7546         (cpp_can_paste): Cast enums for comparsion and plus/minus.
7547         (cpp_avoid_paste): Cast enums for minus and comparison.
7548
7549 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7550
7551         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
7552         field to all array elements.
7553
7554 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7555
7556         * cpphash.h (struct cpp_reader): Add print_version field.
7557         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
7558         just set print_version and other flags as appropriate.
7559         (cpp_post_options): Print version here if print_version is set.
7560
7561         * toplev.c (exit_after_options): New flag.
7562         (independent_decode_option): Don't exit here; just set
7563         exit_after_options.
7564         (main): Exit after calling lang_hooks.post_options if
7565         exit_after_options is true.
7566
7567         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
7568         (merge_include_chains): Adjust comment to match code.
7569
7570 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7571
7572         * stringpool.c (set_identifier): New function.
7573         * tree.h: Prototype it.
7574
7575         * c-parse.in: Kill D_YES. If compiled for objc, call
7576         save_and_forget_protocol_qualifiers from init_reswords.
7577         * objc/objc-act.c (remember_protocol_qualifiers,
7578         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
7579         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
7580         vice versa.
7581         (save_and_forget_protocol_qualifiers): New function.
7582         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
7583
7584 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
7585
7586         * c-semantics.c (prune_unused_decls): Return error_mark_node
7587         instead of (tree) 1 to stop traversing the tree chain.
7588
7589 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
7590
7591         Fix a problem introduced by Kenner's Feb 18 change.
7592         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
7593         flag_cse_skip_blocks only temporarily, not for ever.
7594
7595 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
7596
7597         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
7598         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
7599
7600         * pa.c (emit_move_sequence): Verify operand0 is a hard register
7601         before determining its register class.
7602
7603 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
7604
7605         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
7606         from reg 4 if current_function_calls_setjmp.
7607         (gen_nop_type): New function.
7608         (ia64_emit_nops): New function.
7609         (ia64_reorg): Call it.
7610         (ia64_sched_reorder): Move code that rotates bundles up a bit.
7611
7612         * reload1.c (eliminate_regs_in_insn): Restrict the special case
7613         code not to try to optimize adds with anything but a REG destination.
7614
7615         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
7616         (INSN_PRIORITY_KNOWN): New accessor macro.
7617         * haifa-sched.c (priority): Use it instead of testing priority against
7618         zero.
7619
7620 2001-02-28  DJ Delorie  <dj@redhat.com>
7621
7622         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
7623         since that doesn't work the way gcc wants on a generic m68k.
7624
7625 2001-02-28  Richard Henderson  <rth@redhat.com>
7626
7627         * caller-save.c (save_call_clobbered_regs): Fix typo in
7628         comparison last change.
7629
7630 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
7631
7632         * i386.c (pentium4_cost): New.
7633         (m_PENT4): New macro.
7634         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
7635         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
7636         x86_integer_DFmode_moves, x86_partial_reg_dependency,
7637         x86_memory_mismatch_stall): Add Pentium4
7638         (x86_use_q_reg, x86_use_any_reg): Kill.
7639         (override_options): Add pentium4.
7640         (incdec_operand): Return 0 for pentium4.
7641         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
7642         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
7643         (TARGET_PENTIUM4): Define.
7644         (enum processor_type): Add PROCESSOR_PENTIUM4.
7645         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
7646         * i386.md (attribute "cpu"): Add pentium4.
7647         * invoke.texi (march): Add pentium4.
7648
7649 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7650
7651         * i386.md (sse_mov?fcc*): New patterns and splitters.
7652         * i386.c (ix86_expand_movcc): Work post-reload; recognize
7653         the SSE based conditional moves.
7654
7655 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
7656
7657         * i386.md (attribute mode): Add "TI".
7658         (movsf_1): Add pxor support; remove constant propagation splitter.
7659         (movdf_integer): Likewise.
7660         (movdf_nointeger): Likewise.
7661         (movxf constant prop splitter): Handle all modes; update for SSE.
7662         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
7663         * i386.c (standard_80387_constant_p): Rewrite.
7664         (standard_sse_constant_p): New.
7665         * i386-protos.h (standard_sse_constant_p): New.
7666
7667 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
7668
7669         * i386.md (sse_setccsf, sse_setccdf): New.
7670         (sse_cmp* patterns): Use '%D' instead of outputtting condition
7671         flag directly.
7672         * i386.c (sse_comparison_operator): Accept the supported unordered
7673         comparses; be ready for fast_math.
7674         (print_operand): Support 'D'.
7675
7676 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
7677
7678         * jump.c (reversed_comparison_code): Kill.
7679
7680 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
7681
7682         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
7683         for STACK_REGS
7684
7685 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
7686
7687         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
7688         add missing '%' in constraints.
7689
7690 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
7691
7692         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
7693         for HOST_BITS_PER_WIDE_INT == 32 too.
7694
7695 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
7696
7697         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
7698         NREGS.
7699         (insert_save, insert_restore): New parameter save_mode.
7700         (init_caller_save): Update initialization of reg_save_code
7701         and reg_restore_code.
7702         (save_call_clobbered_regs):  Compute save_modes and update calls to
7703         reg_save_code and reg_restore_code.
7704         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
7705         of spill; update use of reg_restore_code.
7706         (insert_save):  Likewise.
7707         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
7708         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
7709         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
7710
7711 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
7712
7713         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
7714         noce_try_store_flag_inc, noce_try_store_flag_mask,
7715         noce_try_cmove_arith):
7716         Use reversed_comparison_code instead of reverse_comparison and
7717         can_reverse_comparison_p.
7718
7719 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
7720
7721         * jump.c (reversed_comparison_code_parts): Allow reversal of
7722         unordered compares in -ffast-math mode; reverse ordered compares
7723         for FP even w/o -ffast-math.
7724
7725 2001-02-27  Richard Henderson  <rth@redhat.com>
7726
7727         * print-rtl.c (print_rtx) [i]: Don't print field five on
7728         NOTEs other than NOTE_INSN_DELETED_LABEL.
7729
7730 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
7731
7732         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
7733         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
7734
7735 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
7736
7737         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
7738         even if walk_subtrees is 0.
7739         * c-semantics.c (prune_unused_decls): Return a non-null value to
7740         stop traversing the tree chain.
7741
7742 2001-02-27  DJ Delorie  <dj@redhat.com>
7743
7744         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
7745         register, *then* define it as the new CFA.
7746
7747 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
7748
7749         * pa.c (override_options): Promote -fpic to -fPIC.
7750         (legitimize_pic_address): Simplify due to removal of
7751         small PIC as a code generation option.
7752         (secondary_reload_class): Similarly.
7753         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
7754         (PRINT_OPERAND_ADDRESS): Similarly.
7755         * pa.md (various patterns): Similarly.
7756         (small pic lo_sum pattern): Remove.
7757
7758 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7759                               Fergus Henderson
7760
7761         * md.texi (min, max): Document
7762
7763 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
7764
7765         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
7766         TARGET_PARTIAL_REG_DEPENDENCY.
7767         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
7768
7769 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
7770
7771         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
7772
7773 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
7774
7775         * mips.c (mips_make_temp_file): Fix thinko in last change.
7776
7777 2001-02-26  Jason Eckhardt  <jle@redhat.com>
7778
7779         * combine.c (known_cond): Do not reverse the condition when
7780         SMAX/UMAX is being considered and the condition is for equality
7781         or inequality.
7782
7783         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
7784
7785 2001-02-26  Philip Blundell  <philb@gnu.org>
7786
7787         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
7788         "armv2-*-linux".
7789         * config/arm/linux-elf.h: Remove historical relics related to
7790         above configurations.
7791         * config/arm/linux-oldld.h: Delete.
7792         * config/arm/linux-elf26.h: Delete.
7793
7794 2001-02-26  Jason Merrill  <jason@redhat.com>
7795
7796         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
7797         definitions.
7798         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
7799         recognize a tentative definition.  Lose obsolete code.
7800
7801         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
7802         variables unless necessary, either.
7803
7804 2001-02-25  Richard Henderson  <rth@redhat.com>
7805
7806         * ifcvt.c (struct noce_if_info): Add test_bb.
7807         (noce_get_alt_condition): New.
7808         (noce_try_minmax, noce_try_abs): New.
7809         (noce_operand_ok): New.
7810         (noce_process_if_block): Use them.
7811         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
7812
7813 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
7814
7815         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
7816         include.
7817
7818 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
7819
7820         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
7821         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
7822         properly.
7823         (mips_asm_file_end): Free temp_filename here.
7824
7825 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7826
7827         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
7828         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
7829
7830         * config/i386/i386.md (movstrsi): Handle FAIL case.
7831
7832 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
7833
7834         * cppinit.c (builtin_array): Update.
7835         (init_builtins): Flag builtins to warn if redefined or
7836         undefined.  Define __GXX_WEAK as a normal macro.
7837         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
7838         * cpplib.h (NODE_WARN): New flag.
7839         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
7840         Handle __STDC__ as a builtin only on Solaris.
7841         (warn_of_redefinition): Renamed from check_macro_definition.
7842         Reverse sense of test.  Always warn if NODE_WARN.
7843         (_cpp_create_definition): Use warn_of_redefinition.  Flag
7844         any macro beginning with "__STDC_" to require a mandatory
7845         warning if redefined or undefined.
7846
7847 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
7848
7849         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
7850         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
7851         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
7852         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
7853         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
7854         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
7855         Don't define any of:
7856         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
7857         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
7858         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
7859         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
7860         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
7861
7862         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
7863         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
7864         definitions.
7865
7866         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
7867         Delete now-empty file.
7868
7869         * alpha/vms.h: Define NEED_ATEXIT here...
7870         * alpha/xm-vms.h: ...not here.
7871
7872         * i386/cygwin.h: Don't define PARAMS.
7873         * mips/mips.c: Don't prototype mktemp.  Don't define
7874         P_tmpdir.  Use make_temp_file to create temporary files.
7875         Don't be clever and delete temporary files early.
7876         * config.gcc: Drop references to deleted files.  Don't define
7877         FULL_PROTOTYPES.
7878         * gcc.texi: Don't mention USE_PROTOTYPES.
7879
7880 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7881
7882         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
7883         (ix86_set_move_mem_attrs_1): Likewise.
7884         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
7885         * config/i386/i386.md (movstrsi): Call it.
7886
7887 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
7888
7889         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
7890         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
7891         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
7892         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
7893
7894         (i750a-*-*): Error here if hosting on i750a.
7895         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
7896
7897         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
7898         Remove (empty modulo comments).
7899
7900         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
7901         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
7902         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
7903         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
7904         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
7905         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
7906
7907         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
7908         Remove reference to winnt.h in comment.
7909         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
7910
7911 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7912
7913         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
7914         used to set another biv.
7915
7916 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7917
7918         * tree.h (BLOCK_DEAD): New macro.
7919         (struct tree_block): New flag, dead_flag.
7920         * print-tree.c (print_node, case 'b'): Print missing fields.
7921         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
7922         * function.c (identify_blocks): Enable test for misplaced notes.
7923         (all_blocks): Skip BLOCK_DEAD blocks.
7924         * integrate.c (integrate_decl_tree): Likewise.
7925
7926         * errors.c (internal_error, trim_filename): New functions.
7927         (fancy_abort): Call internal_error.
7928         * errors.h (internal_error, trim_filename): New declarations.
7929
7930 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
7931
7932         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
7933         2000-08-26's patch.
7934         (EXTRA_CONSTRAINT): Formatting changes.
7935
7936 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7937
7938         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
7939
7940 2001-02-23  Per Bothner  <per@bothner.com>
7941
7942         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
7943         so they can be called from java/jvspec.c.
7944         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
7945
7946 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
7947
7948         * i386.c (ix86_frame): New structure.
7949         (ix86_compute_frame_size): Kill.
7950         (ix86_compute_frame_layout): New.
7951         (ix86_save_reg): New.
7952         (ix86_can_use_return_insn_p): Use frame layout stuff.
7953         (ix86_expand_prologue): Likewise.
7954         (ix86_expand_epilogue): Likewise.
7955         (ix86_initial_elimination_offset): Likewise.
7956         (ix86_nsaved_regs): Use ix86_save_reg.
7957         (ix86_emit_save_regs): Likewise.
7958
7959 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
7960
7961         * flow.c (find_sub_basic_blocks): New function.
7962         (split_block): Be ready for basic block introduced by CODE_LABEL.
7963         (commit_one_edge_insertion): Call find_sub_basic_block.
7964
7965         * flow.c (make_edges): Add edge from entry for blocks starting with
7966         label having ALTERNATE_NAME
7967
7968 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
7969
7970         * function.c (epilogue_done): Be ready for first basic block not
7971         containing PROLOGUE_END note.
7972         (reposition_prologue_and_epilogue_notes): Avoid placing
7973         PROLOGUE_END note between BASIC_BLOCK.
7974
7975 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
7976
7977         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
7978
7979 2001-02-21  DJ Delorie  <dj@redhat.com>
7980
7981         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
7982         check for current_function_has_nonlocal_goto from 1999-11-12.
7983
7984 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7985
7986         * diagnostic.c (trim_filename): No longer static.
7987         * toplev.h (trim_filename): Declare.
7988         * rtl.c (rtl_check_failed_bounds): Call internal_error.
7989         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
7990         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
7991         (rtvec_check_failed_bounds): Likewise.
7992         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
7993
7994         * convert.c (convert_to_integer): Don't do unsigned unless result or
7995         both inputs are unsigned.
7996
7997         * fold-const.c (fold_convert): Don't call size_int_type_wide if
7998         input overflows.
7999
8000         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
8001
8002         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
8003
8004 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
8005
8006         * Makefile.in (resource.o): Add params.h dependence.
8007         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
8008         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
8009         * resource.c: Add dependence on params.h.
8010         (current_live_regs): Fix explanatory comment.
8011         (find_basic_block): Add new parameter to permit limiting search
8012         for a BARRIER.
8013         (mark_target_live_regs): Add new argument to find_basic_block call.
8014         (incr_ticks_for_insn): Likewise.
8015
8016 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
8017
8018         * diagnostic.c (output_to_stream): Rename to
8019         output_buffer_to_stream. Loses the stream parameter.
8020         (init_output_buffer): Set diagnosic_buffer's stream.
8021         (flush_diagnostic_buffer): Adjust.
8022         (default_print_error_function): Likewise.
8023         (finish_diagnostic): Likewise.
8024         (verbatim): Likewise.
8025
8026         * diagnostic.h (struct output_buffer): Add `stream' field.
8027         (output_buffer_attached_stream): New macro.
8028
8029 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
8030
8031         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
8032         check if either operand is divisible by C.
8033         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
8034         If type is signed, consider negative numbers as well.
8035
8036 2001-02-22  Richard Henderson  <rth@redhat.com>
8037
8038         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
8039         reach .text instead of gp-relative relocs.
8040         * config/ia64/crtend.asm (.init): Likewise.
8041
8042 2001-02-22  Andreas Jaeger  <aj@suse.de>
8043
8044         * extend.texi (C++ Attributes): Fix typo.
8045
8046 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
8047
8048         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
8049         functions, drop current_function_args_info.words test.
8050         (ia64_compute_frame_size): Mark syscall_linkage functions as
8051         using eight input registers.
8052
8053 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
8054         Bruce Korb  <bkorb@gnu.org>
8055
8056         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
8057         * fixinc/README: Document how to convert sed substitutions
8058         to format style c_fix-es.
8059         * fixinc/fixincl.x: regen
8060
8061 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
8062
8063         * gcc.c: Add comment explaining how to add a command-line option.
8064         Add title to specs language comment.
8065
8066 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8067
8068         * gcc.c (cc1_options): Add "-param".
8069         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
8070         (option_map): Likewise.
8071         * toplev.c (display_help): Add entry for "--param".
8072         (independent_decode_option): Fix typographical error.
8073
8074 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
8075                               Bernd Schmidt  <bernds@redhat.com>
8076                               Jan Hubicka  <jh@suse.cz>
8077
8078         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
8079         (function_arg): Likewise.
8080
8081 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
8082
8083         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
8084
8085 2001-02-21  Kazu Hirata  <kazu@hxi.com>
8086
8087         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
8088         character.
8089         (xorsi3): Likewise.
8090
8091 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8092
8093         * flow.c (init_propagate_block_info): Canon address and use single_set
8094         for killing dead memory stores.
8095
8096 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8097
8098         * Makefile.in (reorg.o): Add params.h dependence.
8099         * params.def: Fix typographical error in comment.
8100         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8101         * params.h: Modify introductory comment.
8102         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8103         * reorg.c: Add dependence on params.h.
8104         (redundant_insn): Add parameterized throttle for search.
8105         (fill_simple_delay_slots): Add a comment explaining a variable.
8106         Move conditional out of loop, simplifying code.
8107         (fill_eager_delay_slots): Fix typographical error in comment.
8108
8109 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
8110
8111         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
8112
8113         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
8114         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
8115
8116 2001-02-21  Jason Merrill  <jason@redhat.com>
8117
8118         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
8119         (struct tree_decl): Add uninlinable bitfield.
8120         * c-decl.c (duplicate_decls): Set it.
8121         * integrate.c (function_cannot_inline_p): Check it.
8122
8123         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
8124         DW_AT_MIPS_linkage_name to abstract methods.
8125         (dwarf2out_abstract_function): Emit class context before calling
8126         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
8127         (gen_subprogram_die): Remove obsolete code.
8128         (gen_member_die): Don't include clones in the member list.
8129         (gen_decl_die): Emit abstract info for clone origin.
8130         * dwarfout.c (output_type): Don't include clones in the member list.
8131         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
8132         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
8133         DECL_ABSTRACT on a function that already has it set.
8134
8135         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
8136         (get_subprogram_die): Pass it in.
8137
8138 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
8139
8140         * flow.c (mark_set_1): Make not_dead unsigned long.  For
8141         non-pseudos, use it as a bitmask of the hard regs that
8142         don't die.
8143
8144 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8145
8146         * cppfiles.c: Update comments.
8147         (_cpp_read_file): Don't check for NULL filenames any more.
8148         * cppinit.c (cpp_start_read): Don't do canonicalization of
8149         in_fname and out_fname.  Use the passed file name exclusively.
8150         (_cpp_handle_options): Don't treat "-" as a command line option,
8151         but as a normal filename.
8152         (_cpp_post_options): Canonicalize in_fname and out_fname.
8153         * cppmain.c (printer_init): Don't check out_fname for NULL.
8154         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
8155         (init_c_lex): Update, and use "" to represent stdin to CPP.
8156         (yyparse): Update.
8157
8158 2001-02-20  Will Cohen  <wcohen@redhat.com>
8159
8160         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
8161         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
8162         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
8163         fixunstfsi_libfunc.
8164
8165 2001-02-20  Stan Shebs  <shebs@apple.com>
8166
8167         * config/rs6000/rs6000.c (output_cbranch): Output branches
8168         on separate lines instead of using ';' to separate.
8169
8170 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8171
8172         * cppinit.c (set_lang):  Move builtin handling to...
8173         (init_builtins): ...here.
8174         (_cpp_create_reader): Move call to set_lang.
8175
8176 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
8177
8178         * stmt.c (expand_return): If an attempt is made to return the
8179         error_mar_node, treat the return like a return without a value.
8180
8181 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
8182
8183         * sibcall.c (skip_copy_to_return_value): Call
8184         identify_call_return_value here, and return orig_insn if it
8185         returns zero.  Hardret and softret arguments now unnecessary.
8186         (call_ends_block_p): Don't call identify_call_return_value here.
8187
8188         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
8189         's' slots in RTXen.
8190         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
8191         * ggc.h (ggc_mark_if_gcable): Delete prototype.
8192
8193 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
8194
8195         * pa.c (move_operand): Accept code to load the address of a
8196         symbol out of the DLT as a valid move operand.
8197         (print_operand, case 'A'): New to handle generating a DLT
8198         reference for a LO_SUM expression.
8199         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
8200         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
8201
8202 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
8203
8204         * README, cpp.texi, gcc.texi, version.c: Update version number to
8205         3.1.
8206         * cpp.1, gcov.1, gcc.1: Regenerate.
8207
8208 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8209
8210         * cppfiles.c (stack_include_file): Generate dependencies
8211         here, and manage include_count here too.
8212         (PRINT_THIS_DEP): Delete.
8213         (_cpp_execute_include): Do not generate dependencies here,
8214         apart from the case of a missing header.  Do not manage
8215         include_count.
8216         (_cpp_read_file): Leave dependency generation to
8217         stack_include_file.
8218
8219 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
8220
8221         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
8222         target_cpu_default.  Remove dead assignment to
8223         target_cpu_default.
8224
8225 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
8226
8227         * regclass.c (contains_reg_of_mode): Make global.
8228         (init_reg_sets): Remove contains_reg_of_mode; take into account
8229         CLASS_MAX_NREGS when looking for the proper mode.
8230         (dump_regclass): Dump only classes considered for the pseudo.
8231         (regclass): Use contains_reg_of_mode.
8232
8233 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8234
8235         * gcc.c (do_spec_1): 'n' for printing notices.
8236         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
8237
8238 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
8239
8240         * reg-stack.c (next_flags_user): Use current_block->end
8241         (swap_rtx_condition): Look for next user if flags don't die;
8242         give up on CALL_INSNs; use current_block->end.
8243
8244 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8245
8246         * sibcall.c (call_ends_block_p): New function.
8247         (optimize_sibling_and_tail_recursive_call): Use it.
8248
8249 2001-02-18  Kazu Hirata  <kazu@hxi.com>
8250
8251         * config/h8300/h8300.md: Update copyright.
8252         (andsi3): Do not output an extra newline character.
8253
8254 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8255
8256         * toplev.c (note_deferral_of_defined_inlined_function): Argument
8257         FNDECL may be unused.
8258
8259         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
8260         follow jumps after first run.
8261         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
8262         it doesn't change any jumps.
8263
8264 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
8265
8266         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
8267         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
8268         (mostlyclean): Corresponding changes.
8269         * rtlanal.c (hard-reg-set.h): Include.
8270         (rtx_unstable_p): Do not treat the argument pointer specially
8271         if it is not a fixed register.
8272         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
8273
8274 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8275
8276         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
8277         against last real insn in basic block.
8278         Rework to avoid gotos.
8279
8280         * Makefile.in (gcse.o): Now includes ggc.h.
8281         * gcse.c: Include ggc.h.
8282         (want_to_gcse_p): Verify expression can be in SET as valid insn.
8283         (try_replace_reg): Remove warning of uninitialize variable.
8284         (process_insert_insn): Call invalid_insn_p to validate insn.
8285         * recog.c (insn_invalid_p): Now global.
8286         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
8287         * recog.h (insn_invalid_p): New declaration.
8288
8289         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
8290
8291         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
8292         assignments from FP constants since 'Y' output code can't handle it.
8293         (eligible_for_sibcall_delay): Likewise.
8294
8295         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
8296         Call fancy_abort directly, passing args.
8297         (print_rtl_and_abort): Now a macro, like fancy_abort.
8298
8299         * final.c (output_operand_lossage): Use internal_error, not error.
8300
8301 2001-02-18  Shane Nay  <shane@agendacomputing.com>
8302
8303         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
8304         structure shift insns.
8305
8306 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
8307
8308         * invoke.texi (-fsquangle): Remove documentation.
8309         (-fname-mangling-version): Likewise.
8310
8311 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
8312
8313         * optabs.c (expand_abs): Remove reference to
8314         HAVE_contitional_arithmetic.
8315         * combine.c (simplify_set): Likewise.
8316
8317 2001-02-18  Richard Henderson  <rth@redhat.com>
8318
8319         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
8320         would be disrupted.
8321
8322 2001-02-18  Richard Henderson  <rth@redhat.com>
8323
8324         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
8325
8326         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
8327
8328         * reload1.c (reload_cse_simplify_set): Fix typo.
8329
8330 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8331
8332         * diagnostic.c (_fatal_insn): Decrement errorcount.
8333
8334         * invoke.texi (-I): Add note avoiding use for system header files.
8335
8336         * rtl.h (add_clobbers): Remove duplicate declaration.
8337         * recog.h (added_clobbers_hard_reg_p): New declaration.
8338         * genemit.c (struct clobber_pat): New field has_hard_reg.
8339         (gen_insn): Record if added clobbers clobber hard reg.
8340         (gen_split): Avoid unused warning if number of operands is 0.
8341         (output_added_clobbers_hard_reg_p): New function.
8342         (main): Call it.
8343
8344 2001-02-18  Alan Modra <alan@linuxcare.com.au>
8345
8346         * pa.c (hppa_expand_prologue): Simplify code storing return
8347         pointer.  For large (>=8k) frames with a post_store, adjust stack
8348         pointer by 8k-64 first rather than by 64.  When testing with
8349         VAL_14_BITS_P, always use the actual value rather than the value
8350         negated.  Add blockage to prevent scheduling of spills before
8351         stack frame has been created.
8352         (hppa_expand_epilogue): Simplify code loading return pointer.
8353         Allow a slightly larger range for merge_sp_adjust_with_load case.
8354         When testing with VAL_14_BITS_P, always use the actual value.
8355
8356         * pa.c (pa_adjust_insn_length): Check that block move
8357         pattern is a set before looking at operands.
8358
8359 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8360
8361         * fold-const.c (fold_binary_op_with_conditional_arg): New
8362         function, split out from ...
8363         (fold): ... here.
8364         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
8365         conditional arms that throw exceptions.
8366
8367         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
8368         looking at a BLOCK.
8369
8370 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8371
8372         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
8373         define HAVE_DECL_* to 1 to mask potential backup declarations.
8374         * configure: Regenerated.
8375
8376 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8377
8378         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
8379
8380 2001-02-17  Richard Henderson  <rth@redhat.com>
8381
8382         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
8383         when replacing a memory load with a register.
8384
8385 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8386                           Jan Hubicka  <jh@suse.cz>
8387
8388         * recog.c (validate_replace_src_1): New.
8389         (validate_replace_src_data): Likewise.
8390         (validate_replace_src): Use note_uses.
8391         * rtl.h (note_uses): Declare.
8392         * rtlanal.c (note_uses): New.
8393
8394 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
8395
8396         * reg-stack.c (stack_def): Make field reg unsigned.
8397         (remove_regno_note): Unsignetize parameter.
8398
8399 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
8400
8401         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
8402         shladd_operand() call.
8403
8404 2001-02-16  Bruce Korb  <bkorb@gnu.org>
8405             Rodney Brown  <RodneyBrown@mynd.com>
8406
8407         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
8408         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
8409         machine restrictions
8410         * fixinc/fixincl.x: regen
8411
8412 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8413
8414         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
8415         Don't CSE a nop.
8416         (hash_scan_insn): Clean up calls to hash_scan_set.
8417         (compute_kill_rd): REGNO now unsigned.
8418         (try_replace_reg): Rework to use simplify_replace_rtx.
8419         (cprop_jump, cprop_cc0_jump): Likewise.
8420         (cprop_insn): Call find_reg_equal_equiv_note.
8421         Reflect changes to cprop_jump and cprop_cc0_jump.
8422
8423         * recog.c (validate_replace_src): Replace in operands of
8424         ZERO_EXTRACT in SET_DEST.
8425
8426         * cse.c (new_label_ref): New variable.
8427         (insert): Set it instead of recorded_label_ref.
8428         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
8429         CODE_LABEL for this function, and not already in REG_LABEL note.
8430
8431 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
8432
8433         * resource.c (mark_referenced_resources): Fix typo in introductory
8434         comment.
8435         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
8436         string constant.
8437
8438 2001-02-16  Jason Merrill  <jason@redhat.com>
8439
8440         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
8441         NULL.
8442         (gen_subprogram_die): Don't abort on seeing a second definition if
8443         the previous one was abstract.  Don't replace an abstract instance
8444         in the lookup table.
8445
8446         * dwarf2out.c (dwarf2out_abstract_function): Rename from
8447         gen_abstract_function.
8448         * dwarf2out.h: Declare it.
8449         * toplev.c (note_outlining_of_inline_function): New fn.
8450         * toplev.h: Declare it.
8451         * integrate.c (output_inline_function): Call it.
8452         * c-decl.c (duplicate_decls): Call it when redefining an extern
8453         inline.  Don't inline the new defn.
8454
8455         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
8456
8457 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8458
8459         * .gdbinit: Rename to gdbinit.in.
8460         * gdbinit.in: New file,
8461         * configure.in: Generate .gdbinit from gdbinit.in.
8462         * configure: Regenerated.
8463         * Makefile.in (distclean): Always remove .gdbinit.
8464
8465 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
8466
8467         * objc/objc-act.c (start_class): Register implemented_classes with
8468         GC.
8469
8470 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
8471
8472         * cppfiles.c (_cpp_make_system_header): Generate a file
8473         change callback.
8474
8475 2001-02-15  Jim Meyering  <meyering@lucent.com>
8476
8477         * Makefile.in (install-common): Don't depend on installdirs here.
8478         Instead, make each of the lang.install-common targets (e.g.,
8479         c++.install-common in cp/Make-lang.in) depend on it.
8480         (install-driver): Depend on installdirs.
8481
8482 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8483
8484         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
8485
8486         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
8487         do in memory.
8488
8489 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
8490
8491         * invoke.texi (--param): Document.
8492
8493 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
8494
8495         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
8496
8497 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
8498
8499         * i386.md (extendsfdf2_2): Fix constraints.
8500
8501 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
8502
8503         * i386.md (fop_df_3 splitter): Fix operand number.
8504
8505 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8506
8507         * invoke.texi (-mreg-alloc): Nuke.
8508         * i386.c (ix86_reg_alloc_order, regs_allocated,
8509         order_regs_for_local_alloc): Nuke.
8510         (override_options): Kill reg_alloc code.
8511         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
8512         (REG_ALLOC_ORDER): SSE goes before I387.
8513         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
8514         (ix86_reg_alloc_order): Likewise.
8515         * i386-protos.h (ix86_reg_alloc_order): Kill.
8516
8517 2001-02-14  Richard Henderson  <rth@redhat.com>
8518
8519         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
8520
8521 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
8522
8523         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
8524
8525 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
8526
8527         * i386-protos.h (ix86_memory_move_cost): Move offline.
8528         * i386.c (ix86_register_move_cost): Compute properly cost of
8529         SSE, MMX and i387 instructions.
8530         (*_cost): Add costs of SSE/MMX moves.
8531         (ix86_memory_move_cost): Move offline from ....; Likewise.
8532         * i386.h (MEMORY_MOVE_COST): .... here;
8533         (struct processor costs): Add new fields to represent costs
8534         of SSE/MMX moves.
8535
8536 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
8537
8538         * regclass.c (init_reg_sets_1): Reinstall the optimization of
8539         move_cost together with Matt Kraai's fix.
8540
8541 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
8542
8543         * Makefile.in (OBJS): Add params.o.
8544
8545 2001-02-14  Richard Henderson  <rth@redhat.com>
8546             DJ Delorie  <dj@redhat.com>
8547
8548         * jump.c (jump_optimize_1): When we delete a conditional jump
8549         preceeding a non-conditional jump to effectively the same place,
8550         make sure that the combined jump skips any clobber insns between
8551         the two labels.
8552
8553 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
8554
8555         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
8556
8557 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
8558
8559         * Makefile.in (toplev.o): Depend on params.h.
8560         (intergate.o): Likewise.
8561         (params.o): New target.
8562         * flags.h (inline_max_insns): Remove.
8563         * integrate.c: Include params.h.
8564         Use MAX_INLINE_INSNS instead of inline_max_insns.
8565         * params.c: New file.
8566         * params.h: Likewise.
8567         * params.def: Likewise.
8568         * toplev.c: Include params.h.
8569         (lang_independent_params): New variable.
8570         (decode_f_option): Use the param machinery instead of setting
8571         max_inline_insns.
8572         (independent_decode_option): Handle "--param name=value".
8573         (main): Register language-independent parameters.
8574
8575 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
8576
8577         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
8578
8579 2001-02-14  Richard Henderson  <rth@redhat.com>
8580
8581         * regclass.c (init_reg_sets_1): Revert last two changes.
8582
8583 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
8584
8585         * stor-layout.c (is_pending_size, put_pending_size): New functions.
8586         (variable_size): Call put_pending_size.
8587         * tree.h (is_pending_size, put_pending_size): Add prototypes.
8588         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
8589         sizes list, put newly created SAVE_EXPR there as well.
8590
8591 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
8592
8593         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
8594         (errata_find_address_regs): load_group has only 2 entries.
8595         (errata_emit_nops): Likewise.  shladd is not problematic.
8596         Clear last_group if nop was emitted.
8597         (fixup_errata): load_group has only 2 entries.
8598         Optimize.
8599
8600 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8601
8602         * c-lex.c (lex_number): Only warn traditionally for U suffix
8603         outside system macros.
8604         * cppexp.c (parse_number): Similarly.
8605         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
8606         * cppmacro.c (struct cpp_macro): New member node.
8607         (parse_args): Only warn about missing rest args if not
8608         a system macro.
8609         (funlike_invocation_p): Similarly for uninvoked funlike macros.
8610         (cpp_sys_objmacro_p): New.
8611         (_cpp_create_definition): Store the node with the macro defn.
8612         Remember if the macro is defined in a system header.
8613
8614 2001-02-13  DJ Delorie  <dj@redhat.com>
8615
8616         * configure.in (check_languages): determine languages to check
8617         * Makefile.in (check-c++): alias for check-g++
8618         (check-f77): alias for check-g77
8619         (CHECK_TARGETS): depend on configured languages
8620
8621 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
8622
8623         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
8624         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
8625         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
8626         (sqrtextendsfdf2): Disable for SSE2.
8627
8628 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
8629
8630         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
8631         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
8632         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
8633         (sqrtextendsfdf2): Disable for SSE2.
8634
8635 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
8636
8637         * i386.md (movsfcc_1): Support integer cmove instruction.
8638         (movdfcc_1): Likewise; new splitter.
8639
8640 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
8641
8642         * i386.c (output_fp_compare): Support SSE.
8643         (prepare_fp_compare_args): SSE comparisons always support memory.
8644         * i386.h (TARGET_CMOVE): SSE imply cmove.
8645         * i386.md (cmp?f2): Enable for SSE too.
8646         (cmpfp_i*): Support SSE.
8647         (cmpfp_i_sse): New.
8648         (cmpfp_i_sse_only): New.
8649         (s*, b* fp expanters): Enable for SSE too.
8650         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
8651         New patterns.
8652
8653 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8654
8655         * regclass.c (init_reg_sets_1): Silence warning.
8656
8657 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
8658
8659         * i386.md (sqrt?f2): Change to expander.
8660         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
8661
8662 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8663
8664         * rtlanal.c (find_reg_equal_equiv_note): New function.
8665         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
8666         (simplify_gen_relational, simplify_replace_rtx): Likewise.
8667         * rtl.h: Add declarations for above functions.
8668
8669 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
8670
8671         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
8672         conditionals.
8673         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
8674         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
8675         * flow.c (mark_regs_live_at_end): Likewise.
8676         (calculate_global_regs_live): Likewise.
8677         * gcse.c (compute_hash_table): Likewise.
8678         (compute_kill_rd): Likewise.
8679         * resource.c (mark_target_live_regs): Likewise.
8680         * rtl.h (INVALID_REGNUM): New macro.
8681
8682 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
8683
8684         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
8685
8686 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
8687
8688         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
8689         for SSE.
8690
8691 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
8692
8693         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
8694         too.
8695         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
8696         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
8697         (fop_sf_1_sse, fop_df_1_sse): New patterns
8698         (fop_*): Disable float_extend and float patterns for SSE compilation.
8699         * i386.c (output_387_binary_op): Support SSE.
8700
8701 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
8702
8703         * i386.md (dummy_extendsfdf2): Support SSE2
8704         (extendsfdf2): Enable if 80387 or SSE2.
8705         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
8706         and no MIX_I387_SSE2
8707         (extendsfdf2_1_sse_only): New pattern.
8708         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
8709         of SSE.
8710         (truncdfsf2_1): Support SSE.
8711         (truncdfsf2_2): Support SSE.
8712         (truncdfsf2_2_1_sse): New pattern.
8713         (fixtruncsfsi2): Always use SSE if available.
8714         (fix_truncsfsi_sse): New pattern.
8715         (fix_truncdfsi_sse): New pattern.
8716         (floatsis?f2): Support SSE.
8717         (floatsidf2_i387): New pattern.
8718         (floatsidf2_sse): Likewise.
8719
8720 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8721
8722         * configure.in: Use "have_gnat" variable, not "gnat".
8723         * configure: Regenerated.
8724
8725         * config/sparc/sparc.c (function_value): Treat all non-record
8726         aggregate types like used to treat UNION_TYPE.
8727
8728 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
8729
8730         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
8731         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
8732         (MASK_SSE2): New.
8733         (MASK_MIX_SSE_I387): New.
8734         (TARGET_SSE): SSE2 imply SSE.
8735         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
8736         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
8737         (enum reg_class): Add new classes.
8738         (REG_CLASS_NAMES): Likewise.
8739         (REG_CLASS_CONTENTS): Likewise.
8740         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
8741         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
8742         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
8743         (CLASS_MAX_NREGS): Use new macros.
8744         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
8745         * i386.md (pushsf, movsf): Support SSE.
8746         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
8747         splitters to use ANY_FP_REGNO_P.
8748         (movdf_nointeger, movdf_integer): Likewise.
8749
8750 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
8751
8752         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
8753         (try_combine): Use it.
8754
8755 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
8756
8757         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
8758         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
8759         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
8760         (REGISTER_MOVE_COST): Likewise.
8761         * i386-protos.h (ix86_secondary_memory_needed,
8762         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
8763         * i386.c (ix86_secondary_memory_needed,
8764         ix86_preferred_reload_class, ix86_register_move_cost): New function.
8765
8766 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
8767
8768         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
8769         (HARD_REGNO_MODE_OK): Move offline to ....
8770         * i386.c (ix86_hard_regno_mode_ok) ... here;
8771         refuse all incorrect modes.
8772         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
8773
8774 2001-02-13  Richard Henderson  <rth@redhat.com>
8775
8776         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
8777         entire operator; replicate that and match_dup the operands.
8778         (cmp_ccx_arith_op_set): Likewise.
8779         (cmp_cc_arith_op_not_set): Likewise.
8780         (cmp_ccx_arith_op_not_set): Likewise.
8781
8782 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
8783
8784         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
8785
8786 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
8787
8788         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
8789         (TARGET_NO_BITFIELD_WORD): New macro.
8790         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
8791         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
8792
8793 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8794
8795         * cselib.c: New file, from simplify-rtx.c.
8796         * simplify-rtx.c: Remove cselib parts.
8797         * Makefile.in: Add cselib.o.
8798
8799 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
8800
8801         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
8802         (setup_incoming_varargs): Remove warning.
8803
8804         * config/rs6000/rs6000.c (validate_condition_mode): When
8805         flag_fast_math, allow floating-point conditionals to be reversed.
8806         (rs6000_generate_compare): When flag_fast_math, don't generate
8807         cror operations for FP conditionals.
8808
8809         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
8810         -mcall-i960.
8811         (ASM_SPEC): Likewise.
8812         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
8813         (CC1_SPEC): Likewise.
8814         (LINK_TARGET_SPEC): Likewise.
8815         (CPP_ENDIAN_SPEC): Likewise.
8816         * Makefile.in (check-consistency): New target.
8817
8818 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
8819
8820         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
8821         "return type defaults" warning for functions with return type
8822         defaulting to int.
8823         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
8824         function declarations by default rather than only when pedantic.
8825
8826 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
8827
8828         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
8829         arrays.
8830
8831 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
8832
8833         * extend.texi (Deprecated): Deprecate new initializer lists.
8834
8835 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
8836
8837         * mkdeps.c (deps_add_default_target): Robustify. Add
8838         basename component only.
8839         * cpp.texi (-M): Describe how default target is generated.
8840         * invoke.texi (-M): Likewise.
8841
8842 2001-02-12  Kazu Hirata  <kazu@hxi.com>
8843
8844         * toplev.c (push_float_handler): Remove.
8845         (pop_float_handler): Remove.
8846         * toplev.h: Remove prototypes for the above functions.
8847
8848 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
8849
8850         * c-common.c (constant_fits_type_p): New function.
8851         (convert_and_check): Use it.
8852
8853 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
8854
8855         * Makefile.in (GXX_ABI_FLAG): Don't define.
8856         * configure.in (--enable-new-gxx-abi): Remove option.
8857         * config.in: Regenerated.
8858         * configure: Likewise.
8859
8860 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
8861
8862         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
8863         basic block.
8864         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
8865         regular basic block, and arrange for all edges into it to switch
8866         to normal mode.
8867
8868 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8869
8870         * Makefile.in (distclean): Do not remove .gdbinit.
8871
8872 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
8873
8874         * Makefile.in (gcc.o): Fix typos.
8875         (protize.o): Likewise.
8876         (unprotoize.o): Likewise.
8877
8878 2001-02-11  Richard Henderson  <rth@redhat.com>
8879
8880         * tree.c (build1): Check for null operand in last change.
8881
8882 2001-02-11  Richard Henderson  <rth@redhat.com>
8883
8884         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
8885         (fold): Don't assume a constant isn't foldable.
8886         * tree.c (build): Set TREE_CONSTANT for an expression with no
8887         side-effects and constant operands.
8888         (build1): Likewise.
8889
8890 2001-02-10  Richard Henderson  <rth@redhat.com>
8891
8892         * jump.c (squeeze_notes): Revert 2000-05-12 change.
8893
8894 2001-02-10  Anthony Green  <green@redhat.com>
8895
8896         * cpp.texi (Standard Predefined): Add documentation for
8897         __OPTIMIZE_SIZE__.
8898
8899         * c-common.c (combine_strings): Improve warning message.
8900
8901 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
8902
8903         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
8904         --oformat.
8905         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
8906
8907 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
8908
8909         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
8910         CYGWIN_CROSS_DIR.
8911
8912 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
8913
8914         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
8915         fp_mode attribute.
8916
8917 2001-02-09  Nick Clifton  <nickc@redhat.com>
8918
8919         * config/arm/arm.md: Change output contraint on post inc
8920         load/store multiple patterns to be a read/write contraint.
8921
8922 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
8923
8924         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
8925         .o files when using the -M options.
8926
8927 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8928             David Edelsohn  <edelsohn@gnu.org>
8929
8930         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
8931         handle DImode constants.  Use one TOC entry for SImode and smaller
8932         constants, aligned properly.
8933
8934 2001-02-08  Jason Merrill  <jason@redhat.com>
8935
8936         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
8937         about the SP adjustment for saving the static chain pointer.
8938         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
8939         offset when setting a temporary CFA register.
8940
8941 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
8942
8943         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
8944         powerpc-*-chorusos* .
8945         * config/rs6000/chorus.h : New file.
8946         * config/i386/chorus.h : New file.
8947         * config/sparc/chorus.h : New file.
8948         * config/sparc/t-chorus-elf : New file.
8949
8950 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
8951
8952         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
8953         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
8954         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
8955         (__WCHAR_TYPE__): Correct macro name.
8956
8957 2001-02-08  Richard Henderson  <rth@redhat.com>
8958
8959         * config/i386/i386.c (ix86_frame_pointer_required): New.
8960         (ix86_setup_frame_addresses): New.
8961         (struct machine_funciton): Add accesses_prev_frame.
8962         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
8963         ix86_frame_pointer_required.
8964         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
8965         (SETUP_FRAME_ADDRESSES): New.
8966         * config/i386/i386-protos.h: Update.
8967         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
8968         from FRAME_POINTER_REQUIRED.
8969         * config/i386/svr3gas.h: Likewise.
8970         * config/i386/sysv3.h: Likewise.
8971         * config/i386/v3gas.h: Likewise.
8972
8973 2001-02-08  Richard Henderson  <rth@redhat.com>
8974
8975         * config/sparc/sparc.c (function_arg_record_value_3): Fix
8976         calculation of the number of integer registers required.
8977         (function_arg_record_value): Likewise.
8978
8979 2001-02-08  Jason Merrill  <jason@redhat.com>
8980
8981         * diagnostic.c (internal_error): Say "confused" after 1 error, not
8982         two.  Print file and line with "confused" message.
8983
8984         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
8985
8986 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8987
8988         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
8989
8990 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
8991
8992         * final.c (cleanup_subreg_operands): The address of a MEM can
8993         contain SUBREGs.
8994
8995         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
8996         for asms, too.
8997
8998 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
8999
9000         * gcc.texi (Incompatibilities): Update documentation of
9001         preprocessing numbers.
9002
9003 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
9004
9005         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
9006
9007 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
9008
9009         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
9010
9011         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
9012         * gcc.c (struct compiler): Add cpp_spec field.
9013         (input_file_compiler): New variable.
9014         (do_spec_1): Allow a particular compiler to handle `%C'
9015         specially.
9016         (main): Store the current compiler in input_file_compiler.
9017         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
9018
9019 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
9020
9021         * cpphash.h (struct spec_nodes): Add n_true and n_false.
9022         * cppinit.c (cpp_create_reader): Initialize them.
9023         (append_include_chain): cxx_aware arg might be unused.
9024         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
9025         keywords and give them their phase 7 meaning.  Pedwarn about
9026         this unless '__bool_true_false_are_defined' is defined.
9027
9028 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9029
9030         * lcm.c (optimize_mode_switching): Emit mode_set before the
9031         JUMP_INSN of an abnormal edge.
9032
9033 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
9034
9035         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
9036         a scheduling barrier at the end.
9037
9038         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
9039
9040 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9041
9042         * config/sh/sh.md (reload_outsf): Removed.
9043         (movsf_ie): Introduce constraints for FPUL loads and stores.
9044         (reload_insf): Broaden the output constraint.
9045
9046         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
9047         defined.
9048         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
9049         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
9050
9051 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
9052
9053         * final.c: Revert my previous changes.
9054         * output.h: Make profile_label_no extern.
9055         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
9056         for generating label.
9057
9058 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
9059
9060         * config/i386/djgpp.h: Add comments about standard paths.
9061         (MD_EXEC_PREFIX): Undefine before defining.
9062         (MD_STARTFILE_PREFIX): New.
9063
9064 2001-01-30  Bruce Korb  <bkorb@gnu.org>
9065
9066         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
9067         (load_file): do not rely on load_file_data() to close file pointer
9068         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
9069         fixinc/inclhack.def(irix_limits_const): add test_text
9070
9071 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9072
9073         * cppexp.c (parse_defined): Improve diagnostics for invalid
9074         syntax.
9075
9076 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9077
9078         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
9079
9080 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
9081
9082         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
9083         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
9084         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
9085         (rs6000_output_symbol_ref): New function.
9086         (output_toc): Use VTABLE_NAME_P.
9087
9088 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9089
9090         * print-tree.c (print_node, case PARM_DECL):
9091         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
9092
9093         * stor-layout.c (reference_types_internal): New variable.
9094         (internal_reference_types): New function.
9095         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
9096         * tree.h (internal_reference_types): New declaration.
9097
9098         * cse.c (find_best_addr): Fix typo in computing cost.
9099
9100 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9101
9102         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
9103         and this is the sum of a pointer and a constant, we know the result
9104         did not overflow.
9105         (num_sign_bit_copies, case PLUS): Likewise.
9106         * explow.c (convert_memory_address): Remove opposite SUBREG.
9107         * function.c (instantiate_new_reg): New function (from common code).
9108         (instantiate_virtual_regs_1): Call it.
9109         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
9110         if pointers sign- or zero-extend.
9111         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
9112         If pointers extend unsigned, use inside of SUBREG.
9113         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
9114
9115 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
9116
9117         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
9118         subdir of gcc_gxx_include_dir.
9119         (gcc_gxx_target_include_dir): Remove.
9120
9121 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
9122
9123         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
9124         (dwarf2out_frame_debug_expr): Revise introductory comments to add
9125         a high-level description.
9126
9127 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
9128
9129         * final.c: Move the declaration of profile_label_no to ...
9130         * output.h: ... here.
9131         * function.c (expand_function_start): Call PROFILE_HOOK.
9132         * config/rs6000/aix.h: Define PROFILE_HOOK.
9133         * config/rs6000/rs6000-protos.h: output_profile_hook new.
9134         * config/rs6000/rs6000.c (output_profile_hook): Define.
9135         (output_prolog): Do nothing for ABI_AIX as it is taken care by
9136         output_profile_hook.
9137         tm.texi : Explain new macro PROFILE_HOOK.
9138
9139 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
9140
9141         * extend.texi (Extended Asm): Do not say that semicolon is always
9142         a valid line-breaking character for GNU assemblers.  Use
9143         newline-tab as the most commonly supported syntax.  Use
9144         newline-tab rather than semicolon in multi-insn examples.
9145
9146 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9147
9148         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
9149
9150 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9151             David Edelsohn  <edelsohn@gnu.org>
9152
9153         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
9154         code for AIX, even without flag_pic.
9155
9156 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
9157
9158         * c-typeck.c (common_type): push and pop binding level around
9159         calling common_type on function parameters.
9160
9161 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
9162
9163         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
9164
9165 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9166
9167         * config/mips/mips.c (override_options): Fix typo in last change.
9168         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
9169         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
9170
9171 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
9172
9173         * invoke.texi (-fdump-class-layout): Document.
9174         (-fdump-translation-unit): Use `=' as filename separator.
9175
9176 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
9177
9178         * Makefile.in (s-mlib): Don't build multilibs if
9179         --disable-multilib.
9180         (DRIVER_DEFINES): Adjust accordingly.
9181         (gcc.o): Likewise.
9182         (protoize.o): Likewise.
9183         (unprotoize.o): Likewise.
9184         * configure.in: Recognize --enable-multilib.
9185
9186 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9187
9188         * Makefile.in (DRIVER_DEFINES): Fix quoting.
9189
9190         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
9191         * configure.in: Remove --enable-libstdcxx_v3 support.
9192         * configure: Regenerated.
9193
9194 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9195
9196         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
9197         Call abort instead of fatal.
9198         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
9199         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
9200         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
9201         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
9202         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9203         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
9204
9205         * diagnostic.h (set_internal_error_function): Renamed.
9206         * toplev.h (internal_error): Renamed from fatal.
9207         (pfatal_with_name): Deleted.
9208         (fatal_io_error): Now has printf-style arguments.
9209         * diagnostic.c (pfatal_with_name): Deleted.
9210         (fatal_io_error): Rework to have args in printf-style.
9211         (set_internal_error_function): Renamed from set_fatal_function.
9212         (internal_error): Renamed from fatal.
9213         (error_recursion, fancy_abort): Call internal_error instead of fatal.
9214         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
9215         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
9216         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
9217         * flow.c (verify_flow_info): Likewise.
9218         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
9219         * config/mips/mips.c (save_restore_insns): Likewise.
9220
9221         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
9222         * flow.c (verify_flow_info): Likewise.
9223         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
9224         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
9225         (avr_normalize_condition): Likewise.
9226         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
9227         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
9228         (limit_reload_class, double_reg_to_memory): Likewise.
9229         (print_operand_address, emit_1600_code_shift): Likewise.
9230         (gen_tst_reg, gen_compare_reg): Likewise.
9231         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
9232         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
9233         Deleted.
9234         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
9235
9236         * c-parse.in (methoddef): Call fatal_error instead of fatal.
9237         * objc/objc-act.c (build_ivar_chain): Likewise.
9238         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
9239         pfatal_with_name.
9240         * graph.c (clean_graph_dump_file): Likewise.
9241         * profile.c (init_branch_prob): Likewise.
9242         * objc/objc-act.c (objc_init): Likewise.
9243
9244         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
9245         * config/avr/avr.c (avr_override_options): Likewise.
9246         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
9247         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
9248         * config/h8300/h8300.c (h8300_init_once): Likewise.
9249         * config/mips/mips.c (override_options): Likewise.
9250         * config/i386/i386.c (override_options): Likewise, rework.
9251         * config/m68k/m68k.c (override_options): Likewise.
9252
9253         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
9254         instead of fatal.
9255         * config/mips/mips.c (print_operand): Likewise.
9256         * hash.c (hash_allocate): Don't check for failure returns from
9257         obstack functions that can't fail.
9258         (hash_table_init_n, hash_table_init): Likewise; also now return void.
9259         * hash.h (hash_table_init_n, hash_table_init): Now return void.
9260         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
9261         (get_object_reference): Likewise.
9262
9263 2001-02-04  Nick Clifton  <nickc@redhat.com>
9264
9265         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
9266         StrongARM1110, 10TDMI, and 1020T.
9267
9268 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9269
9270         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
9271
9272 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
9273
9274         * config/sh/sh.md (movdf load split): Pass register number to
9275         FP_OR_XD_REGISTER_P.
9276
9277 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9278
9279         * cppinit.c (BC): New macro.
9280         (builtin_array): Add __GXX_WEAK__.
9281         * cpplib.h (builtin_type): Add BT_WEAK.
9282         * cppmacro.c (builtin_macro): Handle BT_WEAK.
9283         * defaults.h (SUPPORTS_ONE_ONLY): Define.
9284         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
9285
9286 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
9287
9288         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
9289
9290 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9291
9292         * cpphash.h: Rename _ALIGN POOL_ALIGN.
9293         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9294
9295 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9296
9297         * cpphash.h: Rename ALIGN _ALIGN.
9298         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9299
9300 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
9301
9302         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
9303         compilation environment.
9304         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
9305         control over location of cygwin includes and libs.
9306
9307 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9308
9309         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
9310
9311 2001-02-02  lars brinkhoff  <lars@nocrew.org>
9312
9313         * md.texi (Standard Names): remove reference to spur.md.
9314
9315 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9316
9317         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
9318         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
9319         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
9320         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
9321         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
9322
9323 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9324
9325         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
9326         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
9327         number before reload.
9328         (c4x_adjust_cost): Return zero before reload.
9329         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
9330         split before reload.
9331
9332 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9333
9334         * c4x.c (c4x_hard_regno_rename_ok): New.
9335         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
9336         * c4x.h (HARD_REGNO_RENAME_OK): Define.
9337
9338 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9339
9340         * diagnostic.h: Add missing "extern" in all declarations.
9341
9342 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
9343
9344         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
9345         as for gcc_gxx_include_dir.
9346
9347 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9348
9349         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
9350
9351 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9352
9353         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
9354         label before alignment to be used as the braf base address.
9355         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
9356         branches.
9357         (casesi_jump_2): Require at least TARGET_SH2.
9358
9359         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
9360         truncation to 32-bit doubles on -m3e and -m4-single-only.
9361
9362 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
9363
9364         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
9365         the default when building a shared object.
9366         (init_spec): Use it.
9367         * testsuite/lib/g++.exp: Include the directory where libgcc
9368         is located to the LD_LIBRARY_PATH list.
9369         * invoke.texi (-shared-libgcc): Document the cases in which
9370         GCC defaults to using the shared libgcc.
9371
9372 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9373
9374         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
9375         unsigned is wide enough.
9376         (BITS_PER_SI): New.
9377         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
9378         (si_to_float): Likewise.
9379         (float_to_si, float_to_usi): Use BITS_PER_SI.
9380
9381 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9382
9383         * dwarf2out.c: Added explanation of abbreviations.
9384         (def_cfa_1): Added comments listing DWARF2 instructions.
9385         (cfa_temp_reg): Removed in favor of cfa_temp.
9386         (cfa_temp_value): Removed in favor of cfa_temp.
9387         (cfa_temp): New global variable.
9388         (dwarf2out_frame_debug_expr): Added extensive introductory
9389         comments explaining the function's transformations.  Revised to
9390         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
9391         (dwarf2out_frame_debug): Revised to use cfa_temp.
9392         (output_aranges): Cast as "unsigned" to avoid warning.
9393         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
9394         explain which instructions must be marked.
9395
9396 2001-02-01  Richard Henderson  <rth@redhat.com>
9397
9398         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
9399         new instruction.
9400
9401 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
9402
9403         * config/sh/crt1.asm (main_k): Modified so that start calls
9404         ___setup_argv_and_call_main.
9405
9406 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
9407
9408         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
9409         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
9410         and AVOID_LPASTE is cleared on meeting an unescaped newline.
9411         * cppmacro.c (builtin_macro): Set builtin flags here.
9412         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
9413         (replace_args): Clarify intent.
9414         (cpp_get_token): Macro expansion tokens get the saved flags.
9415         Update.
9416         * cppmain.c (scan_buffer): Remove now-redundant print.printed
9417         check.
9418
9419 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9420
9421         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
9422         2001-Jan-29.
9423
9424 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9425
9426         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
9427         returns Pmode pseudo, but we need ptr_mode.
9428         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
9429         Remove bogus conversions; use HOST_WIDE_INT for size.
9430         Don't use TARGET if wrong mode.
9431
9432         * config/i386/i386.c (ix86_compute_frame_size): Allow
9433         stack_alignment_needed to be non-default even if size is zero.
9434
9435 2001-01-31  Alan Modra <alan@linuxcare.com.au>
9436
9437         * pa.c (hppa_init_pic_save): New function.
9438         * pa.h (hppa_init_pic_save): Declare.
9439         * pa.md (call, call_value, sibcall, sibcall_value): Use
9440         the above instead of duplicated code.
9441
9442         * pa.c (hppa_encode_label): Correct size of alloca buffer
9443         so we don't overrun it.  Correct leading `*' case.
9444         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
9445         need to handle `*@'.
9446         (FUNCTION_NAME_P): Likewise.
9447
9448 2001-01-31  Richard Henderson  <rth@redhat.com>
9449
9450         * config.gcc (alpha-osf5): Use float-i128.h.
9451
9452         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
9453         * config/float-i32.h: Likewise.
9454         * config/float-i64.h: Likewise.
9455         * config/float-sh.h: Likewise.
9456         * config/float-sparc.h: Likewise.
9457
9458 2001-01-31  DJ Delorie  <dj@redhat.com>
9459
9460         * expmed.c (extract_bit_field): allow non-integral modes if we
9461         want to extract a whole register from itself.
9462
9463 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
9464
9465         * c-typeck.c (set_init_index): If first is equal to last, assume as
9466         if it was not a range at all.
9467
9468 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9469
9470         * config/fp-bit.c: Include tm.h.
9471         (float_to_si): Don't assume SImode is 32-bits wide.
9472         (float_to_usi): Likewise.
9473
9474 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
9475
9476         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
9477         incomplete type.
9478         (typename): Call pending_xref_error after parsing typed_typespecs.
9479         * c-decl.c (lookup_tag): Give error immediately rather than
9480         leaving it pending if the tag of the wrong type is in the same
9481         binding level.
9482         (xref_tag): Don't pedwarn for forward declarations of enum types
9483         here.
9484         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
9485         and enum tags.
9486
9487 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9488
9489         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
9490
9491 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
9492
9493         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
9494         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
9495
9496 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
9497
9498         * cpphash.h (struct cpp_reader): New saved_flags.
9499         * cppmacro.c (cpp_get_token): Use saved_flags to remember
9500         to avoid a paste after a pasted token.
9501
9502 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9503
9504         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
9505         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
9506         Wtype_MIN instead of LONG_MIN.
9507
9508 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
9509
9510         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
9511         README file.
9512         * fixinc/fixincl.x: Regenerated.
9513         * fixinc/inclhack.def (irix_limits_const): New definition to
9514         convert "const" to "__const" in limits.h.
9515
9516 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
9517
9518         * fixinc/genfixes (AG): Fix "autogen4" thinko.
9519
9520 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9521
9522         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
9523         when register dies in the insn.
9524
9525 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9526
9527         * diagnostic.c (fatal): Fix word wrap.
9528
9529 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
9530
9531         * combine.c (try_combine): Fix SUBREG setting for
9532         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
9533
9534 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9535
9536         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
9537         comparison codes.
9538
9539 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9540
9541         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
9542         is not NULL.
9543         * toplev.c (decode_W_option): Update warn_larger_than
9544         unconditionally for each processed switch.
9545
9546 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9547
9548         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
9549         to NULL_RTX.
9550         (hppa_expand_prologue): Delete code to save pic offset table register
9551         in the function prologue.
9552         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
9553         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
9554         table register at the beginning of the function after the prologue.
9555
9556 2001-01-29  lars brinkhoff  <lars@nocrew.org>
9557
9558         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
9559
9560 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9561             Jeff Law <law@redhat.com>
9562
9563         * pa.md (return): Revise comment for trivial return.
9564         (return_internal): Non-trivial return pattern for non-PIC code.
9565         (return_internal_pic): Non-trivial return pattern for PIC code.
9566         It uses the PIC register to ensure it is restored after
9567         function calls.
9568         (epilogue): Generate appropriate return for PIC and non-PIC code.
9569
9570 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
9571
9572         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
9573
9574 2001-01-29  DJ Delorie  <dj@redhat.com>
9575
9576         * combine.c (if_then_else_cond): Pass the correct mode to
9577         operand_subword() for constants.
9578
9579 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
9580
9581         * config/i386/cygwin.h: Add w32api to include search.  Search different
9582         directories in a cross-build environment.
9583
9584 2001-11-29  Tim Josling  <tej@melbpc.org.au>
9585
9586         * tree.h (TYPE_STUB_DECL): Add documentation.
9587
9588 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
9589
9590         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
9591         (sdbout_field_types): Likwise.  Fix use of host_integerp.
9592
9593 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
9594
9595         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
9596         cygwin.h.
9597
9598 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
9599
9600         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
9601         to use flag_gnu_linker.
9602
9603 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
9604
9605         * cpplib.c (T_BAD_DIRECTIVE): Remove.
9606         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
9607
9608 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
9609
9610         * tree.c, tree.h (build_parse_node): Remove; was identical to
9611         build_nt.
9612         * c-lang.c (start_cdtor), objc/objc-act.c
9613         (build_module_descriptor): Use build_nt instead of
9614         build_parse_node.
9615
9616 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
9617
9618         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
9619         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
9620         not have any upper bits set.
9621
9622 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
9623
9624         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
9625
9626 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9627
9628         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
9629
9630         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
9631
9632         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
9633         (integer_minus_one_node): Define.
9634
9635 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
9636
9637         * Makefile.in (bootstrap2-lean): Fix typo.
9638
9639 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9640
9641         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
9642         : Don't set fe_value.
9643         * cpplib.h (AVOID_LPASTE): New flag.
9644         (struct cpp_hashnode): Remove fe_value.
9645         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
9646         * cppmacro.c (builtin_macro): Don't set flags here.
9647         (replace_args): Set AVOID_LPASTE flag on first token of an
9648         argument, and the token following it.
9649         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
9650         macro expansion, and on the token following it.  Do it for
9651         builtins too.
9652         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
9653
9654 2001-01-27  Richard Henderson  <rth@redhat.com>
9655
9656         * config/alpha/t-ieee: Remove multilibbing.
9657         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
9658
9659 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9660
9661         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
9662
9663         * Makefile.in: Remove all dependencies on defaults.h.
9664         * builtins.c: Don't include defaults.h.
9665         * c-common.c: Likewise.
9666         * c-decl.c: Likewise.
9667         * c-pragma.c: Likewise.
9668         * c-typeck.c: Likewise.
9669         * combine.c: Likewise.
9670         * i386.c: Likewise.
9671         * frame-ia64.c: Likewise.
9672         * cppexp.c: Likewise.
9673         * crtstuff.c: Likewise.
9674         * dbxout.c: Likewise.
9675         * dwarf2out.c: Likewise.
9676         * dwarfout.c: Likewise.
9677         * emit-rtl.c: Likewise.
9678         * except.c: Likewise.
9679         * expr.c: Likewise.
9680         * final.c: Likewise.
9681         * frame-dwarf2.c: Likewise.
9682         * libgcc2.c: Likewise.
9683         * optabs.c: Likewise.
9684         * profile.c: Likewise.
9685         * sdbout.c: Likewise.
9686         * toplev.c: Likewise.
9687         * tradcif.y: Likewise.
9688         * tree.c: Likewise.
9689         * varasm.c: Likewise.
9690
9691 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9692
9693         * builtins.c (expand_builtin_fputs): Use size_one_node when
9694         transforming into fwrite.
9695
9696 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
9697
9698         * extend.texi (Attribute Syntax): New section.
9699
9700 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
9701
9702         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
9703         they didn't need fixing.
9704
9705 2001-01-27  Janis Johnson <janis@us.ibm.com>
9706
9707         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
9708         if appropriate.
9709         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
9710         to remove macro definitions that are duplicated from elfos.h.
9711
9712 2001-01-27  Richard Henderson  <rth@redhat.com>
9713
9714         * config/i386/sco5gas.h: Move ...
9715         * config/usegas.h: ... here.
9716         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
9717
9718 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
9719
9720         * c-typeck.c (struct constructor_stack): Add range_stack member.
9721         (really_start_incremental_init): Clear it.
9722         (push_init_level): Save constructor_range_stack and clear it if
9723         pushing explicit braces.
9724         (pop_init_level): abort if constructor_range_stack is non-zero at
9725         explicit closing brace.  Restore saved constructor_range_stack if
9726         not implicit.
9727
9728 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
9729
9730         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
9731         into register was forced into memory.
9732
9733 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
9734
9735         * Makefile.in: Remove uses of + before $(MAKE).
9736
9737 2001-01-26  Richard Henderson  <rth@redhat.com>
9738
9739         * stmt.c (cost_table): Remove.
9740         (COST_TABLE, cost_table_initialized): New.
9741         (estimate_case_costs): Use the later instead of the former.
9742         (balance_case_nodes): Likewise.
9743
9744 2001-01-26  Richard Henderson  <rth@redhat.com>
9745
9746         * alias.c (objects_must_conflict_p): Read-only slots may not
9747         conflict despite having the same type.
9748
9749 2001-01-27  Michael Hayes  <mhayes@redhat.com>
9750
9751         * loop.c (loop_giv_reduce_benefit): Copy mode size into
9752         int variable.
9753         (check_ext_dependant_givs): Initialise u_start_val and
9754         u_end_val.
9755         (load_mems): Make last_max_reg unsigned.
9756         (try_swap_copy_prop): Use INSN_P and initialise set.
9757
9758 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
9759
9760         * README.AVR : Removed.
9761
9762 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
9763
9764         * pa-64.h (text_section): Remove declaration.
9765
9766         * pa.md (return_internal): Remove mode on PIC register use.
9767
9768 2001-01-25  lars brinkhoff  <lars@nocrew.org>
9769
9770         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
9771         ASM_CLOSE_PAREN): fix typos.
9772
9773 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
9774
9775         * acconfig.h: Define `const' to the empty string if neither
9776         __STDC__ nor __cplusplus is defined.
9777         * config.in: Regenerated.
9778
9779 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
9780
9781         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
9782         * collect2.c (main): Delete importf.  Add ".obj" file extension.
9783         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
9784         (aix_std_libs): Add additional AIX libraries to skip.
9785         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
9786         * config/rs6000/aix51.h: New file.
9787
9788 2001-01-25  Michael Hayes  <mhayes@redhat.com>
9789
9790         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
9791         (loop_insn_emit_before): No longer static.
9792         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
9793         (loop_givs_rescan, load_mems): Likewise.
9794         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
9795         (maybe_eliminate_biv_1):
9796         (move_movables): Replace emit_call_insn_before with
9797         loop_call_insn_hoist.
9798         * loop.h (loop_insn_emit_before): Add.
9799         * unroll.c (copy_loop_body): Replace emit_insn_before with
9800         loop_insn_emit_before.
9801
9802 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
9803
9804         * diagnostic.c (fatal): Request preprocessed source.
9805
9806 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
9807
9808         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
9809         olddecl has argument types and newdecl has none, use the argument
9810         types from olddecl.
9811
9812 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
9813
9814         * dwarf2out.c (prefix_of): New function.  Determine longest common
9815         prefix of the two arguments.  The units are whole path components.
9816         (output_file_names): When adding a new directory find the one entry
9817         with the longest common prefix already in the list.  Artificially
9818         generate entry if there is none for this prefix.
9819         Fix test to check whether the zeroth directory entry is used.
9820
9821 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
9822
9823         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
9824         Changed all callers.  Take it into account when deciding if a
9825         previously loaded value matches.
9826
9827 2001-01-24  Richard Henderson  <rth@redhat.com>
9828
9829         * reload.c (find_reloads_subreg_address): Fail the substitution
9830         if the resulting address is insufficiently aligned.
9831
9832 2001-01-24  DJ Delorie  <dj@redhat.com>
9833
9834         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
9835         check the original operand's mode also.
9836         * simplify-rtx.c (simplify_ternary_operation): Ditto.
9837
9838 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
9839
9840         * c-parse.in (cast_expr): Move compound literals from here ...
9841         (primary): ... to here.  Use standard terminology "compound
9842         literal" instead of "constructor expression".
9843
9844 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
9845
9846         * gcc.1, cpp.1: Regenerate.
9847
9848 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
9849
9850         * calls.c (emit_library_call_value_1): Memory slot for
9851         pass-by-reference argument should have the mode of the argument,
9852         not of the pointer to it.
9853
9854 2001-01-24  Tom Tromey  <tromey@redhat.com>
9855
9856         * gcc.texi (G++ and GCC): Mention gcj manual.
9857         (Standards): Link to section of manual mentioning gcj/Java
9858         compatibility.
9859
9860 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
9861
9862         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
9863         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
9864         * tradcpp.c (main): Add -imacros or -include'd dependencies
9865         for -M*.
9866         * cpp.texi (-M, -MM): Document -M -include behaviour.
9867
9868 2001-01-24  Roger Collins <roger@ProProject.com>
9869
9870         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
9871
9872 2001-01-24  Will Cohen  <wcohen@redhat.com>
9873
9874         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
9875         whether registers are 32 bits or 64 bits in size.
9876
9877 2001-01-24  Ben Elliston  <bje@redhat.com>
9878
9879         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
9880
9881 2001-01-24  Richard Henderson  <rth@redhat.com>
9882
9883         * config/alpha/alpha.md (builtin_longjmp_internal): New.
9884         (builtin_longjmp): Use it instead of emit_indirect_jump.
9885
9886 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9887
9888         * bb-reorder.c (make_reorder_chain_1): Handle case where
9889         jump edge goes to the same block as the fallthru edge.
9890
9891 2001-01-23  Jim Wilson  <wilson@redhat.com>
9892
9893         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
9894         * frame.h (__ia64_personality_v1): Add prototype.
9895         * libgcc2.c (ia64_throw_helper): Change personality declaration to
9896         prototype form.  Add void * cast to first argument to personality
9897         call.
9898         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
9899         (asctoe113): Likewise.
9900         * config/ia64/frame-ia64.c: Include eh-common.h.
9901         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
9902         prototypes.
9903         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
9904         to dump parameter.
9905         (itanium_split_issue): Add prototype.
9906         (gen_nop_type): Ifdef out.
9907         (find_best_packet): Initialize best_packet.
9908         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
9909         result.
9910         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
9911         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
9912         (flushrs): Add explicit stop bit at end.
9913         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
9914         trailing \ to >.
9915
9916 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
9917
9918         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
9919         of EH symbols.
9920         * libgcc2.c (__terminate_func): Make variable static.
9921         (__terminate_set_func): New function to set __terminate_func.
9922         * libgcc2.h (__terminate_func_ptr): New typedef.
9923         (__terminate_set_func): New function.
9924
9925 2001-01-23  Richard Henderson  <rth@redhat.com>
9926
9927         * flow.c (init_propagate_block_info): Don't consider unchanging
9928         memories for dead frame store elimination.
9929
9930 2001-01-23  Richard Henderson  <rth@redhat.com>
9931
9932         * varasm.c (UNIQUE_SECTION): Move default implementation ...
9933         * defaults.h: ... here.
9934
9935 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9936
9937         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
9938
9939 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
9940
9941         * c-lex.c (lex_charconst): Fix typo: s/p/str.
9942
9943 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9944
9945         * rs6000.h (rs6000_return_addr): Move prototype from here...
9946         * rs6000-protos.h (rs6000_return_addr): ...to here.
9947         (rs6000_init_expanders): Delete prototype.
9948
9949 2001-01-23  Nick Clifton  <nickc@redhat.com>
9950
9951         * invoke.texi: Replace , with \, inside @gccoptlist macros.
9952         (Spec Files): Document %B and %j and %. and %v3 and %M and
9953         %{S*&T} spec switches.
9954
9955 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9956
9957         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
9958
9959 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
9960             Neil Booth  <neil@daikokuya.demon.co.uk>
9961
9962         * cpperror.c: Merge handlers of PEDWARN and WARNING.
9963         Have -Werror make pedantic warnings errors, like the
9964         rest of GCC.
9965
9966 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
9967
9968         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
9969
9970 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
9971
9972         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
9973         * integrate.c (expand_inline_function): Initialize them.
9974         (subst_constants): If changing COMPARE so that both its arguments
9975         will be VOIDmode and the comparison mode will be lost, note
9976         compare_mode.  Use the recorded compare_mode to optimize
9977         IF_THEN_ELSE.
9978
9979 2001-01-23  Jason Merrill  <jason@redhat.com>
9980
9981         * dwarf2out.c (new_die): Use xcalloc.
9982         (output_die): Abort rather than emit a local reference to offset 0.
9983
9984 2001-01-17  Andrew Haley  <aph@redhat.com>
9985
9986         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
9987         of a saved register; return NULL instead.
9988         (copy_reg): Take a pointer to a source register rather than a
9989         frame_state.
9990         (next_stack_level): Remember the address in the stack frame of all
9991         saved registers.
9992         Use the saved register pointer array as the source of the CFA.
9993         (throw_helper): Rewrite.  Unwind once rather than twice and keep
9994         track of saved registers as we go.
9995
9996 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9997
9998         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
9999         * c4x.c (c4x_legitimize_reload_address): Remove.
10000         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
10001         reload address for ldp(k) insn.
10002
10003 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
10004
10005         * pa.md (return_internal): Add a USE of the PIC register to ensure
10006         it is restored after each call.
10007         (return expander): Corresponding changes.
10008
10009 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10010
10011         * rs6000.h (INIT_EXPANDERS): Delete.
10012         (RETURN_ADDR_RTX): Call rs6000_return_addr().
10013         * rs6000.c (rs6000_override_options): Call *_machine_status from
10014         here...
10015         (rs6000_init_expanders): ...instead of here. Delete.
10016         (rs6000_mark_machine_status): New function.
10017         (rs6000_init_machine_status): Use xcalloc.
10018         (rs6000_return_addr): Generate RTX for the return address.
10019         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
10020         (rs6000_stack_info): Use it.
10021
10022 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
10023
10024         * gthr-win32.h: Include errno.h to get a declaration for
10025         EINVAL and _mingw.h if the target is mingw32.
10026
10027 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
10028
10029         * cpp.texi: Correct typos.
10030
10031 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10032
10033         * explow.c (probe_stack_range): Ensure value passed to
10034         stack_check_libfunc is ptr_mode, not Pmode.
10035
10036 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
10037
10038         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
10039         case, don't use operand_subword to calculate a SUBREG that is
10040         wider than a word.
10041
10042         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
10043
10044 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10045
10046         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
10047         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
10048         valid.  If not replace it by equivalent insns.
10049
10050 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10051
10052         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
10053         contains SYMBOL_REF, LABEL_REF and CONST_INT.
10054         (c4x_U_constraint, symbolic_address_operand): Likewise.
10055         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
10056         memory.
10057         (c4x_r11_set_p, c4x_check_laj_p): New functions.
10058         * c4x-protos.h (c4x_check_laj_p): Add prototype.
10059         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
10060         anulling slot because of silicon bug.
10061         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
10062
10063 2001-01-22  Alan Modra <alan@linuxcare.com.au>
10064
10065         * cppexp.c (parse_charconst):  Change `mask' type to agree
10066         with parse_escape.
10067
10068 2001-01-21  Richard Henderson  <rth@redhat.com>
10069
10070         * config/i386/i386.c (ix86_asm_file_end): Disable putting
10071         pic_label_name in a linkonce section.
10072
10073 2001-01-17  Philipp Thomas  <pthomas@suse.de>
10074
10075         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
10076         found in libintl.
10077         * configure: Regenerate.
10078
10079 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
10080
10081         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
10082         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
10083
10084 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
10085
10086         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
10087         If REVERSE nonzero then condition code in X must be reversed.
10088         (encode_section_info): Optimise if/else.
10089         (avr_function_value): Fix formatting.
10090
10091         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
10092         (difficult_branch): Likewise.
10093         (rvbranch): Likewise.
10094         (difficult_rvbranch): Likewise.
10095
10096         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
10097
10098         * config/avr/libgcc.S: Fix comment.
10099
10100 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10101
10102         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
10103
10104 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10105
10106         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
10107
10108 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10109
10110         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
10111         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
10112         * configure, config.in: Regenerate.
10113         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
10114         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
10115         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
10116         (doprint.o): New rule.
10117
10118 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
10119
10120         * c-typeck.c (digest_init): Handle boolean types as scalars.
10121
10122 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10123
10124         * stmt.c (expand_return): Don't return anything if size is zero.
10125         Delete redundant assignment to BYTES.
10126         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
10127
10128 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
10129
10130         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
10131         the same as the default library function names.
10132         * config/avr/avr.md: Document special characters after '%'.
10133         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
10134         knowing which of the call-used registers are really clobbered.
10135         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
10136         New.  Both quotient and remainder from one libgcc.S call.
10137         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
10138         clobber as few registers as possible.
10139         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
10140
10141 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10142
10143         * cppmacro.c (funlike_invocation_p): Don't move back up to the
10144         context of the top of the stack.
10145
10146 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
10147
10148         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
10149         (fixup_var_refs_insns): ...here.
10150
10151 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
10152
10153         * function.c (fixup_var_refs_insns): Break up into
10154         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
10155         [loop over entire insn list], and fixup_var_refs_insns_with_hash
10156         [loop over hash table entries].
10157         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
10158         fixup_var_refs_insns_with_hash, to match above changes.
10159
10160 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10161
10162         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
10163         (libgcc.a): Likewise.
10164         (stmp-multilib): Likewise.
10165         (STAGE2_FLAGS_TO_PASS): Likewise.
10166
10167 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
10168
10169         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
10170         temporary if no_new_pseudos.
10171
10172 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10173
10174         * cppinternals.texi: Update.
10175
10176 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
10177
10178         * arm.c (arm_init_builtins): Re-enable builtins.
10179
10180 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10181
10182         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
10183         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
10184         element to be null, and always expect an EXPR_LIST.
10185         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
10186         * sched-deps.c (sched_analyze_1): Likewise.
10187         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10188
10189         * regclass.c (max_set_parallel): New variable.
10190         (reg_scan): Take it into account in computation of max_parallel.
10191         (reg_scan_mark_refs, case SET): Compute it.
10192
10193         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
10194         args are REG.
10195         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
10196         * function.c (assign_parms): Use INTVAL for a CONST_INT.
10197
10198 2001-01-19  Jason Merrill  <jason@redhat.com>
10199
10200         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
10201         for the abstract instance of an inline function.
10202
10203 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
10204                           J"orn Rennecke <amylaar@redhat.com>
10205
10206         * reload1.c (move2add_note_store): Treat all registers directly or
10207         indirectly derived from a base register as members of the same set
10208         of values.
10209         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
10210         of base register into account.
10211
10212 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
10213
10214         * alias.c (find_base_value): Recognize TRUNCATE.
10215         (record_set): In PLUS case, invalidate if other summand is also a
10216         base value.
10217
10218 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10219
10220         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
10221         entry to be EXPR_LIST.
10222         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
10223         be an EXPR_LIST (but not null, which other code doesn't allow).
10224         (note_stores): Properly handle PARALLEL in SET.
10225         Recursively call for top-level PARALLEL.
10226         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
10227         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10228
10229         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
10230
10231 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10232
10233         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
10234         not pfile->skipping (== 0).
10235
10236 2001-01-17  Nick Clifton  <nickc@redhat.com>
10237
10238         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
10239         machine_status.
10240
10241 2001-01-17  Jim Wilson  <wilson@redhat.com>
10242
10243         * invoke.texi (IA-64 options): Improve.
10244
10245 2001-01-17  Tom Tromey  <tromey@redhat.com>
10246
10247         * invoke.texi (Optimize Options): Use `{}' to around @samp
10248         argument.
10249
10250 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
10251
10252         * invoke.texi (-fno-guess-branch-probability): New option.
10253
10254 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10255
10256         * combine.c (try_combine): Don't set i3_subst_into_i2 for
10257         case of making new double-word constant.
10258         Revert last change: instead just test i3_subst_into_i2.
10259
10260 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
10261
10262         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
10263         Use q constraints instead of r.
10264
10265 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
10266
10267         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
10268         (machine_function): Define.
10269         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
10270         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
10271         pa_free_machine_status): New functions.
10272         (override_options): Set {init,mark,free}_machine_status to above.
10273         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10274         PIC_OFFSET_TABLE_REGNUM_SAVED.
10275         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10276         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
10277         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
10278         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
10279         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
10280
10281 2001-01-15  DJ Delorie  <dj@redhat.com>
10282
10283         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
10284         (cpp.1): Ditto.
10285         (gcc.1): Ditto.
10286
10287 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10288
10289         * flow.c (propagate_one_insn): Make trying to delete a prologue
10290         or epilogue insn an ICE, not a warning.  Allow doing this if
10291         the current function returns with stack pointer depressed.
10292
10293         * combine.c (try_combine): If i3_subst_into_i2, properly check for
10294         I3 having more than one SET.
10295
10296 2001-01-16  Jim Wilson  <wilson@redhat.com>
10297
10298         * invoke.texi: Document IA-64 options.
10299
10300         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
10301         (fixup_errata): Delete TARGET_A_STEP use.
10302         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
10303         (TARGET_SWITCHES): Delete -ma-step option.
10304         * config/ia64/ia64.md (all FP patterns): Delete %B0.
10305         (movqicc_astep, movqi_internal_astep, movhicc_astep,
10306         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
10307         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
10308         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
10309         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
10310         Delete.
10311         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
10312         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
10313         cmovsi_internal): Delete ! TARGET_A_STEP check.
10314
10315 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10316
10317         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
10318         possibility to report bugs via postal mail. Change a URL and
10319         merge in a nearly duplicate statement...
10320         (Bug Reporting): ...from here.
10321         (Service): Refer to the Bug Reporting section instead of
10322         duplicating an URL.
10323         (Contributing): Remove trivial explanations concerning snapshots.
10324
10325 2001-01-16  Alan Modra <alan@linuxcare.com.au>
10326
10327         * cppmain.c (general_init): Don't use ANSI prototype.
10328
10329 2001-01-16  Tom Tromey  <tromey@redhat.com>
10330
10331         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
10332
10333 2001-01-16  Richard Henderson  <rth@redhat.com>
10334
10335         * config/i386/i386.h: Fix comment typo.
10336         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
10337         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
10338
10339 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10340
10341         * gcc.c:  Revert previous -fsyntax-only-related change; move
10342         to cp/g++spec.c.
10343
10344 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
10345
10346         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
10347         inmode after checking GET_CODE (op).
10348
10349 2001-01-16  Richard Henderson  <rth@redhat.com>
10350
10351         * flow.c (struct propagate_block_info): Add mem_set_list_len.
10352         (MAX_MEM_SET_LIST_LEN): New.
10353         (propagate_one_insn): Update mem_set_list_len.
10354         (invalidate_mems_from_autoinc): Likewise.
10355         (invalidate_mems_from_set): Likewise.
10356         (mark_used_regs): Likewise.
10357         (init_propagate_block_info): Likewise.  Stop collecting memories
10358         when we reach MAX_MEM_SET_LIST_LEN.
10359         (mark_set_1): Likewise.
10360
10361 2001-01-16  Richard Henderson  <rth@redhat.com>
10362
10363         * unroll.c (precondition_loop_p): Fail if no iteration
10364         variable found.
10365
10366 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10367
10368         * gcc.c:  When -fsyntax-only is given, do not complain about
10369         unused libraries.
10370
10371 2001-01-15  Richard Henderson  <rth@redhat.com>
10372
10373         * config/i386/i386.c (asm_output_function_prefix): Remove.
10374         (ix86_asm_file_end): New.
10375         (load_pic_register): Generate pic_label_name into a
10376         staticly allocated buffer.
10377         * config/i386/i386-protos.h: Update.
10378         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
10379         (ASM_FILE_END): New.
10380         * config/i386/i386afe.h: New file.
10381         * config.gcc (i?86-*-elf) [tm_file]: Use it.
10382         (i?86-*-{freebsd,linux*,moss*}): Likewise.
10383         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
10384         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
10385         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
10386         * config/i386/sco5.h (ASM_FILE_END): Likewise.
10387         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
10388
10389 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
10390
10391         * Makefile.in (install-man): Remove explicit dependency on
10392         $(srcdir)/gcc.1.
10393
10394         * configure.in, configure: Revert previous patch requiring perl
10395         5.6.0.
10396
10397 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
10398
10399         * toplev.c (flag_guess_branch_prob): New.
10400         (f_options): Add guess-branch-probability option.
10401         (rest_of_decl_compilation): Only estimate branch probability if
10402         flag set.
10403         (main): set flag_guess_branch_prob.
10404
10405         * flags.h (flag_guess_branch_prob): New.
10406
10407 2001-01-15  DJ Delorie  <dj@redhat.com>
10408
10409         * gcc.texi (Makefile): Add documentation for Makefile targets.
10410
10411 2001-01-15  Philip Blundell  <philb@gnu.org>
10412
10413         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
10414         (is_pic): Delete.
10415         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
10416         (is_pic): Delete declaration.
10417         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
10418         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
10419         * config/arm/arm.md (builtin_setjmp_receiver): New.
10420
10421 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10422
10423         * arm.c (use_return_insn): Don't try to determine the function type
10424         until after reload has completed.
10425         (arm_output_epilogue): Don't adjust the sp value recovered from the
10426         stack.
10427         (emit_multi_reg_push): Don't record dwarf information for the pc.
10428         * arm.md (eh_epilogue): The function type may have changed, so it
10429         needs to be recalculated.
10430         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
10431         unwind tables on arm/netbsd.
10432
10433 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10434
10435         * arm.md (cbranchsi4): Correct calculation of branch ranges.
10436         (negated_cbranchsi4): Likewise.
10437
10438 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10439
10440         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
10441         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
10442         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
10443         pass -mapcs-* options to assembler.
10444         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
10445         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
10446         (ASM_SPEC): Call subtarget_extra_asm_spec.
10447
10448 2001-01-15  Andreas Jaeger  <aj@suse.de>
10449
10450         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
10451         warnings.
10452         (ix86_expand_builtin): Likewise.
10453
10454         * gencodes.c (output_predicate_decls): Make i size_t to avoid
10455         warning about comparison between signed and unsigned.
10456
10457 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
10458
10459         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
10460
10461 2001-01-14  Ralf Baechle <ralf@gnu.org>
10462
10463         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
10464         SUBTARGET_CPP_SPEC apropriatly.
10465
10466 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
10467
10468         * varasm.c (make_decl_rtl): Fix typo in last change.
10469
10470 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
10471
10472         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
10473         linker supports the init_priority C++ attribute.
10474         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
10475         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
10476         linker does not support init_priority C++ attribute.
10477
10478 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
10479
10480         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
10481
10482 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10483
10484         * c-parse.in (finish_parse): Add comment about cpp_destroy.
10485         * cp/lex.c (finish_parse): Similarly.
10486         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
10487         Return the number of errors encountered.
10488         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
10489         * cppmain.c (main): Don't call cpp_destroy.
10490
10491 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
10492
10493         * configure.in: Require at least perl 5.6.0 to regenerate
10494         manpages.
10495         * configure: Regenerate.
10496
10497 2001-01-14  Richard Henderson  <rth@redhat.com>
10498
10499         * genrecog.c (DT_veclen_ge): New.
10500         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
10501         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
10502         (nodes_identical_1): Handle DT_veclen_ge.
10503         (write_cond, debug_decision_2): Likewise.
10504
10505 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
10506
10507         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
10508         with ...
10509         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
10510
10511 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10512
10513         * cppmain.c (do_preprocessing): New function; most of the old
10514         main.
10515         (main): Call it to do most of the work.
10516         (cb): Move from global scope to set_callbacks ().
10517         (setup_callbacks): Get the callback pointer.
10518         (general_init, printer_init): Clean up code and comments.
10519
10520 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
10521
10522         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
10523         compiling PIC.
10524
10525 2001-01-14  Kazu Hirata  <kazu@hxi.com>
10526
10527         * config/h8300/h8300.c (get_shift_alg): Update comments.
10528
10529 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10530
10531         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
10532         (alloc_page, ggc_alloc): Add casts to remove warnings.
10533
10534 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
10535
10536         * combine.c (simplify_comparison): Don't change `code' when
10537         can't reverse comparison.
10538
10539 2001-01-14  Richard Henderson  <rth@redhat.com>
10540
10541         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
10542         update all call sites.  Return true for all non-label constants.
10543
10544 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
10545
10546         * i386.c (ix86_expand_compare): Add bypass_test and second_test
10547         parameters.
10548         (ix86_expand_branch): Update.
10549         (ix86_expand_setcc): Update to handle multiple test conditions.
10550         (expand_int_movcc): Likewise.
10551         (expand_fp_movcc): Likewise.
10552         * i386-protos.h (ix86_expand_compare): New.
10553         * i386.md (andqi_?_slp, orqi_?_slp): New.
10554         (conditional trap expander): Update call to ix86_expand_compare.
10555
10556 2001-01-14  Richard Henderson  <rth@redhat.com>
10557
10558         * config/vax/vax.md: Use nonimmediate_operand instead of
10559         general_operand in destinations.
10560
10561         * config/vax/vax.md (indirect_jump): Use register_operand.
10562
10563         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
10564         * config/vax/vax.md (call_pop): Turn into an expander.
10565         (call_value_pop): Likewise.
10566         (call, call_value): New.
10567
10568 2001-01-14  Andreas Jaeger  <aj@suse.de>
10569
10570         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
10571         variables.
10572         (ix86_fp_compare_mode): Add unused attribute.
10573         (ix86_expand_fp_movcc): Remove unused variable.
10574         (ix86_expand_builtin): Make fcode unsigned.
10575
10576         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
10577         (expand_expr): Add cast to avoid signed warning.
10578         (store_field): Likewise.
10579         (store_constructor_field): Likewise.
10580         (store_constructor): Likewise.
10581         (store_expr): Likewise.
10582         (clear_storage): Likewise.
10583         (emit_group_store): Likewise.
10584         (emit_group_load): Likewise.
10585
10586 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10587
10588         * c-common.c: Move format checking code to ...
10589         * c-format.c: ... here.  New file.  Reorder some functions and
10590         declarations.
10591         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
10592         New functions.
10593         * c-common.h (decl_handle_format_attribute,
10594         decl_handle_format_arg_attribute): Declare.
10595         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
10596         (c-common.o): Adjust dependencies.
10597         (c-format.o): New list of dependencies.
10598
10599 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
10600
10601         * unroll.c (loop_iterations): If we cannot prove iteration variable
10602         is set once in each iteration, punt.
10603
10604 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
10605
10606         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
10607         (*strlenhi): Remove clobber (which was buggy) of output address.
10608
10609 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10610
10611         * Makefile.in (generated-manpages): Add gcc.1
10612         ($(srcdir)/gcc.1): New target.
10613         (maintainer-clean): Delete $(srcdir)/gcc.1.
10614         * gcc.texi: Add macros @gccoptlist and @gol.
10615         * invoke.texi: Include option summary in manpage.  Mark up option
10616         summary with @gccoptlist and @gol.  Use @r in one place where
10617         appropriate.
10618         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
10619         * gcc.1: Generate from invoke.texi.
10620
10621 2001-01-13  Richard Henderson  <rth@redhat.com>
10622
10623         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
10624         (struct page_entry): Add group member.
10625         (struct page_group): New.
10626         (struct globals): Add page_groups member.
10627         (alloc_anon): Only define for using mmap; remove valloc call.
10628         (page_group_index): New.
10629         (set_page_group_in_use): New.
10630         (clear_page_group_in_use): New.
10631         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
10632         (free_page, release_pages): Likewise.
10633         * configure.in (with-gc): Default to ggc-page always.
10634
10635 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
10636
10637         * reload1.c (replace_pseudos_in_call_usage): Use
10638         reg_equiv_constant and reg_equiv_address, and don't try
10639         regno_reg_rtx first.
10640
10641 2001-01-13  Richard Henderson  <rth@redhat.com>
10642
10643         * ggc-page.c (alloc_page): Round up allocation size to one page.
10644         Set e->order on extra pages.
10645
10646 2001-01-13  Richard Henderson  <rth@redhat.com>
10647
10648         * genrecog.c (nodes_identical): Expand commentary.
10649         (write_switch): Watch out for identical nodes.
10650
10651 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10652
10653         * cppfiles.c (_cpp_fake_include): New function.
10654         * cpphash.h (_cpp_fake_include): New.
10655         * cpplib.c (do_line): Call _cpp_fake_include when entering
10656         header files in preprocessed input.
10657         * cppmain.c (cb_pragma_implementation): Remove handling.
10658         (setup_callbacks): Don't register pragmas.
10659
10660 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10661
10662         * extend.texi: Udate for CPP.
10663
10664 2001-01-13  Andreas Jaeger  <aj@suse.de>
10665
10666         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
10667
10668         * regmove.c: Add prototype for replace_in_call_usage.
10669
10670 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10671
10672         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
10673         struct cpp_chunk, struct htab, struct toklist,
10674         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
10675         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
10676         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
10677         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
10678         (struct macro_args): Delete.
10679         * cpphash.h: See above.
10680
10681 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10682
10683         * cppmain.c (struct printer): Remove no_line_dirs.
10684         (options, cb): New.
10685         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
10686         : Use options rather than CPP_OPTION.
10687         (setup_callbacks): Use cb rather than pfile->cb.
10688         (main): No need to check for a buffer.  Use cpp_errors.
10689         (printer_init): Don't set no_line_dirs.
10690         (maybe_print_line): Use options not no_line_dirs.
10691         (cb_file_change): Don't call print_line if -P.
10692
10693 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10694
10695         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
10696         callbacks.
10697         * c-parse.in (finish_parse): Use cpp_errors.
10698         (__yylex): Use return value of cpp_pop_buffer.
10699         * cp/lex.c (finish_parse): Use cpp_errors.
10700         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
10701
10702 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
10703
10704         * README.AVR: URLs corrected.
10705
10706 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10707
10708         * c-decl.c (start_function): Don't warn if old prototype is builtin
10709         that's not in C's namespace.
10710         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
10711         (_bb): Add prototype for ctime.
10712         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
10713
10714 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
10715
10716         * i386.c (ix86_fp_comparison_arithmetics_cost,
10717         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
10718         ix86_fp_comparison_cost): New functions.
10719         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
10720         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
10721         two-branch sequences; make static.
10722         (ix86_use_fcomi_compare): Do decision according to the costs.
10723         (split_fp_branch): New.
10724         * i386.md (compare-and-branch patterns): Use split_fp_branch.
10725         * i386-protos.h (ix86_expand_fp_compare): Remove
10726         (ix86_split_fp_branch): Declare.
10727
10728         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
10729         and ix86_comparison_operator.
10730
10731         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
10732         to make it cheaper.
10733
10734         * i386.c (put_condition_code): Output properly the unordered/ordered
10735         compares in fp case.
10736         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
10737
10738         * tm.texi (REVERSE_CONDITION): Document.
10739         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
10740         in -ffast-math mode.
10741         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
10742
10743 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
10744
10745         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
10746
10747         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
10748         optimized away.
10749
10750         * config/sh/sh.c (mova_p): Fix test for mova_const.
10751
10752 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10753
10754         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
10755         cpp_get_options rather than dereferencing pfile and using
10756         CPP_OPTION.
10757         * scan-decls.c (scan_decls): Use return value of
10758         cpp_pop_buffer rather than CPP_BUFFER.
10759
10760 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10761
10762         * cppinit.c (cpp_handle_option): help_only is now part of the
10763         cpp_options structure.
10764         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
10765         cpp_set_callbacks): New functions.
10766         * cpplib.h (cpp_callbacks): Break out as a named structure.
10767         (cpp_options): Move help_only here from cpp_reader.
10768         (CPP_FATAL_ERRORS): Update to use cpp_errors.
10769         (cpp_errors, cpp_get_options, cpp_get_callbacks,
10770         cpp_set_callbacks): New prototypes.
10771         * cppmain.c (main): Update for help_only.
10772
10773 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10774
10775         * Makefile.in (info, maintainer-clean, install-info, uninstall):
10776         Also build and remove and install and uninstall c-tree.info and
10777         cppinternals.info.
10778         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
10779         ($(srcdir)/cppinternals.info): New target.
10780         * c-tree.texi: Change file name used when makeinfo used without -o
10781         from ir.info to c-tree.info.  Add info directory entry.
10782         * cppinternals.texi: Add info directory entry.
10783         * .cvsignore: Update.
10784
10785 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
10786
10787         * c-typeck.c (store_init_value): Don't require constant initializer
10788         elements with -pedantic -std=c99.
10789         (digest_init): Change error about non-constant initializer elements
10790         into pedwarn.
10791         (constructor_range_end): Remove.
10792         (constructor_incremental, designator_depth,
10793         designator_errorneous): New variables.
10794         (struct constructor_stack): Remove range_end, add incremental.
10795         (struct constructor_range_stack, constructor_range_stack): New.
10796         (struct initializer_stack): Add constructor_range_stack.
10797         (finish_init): Set it.
10798         (start_init): Likewise.  require_constant_elements for non-static
10799         trees only if not flag_isoc99.
10800         (really_start_incremental_init): Remove constructor_range_end, add
10801         constructor_incremental.
10802         (pop_init_level): Likewise.
10803         (push_init_level): Likewise.  If implicit and the subobject had some
10804         value set already, preinitialize the level with it.
10805         Warn about missing braces only if not pushing due to designators.
10806         (set_designator, push_range_stack): New functions.
10807         (set_init_label): Use them.
10808         (set_init_index): Likewise.  Remove constructor_range_end.
10809         Error if designator index is outside of array bounds.
10810         (add_pending_init): Compare values of purpose index trees, not the
10811         trees themselves.  Allow overwriting of already initialized element.
10812         Issue a warning if it had side-effects.
10813         (set_nonincremental_init, set_nonincremental_init_from_string): New
10814         functions.
10815         (pending_init_member): Rename to...
10816         (find_init_member): ...this function.  Call set_nonincremental_init
10817         if necessary.  Compare values of purpose index trees, not the trees
10818         themselves.  Return the actual value, not just non-zero if something
10819         is found.
10820         (output_init_element): Remove checks for duplicates.
10821         If field has zero size, only check the initializer for correctness.
10822         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
10823         if constructor_incremental is zero.  Change error about initializers
10824         not computable at load time into pedwarn.
10825         (output_pending_init_elements): Compare bit positions, not
10826         FIELD_DECLs to take into account zero-sized fields.
10827         (process_init_element): Use constructor_range_stack to fill all
10828         ranges in the designator lists from current level up.
10829         * extend.texi: Update documentation for labeled elements.
10830
10831 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
10832
10833         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
10834         to function usage for arguments passed by reference.  Optimize
10835         callee-copied arguments.
10836         * regmove.c (replace_in_call_usage): New function.
10837         (fixup_match_1): Call it.
10838         * cse.c (cse_insn): Canonicalize registers in function usage.
10839         * reload1.c (replace_pseudos_in_call_usage): New function.
10840         (reload): Call it.
10841
10842         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
10843         right version.
10844
10845 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
10846
10847         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
10848         not XEXP (tmp, 0).
10849
10850 2001-01-12  DJ Delorie  <dj@redhat.com>
10851
10852         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
10853         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
10854         targets.
10855
10856 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
10857
10858         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
10859         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
10860         -std options alongside references to -ansi.  Update some
10861         documentation for C99.
10862         * cpp.1: Regenerate.
10863
10864 2001-01-12  Andreas Jaeger  <aj@suse.de>
10865
10866         * haifa-sched.c (restore_line_notes): Remove argument block B
10867         since it's unused.
10868         * sched-ebb.c (schedule_ebb): Change caller.
10869         * sched-rgn.c (schedule_region): Likewise.
10870         * sched-int.h (restore_line_notes): Adjust prototype.
10871
10872         * loop.h: Remove wrong declaration of doloop_condition_get.
10873
10874 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
10875
10876         * extend.texi:  Move C++-extension-related node from the C section
10877         into the C++ section.
10878
10879 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
10880
10881         * extend.texi: Refer to an array of pointers to functions instead
10882         of one of functions.
10883
10884 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
10885                               Jan Hubicka  <jh@suse.cz>
10886
10887         * combine.c (reversed_comparison): Fix typo in last patch.
10888         Check X for NULL.
10889         (combine_reversed_comparison_code): Make static to follow
10890         prototype declaration.
10891
10892 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
10893
10894         * install.texi:  Remove misplaced duplicate entry.
10895
10896 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
10897
10898         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
10899
10900 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
10901
10902         * final.c: (leaf_function_p): Fix typo.
10903
10904 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
10905
10906         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
10907         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
10908         which you have.
10909         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
10910         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
10911         mmap_anon, and valloc is available.
10912         * ggc-page.c: Restructure ifdef logic to match new autoconf
10913         spec.  Don't throw away the test page in init_ggc.
10914
10915         * configure, config.in: Regenerate.
10916
10917 2001-01-12  Michael Hayes  <mhayes@redhat.com>
10918
10919         * loop.h (total_biv_increment): Constify iv_class pointer.
10920         (struct induction): Replace `mem_mode' with `mem' rtx.
10921         * unroll.c (total_biv_increment): Constify iv_class pointer.
10922         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
10923         (find_mem_givs, combine_givs_p): Likewise.
10924         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
10925
10926 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
10927
10928         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
10929         LastError.
10930         (__gthread_getspecific): Ditto.
10931
10932 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
10933
10934         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
10935         put_condition_code): Convert fp comparison codes to integer
10936         before handling.
10937         (ix86_expand_fp_compare): Postnote the fp comparison code converison
10938         to final.
10939
10940         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
10941         * i386-protos.h (no_comparison_operator): Kill.
10942
10943         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
10944
10945         * combine.c (REVERSIBLE_CC_MODE): Remove.
10946         (reversible_comparison_p): Remove.
10947         (combine_reversed_comparison_code): New.
10948         (reversed_comparison): New.
10949         (combine_simplify_rtx): Use
10950         combine_reversed_comparison_code/reversed_comparison instead
10951         of reversible_comparison_p.
10952         (simplify_if_then_else): Likewise.
10953         (simplify_set): Likewise.
10954         (simplify_logical): Likewise.
10955         (if_then_else_cond): Likewise.
10956         (known_cond): Likewise.
10957         (simplify_comparison): Likewise.
10958
10959 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
10960
10961         * builtins.c (std_expand_builtin_va_start): Handle varargs when
10962         sizeof (int) is larger than sizeof(__word__).
10963
10964 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10965
10966         * cppinit.c (do_includes): Fix typo.
10967
10968 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10969
10970         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
10971         in S_REGS does not occur because not all sources are possible
10972         when a S_REGS is a destination (sometimes needs a clobber).
10973         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
10974         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
10975         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
10976         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
10977         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
10978         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
10979         (lshrdi_const1, lshrsi3_const16): Likewise.
10980         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
10981         (*movhi_68hc12, *movqi_68hc12): Likewise.
10982         (movstrictqi): Make sure reloading in D_REGS as a destination
10983         does not happen.
10984
10985 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10986
10987         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
10988
10989 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10990
10991         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
10992         -D, -U and -A, and don't initialize the builtins.
10993         (do_includes): Error if -include or -imacros with -fpreprocessed.
10994         * cppmain.c (cb_define, cb_undef): Unconditionally process
10995         the callback.
10996         * tradcpp.c (main): Fix typo.
10997
10998 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
10999
11000         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
11001         (read_name_map): Use IS_ABSOLUTE_PATH.
11002         * tradcpp.c (get_filename): Likewise.
11003
11004 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11005
11006         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
11007         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
11008         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
11009         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
11010         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
11011         (cmphi_z_used): Don't use '@' for the output.
11012         (tstqi_z_used): Likewise.
11013         (cmpqi_z_used): Likewise.
11014         (one_cmplsi2): Likewise.
11015
11016 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11017
11018         * config/sh/sh.c (barrier_align): Recognize branch around far
11019         branch and redundant insn.
11020
11021 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11022
11023         * invoke.texi: Restore documentation of the drivers' switches -MD
11024         and -MMD.
11025
11026 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11027
11028         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
11029
11030         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
11031         check-objc//%): Support parallel testing of multilibs.
11032         (TESTSUITEDIR): Set to testsuite by default, but override for
11033         parallel testing.
11034         (check-gcc, check-g++, check-g77, check-objc): Enter
11035         $(TESTSUITEDIR).
11036
11037 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
11038
11039         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
11040         * sched-deps.c (deps_may_trap_p): Likewise.
11041         * basic-block.h: Remove a comment.
11042         * flow.c (PROP_POSTRELOAD): Remove.
11043         (update_life_info): Don't add it to prop_flags.
11044         (mark_set_1): Lose the code that was enabled by it.
11045
11046 2001-01-11  Michael Hayes  <mhayes@redhat.com>
11047
11048         * flow.c (flow_call_edges_add): New.
11049         * basic_block.h (flow_call_edges_add): New.
11050
11051 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
11052
11053         * reload1.c (move2add_note_store): Update reg_set_luid even if
11054         base reg remains the same.
11055
11056 2001-01-10  Nick Clifton  <nickc@redhat.com>
11057
11058         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
11059         machine_function structure to zero.
11060         Add prototypes for machine_status functions.
11061
11062 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11063
11064         * c-common.h (CTI_VOID_LIST): Remove.
11065         (void_list_node): Likewise.
11066         * tree.h (TI_VOID_LIST_NODE): New enumeral.
11067         (void_list_node): New macro.
11068         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
11069         * config/i386/i386.c (ix86_init_builtins): Likewise.
11070         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
11071
11072 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11073
11074         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
11075         * cppinit.c (cpp_start_read): Update comment, remove unneeded
11076         if statement.
11077         * tradcpp.c: Include mkdeps.h.
11078         (deps, print_deps_phony_targets, deps_append, output_deps,
11079         init_dependency_output, output_deps): New.
11080         (deps_buffer, deps_allocated_size, deps_size, deps_column,
11081         deps_output): Delete.
11082         (print_deps_missing_files): Rename deps_missing_files.
11083         (inhibit_output): Make global.
11084         (main): Delete inhibit_output, deps_stream, deps_target.
11085         Use mkdeps functionality in the same way as cpplib.  Remove
11086         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
11087         -M and -MM.  Remove old handling of deps via deps_out, and
11088         old reading of environment variables.
11089         (get_filename): Update to use deps_add_dep.
11090
11091 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11092
11093         * output.h (make_function_rtl): Remove prototype.
11094         (make_decl_rtl): Likewise.
11095         * varasm.c (make_function_rtl): Remove.
11096         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
11097         than from a third parameter.
11098         * tree.h (make_decl_rtl): Remove last parameter.
11099         * c-decl.c (builtin_function): Remove last argument in call to
11100         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
11101         (start_function): Likewise.
11102         * except.c (call_get_eh_context): Likewise.
11103         * expr.c (emit_block_move): Likewise.
11104         (clear_storage): Likewise.
11105         * profile.c (output_func_start_profiler): Likewise.
11106         * toplev.c (rest_of_decl_compilation): Likewise.
11107         * objc/objc-act.c (create_builtin_decl): Likewise.
11108         (synth_module_prologue): Likewise.
11109         (generate_static_reference): Likewise.
11110         (build_selector_reference_decl): Likewise.
11111         (build_class_reference_decl): Likewise.
11112         (build_objc_string_decl): Likewise.
11113         (build_protocol_reference): Likewise.
11114
11115 2001-01-10  Richard Henderson  <rth@redhat.com>
11116
11117         * hwint.h: Revert yesterday's change.
11118
11119 2001-01-10  Nick Clifton  <nickc@redhat.com>
11120
11121         * function.h (save_machine_status): Delete.
11122         (restore_machine_status): Delete.
11123         Amend comment describing {init|mark|free}_machine_status.
11124
11125         * function.c (save_machine_status): Delete.
11126         (restore_machine_status): Delete.
11127         Amend comment describing {init|mark|free}_machine_status.
11128         (push_function_context_to): Remove invocation of
11129         save_machine_status.
11130         (pop_function_context_from): Remove invocation of
11131         restore_machine_status.
11132
11133         * emit-rtl.c (init_emit_once): Amend comment describing
11134         {init|mark|free}_machine_status.
11135
11136         * tm.texi (Per-Function Data): New node.  Describe the
11137         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
11138         function pointers.
11139
11140 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11141
11142         * cppinit.c (OPT_g): Remove.
11143         (cpp_handle_option): Update for removed -g3.
11144         (print_help): Update.
11145         * cpplib.h (struct cpp_options): Remove debug_output.
11146         * cppmain.c (setup_callbacks, cb_define): Update.
11147         * gcc.c (cpp_options): Translate -g3 to -dD.
11148
11149 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
11150
11151         * config/i960/i960.md: Change modifier to + on the zero_extract
11152         pattern after the (rotate -2 reg) canonicalization pattern.
11153
11154 2001-01-10  Richard Henderson  <rth@redhat.com>
11155
11156         * config/alpha/alpha.c (alpha_free_machine_status): New.
11157         (override_options): Install it.
11158         (alpha_mark_machine_status): Verify machine non-null.
11159         * config/i386/i386.c (ix86_free_machine_status): New.
11160         (override_options): Install it.
11161         (ix86_init_machine_status): Use xcalloc.
11162         (ix86_mark_machine_status): Verify machine non-null.
11163         * config/ia64/ia64.c (ia64_free_machine_status): New.
11164         (ia64_override_options): Install it.
11165         (ia64_mark_machine_status): Verify machine non-null.
11166
11167 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
11168
11169         * function.c (instantiate_virtual_regs): Instantiate virtual
11170         registers found in CALL_INSN_FUNCTION_USAGE.
11171
11172 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11173
11174         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
11175         equivalent to -ansi in disabling -Di386.
11176
11177 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
11178
11179         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
11180         new functions.
11181         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
11182
11183 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
11184
11185         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
11186
11187 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11188
11189         * invoke.texi: Document that -fcond-mismatch isn't supported for
11190         C++.
11191
11192 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11193
11194         * gcc.texi: Define macro gcctabopt.
11195         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
11196         @command, @env and @option in some places where appropriate.  Use
11197         @gcctabopt where appropriate.  Put URLs and email addresses inside
11198         @w.
11199
11200 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
11201
11202         * gcc.c (cpp_options): Set MD file name from output
11203         filename, if specified.
11204         (suffix_subst): New static variable.
11205         (do_spec): Clear it.
11206         (do_spec_1, case '.'): Handle new `%.suffix' spec.
11207         Clear it.
11208         (give_switch): Handle suffix_subst.
11209
11210 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11211
11212         * invoke.texi:  Fix another typo.
11213
11214 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11215
11216         * invoke.texi:  Fix typo.
11217
11218 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11219
11220         * c-lang.c (lang_hooks): Update.
11221         (lang_decode_option): Remove.
11222         (lang_init_options): Rename c_init_options.
11223         * toplev.c (main): Use lang_hooks for lang_init_options
11224         and lang_decode_option.
11225         * toplev.h (lang_hooks): Add 2 new hooks.
11226         * tree.h: Remove lang_init_options and lang_decode_option.
11227         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
11228         * cp/decl2.c: Similarly.
11229         * cp/lex.c (lang_init_options): Rename cxx_init_options.
11230         (lang_hooks): Update.
11231         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
11232         for consistency.
11233         (lang_init_options): Rename ffe_init_options.
11234         (lang_hooks): Update.
11235         (lang_decode_option): Remove.
11236         * java/lang.c (lang_init_options): Rename java_init_options.
11237         (lang_decode_option): Rename java_decode_option.
11238         (lang_hooks): Update.
11239         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
11240         (lang_decode_option): Rename objc_decode_option.
11241         (lang_hooks): Update.
11242
11243 2001-01-09  Nick Clifton  <nickc@redhat.com>
11244
11245         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
11246         (d30v_return_addr_rtx): Delete.
11247         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
11248         cfun->machine structure.
11249         (struct machine_function): Move to d30v.h
11250         (d30v_save_machine_status): Delete.
11251         (d30v_restore_machine_status): Delete.
11252         (d30v_init_machine_status): New Function.
11253         (d30v_mark_machine_status): New Function.
11254         (d30v_free_machine_status): New Function.
11255         (d30v_init_expanders): Use new functions.
11256         (d30v_return_addr): Use ra_rtx field in cfun->machine.
11257         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
11258         d30v_return_addr_rtx.
11259
11260         * config/d30v/d30v.h (struct_machine): Move here.
11261         Add eh_epilogue_sp_ofs field.
11262
11263         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
11264         field in cfun->machine structure.
11265
11266 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11267
11268         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
11269         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
11270         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11271
11272 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
11273
11274         * objc/lang-options.h: Remove bogus reference to
11275         Java trademark.
11276
11277 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11278
11279         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
11280         return the result.
11281
11282 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
11283
11284         * reload.c (find_reloads_address): Check for eliminable registers
11285         when substituting a constant expression for a pseudo.
11286
11287 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
11288
11289         * c-common.c (enum format_type): Add format_type_error.
11290         (decode_format_type): New function.
11291         (decl_attributes): Use it.
11292         (format_kind_info): Adjust comment.
11293
11294 2001-01-09  David O'Brien  <obrien@BSDi.com>
11295
11296         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
11297         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
11298         files in tm_file.
11299         * config/i386/gnu.h: Don't include required platform specific .h files,
11300         tm.h will do it instead.
11301         * config/i386/i386elf.h: Likewise.
11302         * config/i386/linux.h: Likewise.
11303         * config/i386/moss.h: Likewise.
11304         * config/mips/gnu.h: Likewise.
11305
11306 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11307
11308         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
11309         (rs6000-ibm-aix3.[01]*): Likewise.
11310         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
11311         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
11312         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
11313         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
11314         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
11315         (powerpc-*-eabiaix*): Likewise.
11316         (powerpc-*-eabisim*): Likewise.
11317         (powerpc-*-elf*): Likewise.
11318         (powerpc-*-eabi*): Likewise.
11319         (powerpc-*-rtems*): Likewise.
11320         (powerpc-*-linux*libc1): Likewise.
11321         (powerpc-*-linux*): Likewise.
11322         (powerpc-wrs-vxworks*): Likewise.
11323         (powerpcle-wrs-vxworks*): Likewise.
11324         (powerpcle-*-sysv*): Likewise.
11325         (powerpcle-*-elf*): Likewise.
11326         (powerpcle-*-eabisim*): Likewise.
11327         (powerpcle-*-eabi*): Likewise.
11328         (powerpcle-*-solaris2*): Likewise.
11329         * config/rs6000/aix31.h: Delete includes.
11330         * config/rs6000/aix3newas.h: Likewise.
11331         * config/rs6000/aix41.h: Likewise.
11332         * config/rs6000/aix43.h: Likewise.
11333         * config/rs6000/beos.h: Likewise.
11334         * config/rs6000/rtems.h: Likewise.
11335         * config/rs6000/sysv4.h: Likewise.
11336
11337 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11338
11339         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
11340         Change an argument mode of machine_mode to shift_mode of
11341         shift_mode.  Remove an extra error check.
11342         (emit_a_shift): Adopt to the new calling prototype of
11343         get_shift_alg.
11344         (function_prologue): Fix code for a monitor
11345         function.  Support H8/S.
11346         (function_epilogue): Do not output pop for a monitor function.
11347
11348 2001-01-09  Nick Clifton  <nickc@redhat.com>
11349
11350         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
11351         (setup_incoming_varargs): Use sysv_varargs_p field of the
11352         cfun->machine structure.
11353         (struct machine_function): Move to rs6000.h
11354         (rs6000_save_machine_status): Delete.
11355         (rs6000_restore_machine_status): Delete.
11356         (rs6000_init_machine_status): New Function.
11357         (rs6000_free_machine_status): New Function.
11358         (rs6000_init_expanders): Use new functions.
11359
11360         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
11361         export.
11362         (struct machine_function): Move here.
11363
11364         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
11365         sysv_varargs_p field of the cfun->machine structure.
11366
11367         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
11368         Remove prototype.
11369         (rs6000_restore_machine_status): Remove prototype.
11370
11371 2001-01-09  Richard Henderson  <rth@redhat.com>
11372
11373         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
11374         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
11375         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
11376         (sched_analyze_2, sched_analyze_insn): Likewise.
11377         (sched_analyze, init_deps): Likewise.
11378         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
11379         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
11380         (compute_block_backward_dependences): Update propagate_deps call.
11381
11382 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
11383
11384         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
11385
11386 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11387
11388         * cppinit.c (OPT_MD, OPT_MMD): Restore.
11389         (cpp_handle_option): Handle them.
11390         (cpp_post_options): Ensure one of -M or -MM is specified with
11391         any other -M? option.
11392         (init_dependency_output): Suppress output with -MG.
11393
11394 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11395
11396         * cpp.texi: Update.
11397         * invoke.texi: Update.
11398
11399 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
11400
11401         * sh.md (reload_outsf): Generate recognizable patterns for
11402         TARGET_SH3E.
11403
11404 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11405
11406         * c-lang.c (lang_hooks): Update.
11407         (lang_init): Rename c_init.
11408         (lang_finish): Remove.
11409         * toplev.c (compile_file): Use lang_hooks for lang_init ()
11410         and lang_finish ().
11411         * toplev.h (lang_hooks): Add init () and finish ().
11412         * tree.h (lang_init, lang_finish): Remove.
11413         * cp/tree.h (lang_init, lang_finish): Remove.
11414         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
11415         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
11416         lang_hooks): New.
11417         (lang_init, lang_finish): Remove.
11418         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
11419         (lang_hooks): Update.
11420         * java/lang.c (lang_init): Rename java_init.
11421         (lang_finish): Remove.
11422         (lang_hooks): Update.
11423         * objc/objc-act.c (lang_init): Rename objc_init.
11424         (lang_finish): Remove.
11425         (lang_hoooks): Update.
11426
11427 20001-01-09  Graham Stott  <grahams@redhat.com>
11428
11429         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
11430         after `ptr` is initialised.
11431
11432 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
11433
11434         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
11435         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
11436         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
11437         stack adjusts, instead of r3.
11438
11439 2001-01-09  Michael Hayes  <mhayes@redhat.com>
11440
11441         * flow.c (flow_loop_scan): Break out of ...
11442         (flow_loops_find) ... here.
11443         * basic-block.h (flow_loop_scan): New.
11444         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
11445         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
11446
11447 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
11448
11449         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
11450         macro_buffer_len.
11451         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
11452         realloc()ing macro_buffer.
11453
11454         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
11455         if it's wider than long and the target's long is wider than the
11456         host's.
11457
11458 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
11459
11460         Remove support for using UWIN as a host machine.
11461         * configure.in: Issue an error message.
11462         * configure: Regenerated.
11463         * config.gcc: Remove xm_* UWIN configury.
11464         * config/i386/xm-uwin.h: Remove.
11465
11466 2001-01-08  Nick Clifton  <nickc@redhat.com>
11467
11468         * config/v850/v850.c (ra_rtx): Delete.
11469         (v850_save_machine_status): Delete.
11470         (v850_restore_machine_status): Delete.
11471         (v850_init_machine_status): New function.
11472         (v850_mark_machine_status): New function.
11473         (v850_free_machine_status): New function.
11474         (v850_return_addr): Use ra_rtx field in machine structure.
11475         (v850_init_expanders): Use new functions.
11476
11477         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
11478         * config/v850/v850.c: Change arguments to v850_output+* functions
11479         to take a const char *, to avoid compile time warning.
11480         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
11481         (USER_LABEL_PREFIX): Redefine.
11482
11483 2000-01-08  Jim Wilson  <wilson@redhat.com>
11484
11485         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
11486         1 to unsigned HOST_WIDE_INT before left shift.
11487
11488 2001-01-08  Nick Clifton  <nickc@redhat.com>
11489
11490         * config/arm/arm.c (arm_mark_machine_status): Check to see if
11491         the machine structure has been allocated.
11492         (arm_free_machine_status): New function: Free the machine
11493         specific function structure.
11494
11495 2001-01-08  Richard Henderson  <rth@redhat.com>
11496
11497         * jump.c (simplejump_p): Revert last change.
11498
11499 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
11500
11501         * cppinit.c (init): Rename init_library.
11502         (cpp_create_reader): Update.
11503         * gcc.c (cpp_options): If -o given, use it as the target of
11504         any -M options.
11505
11506 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
11507
11508         * arm.c (arm_arch5e): New variable.
11509         (all_cores): XScale is a 5TE device.
11510         (arm_override_options): Set arm_arch5e.
11511         (arm_init_builtins): __builtin_prefetch is in arch5e.
11512         * arm.h (arm_arch5e): Declare it.
11513
11514         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
11515
11516         * arm.md (define_constants): Add defines for UNSPEC and
11517         UNSPEC_VOLATILE insns.  Update all users.
11518         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
11519         * arm.c (multi_register_push, note_invalid_constants)
11520         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
11521         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
11522         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
11523
11524 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
11525
11526         * jump.c (jump_optimize_1): Use reversed_comparison_code
11527         instead of can_reverse_comparison_p.
11528         (jump_back_p): Likewise.
11529         (invert_exp_1): Likewise.
11530         (thread_jumps): Likewise.
11531         * simplify-rtx.c (simplify_unary_operation): Likewise.
11532         (simplify_ternary_operation): Likewise.
11533         * cse.c (find_comparison_args): Convert to use
11534         can_reverse_comparison_p.
11535         (record_jump_equiv): Likewise.
11536
11537 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
11538
11539         * arm.h (HARD_REGNO_RENAME_OK): Delete.
11540         (EPILOGUE_USES): Define.
11541         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
11542         automatically stack the LR if it isn't live.
11543
11544 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
11545
11546         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
11547         properly.
11548
11549 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
11550
11551         * ggc-page.c (max_alignment): New structure.
11552         (MAX_ALIGNMENT): New macro.
11553         (init_ggc): Use it to round up the sizes in the
11554         extra_order_size_table.
11555
11556 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11557
11558         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
11559         after reload.
11560
11561 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11562
11563         * builtins.def (BUILT_IN_FPRINTF): New entry.
11564
11565         * c-common.c (c_expand_builtin_fprintf): New function.
11566         (init_function_format_info): Handle __builtin_fprintf.
11567         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
11568         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
11569
11570         * c-decl.c (duplicate_decls): Adjust comment.
11571
11572         * extend.texi (fprintf): Document new builtin.
11573
11574 2001-01-07  Richard Henderson  <rth@redhat.com>
11575
11576         * jump.c (simplejump_p): Recognize any single_set jump
11577         of the proper form.
11578
11579 2001-01-07  Richard Henderson  <rth@redhat.com>
11580
11581         * configure.in (slibdir): Accept an --with-slibdir option.
11582         Use "test" not "[" in configure.  Default to $(libdir).
11583
11584         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
11585         fix typo in rm -f.
11586         * config/t-aix43 (SHLIB_INSTALL): Likewise.
11587         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
11588         (SHLIB_LINK): Create links for the soname.
11589         * config/mips/t-iris6: Likewise.
11590         * config/sparc/t-slibgcc: Likewise.
11591         * config/sparc/t-slibgcc-sld: Likewise.
11592
11593 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
11594
11595         * config/i386/i386.c (constant_call_address_operand): Accept
11596         (const (plus (symbol_ref) (const_int))).
11597         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
11598         constant_call_address_operand.
11599
11600 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11601
11602         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
11603         and LONG_LONG_TYPE_SIZE > 32.
11604
11605 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11606
11607         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
11608         the previous change.
11609
11610 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
11611
11612         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
11613         New.
11614         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
11615         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
11616         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
11617         Declare.
11618
11619 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11620
11621         * fix-header.c (read_scan_file): s/pfile/scan_in/.
11622
11623 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11624
11625         * c-lang.c (c_post_options): Call cpp_post_options.
11626         * objc/objc-act.c (objc_post_options): Similarly.
11627         * cppmain.c (main): Similarly.
11628         * fix-header.c (read_scan_file): Similarly.
11629         * cppinit.c (cpp_start_read): Move option consistency checks
11630         to cpp_post_options.  Don't call init_dependency_output.
11631         If needed, add default target and main file dependency.
11632         (OPT_MD, OPT_MMD): Remove.
11633         (OPT_MF): New.
11634         (cpp_handle_option): Update for OPT_* changes.
11635         (cpp_post_options): New.
11636         (init_dependency_output): Command line -MF overrides environment
11637         variables.  Don't set default target etc.  Suppress output
11638         if dependencies are going to stdout.
11639         (print_help): Update.
11640         * cpplib.h (cpp_post_options): New.
11641         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
11642
11643 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
11644
11645         * jump.c (comparison_dominates_p): Support unordered compares.
11646
11647 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
11648
11649         * simplify-rtx.c (simplify_relational_operation): Always simplify
11650         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
11651         and UNGE.
11652
11653 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
11654
11655         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
11656         (nonzero_bits): Likewise.
11657         (simplify_comparison): Likewise.
11658         (num_sign_bit_copies): Likewise; return more sane value depending
11659         on STORE_FLAG_VALUE.
11660         (known_cond): Do not assume EQ to be always true for equivalent
11661         operands.
11662
11663 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
11664
11665         * cse.c (fold_rtx): Handle unordered comparisons.
11666
11667 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
11668
11669         * rtlanal.c (set_of_1): New static function.
11670         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
11671          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
11672          reg_set_last_last_regno): Remove.
11673         (set_of): New global function.
11674         (set_of_data): New structure.
11675         (reg_set_p, reg_set_last): Revamp for set_of.
11676         * rtl.h (set_of): New.
11677
11678 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
11679
11680         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
11681         * extend.texi: Document _Exit builtin.
11682
11683 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11684
11685         * (initialize, initialize_builtins,
11686         initialize_dependency_output, initialize_standard_includes):
11687         Rename s/initialize/init. Update.
11688         (init_dependency_output): Move to after
11689         cpp_handle_options, the correct location temporally at least.
11690         (opt_comp): Move next to init (), its caller.  Fix prototype.
11691         (init): Make "initialized" local scope.
11692         (cpp_create_reader): Always call init ().
11693         (cpp_start_read): Update.
11694         (output_deps): New function, broken out of cpp_finish.
11695         (cpp_finish): Break out output_deps.
11696
11697 2001-01-07  Richard Henderson  <rth@redhat.com>
11698
11699         * collect2.c (COFF specific stuff): Revert 12-06 patch
11700         to prototype system functions.
11701
11702 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11703
11704         * hard-reg-set.h: Add multiple include guard.
11705         * basic-block.h (struct loop): Add `sink' field.
11706         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
11707         (emit_iv_add_mult): Delete.
11708         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
11709         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
11710         (unroll_loop): Remove end_insert_before argument.
11711         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
11712         (maybe_eliminate_biv_1): Likewise.
11713         (emit_iv_add_mult): Delete.
11714         (gen_add_mult, loop_regs_update): New.
11715         (loop_insn_emit_after, loop_insn_emit_before): New.
11716         (loop_insn_sink, loop_insn_sink_or_swim): New.
11717         (emit_iv_add_mult): Delete.
11718         (scan_loop): Set loop->sink.
11719         (loop_givs_reduce): Use loop_insn_sink and its ilk.
11720         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
11721         (maybe_eliminate_biv_1): Likewise.
11722         (maybe_eliminate_biv_1): Add basic block argument.
11723         * unroll.c (unroll_loop): Remove end_insert_before argument.
11724         (find_splittable_regs): Likewise.
11725         (find_splittable_regs): Use loop_insn_sink and its ilk.
11726         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
11727
11728 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11729
11730         * loop.h (loop_insn_hoist): New prototype.
11731         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
11732         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
11733         (check_dbra_loop, load_mems): Likewise.
11734         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
11735         (find_splittable_givs): Likewise.
11736
11737 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11738
11739         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
11740
11741 2001-01-07  Richard Henderson  <rth@redhat.com>
11742
11743         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
11744
11745 2001-01-07  Richard Henderson  <rth@redhat.com>
11746
11747         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
11748         NO_SHARED_LIBGCC_MULTILIB as required for the target.
11749         * gcc.c (init_spec): Massage the existing libgcc_spec into a
11750         variant that handles a shared libgcc.
11751         (process_command): Always validate -{static,shared}-libgcc.
11752         (do_spec_1): New 'M' case.
11753         * invoke.text (Link Options): Document -{static,shared}-libgcc.
11754
11755 2001-01-07  Richard Henderson  <rth@redhat.com>
11756
11757         * Makefile.in (slibdir): New variable.
11758         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
11759         (installdirs): Create slibdir.
11760         (install-libgcc, install-multilib): Defer to libgcc.mk.
11761         * configure.in (slibdir): Substitute.
11762         * mklibgcc.in (install): New target.
11763
11764         * config/t-linux (SHLIB_LINK): Create links for the soname.
11765         (SHLIB_INSTALL): New.
11766         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
11767         * config/mips/t-iris6 (SHLIB_INSTALL): New.
11768         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
11769         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
11770         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
11771
11772 2001-01-07  Richard Henderson  <rth@redhat.com>
11773
11774         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
11775         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
11776         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
11777
11778 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11779
11780         * loop.c (count_loop_regs_set): Delete.
11781         (load_mems_and_recount_loop_regs_set): Delete.
11782         (loop_regs_scan): Merge common code from count_loop_regs_set,
11783         scan_loop, and load_mems_and_recount_loop_regs_set.
11784         (scan_loop): Call load_mems directly and loop_regs_scan
11785         again if new registers created.
11786
11787 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11788
11789         * toplev.c (main): Call the front-end specific post_options
11790         hook if one is given.
11791         * toplev.h (struct_lang_hooks, lang_hooks): New.
11792         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
11793         for the C front end.
11794         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
11795         lang_hooks for the C++ front end.
11796         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
11797         lang_hooks for the ObjC front end.
11798         * f/com.c (lang_hooks): Hooks for the Fortran front end.
11799         * java/lang.c (lang_hooks): Hooks for the Java front end.
11800
11801 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11802
11803         * c-lex.c (init_c_lex): Request #define / #undef callbacks
11804         for verbose DWARF[2] debugging.
11805         (cb_define, cb_undef): The new callbacks.
11806         * toplev.h (debug_define, debug_undef): Make const correct.
11807         * toplev.c (debug_define, debug_undef): Similarly.  Do not
11808         perform the verbosity tests here anymore.
11809
11810 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
11811
11812         * reload.c (subst_reloads): Take INSN argument.  When
11813         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
11814         * reload.h (subst_reloads): Adjust prototype.
11815         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
11816         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
11817         present in JUMP_INSNs and copy them to JUMP_LABEL.
11818         * flow.c (find_label_refs, find_basic_blocks_1): Skip
11819         JUMP_INSNs and insns with REG_LABELs that are followed by
11820         JUMP_INSNs with the same REG_LABEL.
11821         * sched-rgn.c (is_cfg_nonregular): Likewise.
11822         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
11823         note is available.
11824         * unroll.c (unroll_loop): Look for REG_LABEL notes in
11825         JUMP_INSNs too.
11826         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
11827
11828 2001-01-06  Richard Henderson  <rth@redhat.com>
11829
11830         * loop.c (scan_loop): Use xcalloc for the regs array.
11831         (load_mems_and_recount_loop_regs_set): Zero the new memory
11832         received from xrealloc.
11833
11834 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
11835
11836         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
11837
11838 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
11839
11840         * integrate.c (copy_rtx_and_substitute): When copying
11841         an ignored return value, strip REG_FUNCTION_VALUE_P.
11842
11843 2001-01-06  Michael Hayes  <mhayes@redhat.com>
11844
11845         * loop.c (debug_biv, debug_giv): New.
11846         (loop_biv_dump): Break out from ...
11847         (record_biv): ... here.
11848         (loop_giv_dump): Break out from ...
11849         (record_giv): ... here.
11850         (loop_bivs_check): Use print_simple_rtl.
11851         * unroll.c (loop_iterations): Use print_simple_rtl.
11852
11853 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11854
11855         * pa.md (return, return_internal): Modify patterns to prevent regrename
11856         mucking with the return pointer.
11857
11858 2001-01-05  Richard Henderson  <rth@redhat.com>
11859
11860         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
11861
11862 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
11863
11864         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
11865         version supplied by Matteo Frigo.
11866
11867 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11868
11869         * cpp.texi: Update for -MQ.
11870         * cppinit.c (cpp_create_reader): Always create pfile->deps.
11871         (cpp_cleanup): Always free pfile->deps.
11872         (initialize_dependency_output): Don't create pfile->deps.
11873         (cpp_handle_option): Similarly.
11874         (OPT_MQ): New.
11875         * gcc.c (cpp_options): Handle -MQ.
11876         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
11877         * mkdeps.c (base_name): Remove.
11878         (deps_init): Don't allocate vector space until it's needed.
11879         (deps_free): Only free vectors if allocated.
11880         (deps_add_target, deps_add_dep): Update for initial allocation.
11881         (deps_add_default_target): Don't strip to the base_name.
11882
11883 2001-01-05  DJ Delorie <dj@redhat.com>
11884
11885         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
11886         (INIT_EXPANDERS): Define.
11887
11888         * config/v850/v850.c (struct machine_function): Define.
11889         (v850_save_machine_status): New function.
11890         (v850_restore_machine_status): New function.
11891         (v850_return_addr): New function.
11892         (v850_init_expanders): New function.
11893
11894         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
11895         and v850_init_expanders.
11896
11897 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
11898
11899         * cpplib.h (struct cpp_reader): Add help_only field.
11900         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
11901         (cpp_handle_option): Set pfile->help_only if we see -h,
11902         --help, -target-help, or --version.  Print version string but
11903         do not set help_only if we see -v or -version.  Make text
11904         printed by -v match that printed by (-)-version.
11905
11906         * cppmain.c (main): Exit after option parsing if
11907         pfile->help_only is true.
11908
11909         * toplev.c (independent_decode_option): Call print_version,
11910         then exit, if we see --version (but not -version).
11911         (print_version): Split lengthy message into two lines.
11912
11913 2001-01-05  Nick Clifton  <nickc@redhat.com>
11914
11915         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
11916         temporary string for initialisation before calling ggc_alloc_string.
11917
11918 2001-01-06  Michael Hayes  <mhayes@redhat.com>
11919
11920         * rtl.h (print_simple_rtl): New.
11921         * print-rtl.c (print_simple_rtl): New.
11922         (flag_simple): New.
11923         (print_rtx): Disable printing of flags and modes, etc.,
11924         if `flag_simple` nonzero.
11925
11926 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
11927
11928         * function.c (fixup_var_refs): Use push_to_full_sequence where
11929         possible.
11930
11931 2001-01-05  Michael Meissner  <meissner@redhat.com>
11932
11933         * flags.h (flag_reorder_blocks): Add declaration.
11934         (flag_rename_block): Ditto.
11935
11936 2001-01-05  DJ Delorie  <dj@redhat.com>
11937
11938         * function.c (reorder_blocks): Make sure the flags are all reset
11939         before using them to mark blocks, else a second invocation will
11940         corrupt the block chain.
11941         (reorder_blocks_0): New, resets the flags.
11942
11943 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
11944
11945         * cse.c (find_comparison_args): Stop if the argument is known to
11946         be constant.
11947
11948 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
11949
11950         * config/sh/sh.md (movdf): When splitting load into pair of
11951         registers, don't clobber the register used in the address too
11952         early.
11953
11954 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
11955
11956         * varasm.c (mark_constant_pool): Improve initial comments.
11957         (mark_constants): Move marking of constants to mark_constant.
11958         (mark_constant): New function to recursively mark all constants
11959         referred to by a constant.
11960
11961 2001-01-05  Catherine Moore  <clm@redhat.com>
11962
11963         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
11964
11965 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
11966
11967         * cp/lang-options.h:  Bring comment in line with reality.
11968         * f/lang-options.h:  Likewise.
11969         * java/lang-options.h:  Likewise.
11970         * objc/lang-options.h:  Likewise.
11971         * ch/lang-options.h:  Likewise.
11972         * f/g77.texi:  And update the manual.
11973
11974 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
11975             Denis Chertykov  <denisc@overta.ru>
11976
11977         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
11978         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
11979         * config/avr/avr.md (all peepholes that request a scratch register):
11980         Call it, FAIL the peephole if not safe (in interrupt functions).
11981
11982 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
11983
11984         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
11985
11986 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
11987
11988         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
11989         Define.
11990         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
11991         BUILT_IN_CREAL and BUILT_IN_CIMAG.
11992         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
11993         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
11994         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
11995         BUILT_IN_CIMAG.
11996         * extend.texi: Document these builtins.
11997
11998 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
11999
12000         * c-common.c (lang_get_alias_set): Say we know nothing of
12001         VECTOR_TYPE aliasing.
12002
12003         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
12004
12005 2001-01-05  Bruce Korb  <bkorb@gnu.org>
12006
12007         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
12008         their x* equivalent versions for atexit-less systems
12009         * fixinc/fixincl.c(main): do not return from main() on atexit-less
12010         systems (or any other system any more).
12011
12012 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
12013
12014         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
12015         output operands.  Use arm_hard_register_operand for operand 4.
12016         (stmsi_postinc): Similarly.
12017         (ldmsi): Use arm_hard_register_operand for opernand 2.
12018         (stmsi): Similarly.
12019         * arm.c (arm_hard_register_operand): New function.
12020         * arm-protos.h (arm_hard_register_operand): Prototype it.
12021
12022         * arm.h (HARD_REGNO_RENAME_OK): Define.
12023
12024 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
12025
12026         * simplify-rtx.c (cfc_args): add "unordered" field.
12027         (check_fold_consts): Set unordered field.
12028         (simplify_relational_operation): Simplify the unordered
12029         comparisons.
12030
12031         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
12032         is valid.
12033
12034         * emit-rtl.c (try_split): Fix code to mark labels.
12035         * jump.c (mark_jump_label): Make global.
12036         * rtl.h (mark_jump_label): Declare.
12037
12038         * predict.c (estimate_probability): Handle unordred comparisons.
12039
12040 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12041
12042         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
12043         * cppinit.c (initialize_dependency_output):  Update.
12044         (cpp_finish): Output dummy targets for -MP.
12045         (OPT_MP): New.
12046         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
12047         * cpplib.h (struct cpp_options): Add deps_phony_targets.
12048         * gcc.c (cpp_options): Update to handle -MP.
12049         * mkdeps.c (deps_add_target, deps_add_default_target): Update
12050         to quote only the default target.
12051         (deps_phony_targets): Insert a preceding newline.  Rename from
12052         deps_dummy_targets for consistency.
12053         * mkdeps.h: Update
12054
12055 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12056
12057         * calls.c (emit_library_call_value_1): Support
12058         INIT_CUMULATIVE_LIBCALL_ARGS.
12059         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
12060
12061 2001-01-04  Richard Henderson  <rth@redhat.com>
12062
12063         * c-decl.c (finish_struct): Detect flexible array members
12064         used in an inappropriate context.
12065         * c-typeck.c (really_start_incremental_init): Special case
12066         constructor_max_index for zero length arrays.
12067         (pop_init_level): Allow initialization of flexible array
12068         members.  Deprecate initialization of zero length arrays.
12069         Don't issue missing initializer warning for flexible array
12070         members or zero length arrays.
12071         (process_init_element): Don't dereference null DECL_SIZE.
12072         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
12073         Don't abort for empty constructors.  Use size_binop
12074         (output_constructor): Add commentary regarding zero length
12075         array futures.  Abort if we try to initialize an array of
12076         unspecified length with a non-empty constructor in the middle
12077         of a structure.
12078
12079         * extend.texi (Zero Length): Update and clarify documentation
12080         on static initialization.
12081
12082 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12083
12084         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
12085         with more than 32767 words of local storage.
12086
12087 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12088
12089         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
12090         for 'abs', 'labs', and 'fabs'.
12091         (c4x_expand_builtin): Likewise.
12092         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
12093
12094 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12095
12096         * config/sh/sh.md (prget, prset): New insn types.
12097         (return delay slot): Dont' allow prset.
12098         (call, sfunc delay slot): Don't allow prget.
12099         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
12100         for prset and prget.
12101
12102 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12103
12104         * loop.h (struct loop_reg): New.
12105         (struct loop_regs): Change to use array of `struct loop_reg'.
12106         * loop.c: Replace assortment of varrays with single regs array.
12107         (count_one_set): Delete may_not_move array argument
12108         and use regs array instead.  All caller's changed.
12109         (count_loop_regs_set): Delete may_not_move and single_usage
12110         arguments and use regs array instead.  All caller's changed.
12111         (find_single_use_in_loop): Replace usage array argument with pointer
12112         to regs structure.  All caller's changed.
12113         (loop_optimize): Delete `moved_once' array.
12114
12115 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12116
12117         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
12118         Use it instead of loop_info->has_call for scanning loop mems.
12119         (check_dbra_loop): Replace loop_info->has_call test with
12120         loop_info->has_nonconst_call.
12121
12122 2000-01-04  Matthew Hiller  <hiller@redhat.com>
12123
12124         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
12125         for TARGET_SH3E.
12126
12127 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12128
12129         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
12130         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
12131
12132 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12133
12134         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
12135         (flag_short_double, flag_short_wchar): Define.
12136         (c_common_nodes_and_builtins): Create many tree nodes shared
12137         between C and C++ here instead of in cp/decl.c and ...
12138         * c-decl.c (init_decl_processing): ... here.
12139         (SIZE_TYPE, WCHAR_TYPE): Don't define.
12140         (flag_short_double, flag_short_wchar): Don't define.
12141         (record_builtin_type): New function.
12142         (build_void_list_node): New function.
12143         * c-common.h (flag_short_double, flag_short_wchar,
12144         record_builtin_type, build_void_list_node): Declare.
12145
12146 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
12147
12148         * integrate.c (expand_inline_function): Don't put a virtual
12149         register into the reg map.
12150
12151         * function.c (fixup_var_refs_1): If force_operand didn't put
12152         the address into the target, move it there.
12153
12154 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12155
12156         Special-case tree_decl/tree_list allocations.
12157         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
12158         (OBJECT_SIZE): New macro.
12159         (NUM_EXTRA_ORDER): Likewise.
12160         (extra_order_size_table): New variable.
12161         (NUM_ORDERS): New macro.
12162         (objects_per_page_table): New variable.
12163         (object_size_table): New variable.
12164         (G.pages): Use NUM_ORDERS to bound the array.
12165         (G.page_tails): Likewise.
12166         (DIV_ROUND_UP): Remove.
12167         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
12168         (alloc_page): Use OBJECT_SIZE.
12169         (size_lookup): Don't make it const.
12170         (ggc_alloc): Use OBJECT_SIZE.
12171         (ggc_set_mark): Likewise.
12172         (ggc_get_size): Likewise.
12173         (init_ggc): Set up the object_size_table, objects_per_page_table,
12174         and adjust size_lookup.
12175         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
12176         (ggc_pop_context): Use NUM_ORDERS.
12177         (clear_marks): Likewise.
12178         (sweep_pages): Likewise.
12179         (poison_pages): Likewise.
12180         (ggc_print_statistics): Use OBJECT_SIZE.
12181
12182 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12183
12184         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
12185         Only call array_size_for_constructor if last field and array type
12186         with no upper bound.
12187
12188 2001-01-04  Philip Blundell  <philb@gnu.org>
12189
12190         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
12191         from bit 31 downwards, if this requires no more insns.
12192         (count_insns_for_constant): New helper function for above.
12193
12194 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
12195
12196         * gencodes.c (output_predicate_decls): Remove empty initializer.
12197
12198 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12199
12200         * tree.c (copy_node): Remove documentation about obstacks.
12201         (buidl1): Check that nobody tries to build 2-argument nodes this
12202         way.
12203
12204 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12205
12206         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
12207         fp_high_losum_p.
12208
12209         * gencodes.c (output_predicate_decls): Fill empty initializer
12210         braces.
12211
12212 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
12213
12214         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
12215         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
12216         or -MM.
12217         (do_include): Handle missing headers like cpp0.
12218         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
12219         paths with first include pathname.  Don't strcat to uninitialized
12220         string.
12221
12222 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
12223
12224         * regrename.c (regrename_optimize): Don't rename from frame pointer
12225         if frame_pointer_needed.
12226         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
12227         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
12228         (ia64_reorg): Use it instead of scheduling if ! optimize.
12229         (errata_emit_nops): Properly call asm_noperands.
12230         (ia64_sched_reorder): Finish cycle if we see an asm.
12231         (ia64_variable_issue): Clear scheduling state after asms.
12232
12233 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12234
12235         * cpp.texi: Update for -MT.
12236         * cppinit.c (initialize_dependency_output): Add a default
12237         target if none has been given already.
12238         (no_tgt, OPT_MT): New.
12239         (cpp_handle_option): Handle -MT.  Update -M etc.
12240         * cpplib.h (struct cpp_options): Remove deps_target.
12241         * gcc.c (cpp_options): Handle -MT.
12242         * mkdeps.c (struct deps): Move from mkdeps.h.
12243         (deps_calc_target): Rename deps_add_default_target.  Add a
12244         default target if none has been specified already.
12245         * mkdeps.h (struct deps): Move to mkdeps.c.
12246         (deps_calc_target): Rename deps_add_default_target.
12247
12248 2000-01-03  Richard Henderson  <rth@redhat.com>
12249
12250         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
12251         Remove dead code.
12252         * c-typeck.c (push_init_level): Move checks for flexible array
12253         members and zero length arrays ...
12254         (pop_init_level): ... here.  Silently discard empty initializations.
12255         Remove dead code.
12256         * varasm.c (output_constructor): Update for sizeof change to
12257         zero-length arrays.
12258
12259         * extend.texi (Zero Length): Clarify semantics.
12260
12261 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12262
12263         * configure.in (tm.h): Include isns-codes.h last.
12264         * configure: Rebuilt.
12265
12266 2001-01-03  Richard Henderson  <rth@redhat.com>
12267
12268         * config/alpha/alpha.md (addvsi3, addvdi3): New.
12269         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
12270
12271 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12272
12273         * tradcpp.c (main): Make sure finclude() is called with a valid
12274         indepth value while handling -include.
12275
12276 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12277
12278         * gencodes.c (output_predicate_decls): New function.
12279         (main): Call it.
12280         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
12281         even if it is not the first time machmode.h is #included.
12282         * config/sh/sh.c (fpul_operand): Declare MODE argument.
12283         * tm.texi (PREDICATE_CODES): Document predicate declarations.
12284         * gcc.texi (Copyright): Added 2001.
12285
12286 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12287
12288         * c-common.c (c_common_lang_init): New function.  Warn if format
12289         warning options which only have effects when used with -Wformat
12290         are used without -Wformat.
12291         * c-common.h (c_common_lang_init): Declare.
12292         * c-lang.c (lang_init): Call c_common_lang_init.
12293         * objc/objc-act.c (lang_init): Call c_common_lang_init.
12294
12295 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12296
12297         * configure.in: Check for the mktemp command.
12298         * configure: Regenerate.
12299         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
12300         $TEMP.  Create temporary files with mktemp, if available at
12301         configure time; otherwise use set -C.  Remove temporary files
12302         before exit.
12303
12304 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12305
12306         * configure.in: Require at least texinfo 4.0.  Check for whether
12307         Pod::Man is sufficiently recent to regenerate GCC manpages.
12308         * configure:  Regenerate.
12309         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
12310         on #!.
12311         (GENERATED_MANPAGES): Define.
12312         (generated-manpages): New target.  Depend on cpp.1 as well as
12313         gcov.1.
12314         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
12315         configure to generated-manpages or empty) rather than on the
12316         manpages directly.  Remove execute permission from installed
12317         gcov.1 as well as cpp.1.
12318         * cpp.1, gcov.1: Regenerate.
12319
12320 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12321
12322         * builtins.c (expand_builtin_strncmp): Use host_integerp and
12323         tree_low_cst.  Allow using cmpstrsi in more cases.
12324
12325 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12326
12327         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
12328         sized types.
12329
12330 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
12331
12332         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
12333         * Makefile.in (HOST_CFLAGS): Mention build-make.
12334
12335 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12336
12337         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
12338         as JUMP_INSN.
12339
12340 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
12341
12342         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
12343         a REG rtx.
12344
12345         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
12346         callers changed.
12347
12348         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
12349         reg_base_value and reg_known_value arrays.
12350         (init_alias_analysis): Add more cases to detect known values.
12351         * sched-deps.c (deps_may_trap_p): New function.
12352         (sched_analyze_2): Use it.
12353
12354 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12355
12356         * combine.c (simplify_shift_const): Even if we're sign-extracting,
12357         don't discard an ASHIFTRT if we're shifting in a wider mode.
12358
12359 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12360
12361         * toplev.c (rest_of_compilation): Don't print basic block information
12362         when CFG isn't up to date.
12363
12364 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
12365
12366         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
12367         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
12368         (UNALIGNED_SHORT_ASM_OP): Define.
12369         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
12370
12371 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12372
12373         * fold-const.c (fold_convert): Fix typo.
12374
12375 2001-01-02  Richard Henderson  <rth@redhat.com>
12376
12377         * c-common.h (ASM_INPUT_P): New.
12378         * c-parse.in (asm): Set it when needed.
12379         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
12380         existance of an operand.
12381
12382 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
12383
12384         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
12385         (dwarf2out_frame_debug_expr): Likewise.
12386         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
12387
12388 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
12389
12390         * i386.c (ix86_split_to_parts): Return number of part required;
12391         handle TFmodes.
12392         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
12393         TFmodes.
12394         (ix86_split_long_move): Use number of part returned
12395         by ix86_split_to_parts
12396         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
12397         New macros.
12398         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
12399         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
12400         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
12401         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
12402         (ALIGN_MODE_128): Add TFmode.
12403         (IS_STACK_MODE): Likewise.
12404         (HARD_REGNO_NREGS): TFmode needs 3 registers.
12405         (HARD_REGNO_OK): Support TFmodes.
12406         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
12407         * i386.md (scheduler definitions): Use memory operand to determine
12408         fst/fld instructions; use mode attribute to determine real mode of
12409         the instruction.
12410         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
12411         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
12412
12413 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12414
12415         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
12416
12417 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
12418
12419         * expr.c (store_constructor_field): Update ALIGN before calling
12420         store_constructor.
12421
12422 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
12423
12424         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
12425         host_integerp.
12426
12427 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
12428
12429         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
12430         incomplete type.
12431
12432 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
12433
12434         * c-decl.c (start_function): Don't warn on third parameter to main.
12435
12436 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12437
12438         * tsystem.h: Define HAVE_DECL_GETOPT.
12439
12440 2001-01-02  Philip Blundell  <pb@futuretv.com>
12441
12442         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
12443         of input operand.
12444
12445 2001-01-02  Richard Henderson  <rth@redhat.com>
12446
12447         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
12448
12449 2001-01-02  Andreas Jaeger  <aj@suse.de>
12450
12451         * c-decl.c (c_decode_option): Remove support of
12452         -Wmissing-noreturn.
12453
12454         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
12455         (W_options): Add -Wmissing-noreturn here.
12456
12457         * flow.c: Define lang_missing_noreturn_ok_p.
12458         (check_function_return_warnings): Use it.
12459
12460         * c-common.h: Declare lang_missing_noreturn_ok_p.
12461
12462         * c-lang.c (c_missing_noreturn_ok_p): New function.
12463         (lang_init): Set lang_missing_noreturn_ok_p.
12464
12465         * invoke.texi (Warning Options): Document this.
12466
12467 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
12468
12469         * extend.texi (C++ Extensions):  New node for C++ attributes;
12470         describe init_priority and com_interface.
12471         * invoke.texi:  Remove -finit-priority as it now has zero effect.
12472         * install.texi:  Fix xref syntax.
12473         * md.texi:  Likewise.
12474
12475 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12476
12477         * config.gcc (sparc64-wrs-vxworks*): New case.
12478         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
12479
12480         * config/sparc/sparc.c (sparc_override_options): Do support different
12481         pointer and architecture size.
12482         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
12483         (POINTERS_EXTEND_UNSIGNED): Define.
12484         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
12485         (FUNCTION_MODE): Define to be Pmode.
12486         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
12487
12488         * function.c (expand_function_end): Properly handle DECL_RESULT
12489         and copy when ptr_mode != Pmode.
12490         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
12491
12492 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12493
12494         * c-common.c (c_common_nodes_and_builtins): Set prototype
12495         parameters for __builtin_fputs, __builtin_fputc and
12496         __builtin_fwrite.  Don't declare plain fputc as a builtin.
12497
12498 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12499
12500         * loop.c (add_label_notes): Increment the label usage count when
12501         a note is added to an insn which refers to a CODE_LABEL.
12502         * gcse.c (add_label_notes): Likewise.
12503
12504 2001-01-01  Andreas Jaeger  <aj@suse.de>
12505
12506         * loop.c (scan_loop): Use xmalloc to allocate movables.
12507
12508 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
12509
12510         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
12511         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
12512         * reload1.c (REGISTER_MOVE_COST): Likewise.
12513         * regclass.c (REGISTER_MOVE_COST): Likewise.
12514         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
12515         dimension.  Adjust all users.
12516         (init_reg_sets_1): Iterate on all modes.
12517         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
12518         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
12519         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
12520         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
12521         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
12522         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
12523         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
12524         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
12525         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
12526         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
12527         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
12528         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
12529         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
12530         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
12531         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
12532         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
12533         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
12534         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
12535         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
12536         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
12537         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
12538         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
12539         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
12540         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
12541         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
12542         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
12543         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
12544
12545 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
12546
12547         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
12548         arg VARIES_P.  Call it with extra arg.
12549         (true_dependence): Likewise.
12550         * rtl.h (rtx_addr_can_trap_p): Declare.
12551         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
12552         prototypes.
12553         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
12554         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
12555         pic offset table register if it's zero.  All callers changed.
12556         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
12557
12558 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12559
12560         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
12561         STRING_POOL_ADDRESS_P.
12562
12563         * config/sparc/sparc.c (input_operand): Properly test for short op.
12564
12565         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
12566         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
12567         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
12568         * config/sparc/elf.h: No longer include sol2.h.
12569         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
12570         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
12571
12572         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
12573
12574 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12575
12576         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
12577         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
12578         (record_initial): Likewise.
12579         * unroll.c (copy_loop_body, loop_iterations): Likewise.
12580         (remap_split_bivs): Likewise.
12581
12582 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12583
12584         * loop.c (loop_ivs_free): New function.
12585         (strength_reduce): Break out from...
12586
12587 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12588
12589         * loop.h (struct iv): New.
12590         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
12591         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
12592         'reg_biv_class' fields with 'regs' and 'n_regs'.
12593         (struct ivs): Rename 'loop_iv_list' field to 'list'.
12594         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
12595         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
12596
12597 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
12598
12599         * resource.c (mark_referenced_resources): Abort() before
12600         attempting to mark a pseudo register.
12601         (mark_set_resources): Likewise.
12602
12603 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12604
12605         * loop.h (REG_IV_CLASS): New accessor macro.
12606         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
12607         * unroll.c (REG_IV_CLASS): Likewise.
12608
12609 See ChangeLog.4 for earlier changes.